Safari Technology Preview 248: BigInt Math, CSS Fixes, and Web Inspector Overhaul

Apple has released Safari Technology Preview 248, the latest experimental build of its browser engine. This release packs significant JavaScript additions, dozens of CSS and rendering fixes, and a massive sweep of Web Inspector improvements.

JavaScript: BigInt Math Lands

The headline feature is support for the TC39 BigInt Math proposal. You can now call BigInt.pow and BigInt.sqrt directly, along with other Math-equivalent methods on BigInt values. This eliminates the need to manually implement exponentiation or square root for large integers.

Example:

const big = 12345678901234567890n;
console.log(BigInt.sqrt(big)); // 3513641828n
console.log(BigInt.pow(2n, 100n)); // 1267650600228229401496703205376n

CSS: Progress() No-Clamp and @import Preloading Fix

CSS progress() gains a no-clamp option, allowing values to exceed the 0-1 range when interpolating between analogous color spaces. This is useful for animations that overshoot or bounce.

A critical fix addresses the CSS preload scanner: @import rules that follow an @layer statement now preload correctly. Previously, they were silently skipped, delaying stylesheet loading.

Other CSS fixes include: