Skip to content

docs(platform): audit remaining v3 deprecations - #2547

Closed
benpsnyder wants to merge 4 commits into
analogjs:alphafrom
benpsnyder:docs/2215-deprecation-plan
Closed

benpsnyder wants to merge 4 commits into
analogjs:alphafrom
benpsnyder:docs/2215-deprecation-plan

Conversation

@benpsnyder

@benpsnyder benpsnyder commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

Document the remaining v3 deprecations, migration paths, and regression criteria across the published packages. Include the reviewed CI setup and SSR-policy prerequisites needed to validate the audit on alpha.

PR Checklist

Closes #2215.

Affected scope

  • Primary scope: platform
  • Secondary scopes: router, vitest-angular, vite-plugin-angular, nx-plugin, create-analog, CI

Recommended merge strategy for maintainer [optional]

  • Squash merge
  • Rebase merge
  • Other

Commit preservation note [optional]

No commit boundaries need preservation.

What is the new behavior?

Maintainers get a current package inventory and a review sequence for the two public deprecations, the internal downlevel alias, and the proposed Angular 20 minimum. Each proposal records migration examples and acceptance checks. The audit distinguishes already-removed API middleware, an absent trpc package, and overlapping open compiler/tooling PRs from outstanding work.

The audit follows the issue's request for a deprecation plan; API removals and the Angular support-floor decision remain in their dedicated work. This branch also carries the reviewed CI setup and SSR-policy prerequisites described below so the complete PR can pass alpha's existing checks.

Test plan

  • Reviewed alpha package export maps and source annotations against 4225f4509.
  • Checked current issue and PR coverage, generator minimums, peer catalogs, and compiler CI slots.
  • Prettier and git diff --check.
  • Combined-head pnpm nx test platform — 396 tests passed.
  • pnpm nx run analog-app-e2e:e2e --args='tests/json-ld.spec.ts tests/ssr-policy.spec.ts --retries=0 --reporter=line' — all 10 tests passed, including all required build dependencies. The unchanged alpha baseline failed the client-only route case before the prerequisite was applied.

Does this PR introduce a breaking change?

  • Yes
  • No

The proposed implementation PRs would introduce breaking changes on alpha and need their own regression evidence and migration notes.

Other information

Shared prerequisites from analogjs/analog#2541: Node 24.15.0 for the coordinator and Nx agents, Playwright-only browser installation, and isolated compiler-matrix installs (original commit 9d86fae). Also reuses the SSR route-policy fix from analogjs/analog#2523, already qualified in #2541 (original commit 072ed54c), so client-only routes remain unrendered and caller headers cannot override SSR policy. These are existing prerequisite fixes, retained as separate commits for review. The existing test suites and support ranges are preserved.

The previous audit draft analogjs/analog#2246 was closed without merging. This refreshes the plan against the current alpha architecture and package layout.

[optional] What gif best describes this PR or how it makes you feel?

Not applicable.

Record package inventory, migration paths, and separate acceptance criteria.

Closes analogjs#2215

Co-Authored-By: OpenAI Codex <noreply@openai.com>
@coderabbitai

coderabbitai Bot commented Sep 7, 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: Team

Run ID: d5f31411-9216-4ddf-b189-a099404dce48

📥 Commits

Reviewing files that changed from the base of the PR and between 4225f45 and 3b40c9f.

⛔ Files ignored due to path filters (3)
  • .nvmrc is excluded by none and included by none
  • .nx/workflows/agents.yaml is excluded by none and included by none
  • docs/v3-deprecation-audit.md is excluded by none and included by none
📒 Files selected for processing (7)
  • .github/workflows/compiler-compat.yml
  • .node-version
  • apps/analog-app-e2e/tests/ssr-policy.spec.ts
  • apps/analog-app/vite.config.ts
  • packages/platform/src/lib/nitro/analog-nitro-plugin.spec.ts
  • packages/platform/src/lib/nitro/analog-nitro-plugin.ts
  • packages/platform/src/lib/nitro/ssr-renderer.spec.ts

Included review availability: Your plan provides up to 8 included reviews per hour; 2 remain after this review.


📝 Walkthrough

Walkthrough

