Releases: kcenon/thread_system
Releases · kcenon/thread_system
v1.0.0: Stable API Release
thread_system v1.0.0
First stable release with frozen public API and semantic versioning guarantees.
Highlights
- Stable API: All public headers frozen — no breaking changes until v2.0
- Result<T> Error Handling:
throwreplaced withResult<T>across all public APIs - Queue Consolidation: 10 queue implementations reduced to 2 public types (
adaptive_job_queue,job_queue) - CMake Project Rename:
ThreadSystem→thread_system(breaking change from 0.x)
Added
- vcpkg CMake preset for streamlined builds (#632)
- Tutorials, FAQ, and troubleshooting guide (#661)
- Getting Started guide with categorized examples (#655)
- Architecture Decision Records (ADR) (#648)
- Issue/PR templates, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY (#628)
- Documentation audit CI workflow for PRs (#650)
- Automated vcpkg registry sync on release (#629)
Changed
- BREAKING: Rename CMake project from
ThreadSystemtothread_system(#642) - Replace
throwstatements withResult<T>in all public API headers (#675) - Add deprecation markers for v1.0 API freeze (#676)
- Remove deprecated job classes, resilience headers, and policy methods (#611)
- Standardize license headers to short BSD-3-Clause format (#641)
- Standardize CMake export naming to
thread_system-targets(#588) - Standardize minimum CMake version to 3.20 (#621)
Fixed
- Thread-safe diagnostics initialization with
std::call_once(#669) - vcpkg usage target name mismatch and stale fmt dependency (#664)
hazard_pointermemory ordering issues for lock-free correctness- pkg-config template for unified library (#634)
Performance
- Replace mutex with atomic counter for
job_queueread-only query APIs (#609) - Add exponential backoff to
lockfree_job_queueCAS retry loops (#610) - Lock-free freelist pool for queue node allocation
- Replace 10ms polling sleep with
condition_variableblocking in thread pool
Infrastructure
- Upgrade dependencies: spdlog 1.15.3, gtest 1.17.0, benchmark 1.9.5
- Adopt setup-vcpkg composite action for CI standardization (#622)
Migration from 0.x
See USER_MIGRATION_GUIDE.md for details.
Key changes:
- Update CMake:
find_package(thread_system)(wasThreadSystem) - Update target:
thread_system::thread_system(wasThreadSystem::ThreadSystem) - Replace
throw-based error handling withResult<T>returns - Update FetchContent:
GIT_TAG v1.0.0
Full Changelog: https://github.com/kcenon/thread_system/blob/main/CHANGELOG.md
v0.3.2
v0.3.1
Changes since v0.3.0
Bug Fixes
- fix(ci): pin osv-scanner-action to v2.3.3 and grant contents:write for docs (#573)
- fix(cmake): lower MINIMUM_SUPPORTED_VERSION and add missing vcpkg dependency (#577)
Documentation
- docs: improve Doxyfile configuration and fix comment gaps (#575)
- docs: replace GIT_TAG main with v0.3.0 in FetchContent examples (#578)
Maintenance
- chore(release): bump version to 0.3.1
Closes #589
v0.3.0
What's Changed
- docs: documentation overhaul (English unification; clarify no official releases; consolidate CHANGELOG milestones) by @kcenon in #11
- docs: Comprehensive documentation update for streamlined ~2,700 line architecture by @kcenon in #12
- ci: Enable vcpkg binary caching with GitHub Actions cache by @kcenon in #13
- feat: Phase 1 Interface Separation - Dependency Improvement Implementation by @kcenon in #14
- Phase 2: CMake System Standardization - Dependency Improvement by @kcenon in #15
- Phase 3: Dependency Version Management - Complete Conflict Prevention System by @kcenon in #16
- feat: Modernize thread system architecture with event bus and configuration management by @kcenon in #18
- fix: resolve namespace consistency and test compilation issues by @kcenon in #19
- Fix build compilation errors and MPMC queue hangs by @kcenon in #20
- Improve thread system architecture and namespace compatibility by @kcenon in #21
- feat: add common_system integration adapters by @kcenon in #22
- refactor: standardize build flag naming to BUILD_WITH_COMMON_SYSTEM by @kcenon in #23
- Add common_system executor interface adapters by @kcenon in #24
- Align dependency versions with unified configuration by @kcenon in #25
- Phase 1: Build Configuration Standardization by @kcenon in #26
- Phase 2: Interface Unification (Logger & Executor) by @kcenon in #27
- feat(phase2): deprecate monitoring interface types (Task 2.3) by @kcenon in #28
- feat(phase2): Migrate interfaces to Result pattern by @kcenon in #29
- Phase 3: Remove bidirectional adapters by @kcenon in #30
- feat(phase3): Migrate adapters to typed_adapter base class (Task 3.2) by @kcenon in #31
- refactor(build): simplify CMake configuration (955 → 167 lines) by @kcenon in #32
- docs(phase3): add API documentation configuration by @kcenon in #33
- Phase 0: Foundation and Tooling Setup by @kcenon in #34
- Phase 0: Foundation and Tooling Setup by @kcenon in #35
- feat: Phase 0 - Foundation and Tooling Setup by @kcenon in #36
- Phase 0 Completion: Add Baseline Performance Metrics Documentation by @kcenon in #37
- Phase 1: Thread Safety Verification and Fixes for thread_system by @kcenon in #38
- test: add comprehensive thread safety tests by @kcenon in #39
- Phase 2: Resource Management Review - Reference Implementation by @kcenon in #40
- Phase 3: Error Handling Preparation Documentation by @kcenon in #41
- docs(phase0): Complete Phase 0 baseline metrics - 1.24M jobs/sec by @kcenon in #42
- docs(phase3): Update README with architecture improvement phase status by @kcenon in #43
- Phase 3: Error Handling - Document Result Implementation Completion by @kcenon in #44
- docs: finalize Phase 3 completion status by @kcenon in #45
- docs(phase3): Document Phase 3 completion status by @kcenon in #46
- feat: Phase 5 - Integration Testing Suite by @kcenon in #47
- feat: implement job-aware common executor adapter and normalize licenses by @kcenon in #48
- feat: add production-ready queue management and job cancellation by @kcenon in #49
- Fix: Add Retry Limit to CAS Loop in bounded_job_queue by @kcenon in #50
- feat(thread_system): Add structured logging infrastructure for better diagnostics by @kcenon in #51
- fix: respect global BUILD_INTEGRATION_TESTS flag by @kcenon in #52
- Refactor: Add support for centralized common_system in Sources directory by @kcenon in #53
- Add comprehensive integration documentation by @kcenon in #54
- Add comprehensive documentation (ARCHITECTURE, MIGRATION) by @kcenon in #55
- Migrate from error() to make_error() API by @kcenon in #56
- Modernize header guards to pragma once by @kcenon in #57
- feat(typed_pool): complete typed_thread_pool implementation by @kcenon in #58
- fix(thread_pool): resolve race conditions in stop mechanism by @kcenon in #59
- fix(concurrency): resolve race conditions and improve API consistency by @kcenon in #60
- fix: resolve add_worker/stop race condition and optimize memory orders by @kcenon in #61
- feat: Add comprehensive job cancellation system by @kcenon in #62
- Migrate from fmt library to C++20 std::format by @kcenon in #63
- feat: Add CI/CD Performance Metrics Integration by @kcenon in #64
- Refactor async task scheduling and integrate common_system Phase 2 by @kcenon in #65
- fix: Replace atomic flag with std::call_once to eliminate Promise/Future race condition by @kcenon in #66
- docs: Document ABA problem mitigation and add ThreadSanitizer guide by @kcenon in #67
- Fix P0 issue: Prevent worker thread exception handling infinite loop by @kcenon in #68
- Consolidate namespace to kcenon::thread by @kcenon in #69
- Add worker health monitoring to thread pool by @kcenon in #70
- Update documentation to reflect actual implementation by @kcenon in #71
- Add comprehensive cancellation token thread safety tests by @kcenon in #72
- Implement idle worker counting for thread pool monitoring by @kcenon in #73
- Document MPMC queue TLS cleanup issue and mitigation strategies by @kcenon in #74
- Implement IExecutor interface unification and Result type conversion by @kcenon in #75
- Add comprehensive MPMC queue safety warnings and production deployment checklist by @kcenon in #76
- Sprint 1: Critical stability and portability improvements by @kcenon in #77
- Sprint 1: Add race condition tests for thread safety by @kcenon in #78
- Sprint 2: Implement Hazard Pointers and Lock-free MPMC Queue by @kcenon in #79
- Unify error handling with common_system (Phase 1) by @kcenon in #80
- Sprint 4-5: Documentation and Build System Improvements by @kcenon in #81
- Fix: Add mutex synchronization to should_continue_work() by @kcenon in #82
- feat: C++17 migration with optional C++20 feature detection by @kcenon in #84
- Verify and document C++17 migration completion by @kcenon in #85
- docs: implement unified documentation standard by @kcenon in #86
- chore: cleanup completed documentation and standardize BSD 3-Clause license by @kcenon in #87
- Consolidate build scripts into scripts directory by @kcenon in #88
- Fix compilation errors: remove invalid override keywords by @kcenon in #89
- Fix(core): Enhance hazard pointer safety and resource management by @kcenon in #94
- refactor: remove deprecated executor_interface usage by @kcenon in #96
- feat: implement all kanban tickets (THR-001 to THR-010) by @kcenon in #97
- refactor: stabilize tests and unify test directories by @kcenon in #98
- Complete kanban tickets THR...