Servo 0.0.4 most notably features multi-window support on Desktop platforms. See our December blog post for a curated overview of the changes in this release.
Trying out the Servo Tech demo
MacOS
The macOS releases are not signed yet, so you will need to follow the troubleshooting guide in order to run the Servo Tech Demo binary on your Mac.
Linux
If you see an error loading shared libraries when starting servo on Linux, please refer to the troubleshooting guide.
HarmonyOS
Please note that the servo-aarch64-linux-ohos.hap attached here is signed for OpenHarmony, not HarmonyOS.
For HarmonyOS self-signing is currently required - You can download the servo-aarch64-linux-ohos.so shared library and use DevEco Studio to follow the instructions in the ArkTS Servo Demo repository
What's Changed
Please check out our December blog post to get a curated overview over the recent changes.
Generated Release notes
What's Changed
ci: Update condition to upload test results to codecov by @jschwe in https://github.com/servo/servo/pull/40988
build(deps): Use crates.io release of mozjs by @jschwe in https://github.com/servo/servo/pull/40989
Block and report CSP violations for javascript: URLs in window.open by @dyegoaurelio in https://github.com/servo/servo/pull/40997
script: Reconstruct box tree when order changes by @Loirooriol in https://github.com/servo/servo/pull/40994
script: Don't dirty with ContentOrHeritage damage when changing state by @Loirooriol in https://github.com/servo/servo/pull/40902
libservo: Finish the SimpleDialog API by @mrobinson in https://github.com/servo/servo/pull/40982
script: Implement encrypt/decrypt operation of ChaCha20-Poly1305 by @kkoyung in https://github.com/servo/servo/pull/41003
html: Track the script/UA initiated media seek request by @tharkum in https://github.com/servo/servo/pull/40981
constellation: Remove debugging println! introduced in #40944 by @mrobinson in https://github.com/servo/servo/pull/41009
webdriver: Refactor actions.rs by @yezhizhen in https://github.com/servo/servo/pull/41004
servoshell: Add support for opening new windows on desktop by @mrobinson in https://github.com/servo/servo/pull/40927
CI: On OHOS run speedometer in perf mode by @Narfinger in https://github.com/servo/servo/pull/41006
libservo: Make Servo an opaque cloneable handle by @mukilan in https://github.com/servo/servo/pull/41010
Use 'GenericSender' and 'GenericReceiver' for bluetooth main component by @Narfinger in https://github.com/servo/servo/pull/41008
Implement usage of custom protocol handlers by @TimvdLippe in https://github.com/servo/servo/pull/40803
libservo: Trigger shutdown internally from Servo's Drop impl by @mukilan in https://github.com/servo/servo/pull/41012
script: Add error messages to operations of ChaCha20-Poly1305 by @kkoyung in https://github.com/servo/servo/pull/41030
Script Implement ReadableByteStreamTee by @Taym95 in https://github.com/servo/servo/pull/35991
Documentation: Add documentation for EmbedderMsg to clarify by @Narfinger in https://github.com/servo/servo/pull/41032
script: shorten script thread name by @webbeef in https://github.com/servo/servo/pull/41033
touch: Stop flinging if no scroll happened by @kongbai1996 in https://github.com/servo/servo/pull/41028
IndexedDB: Use GenericSender, GenericReceiver and GenericCallback for IndexedDB by @Narfinger in https://github.com/servo/servo/pull/41031
New Contributors
@AnonMiraj made their first contribution in https://github.com/servo/servo/pull/41040
@frozolotl made their first contribution in https://github.com/servo/servo/pull/41110
@MCozhusheck made their first contribution in https://github.com/servo/servo/pull/41086
@chenura999 made their first contribution in https://github.com/servo/servo/pull/41128
@Ajay-singh1 made their first contribution in https://github.com/servo/servo/pull/41134
@CrimsonFork made their first contribution in https://github.com/servo/servo/pull/41192
@jiang1997 made their first contribution in https://github.com/servo/servo/pull/40567
@zen-zap made their first contribution in https://github.com/servo/servo/pull/41234
@helvete003 made their first contribution in https://github.com/servo/servo/pull/41239
@treeshateorcs made their first contribution in https://github.com/servo/servo/pull/41268
@Eyad3skr made their first contribution in https://github.com/servo/servo/pull/41529
Full Changelog: https://github.com/servo/servo/compare/v0.0.3...v0.0.4
selectors::Element::parent() shouldn't cross shadow tree boundary by @longvatrong111 in https://github.com/servo/servo/pull/40977
html: Enhance image update the image data, environment changes algorithms by @tharkum in https://github.com/servo/servo/pull/41046
html: Change the play state of the media player if the old is opposite by @tharkum in https://github.com/servo/servo/pull/41027
config: Add SERVO_DIAGNOSTICS environment variable for diagnostic options by @atbrakhi in https://github.com/servo/servo/pull/41013
change some allows to expects by @AnonMiraj in https://github.com/servo/servo/pull/41040
net: use system certificates by @Narfinger in https://github.com/servo/servo/pull/40935
script: add error messages by @danilopedraza in https://github.com/servo/servo/pull/41039
allocator: Write untracked allocations to log file. by @jdm in https://github.com/servo/servo/pull/41066
webdriver: Add touch support for all platforms by @yezhizhen in https://github.com/servo/servo/pull/41067
devtools: Box the actor inside register by @eerii in https://github.com/servo/servo/pull/41074
devtools: Default implementation for handle_message by @eerii in https://github.com/servo/servo/pull/41076
script: Expose a single interface to run js code on globalscope by @Gae24 in https://github.com/servo/servo/pull/41078
net: Remove use of deprecated crate rustls-pemfile. by @mukilan in https://github.com/servo/servo/pull/41095
webgl: Unconditionally decrement busy count of WebGL contexts. by @mukilan in https://github.com/servo/servo/pull/41094
Guard MediaElementAudioSourceNode against closed contexts and add crash test by @Taym95 in https://github.com/servo/servo/pull/41092
dom: Avoid crashing on empty favicon href attribute by @webbeef in https://github.com/servo/servo/pull/41056
script: Fix IIRFilter crash on silent blocks and add crash test by @Taym95 in https://github.com/servo/servo/pull/41091
doc: Refer to the correct links in the Servo Book by @frozolotl in https://github.com/servo/servo/pull/41110
layout: Pass degrees to the WebRender hue rotate filter by @AnonMiraj in https://github.com/servo/servo/pull/41063
Expose window.clientInformation as a navigator alias by @Taym95 in https://github.com/servo/servo/pull/41111
script: Implement creating and running classic scripts according to spec by @Gae24 in https://github.com/servo/servo/pull/41109
script: Move WebGLProgram Drop implementation to a member type by @willypuzzle in https://github.com/servo/servo/pull/37622
script_bindings: Remove Drop impl exception for WebGLProgram. by @jdm in https://github.com/servo/servo/pull/41124
ohos / android: Fix missing error message for cli parsing errors by @Narfinger in https://github.com/servo/servo/pull/41072
Devtools: Switch to GenericChannel and GenericCallback by @Narfinger in https://github.com/servo/servo/pull/41051
Remove our macOS-only task-info crate by @mrobinson in https://github.com/servo/servo/pull/41132
mach: Add yes installation cofirmation flag to bootstrap command by @MCozhusheck in https://github.com/servo/servo/pull/41086
devtools: ActorEncode trait by @eerii in https://github.com/servo/servo/pull/41139
mach: Properly handle empty commit message in the WPT export script by @chenura999 in https://github.com/servo/servo/pull/41128
compositor: Allow touch up to not panic when its touch sequence not found by @PotatoCP in https://github.com/servo/servo/pull/41129
Base: Implement GenericOneshot channels by @Narfinger in https://github.com/servo/servo/pull/41143
compositing: Drop Painters when they have no WebViews by @mrobinson in https://github.com/servo/servo/pull/41144
fonts: Replace deprecated xml-rs with xml@1.1 by @Ajay-singh1 in https://github.com/servo/servo/pull/41134
libservo: Remove WebViewInner::rect by @mrobinson in https://github.com/servo/servo/pull/41156
script: Implement import key operation of RSA-PSS by @kkoyung in https://github.com/servo/servo/pull/41157
fonts: Add more Noto fallback options for different languages for Android by @Ajay-singh1 in https://github.com/servo/servo/pull/41151
layout: Cleanup hit-testing logic for outlines by @Loirooriol in https://github.com/servo/servo/pull/41159
constellation: Only set up a single Devtools route for all ScriptThreads by @mrobinson in https://github.com/servo/servo/pull/41161
script: Remove reference to closed bug #18998 by @mrobinson in https://github.com/servo/servo/pull/41162
Optimize assets, again by @lumiscosity in https://github.com/servo/servo/pull/41163
devtools: Update to Firefox 145 by @eerii in https://github.com/servo/servo/pull/41087
webdriver: Enable testdriver tests for Touch by always dispatching embedder MouseMove by @yezhizhen in https://github.com/servo/servo/pull/41171
script: Update media to include fix for AudioBufferSourceNode.loop by @Taym95 in https://github.com/servo/servo/pull/41075
layout: Merge BaseFragment and BaseFragmentInfo by @Loirooriol in https://github.com/servo/servo/pull/41177
layout: Ensure that background-repeat: round size calculation rounds to nearest natural number by @mrobinson in https://github.com/servo/servo/pull/41158
script: Decouple ownership of the media element from IPC router callback by @tharkum in https://github.com/servo/servo/pull/41131
script: Implement import key operation of RSASSA-PKCS1-v1_5 by @kkoyung in https://github.com/servo/servo/pull/41172
script: Update spec text of WebCrypto API by @kkoyung in https://github.com/servo/servo/pull/41180
Rename IOCompositor to Paint by @mrobinson in https://github.com/servo/servo/pull/41176
script: Bring creating and running classic scripts closer to spec by @Gae24 in https://github.com/servo/servo/pull/40938
servoshell: Use WheelMode::DeltaPixel on line-based wheel events converted to pixels by @mrobinson in https://github.com/servo/servo/pull/41184
layout: Preserve cached intrinsic inline sizes in more cases by @Loirooriol in https://github.com/servo/servo/pull/41160
compositing: Have preventDefault prevent the scroll behavior of wheel events by @mrobinson in https://github.com/servo/servo/pull/41182
Update contributing guide URL. by @CrimsonFork in https://github.com/servo/servo/pull/41192
layout: Serialize transform according to spec for getComputedValue() by @mrobinson in https://github.com/servo/servo/pull/41187
net/devtools: Expose TLS security info to DevTools network panel by @jiang1997 in https://github.com/servo/servo/pull/40567
script: Add newlines after each value in formdata body. by @jdm in https://github.com/servo/servo/pull/41199
indexeddb: move database open and upgrade transaction to in parallel. by @gterzian in https://github.com/servo/servo/pull/40939
Fix all Android build warnings and make the CA verifier preference more flexible by @mrobinson in https://github.com/servo/servo/pull/41179
script: Add unsafe block in set_gc_zeal_options. by @jdm in https://github.com/servo/servo/pull/41215
ohos: Warn on common commandline argument mistakes by @Narfinger in https://github.com/servo/servo/pull/41203
script: Implement import key operation of RSA-OAEP by @kkoyung in https://github.com/servo/servo/pull/41217
ohos: Add stable element screenshot to common functions by @yezhizhen in https://github.com/servo/servo/pull/41219
config: Set the default value of the network_http_proxy_uri setting via the http_proxy variable by @Narfinger in https://github.com/servo/servo/pull/41209
net: check actual response body length from http cached response by @rayguo17 in https://github.com/servo/servo/pull/41214
devtools: Handle unsupported messages related to devtools settings. by @jdm in https://github.com/servo/servo/pull/41200
net: Make parsing of Access-Control-Allow-Origin header less strict by @TimvdLippe in https://github.com/servo/servo/pull/41210
script: Implement export key operations of three RSA algorithms by @kkoyung in https://github.com/servo/servo/pull/41225
script: Use rooted typed arrays in generated code and buffer source APIs by @jdm in https://github.com/servo/servo/pull/41228
fonts: Calculate font keys count via number of font keys and not number of Painters by @mrobinson in https://github.com/servo/servo/pull/41233
ohos: Do not alert when notified LoadStatus::Complete by @yezhizhen in https://github.com/servo/servo/pull/41229
script: Implement generate key operations of three RSA algorithms by @kkoyung in https://github.com/servo/servo/pull/41240
Fire toggle events for dialog methods by @lukewarlow in https://github.com/servo/servo/pull/40412
script: Do not conflate shadow roots and the Document element in element.scrollLeft and similar methods by @zen-zap in https://github.com/servo/servo/pull/41234
script: Remove unused helper functions for RsaOtherPrimesInfo by @kkoyung in https://github.com/servo/servo/pull/41243
constellation: Remove unused ClearCache message by @janvarga in https://github.com/servo/servo/pull/41246
script: Replace borrow_mut() with borrow() in AudioBuffer::restore_js_channel_data by @WaterWhisperer in https://github.com/servo/servo/pull/41253
layout: Do not set cursor: text on <input type=color> by @helvete003 in https://github.com/servo/servo/pull/41239
net: Track fontdb allocations from SVG images by about:memory by @WaterWhisperer in https://github.com/servo/servo/pull/41254
base: Implement Display for ReceiveError by @janvarga in https://github.com/servo/servo/pull/41247
Fix RefCell double-borrow in Window::remove_reporting_observer by @Taym95 in https://github.com/servo/servo/pull/41261
prefs: Handle uppercase HTTP_PROXY variable by @treeshateorcs in https://github.com/servo/servo/pull/41268
script: Implement sign/verify operations of RSASSA-PKCS1-v1_5 by @kkoyung in https://github.com/servo/servo/pull/41267
libservo: Introduce CookieManager for embedders by @janvarga in https://github.com/servo/servo/pull/41236
mach: Allow updating test result metadata from GitHub Action run by @mrobinson in https://github.com/servo/servo/pull/41257
CI: Make OHOS scenario tests always succeed by @yezhizhen in https://github.com/servo/servo/pull/41276
layout: Treat <audio> as replaced and do not display when there is no controls attribute by @Loirooriol in https://github.com/servo/servo/pull/41262
layout: Add a BaseFragment that contains shared properties of all Fragment types by @mrobinson in https://github.com/servo/servo/pull/41282
layout: Remove centralized FontKeyAndMetrics list from the InlineFormattingContext by @minghuaw in https://github.com/servo/servo/pull/41208
script: Implement sign/verify operations of RSA-PSS by @kkoyung in https://github.com/servo/servo/pull/41287
script: Support legacy "background" presentational hint on more elements by @simonwuelker in https://github.com/servo/servo/pull/41272
Add tendril to the list of html5ever-crates to patch by @simonwuelker in https://github.com/servo/servo/pull/41301
servoshell: Create new WebDriver WebViews in new toplevel windows by @mrobinson in https://github.com/servo/servo/pull/41235
Move devtools_traits::LogLevel to embedder_traits by @atbrakhi in https://github.com/servo/servo/pull/41311
net: Implement eviction in the HTTP cache using quick_cache by @Narfinger in https://github.com/servo/servo/pull/40613
script: Add error message text to errors in aes_operation.rs by @danilopedraza in https://github.com/servo/servo/pull/41292
libservo: Introduce SiteDataManager and NetworkManager by @janvarga in https://github.com/servo/servo/pull/41255
CI: Make ohos scenario tests adapatable to screen dimension changes by @yezhizhen in https://github.com/servo/servo/pull/41313
deps: Lock bincode in the Cargo.toml by @jschwe in https://github.com/servo/servo/pull/41321
servoshell: Do not forward key events to egui when no widget is focused by @mrobinson in https://github.com/servo/servo/pull/41314
storage: Add support for listing WebStorage origins by @janvarga in https://github.com/servo/servo/pull/41293
script: Implement storing deferred fetches by @TimvdLippe in https://github.com/servo/servo/pull/41232
Fix hashchange only queue when fragment actually changes by @Taym95 in https://github.com/servo/servo/pull/41325
ci: Correctly pass arm: false to x86 macOS WPT jobs by @mrobinson in https://github.com/servo/servo/pull/41344
libservo: Allow responding to auxiliary WebView open requests asynchronously by @mrobinson in https://github.com/servo/servo/pull/41318
script: Implement encrypt/decrypt operations of RSA-OAEP by @kkoyung in https://github.com/servo/servo/pull/41316
libservo: Make UserInterfaceCommand consistent and always forward mouse events to open egui dialogs by @mrobinson in https://github.com/servo/servo/pull/41347
CI: Fix ohos speedometer failing by @jschwe in https://github.com/servo/servo/pull/41349
Add ServoDelegate and WebViewDelegate methods for Console API by @atbrakhi in https://github.com/servo/servo/pull/41351
IndexedDB: Handle error of creating new db Step 6 of by @Taym95 in https://github.com/servo/servo/pull/41014
stylo: Enable vendor-prefixed properties by @mrobinson in https://github.com/servo/servo/pull/41350
script: Remove redundant call to Node::adopt in Node::replace_all by @simonwuelker in https://github.com/servo/servo/pull/41373
script: retarget dblclick from input UA shadow DOM to host by @Taym95 in https://github.com/servo/servo/pull/41319
script: Mark fetch-later requests as keep-alive by @TimvdLippe in https://github.com/servo/servo/pull/41345
fonts: Panic less in platform/freetype by @simonwuelker in https://github.com/servo/servo/pull/40945
layout: Fix caret never rendering following a newline by @freyacodes in https://github.com/servo/servo/pull/41330
layout: Obey min/max constraints when min/max violations sum to zero when flexing items by @Loirooriol in https://github.com/servo/servo/pull/41291
net: Align ResourceThreads::clear_cache with clear_cookies by @janvarga in https://github.com/servo/servo/pull/41323
Use GenericSender and GenericReceiver for WebDriver by @Narfinger in https://github.com/servo/servo/pull/40987
script: Set a bloom filter when creating a MatchingContext by @webbeef in https://github.com/servo/servo/pull/41368
script: Implement destroying of documents by @TimvdLippe in https://github.com/servo/servo/pull/41346
config: Add annotations to preferences controlling web platform features. by @jdm in https://github.com/servo/servo/pull/41397
script: Store HashAlgorithmIdentifier as NormalizedAlgorithm by @kkoyung in https://github.com/servo/servo/pull/41395
wpt: Fix typo when update wpt results from link by @yezhizhen in https://github.com/servo/servo/pull/41403
script: Remove Drop implementation of FetchCanceller by @TimvdLippe in https://github.com/servo/servo/pull/41384
script: Implement customElementRegistry support for document.importNode by @TimvdLippe in https://github.com/servo/servo/pull/41385
script: Mark beacon requests as keepalive by @TimvdLippe in https://github.com/servo/servo/pull/41405
script: Prescan byte stream to determine encoding before parsing document by @simonwuelker in https://github.com/servo/servo/pull/41376
compositing: Rename Painter::webrender to Painter::webrender_renderer by @shubhamg13 in https://github.com/servo/servo/pull/41400
servoshell: Rename desktop Window structs to HeadedWindow and HeadlessWindow by @mrobinson in https://github.com/servo/servo/pull/41406
Switch profile and metric to GenericChannel and Callbacks by @Narfinger in https://github.com/servo/servo/pull/41407
script: Implement quota computation for deferred fetches by @TimvdLippe in https://github.com/servo/servo/pull/41408
script: Implement destroying of top-level navigable by @TimvdLippe in https://github.com/servo/servo/pull/41355
tidy: Add check for feature annotation format. by @jdm in https://github.com/servo/servo/pull/41414
Clone request/response bodies per Fetch spec concept-body-clone by @Taym95 in https://github.com/servo/servo/pull/40825
servoshell: Properly handle WindowEvent::Focused by @yezhizhen in https://github.com/servo/servo/pull/41401
fonts: Clean up a little bit of code in h advance determination by @mrobinson in https://github.com/servo/servo/pull/41434
wpt: Disable proxy for test-wpt unless users know what they are doing by @yezhizhen in https://github.com/servo/servo/pull/41441
script: Use chardetng to guess encoding when all else fails by @simonwuelker in https://github.com/servo/servo/pull/41435
script: Make same-origin iframes inherit encoding from their container document by @simonwuelker in https://github.com/servo/servo/pull/41450
script: Support --local-script-source for module scripts by @WaterWhisperer in https://github.com/servo/servo/pull/41445
libservo: Add initial SiteDataManager::site_data API by @janvarga in https://github.com/servo/servo/pull/41378
feat: gamepad feature flag by @WaterWhisperer in https://github.com/servo/servo/pull/41451
script: Add remaining AES error messages by @PaulTreitel in https://github.com/servo/servo/pull/41442
CI: Use requested profile for Benchmark + Do not build/upload duplicate Linux artifact by @yezhizhen in https://github.com/servo/servo/pull/41367
script: Add helper functions to handle JsonWebKey common decoding tasks by @kkoyung in https://github.com/servo/servo/pull/41428
net: Expose replace_host_table via test_util by @janvarga in https://github.com/servo/servo/pull/41454
script: Restrict box tree damage from changes in original display by @Loirooriol in https://github.com/servo/servo/pull/41475
OHOS CI: Resolve TIMEOUT notified by scenario test server by @yezhizhen in https://github.com/servo/servo/pull/41470
fonts: Refactor the font fallback code a little bit and remove RwLock around FontGroup by @mrobinson in https://github.com/servo/servo/pull/41449
storage: Fix WebStorage SQLite writes until schema migration is implemented by @janvarga in https://github.com/servo/servo/pull/41482
libservo: Let UserContentManager be per WebView and add basic support for mutations. by @mukilan in https://github.com/servo/servo/pull/41352
script: Add stub VisualViewport Interface by @stevennovaryo in https://github.com/servo/servo/pull/41372
indexeddb: implement databases concept(detete and databases method) by @gterzian in https://github.com/servo/servo/pull/41322
Separate console.clear() from ConsoleLogLevel by @atbrakhi in https://github.com/servo/servo/pull/41495
OHOS CI: Use the list as retrieval target by @yezhizhen in https://github.com/servo/servo/pull/41494
Fix build of ./mach test-unit -p base by @mrobinson in https://github.com/servo/servo/pull/41498
libservo: Move network cache management to NetworkManager by @janvarga in https://github.com/servo/servo/pull/41474
crown: Fix build warning about failed expect(non_snake_case) by @mrobinson in https://github.com/servo/servo/pull/41499
LocalStorage: Add table initialisation for in memory databases by @leo030303 in https://github.com/servo/servo/pull/41486
ci: Free disk space in Linux libservo/MSRV jobs by @delan in https://github.com/servo/servo/pull/41509
layout + script: Use Iterator::sum in more places by @simonwuelker in https://github.com/servo/servo/pull/41501
script: Make link elements set ElementState::UNVISITED by @andreubotella in https://github.com/servo/servo/pull/41478
Bump sea-query 1.0.0-rc.9->1.0.0-rc.23 and sea-query-rusqlite 0.8.0-rc.8->0.8.0-rc.14 by @yezhizhen in https://github.com/servo/servo/pull/41507
stylo: add layout.css.gradient-color-interpolation-method.enabled to static prefs by @yerke in https://github.com/servo/servo/pull/41436
script: Use more wrappers2 in maybe_cross_origin_set_rawcx by @sagudev in https://github.com/servo/servo/pull/41519
servoshell: Reduce allocations during cmdline parsing by @jschwe in https://github.com/servo/servo/pull/41522
base: Move Unicode offset types to base by @mrobinson in https://github.com/servo/servo/pull/41521
layout: Stop clearing floats on anonymous blocks for intrinsic sizes by @Loirooriol in https://github.com/servo/servo/pull/41510
layout: Take floats into account for the intrinsic sizes of an inline FC by @Loirooriol in https://github.com/servo/servo/pull/41513
libservo: Group site data entries by eTLD+1 and simplify related tests by @janvarga in https://github.com/servo/servo/pull/41523
layout: Use LogicalSides1D in compute_inline_content_sizes_for_block_level_boxes() by @Loirooriol in https://github.com/servo/servo/pull/41525
Fix warnings in unit tests (#41524) by @Eyad3skr in https://github.com/servo/servo/pull/41529
compositor: Remove unwrap if surface unbound by @jschwe in https://github.com/servo/servo/pull/41533
script: Support new context for promise and add some more helpers to ease migration by @sagudev in https://github.com/servo/servo/pull/41520
script: Use more new JSContext/CurrentRealm in crossorigin codegen by @sagudev in https://github.com/servo/servo/pull/41537
script: Pass &mut CurrentRealm in callbacks by @sagudev in https://github.com/servo/servo/pull/41536
script: Add helper function to handle JsonWebKey common encoding tasks by @kkoyung in https://github.com/servo/servo/pull/41472
libservo: Extend SiteDataManager::site_data to include cookie sites by @janvarga in https://github.com/servo/servo/pull/41528
servoshell: ohos: Move main thread code into function by @jschwe in https://github.com/servo/servo/pull/41540
storage: Scope WebStorage quota per storage type instead of per origin total by @janvarga in https://github.com/servo/servo/pull/41531
style: enable contrast-color() by @webbeef in https://github.com/servo/servo/pull/41542
script: Add helper function for setting JsonWebKey key_ops attribute by @kkoyung in https://github.com/servo/servo/pull/41544
cargo: Update mozjs to improve soundness by @sagudev in https://github.com/servo/servo/pull/41546
script: Replace RefCell with DomRefCell in svgsvgelement::cached_serialized_data_url by @WaterWhisperer in https://github.com/servo/servo/pull/41547
malloc_size_of: Track allocations from parsed SVG trees. by @d-kraus in https://github.com/servo/servo/pull/41481
libservo: Add initial NetworkManager::cache_entries API by @janvarga in https://github.com/servo/servo/pull/41386
ci: Skip tests if ohos build failed by @jschwe in https://github.com/servo/servo/pull/41550
ohos CI: Improve visibility of failed steps by @jschwe in https://github.com/servo/servo/pull/41551
script: Properly implement supportedAlgorithms of WebCrypto by @kkoyung in https://github.com/servo/servo/pull/41563
script: Remove redundant realm entering by @sagudev in https://github.com/servo/servo/pull/41565
script: Introduce concept of a fetch group by @TimvdLippe in https://github.com/servo/servo/pull/41423
layout: Don't omit empty fragments for inline boxes by @Loirooriol in https://github.com/servo/servo/pull/41477
script: Use correct creation_url for workers by @TimvdLippe in https://github.com/servo/servo/pull/41458
servoshell: ohos: Fix crash when hiding IME by @jschwe in https://github.com/servo/servo/pull/41570
script: Pass ModuleTree instead of retrieving it in run_a_module_script by @Gae24 in https://github.com/servo/servo/pull/41571
cargo: Move sea-query* to root and update as group by @yezhizhen in https://github.com/servo/servo/pull/41580
script: Implement import key operation of ML-KEM by @kkoyung in https://github.com/servo/servo/pull/41585
script: Use SupportedAlgorithm in Subtlecrypto.wrapKey by @kkoyung in https://github.com/servo/servo/pull/41587
script: Initialize all requests with clients by @TimvdLippe in https://github.com/servo/servo/pull/41584
devtools: Implement the actual clearing of clearMessagesCacheAsync by @atbrakhi in https://github.com/servo/servo/pull/41496
tests: Enable css-font-loading tests. by @jdm in https://github.com/servo/servo/pull/41592
script: Obtain &mut JSContext at the start of the script and pass it down to msg handlers by @sagudev in https://github.com/servo/servo/pull/41564
script: Create CSS parsing helpers to simplify ParserContext setup by @WaterWhisperer in https://github.com/servo/servo/pull/41566
script: More thoroughly convert between UTF-16 and UTF-8 offsets in text inputs by @mrobinson in https://github.com/servo/servo/pull/41588
ohos CI: Skip failure screenshots on success. by @jschwe in https://github.com/servo/servo/pull/41599
Base: Rename IpcSharedMemory to GenericSharedMemory by @Narfinger in https://github.com/servo/servo/pull/41198
script: Implement export key operation of ML-KEM by @kkoyung in https://github.com/servo/servo/pull/41604
servoshell: Bump version number to 0.0.4 by @jschwe in https://github.com/servo/servo/pull/41589