Skip to content

chore(release): bump version to 1.5.0 - #275

Merged
voidvec merged 6 commits into
masterfrom
chore/bump-1.5.0
Oct 16, 2026
Merged

voidvec merged 6 commits into
masterfrom
chore/bump-1.5.0

Conversation

@voidvec

@voidvec voidvec commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Summary

v1.5.0 release cut — the correctness & trust release from the 2026-10 IAM gap analysis P0 sprint.

  • Six-point version sync (Version.cmake SSoT / CMakeLists / conanfile / both frontend package.json + regenerated locks / openapi.yaml info.version / python pyproject) + the ~15 carriers (README ×2, Helm Chart version+appVersion, compose debug tag, deployment/SDK doc references, libs CMake fallbacks, FullaPackage, bug_report placeholder).
  • CHANGELOG [1.5.0] entry with the three breaking changes at top (subject hard cut, userinfo scope gating, S256-only PKCE), full Added/Changed/Fixed sections, one additive migration (V039).
  • Three local release gates green: spec-governance (info.version=1.5.0 == cmake 1.5.0), regen_clients --check (both SDK trees match), api-diff (208 headers, baseline consistent).

Tag v1.5.0 is not pushed by the agent (repo policy) — cut it when CI on this PR is green.

Test plan

  • check_spec_governance.py — version sync OK
  • regen_clients.py --check — SDK freshness OK
  • api_diff.py — no header drift
  • CI on this PR (incl. first interop.yml master-branch run after merge)

The correctness & trust release (2026-10 IAM gap analysis, P0 sprint):
subject unification on the UUID public_sub (hard cut), userinfo scope
gating, consumable MFA backup codes, S256-only PKCE, catalog-backed +
reconciled discovery metadata, client display names, WebAuthn
credential deletion, dedicated post_logout_redirect_uris (V039), the
three-library RP interop gate, and ADR-0014. Three breaking changes
are documented at the top of the CHANGELOG entry.

Six-point sync (Version.cmake SSoT, CMakeLists, conanfile, both
frontend package.json + locks, openapi.yaml info.version, python
pyproject) plus the ~15 carriers (README x2, Chart version/appVersion,
compose debug tag, deployment/SDK docs, libs CMake fallbacks,
FullaPackage, bug_report placeholder). Three local release gates green:
spec-governance (1.5.0 == 1.5.0), regen_clients --check, api-diff.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-15T04:47:38.675409Z 83da15c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

…-function)

The P0-1 migration switched this suite to userPublicSub; the leftover
helper compiled clean on MSVC (no -Wunused-function) but failed the
linux/macos -Werror CI legs.
Four independent fixes surfaced by the linux CI legs (MSVC-built
locally, so none were visible in the Windows verification):

1. DiscoveryReconciliationHttpTest: 'const std::string &' range-loop
   variables over brace-initialized 'const char* const' lists trip
   GCC's -Werror=range-loop-construct; both loops now bind 'const
   char *' directly.
2. PostgresClientRepository: UBSan (halt_on_error) aborts the suite on
   the generated relation method's '*clientId_' deref — GCC's UBSan
   flags the reference binding when the shared_ptr is null. The model
   files are drogon_ctl-generated (no hand edits), so the guard lives
   at the call site: a null PK pointer degrades exactly like the
   scope-fetch error path (client with empty scopes). Contract tests
   that walked this path (PublicClientAcceptsAnySecret /
   ConfidentialClientValidatesSecret) were the visible casualties.
3. interop.yml: drogon_create_views() failed with Error 127 on
   apps/server/login.h — drogon_ctl must be on PATH at build time.
   Added the same Drogon-*-data.cmake package-folder discovery
   _build-test.yml uses.
4. sanitizer.yml (x2 jobs) + coverage.yml: hardened the drogon_ctl
   discovery with the data.cmake fallback leg after the Conan-cache
   'find ~/.conan2/p' pattern came up empty on the gcov leg (the
   legacy find is kept as the first leg).

Local: full sequential suite 641/641 green; contract + discovery
matrices green; workflow YAML validated.
The P0-7b commit shipped the regenerated ORM model (12 columns),
the ClientService post-logout whitelist validation and the
registration-API surface — but NOT the migration itself: the original
'git add' failed silently on a nonexistent sibling path (models/
model.json) with stderr suppressed, and the follow-up amend only
restored the two model files. Every environment initialized from the
migration chain (CI linux legs: gcov, ASan, Build & Test) therefore
built a schema WITHOUT the column the ORM model selects, breaking
getClient for every client row — login cascade failures across
OAuth2Tests, empty clientId in the client-repository contract tests,
UBSan halt at the malformed-row deref. Local runs passed only because
the author's dev database had the column applied manually via psql.

The migration file is idempotent (ADD COLUMN IF NOT EXISTS) and
matches what was applied to the dev database.
@voidvec
voidvec merged commit 3084bcc into master Oct 16, 2026
17 checks passed
@voidvec
voidvec deleted the chore/bump-1.5.0 branch October 16, 2026 09:21
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.

1 participant