Skip to content

1.1

Choose a tag to compare

@luk036 luk036 released this 17 Sep 04:42
· 96 commits to master since this release

Full Changelog: 1.0.3...1.1

Release Notes: mywheel-cpp v1.1

πŸ“… Release Date

September 17, 2025

πŸ”₯ Summary

This release introduces performance optimizations, new features, improved build system configurations, and expanded test coverage. The version bump to 1.1 reflects these significant enhancements and fixes.


πŸš€ New Features

Added MapAdapter Class

  • A new dict-like data structure built on std::vector and py::Range for efficient key-value storage and iteration.
  • Includes both mutable (MapAdapter) and const versions (MapConstAdapter).
  • Supports enumeration via py::enumerate and py::const_enumerate.

πŸ›  Build & CI Improvements

CMake Policy Updates

  • Added -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to ensure compatibility with modern CMake versions.
  • Set default build type to Release for optimized builds.

GitHub Actions

  • Removed unused workflows: jekyll-gh-pages.yml, standalone.yml (renamed to .bak).
  • Updated macOS and Ubuntu CI configurations to use newer CMake policies and build flags.

Dependency Updates

  • Upgraded Py2Cpp dependency from 1.4.9 to 1.5.

βœ… Testing & Quality

Expanded Unit Tests

  • Added tests for ShiftArray::operator[], BPQueue::get_max, Dllist::pop, List::operator[], MapAdapter, and Robin::exclude.
  • Improved test coverage and robustness across multiple data structures.

Code Formatting

  • Applied consistent formatting using clang-format and cmake-format.
  • Added format and fix-format targets to enforce style conventions.

πŸ› Bug Fixes & Optimizations

Code Optimizations

  • Performed code optimization via GEMINI CLI.
  • Improved const-correctness and reference usage in RepeatArray and ShiftArray.
  • Added missing #include <stdexcept> for exception handling.

Removed Deprecated Code

  • Removed greeter.cpp and standalone directory from the build.
  • Commented out Termux-specific configuration for better portability.

πŸ“š Documentation

Added GEMINT.md

  • Comprehensive project overview including:
    • Key technologies (C++, CMake, doctest, GitHub Actions, etc.)
    • Build instructions for both CMake and xmake
    • Development conventions and CI/CD setup

πŸ”§ Miscellaneous

  • Updated project version to 1.1 in CMakeLists.txt.
  • Added -Wconversion flag in xmake.lua for stricter compile-time checks.
  • Improved iterator implementations and bounds checking in container classes.

πŸ‘₯ Contributor

  • luk036 – All commits and changes.

πŸ“¦ Files Changed

  • 19 files changed with 428 additions and 127 deletions.