Skip to content

API freeze audit and deprecation cleanup for v1.0 #672

Description

@kcenon

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

  1. Inventory all public types, functions, and classes across headers
  2. Cross-reference with MIGRATION.md to identify legacy/transitional APIs
  3. Add [[deprecated("Use X instead. Will be removed in v2.0")]] to legacy types
  4. Remove any truly dead code (unused after queue consolidation)
  5. Document frozen API surface in a concise reference

Acceptance Criteria

  • All public headers reviewed for API stability
  • Legacy types marked with [[deprecated]] and migration message
  • No dead/unreachable code in public headers
  • Migration guide updated to reflect v1.0 API surface
  • Build passes with deprecation warnings (not errors)

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions