# Firefox 153 adds bulk IndexedDB reads, video PiP, and JSPI

> Firefox 153 ships getAllRecords for IndexedDB, desktop video picture-in-picture, WebAssembly Promise integration, and richer WebRTC diagnostics.

Canonical URL: https://www.devobs.io/news/news-firefox-153-web-platform-release/
By: Theo Morgan
Published: 2026-09-06T11:58:54.648Z
Updated: 2026-09-06T11:58:54.648Z
Event date: 2026-07-21
Section: Web

Mozilla released Firefox 153 on July 21 with IndexedDB `getAllRecords()`, desktop video picture-in-picture, JavaScript Promise Integration for WebAssembly, and expanded WebRTC capabilities. The [MDN developer notes](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/153) also document text module imports and new locale-information methods.

## Storage and Wasm paths gain useful primitives

`IDBObjectStore.getAllRecords()` and the matching index method retrieve records and primary keys in batches, including constrained subsets. That can replace cursor loops in read-heavy local applications, but the result still occupies memory. Applications should select a count and range that match their data size rather than reading an entire large store at once.

JSPI lets WebAssembly suspend while waiting for a JavaScript Promise and resume when it settles. This reduces adaptation work for compiled code that expects synchronous-looking calls, while preserving the web platform’s asynchronous host operations. Rejection and cancellation remain part of the contract; suspending does not turn unreliable I/O into a synchronous guarantee.

Firefox also adds standard video picture-in-picture on desktop, distinct from the arbitrary-HTML Document Picture-in-Picture support introduced earlier. WebRTC gains remote-certificate access, the `webrtc` MediaCapabilities configuration type, and more transport statistics.

## Watch capability checks and misleading detection

Firefox 153 recognizes `::-webkit-scrollbar` in `@supports selector()` even though it does not implement the associated styling. Mozilla calls out this unusual compatibility behavior. Code that treats selector recognition as proof of visual support can therefore choose the wrong branch.

Test behavior directly where possible. For IndexedDB, check ordering, ranges, transaction aborts, and large result sets. For JSPI, cover rejected promises and teardown. For extensions, note that local `file://` access now requires a separate user permission and is off by default. Keep preference-gated Nightly items in the experimental section of the notes out of production assumptions.

## Source references

- <https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/153>
