Repository navigation
Move MapAdapter to mywheel-cpp
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.