Full Changelog: 1.5...1.5.1
py2cpp v1.5.1 Release Notes ππ
Released on November 28, 2025
We're excited to ship py2cpp 1.5.1 β a feature-packed release focused on Python fidelity, modern C++ compatibility, and smoother development experience!
New Features & Enhancements β¨
-
Full support for
enumerate()on const containers
You can now safely writefor i, v in py::const_enumerate(container)β perfect for range-based for loops without copying!
Also addedpy::enumerate()wrapper for non-const cases. -
New
const_enumerate()utility (with detailed docs)
Clean, safe, and zero-overhead enumeration over const iterables and ranges. -
Improved
dictandlistmethodsdict::contains(key)now properlynoexceptand const-correct- Added modern
items()β returns view of(key, value)pairs len()now works naturally on py2cpp containers
-
Better range support
Full C++20-compatible range semantics with properbegin()/end()and const iterators. -
Added GEMINI CLI command π
Newpy2cpp geminisubcommand for AI-assisted code conversion (experimental but awesome!)
Bug Fixes & Build Improvements π οΈ
- Fixed macOS build by adding
-DCMAKE_POLICY_VERSION_MINIMUM=3.5(Who-dev) - Fixed sign-conversion warnings on Oct 1 β cleaner builds on modern compilers
- Updated CMake workflows to latest standards
- Bumped project version to 1.5.1 and updated CMakeLists.txt accordingly
Under the Hood π§
- Merged
enumerate()andconst_enumerate()implementations for consistency - Lots of
noexceptadditions and const-correctness fixes across containers - Improved template deduction guides
- Better iterator traits and SFINAE handling
CI/CD
- Added proper doctest and boost.ut test packages
- Modernized xmake.lua config
- Cleaner GitHub Actions workflows
Big thanks to @luk036 for driving this release at warp speed! β‘
Upgrade now and enjoy more Pythonic C++ than ever before! πβ‘οΈ C++
β https://github.com/luk036/py2cpp/releases/tag/1.5.1
Happy coding! π»β€οΈ