Skip to content

chore(release): prepare common_system for v1.0.0#641

Merged
kcenon merged 2 commits into
mainfrom
feat/issue-640-prepare-v1-release
Apr 13, 2026
Merged

chore(release): prepare common_system for v1.0.0#641
kcenon merged 2 commits into
mainfrom
feat/issue-640-prepare-v1-release

Conversation

@kcenon

@kcenon kcenon commented Apr 13, 2026

Copy link
Copy Markdown
Owner

What

Summary

Prepare common_system for the stable v1.0.0 release by bumping version numbers, finalizing the changelog, adding API stability documentation, and cleaning up deprecated references.

Change Type

  • Chore (version bump, documentation updates)

Affected Components

  • VERSION, vcpkg.json — Version bump to 1.0.0
  • CHANGELOG.md — Release section for 1.0.0
  • README.md, README.kr.md — API stability documentation
  • VERSIONING.md — v1.0 milestone notes
  • include/kcenon/common/error/error_category.h — Documentation cleanup

Why

Related Issues

Motivation

common_system is the Tier 0 foundation library. All downstream libraries depend on it and cannot begin their own v1.0 readiness until common_system reaches v1.0. The library is already in a v1.0-ready state:

  • 80%+ test coverage
  • High API stability (interface-only, header-only design)
  • Result<T> pattern as primary error handling
  • Stable CMake exports (common_system::common_system)
  • No remaining deprecated APIs to remove

Where

Files Changed Summary

File Change
VERSION 0.2.0 → 1.0.0
vcpkg.json version-semver 0.2.0 → 1.0.0
CHANGELOG.md Move [Unreleased] to [1.0.0] with release date
README.md Add API stability section, update FetchContent tag
README.kr.md Mirror English API stability section in Korean
VERSIONING.md Add v1.0 API stability milestone
error_category.h Update typed_error_code docs (stable naming)

How

Implementation Highlights

  1. Version bump: VERSION file and vcpkg.json updated consistently
  2. CHANGELOG: Unreleased entries moved to [1.0.0] section with today's date
  3. API stability docs: New section in README documents SemVer guarantees (stable headers, CMake targets, Result<T> pattern)
  4. typed_error_code: Documentation updated to reflect that the legacy error_code alias was already removed and typed_error_code is the stable name going forward

throw Audit Summary

Location throw Usage Rationale
Result<T>::unwrap() Throws on error By design (Rust panic semantics)
interface_adapter ctor Throws on excessive depth C++ constructor validation idiom
unified_bootstrapper::services() Throws if uninitialized Precondition check

All throws are intentional design patterns, not primary error handling. Public APIs use Result<T>.

Testing Done

  • All changes are documentation/version-only (no code logic changes)
  • CI verification (local toolchain unavailable — cmake/g++ not installed)

Test Plan

  1. CI should pass — no functional code changes
  2. Verify cmake --build succeeds with version 1.0.0
  3. Verify find_package(common_system) resolves correctly
  4. Verify CHANGELOG format is valid keep-a-changelog

Breaking Changes

None — this is a version bump and documentation update only.

- Bump version from 0.2.0 to 1.0.0 in VERSION and vcpkg.json
- Move CHANGELOG [Unreleased] entries to [1.0.0] release section
- Add API stability guarantee documentation to README (EN/KR)
- Add v1.0 API stability milestone section to VERSIONING.md
- Update typed_error_code documentation to reflect stable naming
- Update FetchContent example tags to v1.0.0

Closes #640
@kcenon kcenon mentioned this pull request Apr 13, 2026
14 tasks
@kcenon

kcenon commented Apr 13, 2026

Copy link
Copy Markdown
Owner Author

CI/CD Failure Analysis

Analysis Time: 2026-04-13 21:00 UTC
Attempt: #1

Failed Workflows

Workflow Job Step Status
Validate vcpkg Build Chain windows-2022 / x64-windows Run validation script Failed

Root Cause Analysis

Primary Error:

kcenon-common_system-v0.2.0.tar.gz: error: download from
https://github.com/kcenon/common_system/archive/v0.2.0.tar.gz had an unexpected hash

Expected: 7385ba3a073fea06604f71a7ffc016425408c768444cec2ec897537411926a7e
Actual  : ac458878395dbac632aa56a188f49d0c996e9334b67914d1e9a095d8f2bf45ea

Analysis:
GitHub periodically regenerates source tarballs, changing their SHA512 hash. The hash
stored in vcpkg-ports/kcenon-common-system/portfile.cmake no longer matches the
current v0.2.0 tarball from GitHub. This caused vcpkg install to fail, which in turn
prevented find_package(common_system) from finding the package — resulting in
consumer_build: configure_failed.

macOS passed because it had a vcpkg binary cache hit and did not re-download the tarball.

Identified Issues:

  1. SHA512 hash mismatch in overlay port portfile.cmake

Proposed Fix

Issue Proposed Solution Files Affected
SHA512 mismatch Update hash to current GitHub tarball hash vcpkg-ports/kcenon-common-system/portfile.cmake

Next Steps

  • Apply proposed fix
  • Push and monitor CI

Automated failure analysis - Attempt #1

GitHub regenerated the v0.2.0 tarball with a different hash,
causing vcpkg install to fail on Windows CI (no binary cache hit).
@kcenon kcenon merged commit 47d872a into main Apr 13, 2026
57 checks passed
@kcenon kcenon deleted the feat/issue-640-prepare-v1-release branch April 13, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prepare common_system for v1.0 release

1 participant