Skip to content

Enhance and Clean Up by AI Agents

Choose a tag to compare

@luk036 luk036 released this 02 May 06:17
· 104 commits to master since this release

ginger-cpp v1.1.1 Release Notes

This is a patch release focused on build stability, testing improvements, dependency upgrades, code quality, and documentation fixes for the parallel polynomial root‑finding C++ library.


🚀 What’s New

  • Added stress tests via Gemini CLI
  • Added RapidCheck integration for property‑based testing
  • Added spdlog + fmt logging integration for CMake
  • Added svgbob figures for documentation
  • New documentation files: AGENTS.md, IFLOW.md, rapidcheck.md, spdlogger_with_examples.md
  • New test files: test_stress.cpp, test_rapidcheck.cpp, test_spdlogger.cpp

🔧 Build & CI Improvements

  • Fixed Ubuntu CI builds
  • Fixed xmake builds (multiple fixes)
  • Fixed Termux build: added -Wno-deprecated-literal-operator
  • Removed MSVC warnings: /wd4819, /wd4996
  • Added support for sanitizers, static analyzers, and ccache
  • Improved CMake structure and dependency handling

📦 Dependency Upgrades

  • fmt: 10.2.1 → 12.1.0
  • spdlog: upgraded to 1.17.0
  • Aligned dependencies for better compatibility

✨ Code Quality & Style

  • Full code cleanup
  • Applied --fix-format across codebase
  • Removed trailing whitespaces
  • Enforced variable names ≥ 3 characters
  • Replaced push_back() + std::endl → emplace_back() + '\n'
  • Replaced generic CHECK() → typed assertions:
    • CHECK_EQ(), CHECK_NE(), CHECK_FALSE(), CHECK_LT(), etc.

📝 Documentation Fixes

  • Fixed Doxygen syntax: replaced ` with @verbatim / @endverbatim
  • Updated and added document comments (via OpenCode + MiniMax M2.5)
  • Improved project overview and usage guides

📊 Project Stats

  • 48 files changed
  • 6,569 additions, 532 deletions
  • Version: 1.1.0 → 1.1.1

🧪 Test Coverage

  • Expanded unit tests (doctest)
  • Added property‑based tests (RapidCheck)
  • Added stress testing
  • Full cross‑platform CI: Ubuntu, Windows, macOS

📌 Compatibility

  • Requires C++17
  • Supports CMake 3.14+
  • Tested on Linux, Windows, macOS, Termux

🛠 Install & Upgrade

# Pull the latest tag
git checkout 1.1.1

# Build
cmake -S . -B build
cmake --build build

Full Changelog: 1.1...1.1.1