Skip to content

Bring the site to @cap2ui5/cds-plugin 0.4.0 - #36

Merged
oblomov-dev merged 1 commit into
mainfrom
claude/docs-0.4.0
Sep 30, 2026
Merged

oblomov-dev merged 1 commit into
mainfrom
claude/docs-0.4.0

Conversation

@oblomov-dev

Copy link
Copy Markdown
Member

@cap2ui5/cds-plugin 0.4.0 has been on npm since 2026-09-30 and pins @abap2ui5/node-runtime 1.146.0. @cap2ui5/samples 0.2.0 needs it (peer ^0.4.0). The site still said 0.3.1, 1.145.0 and ^0.3.x, so check against cap2UI5 main fails on main. It also described 0.3 behaviour that 0.4.0 changed. Source: cap2UI5/cap2UI5 plugin/CHANGELOG.md (0.4.0) and plugin/README.md. This PR includes and supersedes the draft #33.

What changes

Versions

  • Plugin 0.4.0, runtime 1.146.0, samples 0.2.0 on ecosystem, configuration, deployment and in AGENTS.md.
  • "^0.4.0" in the deployment dependency and in the peer-dependency example.

Behaviour 0.4.0 changed

  • Only a bound field goes to the browser. Every field is still kept in the draft, but only one the app binds is sent and written back. Updated app-interface, data-binding, persistence and migration, which said "every field is model".
  • Names defineApp refuses: camelCase fields (isAdmin → is_admin), #private members, and a name the runtime already has a class of. The selection-screen example declared minTotal/onlyOpen, which 0.4.0 refuses; it now uses min_total/only_open.
  • Approuter CSRF: runtime 1.146.0 carries abap2UI5#2802, the X-CSRF-Token handshake. The deployment section is now "The approuter and its CSRF token": the generated catch-all route works as it is, and the extra route stays in a box for 0.3.x. Troubleshooting, roadmap and HANDOVER.md follow.
    • Not measured end to end. I checked it against the frontend code in @abap2ui5/node-runtime@1.146.0 (on 403 with Required: HEAD with X-CSRF-Token: Fetch, then retry) and against xsrf-token-handler.js in approuter 23.0.0. A local approuter run without XSUAA does not check tokens at all, so it proves nothing. The page says it has not yet been run against XSUAA or IAS.
  • Configuration: new compression and accelerate rows and a short Performance section (the runtime's accelerations, Node 24, NODE_COMPILE_CACHE). The log example gains runtime accelerations active.
  • Quickstart samples: since 0.4.0 an app package gets one startup line (@cap2ui5/samples 71 apps - listed on CAP's start page, …), not one line per app.
  • Roadmap: a 0.4.0 sentence under "What just changed". "Drop the approuter exception" is removed from "What's next".

The unscoped cap2ui5 (from #33)

verify-refs

  • It read the pinned runtime from runtime/package.json, the repository's stand-in, which still says 1.145.0. So every stale 1.145.0 on the site passed.
  • It now reads the exact @abap2ui5/node-runtime dependency from plugin/package.json, which is what a reader installs. With that change it found six stale mentions.
  • Historical mentions no longer name the old number, rather than being allowlisted.
  • z2ui5_cl_smp_app_493 (the sample the quickstart names) is in .verify-refs-ignore with its reason: it lives in abap2UI5/samples.

Checks

npm run check:ci against cap2UI5 main (0.4.0) and abap2UI5 main: verify-refs OK, build OK.

Outside this repository

cap2UI5's own plugin/README.md → "In production" still says "@abap2ui5/node-runtime 1.145.0, the runtime this version pins, does not fetch that token yet". With 0.4.0 that is out of date.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NwpbkojNzGmuJrFdbwo5JF


Generated by Claude Code

0.4.0 is on npm since 2026-09-30 and pins runtime 1.146.0; @cap2ui5/samples
0.2.0 needs it (peer ^0.4.0). The site still named 0.3.1, 1.145.0 and
^0.3.x - so check on main went red against cap2UI5 main - and described
0.3's behaviour where 0.4.0 changed it:

- Only a field the app binds is sent to the browser and taken back from it;
  every field is still kept in the draft. The app interface, data binding,
  persistence and migration pages said every field is model.
- defineApp refuses a camelCase field, a #private member and a name the
  runtime already has a class of. The selection-screen example declared
  minTotal and onlyOpen, which 0.4.0 refuses; they are min_total and
  only_open now.
- Runtime 1.146.0 carries abap2UI5#2802, the X-CSRF-Token handshake, so the
  route `cds add approuter` generates works as it is. The deployment page
  says so and keeps the extra route for 0.3.x; troubleshooting and the
  roadmap follow. That is read from the frontend's and approuter 23.0.0's
  code - without XSUAA or IAS here it was not run end to end, and the page
  says that too.
- configuration documents compression and accelerate, and a short
  Performance section (the runtime's accelerations, Node 24).
- A package's apps get one startup line, not one each.

verify-refs read the pinned runtime from runtime/package.json, the
repository's stand-in, which still says 1.145.0 - so every stale 1.145.0
here passed. It now reads the exact @abap2ui5/node-runtime dependency of
plugin/package.json, what a reader installs. Historical mentions no longer
name the old number, rather than allowlisting it.

The unscoped cap2ui5 is a deprecated placeholder on npm since 2026-09-30
(cap2UI5/cap2UI5#97), not withdrawn: the pages, AGENTS.md and verify-refs'
messages say so (was the draft docs#33).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NwpbkojNzGmuJrFdbwo5JF
@oblomov-dev
oblomov-dev merged commit 4281476 into main Sep 30, 2026
1 check passed
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.

2 participants