What's new
- Add support for strict null coalescence (
???) in Antlers parsing #14545 by @marcorieser - Add hooks to asset listings #14566 by @edalzell
- Show license key status in about and support:details commands #14574 by @jasonvarga
- Support icon sets in names #14579 by @jasonvarga
What's fixed
- Fix Comb search index delete() rewriting JSON when ref absent #14550 by @SUXUMI
- Include missing time chars in
DateFormat::containsTime#14555 by @jasonvarga - Update setup-cp-vite to install Vite 8 #14559 by @jasonvarga
- Fix cache invalidation when using custom fields in URI route #14564 by @duncanmcclean
- Fix validation bypass via spoofed Precognition-Validate-Only header #14557 by @duncanmcclean
- Restore selected site when resuming session #14562 by @duncanmcclean
- Fix relationship selector footer not sticking to bottom of stack #14569 by @duncanmcclean
- Fix asset selector drag-to-upload covering footer but not handling drops #14551 by @duncanmcclean
- Field margin balance #14567 by @jaygeorge
- Harden OrderBys #14572 by @jasonvarga
- Fix Asset field set to "Read-only" clipping filename #14575 by @jackmcdade
- Fix login redirects #14560 by @jasonvarga
- Design a better empty, read-only state for asset fields #14578 by @jackmcdade
- Avoid per-icon requests in the Icon storybook #14580 by @jasonvarga
- Fix updater crash when addon has no license #14573 by @duncanmcclean
- Lazy load Inertia page components #14582 by @jasonvarga
- Fix LivePreview listener leak and simplify Grid row updates #14583 by @jasonvarga
- Fix SavePipeline initial debounce delay #14586 by @jasonvarga
- Debounce LinkFieldtype URL writes #14584 by @jasonvarga
- Extract fieldtype update debounce to shared constant #14587 by @jasonvarga
- Wrap FieldAction instances with markRaw #14589 by @jasonvarga
- Color swatches get borders for contrast #14591 by @jackmcdade
- Deduplicate RelationshipInput in-flight item-data requests #14590 by @jasonvarga
- German translations #14561 by @helloDanuk
- French translations #14585 by @ebeauchamps