The Nitro renderer now uses route-rule and request x-analog-no-ssr markers to enforce SSR policy. Explicit SSR rules reset inherited opt-out markers. The application enables SSR for /products/** and adds end-to-end policy tests. Unit tests cover request preservation and fallback behavior. The compatibility workflow removes the root prepare script before overrides, and Node.js updates to 24.15.0.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to 3b40c

This change makes SSR route policy explicit, prevents request headers from overriding configured SSR behavior, enables SSR for product routes, and updates compatibility setup. Current coverage supports the intended behavior with no remaining merge-blocking risk.

🚥 Pre-merge checks | ✅ 2 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The changes include Node version updates, CI workflow changes, SSR route configuration, SSR renderer behavior changes, and related tests. These changes are outside the linked issue's documentation-onl… Remove the CI, Node version, application route, SSR renderer, and related test changes from this PR, or link them to separate objectives and split them into dedicated pull requests.
Linked Issues check ❓ Inconclusive The linked issue requires a package-wide deprecation audit, Angular 20 impact analysis, and an implementation plan. The core audit file docs/v3-deprecation-audit.md was excluded by the path filters,… Include the contents or reviewable summary of docs/v3-deprecation-audit.md, or otherwise provide evidence that it covers every published package, Angular 20 update candidates, and the proposed implementation plan without implementing thos…
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title uses Conventional Commit style with the supported platform scope and accurately describes the deprecation audit documented by the pull request.
Description check ✅ Passed The description clearly explains the deprecation audit, migration paths, affected scopes, prerequisites, regression criteria, and test results. It is related to the changeset and objectives.
Full details: Linked Issues check

Explanation

The linked issue requires a package-wide deprecation audit, Angular 20 impact analysis, and an implementation plan. The core audit file docs/v3-deprecation-audit.md was excluded by the path filters, so these requirements cannot be verified from the available evidence.

Resolution

Include the contents or reviewable summary of docs/v3-deprecation-audit.md, or otherwise provide evidence that it covers every published package, Angular 20 update candidates, and the proposed implementation plan without implementing those changes.

Full details: Out of Scope Changes check

Explanation

The changes include Node version updates, CI workflow changes, SSR route configuration, SSR renderer behavior changes, and related tests. These changes are outside the linked issue's documentation-only deprecation audit scope.

  • Fix all pre-merge checks with AI

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.

@nx-cloud

nx-cloud Bot commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

View your CI Pipeline Execution ↗ for commit 3b40c9f

Command Status Duration Result
nx run-many --target e2e --projects=analog-app-... ✅ Succeeded 1m 45s View ↗
nx run-many --target test ✅ Succeeded 42s View ↗
nx run-many --target build --all --parallel=1 -... ✅ Succeeded 1m 7s View ↗
nx run-many --target lint --all --exclude=conte... ✅ Succeeded 1m 30s View ↗
nx-cloud record -- pnpm prettier:check ✅ Succeeded 13s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-09-07 21:46:26 UTC

@netlify

netlify Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for analog-app ready!

Name Link
🔨 Latest commit 3b40c9f
🔍 Latest deploy log https://app.netlify.com/projects/analog-app/deploys/6a9f2f269d136d0008492c68
😎 Deploy Preview https://deploy-preview-2547--analog-app.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify

netlify Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for analog-blog ready!

Name Link
🔨 Latest commit 3b40c9f
🔍 Latest deploy log https://app.netlify.com/projects/analog-blog/deploys/6a9f2f26f2fc05000800ea3a
😎 Deploy Preview https://deploy-preview-2547--analog-blog.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

benpsnyder and others added 2 commits September 7, 2026 21:36
Use the shared Node 24.15 pin on Nx agents and install the Playwright browsers used by tests.

Skip only the root prepare build when the compiler matrix swaps Angular versions.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
Reuse the verified route-policy fix from analogjs#2523 so client-only routes stay unrendered.

Preserve internal request context and reject caller-supplied SSR bypass headers.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
@github-actions github-actions Bot added scope:ci GitHub workflow changes scope:platform Changes in @analogjs/platform labels Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.0 scope:ci GitHub workflow changes scope:platform Changes in @analogjs/platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants