Skip to content

📝 docs: align docs and website copy with shipped v1.6.0-rc.1 behavior#546

Merged
scttbnsn merged 1 commit into
mainfrom
docs/rc1-alignment
Jul 17, 2026
Merged

📝 docs: align docs and website copy with shipped v1.6.0-rc.1 behavior#546
scttbnsn merged 1 commit into
mainfrom
docs/rc1-alignment

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Post-rc.1 docs/copy alignment: fixes for every confirmed finding from the pre-release docs audit (6-auditor sweep over CHANGELOG, README, DEPRECATIONS, content/docs, and website copy against the released v1.6.0-rc.1 tree). No code behavior changes — docs, website data/copy, and one small roadmap-rendering fix.

CHANGELOG (rc.1 section corrections):

README:

  • WUD migration commands now include the docker exec -it drydock node dist/index.js invocation — the bare config migrate failed as printed (every other doc surface documents the full form).
  • Four Trivy-only scanning claims now say Trivy/Grype, matching the v1.6 provider-neutral scanner runtime.

content/docs/current:

  • configuration/watchers: the intermediate-release-notes endpoint is documented as /api/v1/... — the unversioned path returns 410 Gone as of v1.6.0.
  • configuration/ui: removed the "List (Accordion-style)" view mode that no longer exists (v1.6 is table or cards), documented the per-view persistence + ~640px card reflow, and added Column Visibility / Card Sorting sections.
  • deprecations: added the WS /api/log/stream alias removal, mirroring DEPRECATIONS.md.
  • quickstart: the official image is on Docker Hub, GHCR, and Quay.io.

apps/web:

  • FAQ: removed the nonexistent "Portus" registry provider (→ Codeberg, a real one) and the fabricated DD_WATCHER_LOCAL_ALLCONTAINERS env var — replaced with the actual watch-by-default semantics (dd.watch=false to opt out, DD_WATCHER_{name}_WATCHBYDEFAULT=false for opt-in mode). Both fed the FAQPage JSON-LD, so they'd have been indexed as fact.
  • FAQ scanning/Watchtower answers now mention Trivy/Grype and DD_SECURITY_SCANNER=trivy|grype|both.
  • Homepage roadmap now marks the active RC (status: "next") as HEAD using the existing released-node styling, matching the hero's version badge.

Full pre-push gate green (coverage, builds, e2e, zizmor). apps/web typechecks clean.

After merge: main gets merged back into dev/v1.6 so the GA merge doesn't revert these.

Changelog

  • ✨ Added Quay.io to container image documentation.
  • 🔧 Updated README, FAQ, migration, scanning, UI, watcher, deprecation, and release documentation for v1.6.0-rc.1 behavior.
  • 🔧 Documented Trivy/Grype support and scanner configuration.
  • 🔧 Updated UI documentation for table/card modes, sorting, and responsive behavior.
  • 🔧 Corrected the intermediate release-notes API endpoint.
  • 🔧 Updated roadmap rendering to prioritize active release candidates.
  • ⚠️ Documented removal of the unversioned /api/log/stream WebSocket alias; use /api/v1/log/stream.

Concerns

  • Verify all documentation consistently reflects the shipped v1.6.0-rc.1 behavior.
  • Confirm the roadmap styling correctly treats the active release candidate as the current head.
  • Ensure users of /api/log/stream receive clear migration guidance to /api/v1/log/stream.

@vercel

vercel Bot commented Jul 17, 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, Comment Jul 17, 2026 1:33am
drydockdemo-website Ready Ready Preview, Comment Jul 17, 2026 1:33am

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a0c47bf1-634d-4be2-b73e-8e69ad183459

📥 Commits

Reviewing files that changed from the base of the PR and between cd5b18c and d00a8e6.

⛔ Files ignored due to path filters (1)
  • CHANGELOG.md is excluded by !CHANGELOG.md
📒 Files selected for processing (7)
  • README.md
  • apps/web/src/app/data/faq.ts
  • apps/web/src/components/roadmap.tsx
  • content/docs/current/configuration/ui/index.mdx
  • content/docs/current/configuration/watchers/index.mdx
  • content/docs/current/deprecations/index.mdx
  • content/docs/current/quickstart/index.mdx

📝 Walkthrough

Walkthrough

Updated README and FAQ content for Trivy/Grype scanning, watcher configuration, and migration commands. Revised documentation for UI view modes, versioned endpoints, WebSocket deprecation, intermediate releases, and image registries. Changed roadmap logic to prioritize an active next milestone and style the selected head release as released.

🚥 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/rc1-alignment

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

- 📝 docs(changelog): add missing rc.1 entries (column-picker rollout to Audit/Security/Servers/Watchers, card-view sort control, authenticated /auth/user rate-limit exemption); fix #489 misattribution and #210 discussion-link style
- 📝 docs(readme): make WUD migrate commands runnable as printed; Trivy/Grype scanning parity (4 spots)
- 📝 docs(site): version the intermediate-release-notes endpoint path (unversioned /api 410s in v1.6); remove the deleted List/Accordion view mode and document column visibility + card sorting; add the WS /api/log/stream removal to the deprecations page; add Quay.io to quickstart
- 🐛 fix(web): remove fabricated Portus provider and DD_WATCHER_LOCAL_ALLCONTAINERS from FAQ; correct watch-by-default semantics; Trivy/Grype scanning copy; mark the active RC as HEAD on the homepage roadmap
@scttbnsn
scttbnsn force-pushed the docs/rc1-alignment branch from 3fb1260 to d00a8e6 Compare July 17, 2026 01:30
@scttbnsn

Copy link
Copy Markdown
Contributor Author

@coderabbitai full review

@biggest-littlest biggest-littlest left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Docs-only alignment with shipped rc.1 behavior — verified the 8-file diff matches the audit findings, rebase is content-identical to the reviewed pre-rebase commit.

@ALARGECOMPANY ALARGECOMPANY left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM — FAQ/README/CHANGELOG corrections check out against the rc.1 tree.

@scttbnsn
scttbnsn merged commit d6e166f into main Jul 17, 2026
24 checks passed
@scttbnsn
scttbnsn deleted the docs/rc1-alignment branch July 17, 2026 02:01
scttbnsn added a commit that referenced this pull request Jul 17, 2026
Release plumbing for the v1.6.0-rc.2 cut — the full identity bump the
guard tests enforce (they correctly rejected a heading-only change
twice):

- Dated `[1.6.0-rc.2] — 2026-07-18` CHANGELOG heading, fresh empty
`[Unreleased]` section, matching link-reference definitions
- rc.2 across README badge/highlights summary, website site-config +
timeline, updates page (new rc.2 highlights section), API doc example
payloads, quickstart tag matrix, and the five demo runtime fixtures
- Guard tests updated in lockstep: release-identity,
release-docs-identity (compare-base template now
`v1.6.0-rc.1...v1.6.0-rc.2`), changelog-links

Verified: 105/105 script tests, 37/37 website-script tests, full
pre-push gate green.

rc.2 delta over rc.1: #538 version-update filter, #541/#542/#543
error-rebuild hardening round 2, #544 workflow-test dedupe,
docs-alignment content from #546.

Last dev-side change before the release head freeze.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Changelog

- 🔧 Changed release identity from `v1.6.0-rc.1` to `v1.6.0-rc.2` across
README, website metadata, timeline, updates, API examples, quickstart,
and demo fixtures.
- ✨ Added the `v1.6.0-rc.2` updates-page highlights and refreshed
changelog headings/link references.
- 🔧 Updated release documentation comparison base to
`v1.6.0-rc.1...v1.6.0-rc.2`.
- 🔧 Updated release identity, documentation identity, and changelog-link
guard tests for rc.2.

- Verify the documented release date and all public version surfaces
remain consistent.
- Confirm the reported script, website-script, and pre-push test results
in CI.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
scttbnsn added a commit that referenced this pull request Jul 18, 2026
## Summary

