Repository navigation
release 1.42.0: CAP 10.2 upgrade + draft_admin_integrity - #2973
Merged
Merged
Conversation
…btp-onboarding repo)
…rding chore: retire btp-onboarding repo — remove 7 btp-ea-onboard-* slugs
Bumps change-tracking 2.2.3, hana 3.1.2, ord 1.10.2, sqlite 3.1.2, telemetry 2.2.0, websocket 1.11.4. Holds @cap-js/ai at ~1.1.0 and @cap-js/mcp at 1.3.0 — both are @sap/cds >=8/9 peers (10.2-compatible) and their newer releases carry breaking changes orthogonal to the runtime upgrade: - @cap-js/mcp 1.5.0 refactored lib/tools.js, removing the deep-imported getInstructions/register* symbols used by srv/lib/mcp-compose-router.js. - @cap-js/ai 1.3.0 added startup Hugging Face model discovery requiring @huggingface/hub, turning every dev/test/CI boot into a potential HF download. Both bumps belong in dedicated follow-up issues.
srv-qa is a separate deployable CAP module with its own lockfile; the check-srv-qa-dep-parity static guard requires exact-range parity with root for @sap/cds and @cap-js/hana. Regenerated srv-qa/package-lock.json (resolves cds 10.2.2 / hana 3.1.2).
chore(deps): upgrade to CAP 10.2
…dmin_integrity)
With cds.fiori.draft_admin_integrity on, discarding a Mission/Group draft
cascade-deletes its draft CompletionPathItems/GroupPathItems at the DB level,
bypassing the per-row after('DELETE') reconcile hooks. Adds root
after('DISCARD', '<Entity>.drafts') handlers that fire reconcile for the active
entity's legacyId, restoring rollup correctness. The existing child DELETE
handlers stay (they still fire for direct programmatic deletes).
Also updates admin-drafts.test.js cleanup: under the flag, deleting an active
entity immediately after draftActivate hits "a draft exists" (403) on SQLite
until the residual draft is discarded first.
…grity-2909 feat(cap): adopt draft_admin_integrity (optimized draft deletion) #2909
GridTemplates and FeaturedTasks tests were not updated alongside admin-drafts.test.js in #2909. Under cds.fiori.draft_admin_integrity (CAP 10.2) a residual draft lingers after draftActivate on SQLite, blocking DELETE(IsActiveEntity=true) with DRAFT_ACTIVE_DELETE_FORBIDDEN_DRAFT_EXISTS. Applies the same two-step discard-then-delete pattern used in admin-drafts.test.js to both affected test cleanups.
…-tests fix(test): apply draft_admin_integrity cleanup to 2 missed tests (#2909)
Adds a committed hybrid test proving that, with cds.fiori.draft_admin_integrity
on, discarding a Mission draft reconciles the parent rollup via the root
after('DISCARD','Missions.drafts') handler — the cascade removes the draft
CompletionPathItems child at the DB level, bypassing the per-row after('DELETE')
reconcile, so this is the end-to-end HANA assertion the SQLite unit test cannot
make.
Runs in the post-deploy test:hybrid CI job (cds bind --exec … --project hybrid),
guarded by isSafeForWrites(). Idempotent: supporting rows keyed by high legacyId
and cleaned in afterAll; the Mission draft is cleared via the HTTP active delete
(removes draft + active together, avoiding orphaned draft-shadow rows that a
plain active-table delete would leave).
…est-2909 test(hybrid): draft DISCARD reconcile on real HANA (#2909)
…preflight-2968 feat(serve): draft-integrity-preflight startup check for HANA cascade constraints (#2968)
Bumps .deploy/mta.yaml 1.41.8 → 1.42.0 and refreshes hugo/data/whats_new.json with 8 new entries for the PRs merged to DEV since 1.41.8. Highlights since 1.41.8: - #2966 upgrade to CAP 10.2 (cds 10.2.2, cds-dk 10.2.0, cap-js plugins) - #2967 enable cds.fiori.draft_admin_integrity (optimized draft deletion) - #2971 draft cascade constraint startup preflight check - #2969 fix 2 test files missed in draft_admin_integrity cleanup pass - #2970 hybrid HANA test for draft DISCARD reconcile - #2965 retire btp-onboarding repo (remove 7 btp-ea-onboard-* slugs)
chore(release): bump MTA version to 1.42.0
jung-thomas
marked this pull request as ready for review
November 1, 2026 18:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Promote DEV → main for the 1.42.0 production release.
The triggering change is the CAP 10.2 upgrade (#2966), which also unblocks the
draft_admin_integrityoptimization (#2967). This release also retires the decommissionedbtp-onboardingtutorials.Highlights
Upgrades
Features / Performance
cds.fiori.draft_admin_integrity— DB-level cascade deletion of draft rows on activation/cancel, with root DISCARD reconcile for Mission/Group rollups; removes O(n) per-row delete round-tripsMaintenance
ON DELETE CASCADEconstraints at bootdraft_admin_integritycleanup passbtp-ea-onboard-*slugs from fetch registrydraft_admin_integrityis ON. Land the generated HANA cascade constraints (.hdbconstraint,NOT VALIDATED) in the target env BEFORE this MTA deploys there. If the flag serves without the constraints, orphaned draft rows accumulate (draft-table cruft only — no active-content data loss). Follow the DEV → test → PROD ordering in the runbook:docs/developers/reference/tutorials-ims-gotchas.md→ "draft_admin_integrity migration runbook".Deploy plan (after merge)
main(deploy-mta Step 0 refuses a worktree); blue-green, operator-gated swap[draft-integrity-preflight] INFO … verified (26/26)on DEV is the green signal)Test plan
[draft-integrity-preflight] INFO … verified (26/26)test:hybridCI green (includes new DISCARD reconcile test test(hybrid): draft DISCARD reconcile on real HANA (#2909) #2970)