Skip to content

Enhance and clean up by AI Agents

Choose a tag to compare

@luk036 luk036 released this 01 May 05:54
· 97 commits to master since this release

lds-gen-cpp v1.2.1 Release Notes

Summary

This release spans from version 1.1 to 1.2.1, covering massive code refactoring, C++ standard upgrade, thread safety enhancement, cross-platform build fixes, new feature expansions, and improved tooling & testing infrastructure.

What's New

  • Added N-dimensional sphere sequence generator (sphere_n)
  • Implemented iterators for generator classes
  • Added documentation with svgbob figures
  • Added new documentation files: AGENTS.md, IFLOW.md
  • Added example programs: SPDLOGGER_EXAMPLE.cpp, simple_thread_test.cpp

Improvements

  • Upgraded project to C++20 with enforced C++20 standard in CMake
  • Applied constexpr and const qualifiers to appropriate functions for safety and performance
  • Optimized integer VdCorput implementation
  • Improved thread safety by making count and ilds count atomic
  • Made sphere_n thread-safe
  • Code style unified via clang-format and cmake-format
  • Replaced std::endl with '\n' and push_back with emplace_back for efficiency
  • Updated inline documentation and comments
  • Upgraded dependencies: fmt 12.1.0, spdlog 1.17.0
  • Refactored test assertions for better readability

Bug Fixes

  • Fixed build issues on macOS, Ubuntu CI, and Termux
  • Resolved test failures
  • Fixed clang-tidy warnings
  • Removed problematic MSVC warning suppressions
  • Added compatibility flags for Termux
  • Worked around C++20 std::numbers::pi compatibility issues

Build & Tooling

  • Supported CMake 3.14+ and xmake build systems
  • Integrated rapidcheck for property-based testing
  • Added spdlog for structured logging
  • Enabled sanitizers: AddressSanitizer, ThreadSanitizer
  • Added static analysis via clang-tidy
  • Added code coverage support
  • Updated xmake configuration for Android/Termux builds
  • Cleaned up code and renamed variables for better readability

Full changelog diff: 1.1...1.2.1