Skip to content

📝 docs(release): promote v1.6.0 to GA - #698

Merged
scttbnsn merged 2 commits into
dev/v1.6from
docs/changelog-v1.6.0
Aug 12, 2026
Merged

📝 docs(release): promote v1.6.0 to GA#698
scttbnsn merged 2 commits into
dev/v1.6from
docs/changelog-v1.6.0

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add the ## [1.6.0] GA changelog section so scripts/extract-changelog-entry.mjs --version v1.6.0 resolves a non-empty entry for the release-cut workflow's changelog gate.
  • The GA entry synthesizes the complete 1.6.0-rc.11.6.0-rc.13 series by theme (Portwing edge/agent transport, declarative update policy + maturity stabilization gate, per-rule notifications, responsive DataTable rollout, /api/v1 parity + unversioned /api/* removal, security hardening) instead of concatenating every rc bullet verbatim. All existing rc.* sections are left untouched as history.
  • Rolled the release identity forward from 1.6.0-rc.13 to plain 1.6.0 across README (badge + a new v1.6.0 highlights block), the website site-config/site-content, docs API examples (app.mdx, agent.mdx, portwing.mdx), the quickstart tag matrix, and the demo mocks — matching the pattern every prior rc cut used, and required by scripts/release-identity.test.mjs / scripts/release-docs-identity.test.mjs, which assert these surfaces stay in lockstep with the changelog (both tests are written to accept either an rc or a plain-GA shape for the same constant).
  • Updated scripts/changelog-links.test.mjs's hardcoded comparison-link chain and added a v1.6.0 GA regression test (structural/theme-marker assertions, not a strict bullet-for-bullet match, since the GA entry is a synthesis rather than a concatenation).
  • package.json/package-lock.json files already read 1.6.0 in every workspace and were left untouched.

Verification

  • node scripts/extract-changelog-entry.mjs --version v1.6.0 --file CHANGELOG.md exits 0 with a non-empty entry.
  • node --test scripts/*.test.mjs — 141/141 passing.
  • npm run test:scripts --prefix apps/web — 56/56 passing.
  • npm run test:workflows — 71/71 passing.
  • npm run typecheck --prefix ui — clean.
  • ./scripts/pre-push-build.sh (app + ui builds) — both succeed.
  • npx biome check . — clean (one pre-existing, unrelated deprecation notice).

Note

core.hooksPath in this repo's local git config points at /Users/sbenson/code/drydock/.git/hooks, a path that no longer exists (the repo lives at ~/code/codeswhat/drydock per the current layout convention), so git push silently ran no lefthook pre-push checks. I ran the pre-push commands manually instead (results above) rather than relying on the hook. Flagging so it can be fixed at the repo level — not something I want to touch via git config myself.

Test plan

  • Confirm CI (ci-verify.yml) is green on this PR.
  • Confirm scripts/extract-changelog-entry.mjs --version v1.6.0 gate passes in the release-cut workflow dry context.

Changelog

  • ✨ Added the stable v1.6.0 changelog entry with RC1–RC13 highlights.
  • ✨ Added regression coverage for GA changelog sections, themes, and comparison links.
  • 🔧 Changed release references from 1.6.0-rc.13 to 1.6.0 across README, website, documentation, quickstart tags, and demo mocks.
  • 🔧 Updated release identity test fixtures for the GA version and date.
  • 🔒 Documented security hardening in the v1.6.0 highlights.
  • ⚠️ Documented removal of the unversioned API alias.

Concerns

  • Verify that the changelog date, August 11, 2026, matches the release schedule.
  • Restore or configure repository hooks before merge.
  • Confirm that remaining 1.6.0-rc.13 references are intentional.

- consolidate the complete v1.6.0-rc.1 through rc.13 changelog into a
  themed v1.6.0 GA entry (Portwing edge/agent transport, declarative
  update policy + maturity gate, per-rule notifications, responsive
  DataTable rollout, /api/v1 parity + unversioned /api removal,
  security hardening) instead of concatenating every rc bullet
- roll the release identity forward to plain v1.6.0 across README,
  the website site-config/site-content, docs API examples and
  quickstart tag matrix, demo mocks, and the changelog compare-link
  chain, matching the pattern established at every prior rc cut
- add v1.6.0 GA regression coverage to changelog-links.test.mjs and
  update the shape-aware release-identity test constants to the GA
  shape

Required so `scripts/extract-changelog-entry.mjs --version v1.6.0`
resolves a non-empty entry for the release-cut workflow's changelog
gate.
@scttbnsn

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
drydock-website Ready Ready Preview Aug 11, 2026 10:21pm
drydockdemo-website Ready Ready Preview Aug 11, 2026 10:21pm

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

No new commits to review since the last review.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: fcaf747a-1ba2-4507-9b6c-54c4c2634e6a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The release identity changes promote 1.6.0-rc.13 to stable 1.6.0 across README content, site metadata, roadmap data, demo mocks, API documentation, and quickstart instructions. The changelog now includes v1.6.0 GA highlights. Release tests validate the GA version, release date, comparison links, changelog structure, and release themes.

Possibly related PRs

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/changelog-v1.6.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@scttbnsn

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/changelog-links.test.mjs`:
- Around line 125-134: Update the RC-heading removal assertion in the test for
extractChangelogEntry so it checks the full changelog variable rather than the
extracted entry, while preserving the existing release-note assertions.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 50658ff0-7fa5-4347-94ab-13cd8ba3a63b

📥 Commits

Reviewing files that changed from the base of the PR and between e0a427d and 03b6125.

⛔ Files ignored due to path filters (1)
  • CHANGELOG.md is excluded by !CHANGELOG.md
📒 Files selected for processing (16)
  • README.md
  • apps/demo/src/mocks/data/agents.ts
  • apps/demo/src/mocks/data/audit.ts
  • apps/demo/src/mocks/data/containers.ts
  • apps/demo/src/mocks/data/server.ts
  • apps/demo/src/mocks/handlers/app.ts
  • apps/web/src/lib/site-config.ts
  • apps/web/src/lib/site-content.ts
  • content/docs/current/api/agent.mdx
  • content/docs/current/api/app.mdx
  • content/docs/current/api/portwing.mdx
  • content/docs/current/quickstart/index.mdx
  • content/docs/current/updates/index.mdx
  • scripts/changelog-links.test.mjs
  • scripts/release-docs-identity.test.mjs
  • scripts/release-identity.test.mjs

Comment on lines +125 to +134
test('real changelog exposes nonempty v1.6.0 GA release notes', () => {
const entry = extractChangelogEntry(changelog, 'v1.6.0');

assert.match(entry, /^## \[1\.6\.0\] [–—-] \d{4}-\d{2}-\d{2}$/mu);
assert.match(entry, /Consolidates the `1\.6\.0-rc\.1` … `1\.6\.0-rc\.13` prereleases\./u);
assert.match(entry, /^### Added$/mu);
assert.match(entry, /^### Changed$/mu);
assert.match(entry, /^### Fixed$/mu);
assert.match(entry, /^### Security$/mu);
assert.doesNotMatch(entry, /^## \[1\.6\.0-rc\.13\]/mu);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Check RC-heading removal in the full changelog.

extractChangelogEntry() stops at the next top-level ## [ heading. Therefore, assert.doesNotMatch(entry, ...) passes even if CHANGELOG.md still contains a separate 1.6.0-rc.13 heading.

Assert against changelog instead.

Proposed fix
-  assert.doesNotMatch(entry, /^## \[1\.6\.0-rc\.13\]/mu);
+  assert.doesNotMatch(changelog, /^## \[1\.6\.0-rc\.13\]/mu);
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
test('real changelog exposes nonempty v1.6.0 GA release notes', () => {
const entry = extractChangelogEntry(changelog, 'v1.6.0');
assert.match(entry, /^## \[1\.6\.0\] [-] \d{4}-\d{2}-\d{2}$/mu);
assert.match(entry, /Consolidates the `1\.6\.0-rc\.1` `1\.6\.0-rc\.13` prereleases\./u);
assert.match(entry, /^### Added$/mu);
assert.match(entry, /^### Changed$/mu);
assert.match(entry, /^### Fixed$/mu);
assert.match(entry, /^### Security$/mu);
assert.doesNotMatch(entry, /^## \[1\.6\.0-rc\.13\]/mu);
test('real changelog exposes nonempty v1.6.0 GA release notes', () => {
const entry = extractChangelogEntry(changelog, 'v1.6.0');
assert.match(entry, /^## \[1\.6\.0\] [-] \d{4}-\d{2}-\d{2}$/mu);
assert.match(entry, /Consolidates the `1\.6\.0-rc\.1` `1\.6\.0-rc\.13` prereleases\./u);
assert.match(entry, /^### Added$/mu);
assert.match(entry, /^### Changed$/mu);
assert.match(entry, /^### Fixed$/mu);
assert.match(entry, /^### Security$/mu);
assert.doesNotMatch(changelog, /^## \[1\.6\.0-rc\.13\]/mu);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/changelog-links.test.mjs` around lines 125 - 134, Update the
RC-heading removal assertion in the test for extractChangelogEntry so it checks
the full changelog variable rather than the extracted entry, while preserving
the existing release-note assertions.

CodeRabbit caught that doesNotMatch(entry, rc.13) proves nothing, since
extractChangelogEntry stops at the next top-level heading anyway. Its
suggested fix asserted the whole changelog has no rc.13 heading, which
would fail: the rc sections are kept below the GA entry on purpose. Added
the assertion that actually has teeth instead.
@scttbnsn

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Already reviewed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@scttbnsn
scttbnsn merged commit daf1229 into dev/v1.6 Aug 12, 2026
25 of 26 checks passed
@scttbnsn
scttbnsn deleted the docs/changelog-v1.6.0 branch August 12, 2026 01:56
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