Skip to content

release v1.40.4 DEV to main promotion - #2881

Merged
jung-thomas merged 30 commits into
mainfrom
release/v1.40.4
Oct 21, 2026
Merged

jung-thomas merged 30 commits into
mainfrom
release/v1.40.4

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Release 1.40.4 — DEV → main promotion

Patch release promoting the fixes and one feature merged to DEV since 1.40.3 to main for a PROD deploy.

Version bumps

MTA File Change
Main (tutorials-ims) .deploy/mta.yaml 1.40.3 → 1.40.4
MCP (tutorials-mcp) mta-mcp.yaml 1.0.3 → 1.0.4

Changes in this window

What's New

hugo/data/whats_new.json regenerated from merged-PR history (7 new entries; prior release PR #2871 excluded).

Deploy

Merging does not redeploy — a separate MTA deploy step (main tutorials-ims + MCP tutorials-mcp) is required after promotion.

jung-thomas and others added 30 commits October 21, 2026 12:07
An auto-dispatched QA/content rebuild carrying a retired slug in its
TUTORIAL_SLUGS payload (e.g. teched2025-genaihub-basic-trial) hard-failed
the entire run via the #433 unknown-slug guard. Now resolveSlugFilter()
drops unknown slugs with a warning and proceeds with the valid ones;
only an all-unknown filter (real typo / fully-stale batch) stays fatal,
preserving #433 fail-fast for interactive author typos.
fix(#2873) tolerate stale slugs in auto-dispatched rebuild filter
A tutorial completed before the event window is downgraded to
COMPLETED_OUT_OF_WINDOW, which correctly blocks the prize and shows the
redo message. But the tutorial link was also disabled, because the
link affordance was gated by isItemUnlocked (strict === 'COMPLETED').
The user needs to reach the tutorial to reset progress and redo it
during the event.

Extract the step-timeline gating into app-space-gating.ts and add
isTutorialOpenable: a COMPLETED_OUT_OF_WINDOW tutorial stays clickable
without advancing the track or unlocking the prize. Wire the click
handler and both clickable affordances to it. Prize gating and the
redo hint are unchanged.

Add unit coverage proving a gated redo item is not unlocked but is
openable.
…tive

fix(#2866): keep redo tutorial URL active for out-of-window completions
Add event 7003 (2026-08-01, CLAIMED) so the newest-first sort is
exercised with two eligible events; assert 7003 before 7001.
Code fences that trail an [OPTION] group within the same numbered substep
rendered flush-left (margin-left: 0) while the surrounding prose/figures sat
at the 1.5rem list-content column, producing the stair-stepped indentation
reported on tutorials-qa/hana-clients-hdbsql step 5 substep 2.

The OPTION shortcode's block <div> closes the surrounding <ol>, so trailing
content becomes a column-0 sibling of the list. The trailing-sibling indent
rule re-indented ~ p/figure/pre/blockquote, but tutorial code fences render
as <div class="code-block"> (render-codeblock.html) with the <pre> nested
inside, so ~ pre never matched them. Add ~ .code-block to the rule.

Verified in-browser against the QA DOM: injecting the rule moves all visible
code boxes in the affected substep from gap 0 to the 1.5rem content column.

Co-authored-by: Ording <noreply@anthropic.com>
fix(options): indent code boxes trailing an OPTION block (#2820)
docs: daily-drawings design spec + plan (#2865)
feat: real Kasimir mascot image for drawings UI (#2865)
…isable

fix(#2864): rework Temporarily Unavailable to the path-item (tutorial) level
@jung-thomas
jung-thomas merged commit 8e8cd7e into main Oct 21, 2026
9 checks passed
@jung-thomas
jung-thomas deleted the release/v1.40.4 branch October 21, 2026 21:28
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