refactor(api): remove vestigial legacy API artifacts for v1.0 freeze#520
Merged
kcenon merged 1 commit intoApr 16, 2026
Merged
Conversation
Remove dead code from the pre-v1.0 deprecation cycle: - Remove no-op methods is_variant_mode() and enable_variant_mode() - Remove unused CONTAINER_LEGACY_API CMake option and compile definition - Remove unused POLICY_CONTAINER_HAS_COMMON_RESULT compatibility macro - Fix stale comment referencing deprecated methods - Fix broken markdown anchor in GRPC_INTEGRATION_PROPOSAL.md Closes #516
4 tasks
This was referenced Apr 16, 2026
Merged
kcenon
added a commit
that referenced
this pull request
Apr 16, 2026
* docs: apply mechanical doc-review fixes (#513) * docs: fix 19 broken links, 9 version mismatches, 8 xrefs, 4 SSOT deferrals - Resolve directory-depth drift in 11 broken relative links across README, PRODUCTION_QUALITY, PROJECT_STRUCTURE, FAQ, VALUE_STORE_DESIGN, DOMAIN_SEPARATION_GUIDE, ADR-001-Type-System-Unification, integration/README, and BENCHMARKS. - Wrap three missing targets (IMPROVEMENT_PLAN, SYSTEM_ANALYSIS_SUMMARY, VALUE_SYSTEM_COMPARISON_ANALYSIS) as TODO comments pending decision. - Triangulate gRPC/protobuf versions to vcpkg.json as authoritative (gRPC 1.60.0, protobuf 4.25.1) across README, SOUP, and grpc/README. - Align compiler floors to the project C++20 baseline (GCC 11+, Clang 14+, MSVC 2022+) in README.md and samples/README.md. - Correct API_REFERENCE version from 0.3.0.0 to 0.1.0 and remove the fabricated since v2.0.0 phrasing from API_QUICK_REFERENCE.md. - Expand the docs/README.md registry by 17 entries covering root-level documents and all subdirectory READMEs. - Add SSOT deferral notes on root SCOPE.md, CONTRIBUTING.md, and CHANGELOG.md pointing to their canonical docs/** equivalents. - Rename the Scope ADR title from ADR-001 to ADR-002 and add mutual disambiguation notes between the two ADR-001-prefixed files. - Add bidirectional See also cross-references among ARCHITECTURE, ECOSYSTEM, PROJECT_STRUCTURE, ADR-003, TRACEABILITY, PRODUCTION_QUALITY, and contributing/CONTRIBUTING. - Refresh stale Last Updated dates to 2026-04-14 across BENCHMARKS, PRODUCTION_QUALITY, PROJECT_STRUCTURE, ARCHITECTURE, FEATURES, and RESULT_API_MIGRATION_GUIDE. - Set docs/performance/MEMORY_POOL_PERFORMANCE.md status to Draft. - Replace HTML entity mdash with Unicode em-dash in registry titles. - Note historical C++11/14/17 modernization scope in PRODUCTION_QUALITY. - Add MessagePack to README.md serialization formats list. - Correct Korean suffix reference from _KO.md to .kr.md. Korean .kr.md files and CHANGELOG.kr.md version tags are left untouched per task scope. * docs: add post-fix re-validation report * docs(i18n): apply Korean documentation parity with #513 (#515) Bring the Korean .kr.md variants in line with the mechanical documentation fixes landed in #513, which had explicitly deferred Korean siblings. - README.kr.md: replace fabricated "v2.0.0 부터 권장 이름" claim with the same phrasing used in the English API_QUICK_REFERENCE.md (message_buffer is a preferred alias introduced in the v0.1 baseline). - docs/PROJECT_STRUCTURE.kr.md: remove non-existent BUILD_GUIDE.md from the directory tree and point the See Also list to QUICK_START.md, matching the English sibling fix. - docs/API_REFERENCE.kr.md: correct fabricated version 0.2.1 to 0.1.0 (aligned with vcpkg.json and CMakeLists.txt), refresh Last Updated to 2026-04-14, and update the migration status to match the English file. - CHANGELOG.md / docs/CHANGELOG.md: mirror the Unreleased/Fixed entry so downstream tooling and the SSOT registry remain in sync. Closes #514 Part of #512 * refactor(api): remove vestigial legacy API artifacts for v1.0 freeze (#520) Remove dead code from the pre-v1.0 deprecation cycle: - Remove no-op methods is_variant_mode() and enable_variant_mode() - Remove unused CONTAINER_LEGACY_API CMake option and compile definition - Remove unused POLICY_CONTAINER_HAS_COMMON_RESULT compatibility macro - Fix stale comment referencing deprecated methods - Fix broken markdown anchor in GRPC_INTEGRATION_PROPOSAL.md Closes #516 * feat(value_store): add Result<T>-based deserialization methods (#521) Add no-throw alternatives to throwing deserialize methods: - deserialize_result(): Result-based JSON deserialization (not yet implemented) - deserialize_binary_result(): Result-based binary deserialization Uses project error codes (corrupted_data, version_mismatch, value_parse_failed) and follows the existing _result suffix pattern from value_container. Closes #517 * chore: v1.0.0 release preparation — version bump, CHANGELOG, and API stability docs (#522) * chore: bump version to 1.0.0 and finalize CHANGELOG - Update CMakeLists.txt version from 0.1.0 to 1.0.0 - Move Unreleased entries to [1.0.0] - 2026-04-16 in CHANGELOG.md - Add v1.0 prep entries (#516 API cleanup, #517 Result<T> migration) - Update vcpkg.json and vcpkg-ports version to 1.0.0 (port-version reset to 0) - Update API_REFERENCE version headers (en/kr) - Update docs/CHANGELOG.md frontmatter date Closes #518 * docs(readme): add v1.0 API stability guarantees section Document public API surface, internal API boundaries, deprecation policy, and semantic versioning commitment for v1.0 release. Closes #519
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Summary
Audit public API surface and remove vestigial artifacts from the pre-v1.0 deprecation
cycle. All deprecated methods were already removed in prior PRs — this cleans up the
remaining dead code (no-op methods, unused CMake options, stale macros).
Change Type
Affected Components
include/kcenon/container/container.h— Remove vestigial no-op methodssrc/modules/container.cppm— Mirror header changesCMakeLists.txt— Remove unused CONTAINER_LEGACY_API optioninclude/kcenon/container/container/result_integration.h— Remove dead macroWhy
Problem Solved
v1.0 API freeze requires a clean public surface with no vestigial artifacts from the
deprecation cycle. These items were dead code:
is_variant_mode()always returnedtrue— variant mode is the only modeenable_variant_mode()was a no-op with(void)enable;CONTAINER_LEGACY_APICMake option definedCONTAINER_NO_LEGACY_APIbut no sourcecode checked for it
POLICY_CONTAINER_HAS_COMMON_RESULTmacro was defined but never referencedRelated Issues
How
Implementation Details
is_variant_mode()andenable_variant_mode()fromcontainer.handcontainer.cppmCONTAINER_LEGACY_APIoption and its compile-definition block fromCMakeLists.txtPOLICY_CONTAINER_HAS_COMMON_RESULTbackward-compatibility macroGRPC_INTEGRATION_PROPOSAL.mdTesting Done
CONTAINER_NO_LEGACY_APIis not checked in any source filePOLICY_CONTAINER_HAS_COMMON_RESULThas zero usage outside its definitionBreaking Changes
is_variant_mode()andenable_variant_mode()removed — both were no-ops sincevariant mode became the only mode. Any callers can safely remove these calls.
CONTAINER_LEGACY_APICMake option removed — was already OFF by default and hadno effect since legacy code was previously deleted.