1.5
Full Changelog: 1.4.11...1.5
Release Notes: py2cpp v1.5
Overview
This release introduces several enhancements to the py2cpp library, a header-only C++ library designed to bring Python-like features to modern C++. Key improvements include expanded unit test coverage, code optimizations, and updates to build configurations.
🚀 New Features & Improvements
1. Enhanced Unit Test Coverage
- Added comprehensive unit tests for Boost Graph adaptors (
test_nx2bg1.cpp):GrAdaptorfor graph operationsVertexViewandEdgeViewfor graph traversalAtlasViewfor neighbor iteration
- Added tests for Python-like data structures:
py::dictmethods includingcontains,get,items,copy, andlenpy::enumerateandpy::const_enumeratefor iterable indexing
- Extended tests for
Fractionclass infractions.hpp:- Arithmetic operations (
+,-,*,/) - Comparison operators (
<,<=,>,>=,==,!=) - In-place operations (
+=,-=,*=,/=)
- Arithmetic operations (
2. Code Optimizations
- Performed code optimizations via Gemini CLI
- Applied
fix-formatto ensure consistent code style
3. Build System Updates
- Upgraded C++ standard from C++14 to C++17
- Added Boost support in XMake configuration:
- Included
boostpackage dependency - Added Boost-specific test files to the build
- Included
- Improved compiler flag handling for Linux and Windows platforms
🛠️ Development Workflow Improvements
- Updated
CMakeLists.txtto use C++17 standard - Enhanced XMake configuration for better cross-platform compatibility
- Added
[[maybe_unused]]attribute to silence compiler warnings in range-based loops
✅ Testing
- All new tests pass successfully using the
doctestframework - CI pipeline now includes Boost-based tests via XMake
📦 Dependencies
- Added explicit dependency on Boost library for graph-related features
- Maintained compatibility with
fmtanddoctest
🔧 Known Issues
- None reported in this release
📄 Documentation
- Documentation can still be generated via Doxygen using the provided CMake targets
Contributors
- luk036 (all commits)
Full Commit Summary
b81445c: feat: Add more unit tests for boost5c26186: add more unit testsdfbf36f: fix xmake compilation issueffb69b9: perform code optimization by Gemini CLI; apply fix-format