Skip to content

Releases: networmix/NetGraph-Core

v0.3.2

12 Dec 08:25

Choose a tag to compare

[0.3.2] - 2025-12-12

Fixed

  • Profiling: Fix ODR violation that caused empty stats when profiling was enabled. Moved profiling_enabled() and ProfilingStats::instance() definitions from inline header to profiling.cpp to ensure a single instance when static library is linked into the Python module.

v0.3.1

07 Dec 09:22

Choose a tag to compare

[0.3.1] - 2025-12-08

Added

  • Profiling: Runtime profiling infrastructure for C++ hot paths (shortest_paths_core, place_demand, place_on_dag).
    • Enable via NGRAPH_CORE_PROFILE=1 environment variable.
    • Python API: profiling_enabled(), profiling_dump(), profiling_reset().
    • Minimal overhead when disabled (single static bool check per instrumented scope).
    • ~2% overhead when enabled.

Changed

  • Build: Default optimizations: LTO, loop unrolling, -fno-math-errno. Add make install-native for CPU-specific builds.

v0.3.0

06 Dec 21:54

Choose a tag to compare

[0.3.0] - 2025-12-06

Changed

  • BREAKING: Minimum Python version raised to 3.11 (was 3.9)

v0.2.3

06 Dec 20:36

Choose a tag to compare

[0.2.3] - 2025-12-06

Changed

  • Python bindings: StrictMultiDiGraph.from_arrays now requires ext_edge_ids so callers always supply stable external edge identifiers.
  • FlowPolicy: construction is now config-only (via FlowPolicyConfig), dropping the parameter-heavy constructor.

Fixed

  • FlowGraph: get_flow_path now filters only below-kEpsilon noise so paths are reconstructed even when per-edge allocations are smaller than kMinFlow.