diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b368efb..3d314ba1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,59 @@ All notable changes to **Tiger Core** (`webtigers/tiger-core`). Format follows ## [Unreleased] +## [1.43.0] — 2026-10-24 + +### Fixed +- **A page asset registered from inside a partial was silently discarded** (found while doing TIGER-384). + `Zend_View_Helper_Partial` renders against a `clone` of the view, and ZF1 binds a helper to a view only + the first time *that* view instantiates it — so a `$this->pageScript()` whose first call happened inside + a partial wrote the layout slot on a throwaway clone, and the tag never reached the page. The JS simply + never loaded, behind a 200. **`profile.sms.js` had been registered that way since it shipped**, so the + Phone & SMS card on `/profile` had no behavior at all. The slot is now written on every distinct view in + play (the bound one and the MVC view the layout renders against), with per-request static dedupe so the + pair cannot double-emit — new `Tiger_View_Helper_PageAsset_Abstract` carries the shared mechanics. The + channel is still the `pageScripts` / `pageHead` view var, deliberately: every theme layout already + echoing those — including themes shipped outside this repo — keeps working with no change. +- **`Tiger_Uuid::timeOf()` returned an int on a whole second.** PHP's `/` yields an int when it divides + exactly, so a v7 timestamp with no millisecond remainder broke the declared `@return float` about one + call in a thousand. It failed a CI leg once and passed on the retry, which is the worst kind of coverage; + pinned with a deterministic test alongside the probabilistic one. + +### Changed +- **Every view's JavaScript and CSS now lives in a registered asset file** (TIGER-384). A `.phtml` owns + markup; behavior is a JS asset and styling is the skin's job. The `pageScript()`/`pageStyle()` seam for + that already existed and was unit-tested — and the tree still carried ~5,400 lines of inline JavaScript + across 47 views, because nothing failed when someone typed `