Accept text/json for JSON modules and use one is_json_mime classifier across
modules, documents, JSONPath, and resource inspection. Remove the module and
document aliases and recognize the seven registered application font types.
Use Fetch MIME extraction over the complete Content-Type header list for
script/style checks, workers, WebAssembly, ORB, and JSONPath. Derive classic
script charsets from the same MIME record, including charset inheritance and
resets when the MIME essence changes, while preserving BOM and fallback order.
Cover valid and invalid MIME types, header ordering, combined fields, quoted
commas, nosniff, and charset selection with regression tests.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 19,005 passed, 16 skipped
- Focused WPT: Moli passes 9 cases / 261 subtests, including the three JSON
regressions and all 31 script Content-Type extraction checks.
Pin the curl-rust build that enables libcurl's Apple SecTrust verifier
with the existing AWS-LC TLS backend. Leave default CA options unset
so macOS trust comes from the operating system rather than an
automatically discovered certificate file.
Preserve explicit CA files and certificate environment overrides for
origins and HTTPS proxies, including explicit-file precedence over
SSL_CERT_DIR. Keep other platforms' existing trust configuration.
Add macos-latest CI coverage for local HTTPS, WSS, and
HTTPS proxy handshakes, including native-verifier diagnostics,
rejected certificates and hostnames, and CA overrides.
Use distinct CA and server identities, blocking accepted sockets, and
bounded fixture commands. Exercise the generated chains, nonblocking
socket transition, and process deadlines in portable regression tests.
Validated on Linux with cargo fmt --all, workspace Clippy with all
targets and features, and cargo nextest run --no-fail-fast:
18447 passed, 14 skipped. macOS-specific checks run in CI.
Refs #701
Carry raw response header values through fetch, caches, redirects,
renderer delivery, workers, and protocol records. Convert explicitly
at WebIDL and protocol text boundaries while preserving opaque bytes.
Keep legacy CacheStorage and service worker metadata readable, and
advance the HTTP cache format for raw header values.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
Share one disk pool and parkable-image manager across each browser resource runtime. Adopt completed image receive buffers without a full body clone, share encoded backing with network records and decoders, and drive parking by deadlines. Integrate pooled streaming bodies, release staging capacity after spooling, and use tagged image completions throughout resource loading.
Adopt completed image buffers, protect readers with snapshots, and park encoded bytes into one disk extent with a reusable backup. Keep resident and parked registries separate, expose owner-driven deadlines and force parking, and synchronize notifications with a short-lock waiting flag. Include lifecycle, concurrency, scheduling, and failure regressions with documentation and runnable examples.
Store immutable resource extents in one anonymous temporary file using positioned I/O. Reuse exact or worst-fit holes through offset and size indexes, coalesce released extents, and preserve bounded-capacity and failure behavior. Include allocator regression tests, concise documentation, and runnable examples.
Carry RequestHeaders through navigation, Fetch/XHR, workers, redirects and auth,
with explicit Unicode and ByteString conversions at protocol and WebIDL boundaries.
Share the raw curl header list with WebSocket transport and decode binary response
headers without UTF-8 replacement. Keep header memory charging concrete.
Cover opaque values, UTF-8 overrides, duplicates, redirect/auth continuation and
WebSocket handshakes with byte-level regression tests.
Move inline content that cannot fit beside floats to the first suitable slot,
and retain that clearance in CSS baseline and container-height calculations.
This places GitHub's full-width Show more activity button below its timeline.
Update Taffy to e4e8f77c for float segment extension and content-slot fallback.
Preserve whitespace collapsing around out-of-flow loading hints and cover
float placement, staggered heights, and pre/nowrap behavior in regressions.
Upgrade wuff to 0.2.9 with compatible version requirements in the layout
and renderer test dependencies. Add a regression proving that corrupt
Brotli data returns a decode error and preserves an existing font.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 17574 passed, 13 skipped
- Release verification: the previous SIGABRT sample renders with fallback;
valid-font screenshots remain byte-identical
Read Chrome localStorage snapshots through moli-leveldb-parser with
zerocopy layouts. Keep the LevelDB engine in test dependencies and port
Chromium reader scenarios with reproducible native fixtures.
Share WAL-aware SQLite snapshots and merge localStorage by origin and
UTF-16 key. Read all sources and required destination files before
replacing cookie or localStorage data.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast (17573 passed, 13 skipped)
Publish typed invalidation flags under the environment lock and wake isolate owners only after releasing it. Bound page and worker notification work while preserving command FIFO, teardown safety, and observation ordering.
Remove stale wrapper-era dependencies and terminology, and add mailbox race and CDP burst regressions.
Remove the Date/Intl wrappers, custom date parser and per-Page replay state. Keep exclusive locale/timezone ownership in a process controller and refresh existing Page and Worker isolates through generation-bound notifications and observation boundaries, including nested Inspector pauses.
Release claims on session/target/context retirement, retain native coercion and locale matching, and cover lifecycle restoration with Rust, BiDi and process-isolated CDP regressions.
Move Fontconfig matching, substitution policy, and the Fontique lookup cache into moli-system-fonts. Keep CSS family adaptation in moli-layout, migrate tests and fixtures, and retain the Skia notice in source comments.
Remove the separate WebSocket CURLSH connection cache so HTTP/1, HTTP/2 and WebSocket sockets compete for the existing host and total limits. Retain bounded session admission and message memory limits.
Pin the curl fork's connect-only eviction fix so quiet upgraded sockets remain owned until their connections close. Cover queueing, deadlines, cancellation, shutdown and HTTP/2 multiplexing under a full shared connection budget.