📝 docs: align docs and website copy with shipped v1.6.0-rc.1 behavior#546
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
📝 WalkthroughWalkthroughUpdated 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)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
- 📝 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
3fb1260 to
d00a8e6
Compare
|
@coderabbitai full review |
biggest-littlest
left a comment
There was a problem hiding this comment.
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
left a comment
There was a problem hiding this comment.
LGTM — FAQ/README/CHANGELOG corrections check out against the rc.1 tree.
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 -->
## 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 -->
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):
GET /auth/userexemption from the shared public auth rate limiter (PR 🐛 fix(auth): preserve public rate-limit budget #526).@types/node-cronremoval (that PR is an unrelated open Renovate PR; the removal happened inb38a8f6b).README:
docker exec -it drydock node dist/index.jsinvocation — the bareconfig migratefailed as printed (every other doc surface documents the full form).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/streamalias removal, mirroring DEPRECATIONS.md.quickstart: the official image is on Docker Hub, GHCR, and Quay.io.apps/web:
DD_WATCHER_LOCAL_ALLCONTAINERSenv var — replaced with the actual watch-by-default semantics (dd.watch=falseto opt out,DD_WATCHER_{name}_WATCHBYDEFAULT=falsefor opt-in mode). Both fed the FAQPage JSON-LD, so they'd have been indexed as fact.DD_SECURITY_SCANNER=trivy|grype|both.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/webtypechecks clean.After merge: main gets merged back into dev/v1.6 so the GA merge doesn't revert these.
Changelog
/api/log/streamWebSocket alias; use/api/v1/log/stream.Concerns
/api/log/streamreceive clear migration guidance to/api/v1/log/stream.