Syntax - Tasty Web Development Treats
Syntax - Tasty Web Development Treats

965: Baseline 2025 Features web gained in 2025

Scott and Wes break down the biggest web platform features that reached Baseline in 2025, separating the genuinely useful APIs from the niche and forgettable ones. From same-document view transitions and the Popover API to Promise.try, content-visibility, and modern CSS goodies, they share what’s ac

Featured Speakers

Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers Host

Topics Discussed

Episode Summary

Executive Summary: The episode reviews the major 2025 Baseline additions that are now broadly usable across browsers, emphasizing how they simplify animations, data handling, and performance. Wes and Scott highlight practical wins like same-document view transitions, CSS absolute value, JSON modules, popover improvements, Base64-to-Uint8Array APIs, promise.try, and content-visibility, while stressing progressive enhancement and the reality that some features still have partial support or caveats.

Main Topics: Same-document view transitions: Wes demos view transitions for SPAs, showing how elements can be smoothly animated between DOM states when their order or class changes, making complex UI motion much easier without custom animation code. CSS math expansion: absolute value: The hosts discuss the new CSS abs() function, noting it’s most useful for advanced calc() workflows, animation math, and cases where values must remain positive. Native data/module workflows: JSON modules becoming baseline means JSON can now be imported directly in ESM with import assertions, reducing the need for bundlers, fetch calls, or workarounds. Popover, dialog, and anchor-related UI primitives: The episode explains popover as a declarative way to create tooltips, menus, and lightweight overlays, with the top layer helping avoid z-index issues and anchor positioning making placement easier, though some related features are still behind flags. Starting style and allow-discrete transitions: Wes explains how starting-style and allow-discrete enable smoother entry/exit animations for elements like popovers, dialogs, and drawers, especially when animating properties like display that normally cannot transition. Promise.try for unifying sync and async code: Promise.try lets synchronous or throwing functions participate in promise-based control flow, improving composability with Promise.all, catch chains, and async patterns. Content-visibility for performance tuning: Content-visibility is described as a powerful but surgical performance tool that can preserve rendering state and defer off-screen rendering, helping large pages and cached views but requiring careful testing to avoid layout issues.

Key Arguments: Baseline matters because it identifies browser features that are actually usable now across modern browsers, reducing reliance on outdated compatibility checks. Same-document view transitions are one of the most impactful browser features because they make element-to-element motion and reordering animations much simpler. CSS calc() is becoming powerful enough that abs() is useful for advanced layout and animation math, especially when values need to stay positive. JSON modules remove a common bundler/workaround burden by letting developers import JSON directly in ESM. Popover is valuable because it provides a declarative top-layer overlay system, avoiding common z-index and portal problems. Starting-style and allow-discrete together make it practical to animate elements entering and leaving the DOM without heavy JavaScript. Promise.try closes a long-standing gap between synchronous APIs and promise-based code, making error handling and composition cleaner. Content-visibility can significantly improve performance when used selectively, but applying it everywhere can cause jank or layout shift. Progressive enhancement is a recurring theme: many features degrade gracefully, so supporting browsers get the upgrade while others still function.

Data Points: New APIs added to Baseline 2025: 24 - Wes states that 24 new APIs are included in this year’s Baseline set. Baseline year referenced for popover: 2024 - Wes notes that the popover API was already baseline in 2024, not 2025. Support timing for allow-discrete in Safari: September 2024 - The hosts mention Safari landing allow-discrete near the end of 2024. Firefox support status for anchor positioning: Behind a flag - Wes says anchor positioning is still not baseline because Firefox support remains flagged. Expected performance improvement from content-visibility: Up to 250 ms - Wes cites Facebook engineers observing up to a 250 millisecond improvement in navigation when returning to cached views. Free trial offer: 2 months - Sentry sponsorship mention offering two months for free via a promo link.

Pivotal Quotes: "go for it, son. You know, you can use this thing." — Wes Boss: Explaining what Baseline means when a feature is broadly usable across browsers. "CSS has got abs, folks. It hit the gym 2025 and it got some abs." — Wes Boss: A playful introduction to the new CSS abs() function. "It is, if you can't do it with CSS, just CSS, yeah, you can reach review transitions." — Wes Boss: Describing view transitions as a go-to tool when plain CSS alone cannot create the desired motion.

Implications: Developers can adopt more native web APIs with less fear of browser fragmentation, simplifying code and reducing dependency on frameworks or polyfills. The main takeaway is to lean into progressive enhancement and use these features selectively for real UX and performance gains.

🔓 Sign Up for Unlimited Episode Search

About Syntax - Tasty Web Development Treats

View all episodes from Syntax - Tasty Web Development Treats