Skip to content

Move MapAdapter to mywheel-cpp

Choose a tag to compare

@luk036 luk036 released this 28 Nov 08:30
· 151 commits to main since this release

Full Changelog: 1.1...1.1.1

digraphx-cpp 1.1.1 is out now, bringing new algorithms, better diagnostics, and a smoother build experience 🚀

Highlights

  • New release version: 1.1.1 for digraphx-cpp, updating project metadata and documentation to reflect the new version and features.
  • Internal refactoring improves code quality and maintainability without changing the public API.

Algorithms and core library

  • Added Howard’s algorithm with constraints (NegCycleFinderQ / MinParametricQ) for negative cycle detection and parametric optimization with constraints.
  • Introduced minparametricq and related parametric solvers, extending support for parametric network problems in directed graphs.
  • Restored and extended tests for negcycleq and minparametricq to ensure correctness across multiple graph representations.

Logging and diagnostics

  • Integrated spdlog as a core logging backend in the standalone tool, with both colored console output and file logging to digraphxstandalone.log.
  • The standalone executable now logs startup, warnings, errors, and example computations, making it easier to debug and inspect behavior.

Documentation and visuals

  • Fixed multiple documentation issues and enhanced Doxygen settings for cleaner generated docs.
  • Added svgbob-based ASCII diagrams to illustrate negative cycles, cycle ratio problems, and parametric network examples in the headers and docs 🖼️.

Build and dependencies

  • Switched to mywheel-cpp’s MapAdapter (via MyWheel 1.1.2) to adapt graph data structures more flexibly and consistently across tests and examples.
  • Updated Py2Cpp dependency to 1.5.1 and added spdlog (v1.14.1) as a CPM dependency, ensuring reproducible builds.
  • Improved CMake and xmake configurations, including install fixes, additional include paths, and better coverage/test targets for doctest, fmt, spdlog, benchmark, and cxxopts 🛠️.

Backward compatibility

  • Removed the old greeter component from the standalone app, replacing it with a logging-focused example and updated CLI options.
  • MapAdapter from mywheel-cpp is now the preferred adapter for tests and examples; existing MapAdapter-based usage should migrate to the new adapter where applicable.