v0.0.4
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 * 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 `Painter`s when they have no `WebView`s 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 `ScriptThread`s 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 `Painter`s 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 `` 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 `WebView`s 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/41589New 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