Build1 distinct publisher3 min readPublished
Twelve new CSS features land in the preview, including a detector for at-rules and comma lists in @container. It is still a preview build, so no polyfill comes out on the strength of it.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
The useful part of `@supports at-rule()` is where it sits in the dependency chain. According to the WebKit release notes it tests whether a CSS at-rule is supported, landing at changeset 318482@main [3], which is exactly the check you want before committing a component's layout to `@container`. But the test is a feature like any other, so it only answers in an engine that already parses it. The notes say WebKit has it; they say nothing about anyone else. Until that changes, the branch that actually runs in the field is the fallback, and the detection branch is the one you cannot verify from a stylesheet.
The comma-separated condition list in `@container` [7] is duller and far more likely to touch code this quarter. A design system that queries containers accumulates near-duplicate declaration blocks, one per condition, because the query head could hold only one. Collapsing those is a maintenance change, not a new capability, and it is the sort of change that quietly reduces the number of places a spacing token has to be edited.
The same build also corrects two things inside `@container`: style queries were evaluating root-relative lengths incorrectly [17], and `::part()` in a container query had the wrong originating element, which is now the element itself [18]. Both are the kind of defect that leaves a component looking right in isolation and wrong once it is dropped into a page. They also say something about maturity: the syntax is expanding while the evaluation is still being fixed.
Three of the twelve new CSS features concern `random()` [16]: the `random-item()` function [6], `random()` inside custom properties [8], and two caching keywords, `property-scoped` and `property-index-scoped` [5]. The keywords are the load-bearing part. Their names describe the granularity at which a generated value is held rather than regenerated, and without a stated scope a random value in a stylesheet is not something you can screenshot-test.
For most of the rest, the notes give a name, a changeset and a Radar ID, and stop there: `object-view-box` [4], `corner-shape` [11], `ident()` [9], `inherit()` [10], `white-space-trim` in the `white-space` shorthand [12], external and `data:` URL `filter` references on HTML elements [13], and `HighlightRegistry.highlightsFromPoint()` [14]. If you want semantics rather than surface, the WebKit range 317935@main to 319386@main [2] is the only documentation on offer, alongside a CSS fix list of at least twenty-five entries covering nested `@scope`, flex baselines, scroll snap ordering and `var()` substitution [20][21].
One non-CSS item is worth pulling out. SVG anchors without an `href` were being exposed as links, and are not any more [19]. That bug never appeared in a layout diff. It appeared in what a screen reader read out.
Ranked by verification strength, evidence, and original report placement.
Added support for property-scoped and property-index-scoped caching keywords in random() (318960@main).
Added support for the random-item() function (319180@main).
Added support for random() in custom properties (319039@main).
Safari Technology Preview Release 251 is available for download for macOS Golden Gate and macOS Tahoe, and existing installs can update in System Settings under General then Software Update.
The release includes WebKit changes between 317935@main and 319386@main.
Added support for @supports at-rule(...), which tests if a CSS at-rule is supported (318482@main).
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Primary changelog, commit-level traceability
Every factual claim comes from the implementing vendor's own release notes, with a WebKit revision and internal radar ID attached to each feature and fix, plus an explicit revision range for the build. That is close to the strongest available evidence for 'this code is in this build'. It is capped short of maximum because there is exactly one source, no independent verification, and the captured body is truncated inside the Deprecations section.
Preview channel only
The only adoption fact in the cluster is that a preview build exists and can be installed or updated on two macOS versions. There is no shipping-Safari availability, no cross-engine implementation, and no usage, download, or developer-uptake disclosure anywhere in the source, so real-world use of these features is essentially unmeasured beyond the release event itself.
Slightly overstated by channel, not by text
The source text itself is understated - a factual changelog with no promotional framing - so there is almost no gap between what is claimed and what shipped. The small positive value reflects the interpretive risk around it: describing twelve preview features as CSS gaining new capabilities can read as web-platform availability, when the same build is still fixing bugs in the newest random() surface and nothing has reached shipping Safari or another engine.
First-party vendor changelog
The publisher is the engine vendor documenting its own work, which creates a structural interest in presenting standards progress favorably and in foregrounding new features over interoperability gaps or shipping uncertainty. The incentive is tempered by the format: per-commit changelogs with a long resolved-issues list and an explicit deprecation are costly to spin, and the cluster contains no promotional or commercial ask.
High on facts, low on significance
Confidence in the individual technical facts is high because each is commit-referenced in a primary source, and the derived counts are verifiable from the same list. Confidence in what the release means is lower: a single publisher, no independent or cross-engine corroboration, no adoption data, and a body truncated mid-Deprecations leave the significance of the build unresolved.
build
A 200-post blog audit found three defects, none of them visible on the author's own screen1 distinct publisher
build
canvas.toBlob hands you a PNG and calls it WebP: check blob.type, not the user agent1 distinct publisher
build
The stroke width that never rendered: SVG attributes lose every cascade fight1 distinct publisher
build
The third answer: a dead-code tool allowed to say "not traced yet"1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 26, 2026