Skip to content

Release 1.24.0 — What's New refresh + version bump (DEV → Main) - #2224

Merged
jung-thomas merged 7 commits into
mainfrom
DEV
Sep 9, 2026
Merged

jung-thomas merged 7 commits into
mainfrom
DEV

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Consolidated release promotion of DEV → main for the 1.24.0 PROD deploy.

Included

Plus every feature/fix merged to DEV since 1.23.0 that this promotion carries to main.

Merge mechanics

Merge as a merge commit (not squash) so main advances with full DEV history, per the release-promotion convention.

Admin-created puzzles were saved with a NULL legacyId because Puzzles was
missing from both legacyId assigners in admin-service.js and from
getNextLegacyId's VALID_ENTITIES, and no PUZZLES sequence existed. Their
PUZZLE TaskRecords were then written with taskLegacyId=NULL and silently
dropped from My Completions (srv/lib/user-progress.js) and the Devtoberfest
points path (same read path, keyed off slug).

Fix mirrors the #436 draft-lifecycle self-heal:
- add Puzzles to VALID_ENTITIES (srv/lib/legacy-id.js)
- add Puzzles to the CREATE assigner and the NEW/PATCH/SAVE draft self-heal
  loop (srv/admin-service.js)
- add COM_SAP_DEVELOPERS_IMS_PUZZLES_SEQ.hdbsequence
- cover Puzzles in the HANA-sequence hybrid test

Adds test/puzzle-legacyid.test.js (draft NEW -> draftActivate assigns a
non-null numeric legacyId) and scripts/backfill-puzzle-legacyids.mjs, an
idempotent dry-run-by-default backfill for the existing orphaned PROD
records (assign legacyId, relink NULL-taskLegacyId PUZZLE records by
titleSnapshot; skips ambiguous/no-match).
fix(puzzles): assign legacyId to admin-authored puzzles (#2185)
Reusable procedure + parameterized gh script to stand up a new
sap-tutorials tutorial repo pair (public source + private -Contribution),
the four org teams (admin/maintain grants), and the content-rebuild
notify workflows — matching the org convention. Templates supply base CI
(tutorial-ci callers); script adds the notify workflow the templates omit.
Platform auto-discovers the new source repo (no tutorials-ims change).
…al-repo-skill

feat(skills): provision-tutorial-repo skill + script
The prepare hook (added in 8febee6) runs 'sh scripts/install-git-hooks.sh'
on every npm install, including the CF buildpack compile phase. cds build
carries the prepare/setup:git-hooks scripts into gen/srv/package.json but does
NOT copy scripts/install-git-hooks.sh, so staging aborts with
'cannot open scripts/install-git-hooks.sh: No such file' -> BuildpackCompileFailed.
This broke both last night's PROD deploy and today's DEV deploy.

Guard setup:git-hooks to no-op when the dev-only script is absent (CF artifact),
while preserving local behavior when it's present.
…-cf-staging

fix(deploy): guard prepare hook install so CF staging does not fail
@jung-thomas
jung-thomas merged commit 93767df into main Sep 9, 2026
12 checks 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.

1 participant