Skip to content

release: tiger-core 1.43.0 — views own markup (TIGER-384) - #369

Merged
WebTigers merged 1 commit into
mainfrom
release/1.43.0
Oct 24, 2026
Merged

WebTigers merged 1 commit into
mainfrom
release/1.43.0

Conversation

@WebTigers

Copy link
Copy Markdown
Owner

Version bump + CHANGELOG for 1.43.0, on top of #368.

Tiger_Version::VERSION → 1.43.0 (the tag-time version-check workflow asserts the two agree;
TIGER_VERSION derives from this constant, so there is nothing else to bump).

What's in it

Changed — every view's JS/CSS is now a registered asset (TIGER-384). 52 views, ~5,400 lines of
inline JavaScript moved out. No screen's behaviour changes: same markup, same /api calls, same
strings. Thirteen bundled modules gain an assets/ directory for the first time, so they need their
public/_modules/<slug> link — publishAllAssets() already runs from tiger migrate,
Tiger_Update_Core and tiger link:assets, so a normal update covers it.

Fixed — a page asset registered from inside a partial was silently discarded. partial() renders
against a clone of the view and ZF1 binds a helper to a view only on first use, so the tag was
written on a throwaway clone. profile.sms.js had never loaded since it shipped. The slot is now
written on every distinct view in play, with per-request dedupe.

Fixed — Tiger_Uuid::timeOf() returned an int on a whole second, breaking its own
@return float about one call in a thousand.

Added — the rule is enforced: a CI guard test that fails on a <script>/<style>/stylesheet-<link>
in any view (and mutation-tests its own matcher), the javascript job widened to syntax-check all 84
shipped browser assets, and the AGENTS.md section the helper docblocks had been pointing at.

Checks

  • 2754 tests / 23535 assertions green; CAPABILITIES.md current; paradigm scan 108 views, 0 findings.
  • Views own markup: every view's JS/CSS moves to a registered asset (TIGER-384) #368 was verified in a browser on tiger-dev before merge: 33 screens serving their registered asset
    with zero inline blobs, sign-in through the extracted login asset, the dashboard grid, /profile
    loading all five pane assets including profile.sms.js, the Translations grid and the mail-provider
    carrier.

Every view's JS/CSS moves into a registered asset: 52 views, ~5,400 lines of inline
JavaScript. Behaviour is unchanged on every screen — same markup, same /api calls, same
strings — but the rule is now enforced by CI rather than written in a docblock.

Two real bugs came out of the work. A pageScript() registration made from inside
partial() was silently discarded (profile.sms.js had never loaded, so the Phone & SMS
card on /profile had no behavior at all), and Tiger_Uuid::timeOf() returned an int on a
whole second, breaking its own @return float about one call in a thousand.

Thirteen bundled modules gain an assets/ directory for the first time, so they need
their public/_modules/<slug> link — publishAllAssets() already runs from tiger migrate,
Tiger_Update_Core and link:assets, so a normal update covers it.
@WebTigers
WebTigers merged commit 2650f2c into main Oct 24, 2026
14 checks passed
@WebTigers
WebTigers deleted the release/1.43.0 branch October 24, 2026 23:17
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