Skip to content

1.7

Choose a tag to compare

@luk036 luk036 released this 17 Sep 03:08
· 109 commits to master since this release

Full Changelog: 1.6.10...1.7

Release Notes: xnetwork-cpp v1.7

Overview

xnetwork-cpp is a header-only C++ library for graph data structures and algorithms, inspired by Python's NetworkX. This release includes cleanup, build system improvements, bug fixes, and expanded test coverage.

Changes

🔧 Build System & CI

  • CMake policy version explicitly set to 3.5 for better compatibility.
  • Removed GCC-10 dependency in CI workflows; now uses default g++.
  • MacOS build fixed by adding -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -Wno-dev.
  • Android/Termux support improved with build fixes.
  • CPM dependency updated: Py2Cpp upgraded from 1.4.9 to 1.5.

🧹 Code Cleanup & Removal

  • Standalone application and greeter module removed:
    • Deleted include/xnetwork/greeter.h
    • Deleted source/greeter.cpp
    • Removed standalone build targets and workflows
  • Legacy files deleted:
    • include/transranger_view.tpp
    • include/transrangers.tpp
    • include/transrangers_ext.tpp
    • include/xnetwork/version.old
    • specific.cmake (deleted)

🐛 Bug Fixes & Improvements

  • Fixed node view indexing in AtlasView by adding size_type and explicit cast.
  • Improved edge addition logic in Digraph and Graph classes.
  • Removed outdated commented code related to coroutines and legacy generators.
  • Added missing size_type in AtlasView to improve type safety.

✅ Enhanced Testing

  • Added comprehensive unit tests for xnetwork::Graph:
    • add_edges_from
    • adj()
    • nodes()
    • has_node()
    • has_edge()
    • order()
    • size()
    • clear()
    • is_multigraph()
    • is_directed()

📄 Documentation

  • Added GEMINT.md with project overview and build instructions.

Summary

  • Total commits: 9
  • Files changed: 21
  • Additions: 169
  • Deletions: 970

Contributor

  • luk036 (all commits)

This release focuses on modernization, cleanup, and improved portability, making the library more robust and easier to integrate into various C++ projects.