What
Review all 135 public API headers for stability, add [[deprecated]] markers to legacy types, and remove any dead/unused APIs before the v1.0 freeze.
Part of #670
Why
- v1.0 represents an API stability commitment — breaking changes require major version bump after freeze
- Queue consolidation reduced public types from 8 to 2 but legacy types may still exist without deprecation markers
- Migration guide references v3.0.0 changes but no
[[deprecated]] markers exist in current code
- Users need clear signals about which APIs are stable vs. transitional
Where
include/kcenon/thread/ — all public headers (135 files)
docs/advanced/MIGRATION.md — migration guide referencing v3.0.0 changes
- Legacy types mentioned:
kcenon::thread::result<T>, kcenon::thread::result_void, kcenon::thread::error
How
Technical Approach
- Inventory all public types, functions, and classes across headers
- Cross-reference with MIGRATION.md to identify legacy/transitional APIs
- Add
[[deprecated("Use X instead. Will be removed in v2.0")]] to legacy types
- Remove any truly dead code (unused after queue consolidation)
- Document frozen API surface in a concise reference
Acceptance Criteria
What
Review all 135 public API headers for stability, add
[[deprecated]]markers to legacy types, and remove any dead/unused APIs before the v1.0 freeze.Part of #670
Why
[[deprecated]]markers exist in current codeWhere
include/kcenon/thread/— all public headers (135 files)docs/advanced/MIGRATION.md— migration guide referencing v3.0.0 changeskcenon::thread::result<T>,kcenon::thread::result_void,kcenon::thread::errorHow
Technical Approach
[[deprecated("Use X instead. Will be removed in v2.0")]]to legacy typesAcceptance Criteria
[[deprecated]]and migration message