- consolidates the accepted v1.6.0-rc.2 delta from `dev/v1.6` over the
shipped rc.1: the #541/#542/#543 error-rebuild hardening round 2 (PR
#547), the #538 "Version Update" container filter (PR #539), the #544
workflow-test scaffolding dedupe (PR #548), and the rc.2 release
identity sweep (PR #549)
- restarts the soak: this is a new RC with a fresh 7-day clock and a
fresh 24-hour NAS acceptance run, because #541#543 change the exact
watcher/store paths the run validates
- excludes all private `.planning` changes from the release diff and
history

## Immutable release construction

- frozen base: `main` at `d6e166ff29d97d00215d7c69bfce91e3b5de3e8a`
- frozen accepted tree: `dev/v1.6` at
`51fea2cf22136a15ccef0be4a67b5dec8b009528`
- release head: `d63b3d3e29ea21402ea4bf5474e997dbdc9af912`
- release head parent is the frozen main SHA
- commit count over frozen main is exactly one
- non-planning tree matches the frozen `dev/v1.6` tree exactly (empty
diff)
- `.planning` is absent from frozen main and the release head and
contributes zero files or commits
- the 37-file main→dev delta attributes exactly to PRs
#539/#547/#548/#549 — nothing unaccounted in either direction

## Local verification on the exact release head

- complete pre-push gate passed in 272.44s
- 105 maintenance tests
- 31 workflow tests
- 37 website-script tests (run manually — the push glob skips them)
- backend and UI coverage at 100 percent
- app and UI production builds
- UI typecheck, Biome, accepted Qlty baseline, and Zizmor with zero
findings (run manually — the push glob skipped it)
- acceptance-harness `monitor.test.mjs` 7/7 locally
- CodeRabbit reviews resolved on every constituent PR (#539, #546, #547,
#548, #549)

## Final merge gate

Do not merge this PR or cut `v1.6.0-rc.2` until the exact-head GitHub
CI, Playwright, Cucumber, load/security matrix, CodeRabbit/Qlty/CodeQL
review, two required non-author approvals, and the isolated fresh
24-hour NAS acceptance report are clean with `passed: true`. The 24-hour
NAS run starts last from the frozen approved tree. After rc.2, the 7-day
soak restarts from its publication date (GA earliest ~2026-07-25); GA
promotes the exact RC digest, and any further code change requires a new
RC and a fresh soak.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
✨ Added
- Added shared GitHub Actions workflow testing utilities
(`.github/tests/workflow-test-utils.ts`) with
`loadWorkflow()`/`getWorkflowStep()` and workflow YAML types; refactored
workflow inspection tests to use them.
- Added/expanded Docker `watchContainer` Vitest coverage
(`app/watchers/providers/docker/container-processing.test.ts`) to assert
failure/success preservation of `result` and `currentReleaseNotes`,
including validated-container getter safety.
- Added/expanded Docker image orchestration tests for
fast-path/repair-branch digest stickiness and errored-container
fast-path eligibility (`docker-image-details-orchestration.*.test.ts`).
- Added UI + i18n support for the new **“Version Update”** container
filter (`filterKind="version"`), including kind-filter matching
semantics, filter-chip/select option rendering, and route-query
synchronization tests.
- Added Portwing WS unit test assertions that the `welcome` frame’s
`config.drydockVersion` matches the canonical `getVersion()` value
(`app/api/portwing-ws.test.ts`).
- Added/updated release-candidate identity/docs/changelog validation to
cover `v1.6.0-rc.2` (including compare-link chain completion
expectations).

🔧 Changed
- Refactored workflow inspection tests to deduplicate YAML parsing/type
scaffolding by using shared `loadWorkflow`/`getWorkflowStep` helpers and
shared workflow typings.
- Hardened `watchContainer` by snapshotting/restoring only
`containerWithResult.result` and
`containerWithResult.currentReleaseNotes` across watch cycles, restoring
them only when the current cycle still produced no fresh `result` (so
later enrichment failures don’t overwrite earlier successful comparison
state).
- Updated Docker orchestration logic:
  - Included errored containers in the “already in store” refresh path.
- Adjusted digest repair/stickiness behavior in
`refreshStoredContainerImageFields`.
- Simplified returned `containerToReturn.image.digest.value` assignment
to always use the computed `repoDigest`.
- Removed the explicit `structuredClone` carry-over of
`updatePolicyOverrides` into returned containers before applying
declarative policy.
- Updated Portwing WS version reporting to lazily populate the cached
drydock version from `getVersion()` on first use; extended
`injectDrydockVersionForTesting` to accept `string | undefined`.
- Implemented `filterKind="version"` as a grouped match: containers with
`updateKind` of `major`/`minor`/`patch` match the version filter.
- Bumped `v1.6.0-rc.1` → `v1.6.0-rc.2` across release identity surfaces
(README/site badge + highlights, demo/mock data, API docs,
quickstart/update content) and updated release-doc/changelog identity
tests accordingly.

🐛 Fixed
- Fixed an E2E restore-path defect where restoring getter-derived fields
could throw and prevent container report persistence; restoration now
targets only `result`/`currentReleaseNotes` so validated-container
getters can safely derive `updateAvailable`/`updateKind`.
- Fixed/validated Portwing welcome/version correctness by ensuring the
`welcome` frame uses `getVersion()` and adding direct unit coverage.

🔒 Security
- Preserved registry-reconciled digest context through watch/compare
failure paths to keep security-scan grouping stable.

⚠️ Breaking
- None

⚠️ Concerns
- Ensure exact-head CI, testing, security checks, and all required
approvals/reviews pass before merging/publishing.
- Re-run both prior E2E jobs if needed to confirm the Playwright failure
was not flaky (previously attributed to CI 429 rate limiting).
- Complete the fresh 24-hour NAS acceptance run before
merging/publishing `v1.6.0-rc.2`.
- Confirm the post-publication 7-day soak restart behavior matches the
release plan.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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.

3 participants