- Support for <link rel=preload>
- Support for <style blocking> and <link blocking>
- Support for <img align>
- Support for <select disabled>
- OGG files can now be played in <audio>
- Support for 'cursor-color' CSS property
- Support for 'content: <image>' on all elements
- Support for '::details-content' pseudo-element on <details>
- Support for ':open' pseudo-class on <details>
- Support for ':active' pseudo-class on <input type=button>
- Origin API
- MouseEvent.detail property
- Request.keepalive property
- Support for cyclic imports, import attributes, and JSON modules
- navigator.sendBeacon() is enabled by default
- Support for https_proxy, HTTPS_PROXY, and NO_PROXY environment variables
- ML-KEM, ML-DSA, and AES-OCB algorithms in WebCrypto API
From servo
Servo 0.0.5 includes:
- <link rel=preload> (@TimvdLippe, @jdm, #40059)
- <style blocking> and <link blocking> (@TimvdLippe, #42096)
- <img align> (@mrobinson, #42220)
- <select disabled> (@simonwuelker, #42036)
- OGG files can now be played in <audio> (@jdm, #41789)
- ‘cursor-color’ (@mrobinson, #41976)
- ‘content: <image>’ works on all elements (@andreubotella, #41480)
- ‘::details-content’ on <details> (@lukewarlow, #42107)
- ‘:open’ on <details> (@lukewarlow, #42195)
- ‘:active’ on <input type=button> (@mrobinson, #42095)
- Origin API (@WaterWhisperer, #41712)
- MouseEvent.detail (@mrobinson, #41833)
- Request.keepalive (@TimvdLippe, @WaterWhisperer, #41457, #41811)
- Cyclic imports, import attributes, and JSON modules (@Gae24, #41779)
- navigator.sendBeacon() is enabled by default (@TimvdLippe, #41694)
https_proxy,HTTPS_PROXY, andNO_PROXY(@Narfinger, #41689)- ML-KEM, ML-DSA, and AES-OCB in Crypto (@kkoyung, #41604, #41617, #41615, #41627, #41628, #41647, #41659, #41676, #41791, #41822, #41813, #41829)
See our January 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 January blog post to get a curated overview over the recent changes.
- ohos CI: Add a proper name for scenario test screenshot artifacts by @yezhizhen in https://github.com/servo/servo/pull/41614
- script: Implement generate key operation of ML-KEM by @kkoyung in https://github.com/servo/servo/pull/41615
- script: Implement WebCrypto encapsulation and decapsulation with ML-KEM by @kkoyung in https://github.com/servo/servo/pull/41617
- Refactor allow to expect by @waynevanson in https://github.com/servo/servo/pull/41586
- layout: Stop splitting inline boxes when they contain block-levels by @Loirooriol in https://github.com/servo/servo/pull/41492
- deps: Bump wayland-related together by @yezhizhen in https://github.com/servo/servo/pull/41621
- script: Fix
algfield of exported ML-KEM key in JWK format by @kkoyung in https://github.com/servo/servo/pull/41627 - script: Implement import key operations of ML-DSA by @kkoyung in https://github.com/servo/servo/pull/41628
- Replace NetworkError::Internal with structured enum variants for calls with literal strings by @uthmaniv in https://github.com/servo/servo/pull/36599
- layout: Fix size of anonymous not marked as depending on block constraints by @Loirooriol in https://github.com/servo/servo/pull/41632
- layout: Handle block-in-inline dependency on block constraints by @Loirooriol in https://github.com/servo/servo/pull/41624
- script: Skip some steps when determining encoding for XML document by @simonwuelker in https://github.com/servo/servo/pull/41637
- script: Implement export key operation of ML-DSA by @kkoyung in https://github.com/servo/servo/pull/41647
- change #[allow]s to #[expect]s by @TimurBora in https://github.com/servo/servo/pull/41635
- Correct path to twin
find_python()functions inservoandscript_bindingsbuild.rsby @leo030303 in https://github.com/servo/servo/pull/41649 - layout: Fix intrinsic contribution of anonymous not marked as depending on block constraints by @Loirooriol in https://github.com/servo/servo/pull/41652
- libservo: Refactor site data integration test to enable reuse by @janvarga in https://github.com/servo/servo/pull/41609
- package: Make Windows installer respect customized path by @yezhizhen in https://github.com/servo/servo/pull/41653
- layout: Fix intrinsic size of block-in-inline not marked as depending on block constraints by @Loirooriol in https://github.com/servo/servo/pull/41655
- Retry EventSource after temporary failures using
is_permanent_failureby @WaterWhisperer in https://github.com/servo/servo/pull/41651 - script: Implement generate key operation of ML-DSA by @kkoyung in https://github.com/servo/servo/pull/41659
- Implement pending preload responses with futures by @TimvdLippe in https://github.com/servo/servo/pull/40059
- cargo: Move shared tokio dependency to the root by @yezhizhen in https://github.com/servo/servo/pull/41677
- deps: Make bot update
tokio-rsrepository together by @yezhizhen in https://github.com/servo/servo/pull/41679 - libservo: Add initial support for
SiteDataManager::clear_site_databy @janvarga in https://github.com/servo/servo/pull/41618 - script: Implement sign and verify operations of ML-DSA by @kkoyung in https://github.com/servo/servo/pull/41676
- script: Remove pointless rename. by @jdm in https://github.com/servo/servo/pull/41680
- webdriver: Fix outdated timeouts test and remove redundant check by @yezhizhen in https://github.com/servo/servo/pull/41631
- Fix WebIDL clamp conversion to use round-half-to-even by @Taym95 in https://github.com/servo/servo/pull/41640
- script: Store a
Weakhandle toScriptThreadin bothScriptThreadandWindowby @Narfinger in https://github.com/servo/servo/pull/40645 - script: Properly handle messaging errors in
components/constellation/constellation.rsby @j-mendez in https://github.com/servo/servo/pull/41419 - Unit Tests: Disable proxy for local tests by @Narfinger in https://github.com/servo/servo/pull/41688
- Build/Canvas: Vello or Vello CPU feature flags by @Narfinger in https://github.com/servo/servo/pull/41686
- devtools: Implement ActorEncode and clean inspector sub-actors by @eerii in https://github.com/servo/servo/pull/41685
- Expose nested browsing context status in RequestClient by @WaterWhisperer in https://github.com/servo/servo/pull/41661
- Stylo: Fix mismatched_lifetime_syntaxes warnings by @Loirooriol in https://github.com/servo/servo/pull/41690
- ohos CI: pass through results of optional jobs to try-label result by @jschwe in https://github.com/servo/servo/pull/41601
- net: Keep track of size of keep-alive records by @TimvdLippe in https://github.com/servo/servo/pull/41457
- script: Fix fetch-later length and quota computation by @TimvdLippe in https://github.com/servo/servo/pull/41665
- script: Ship
navigator.sendBeaconby @TimvdLippe in https://github.com/servo/servo/pull/41694 - ohos ci: Attempt to close USB mode popup by @jschwe in https://github.com/servo/servo/pull/41695
- CODEOWNERS: Add jschwe & yezhizhen as CI scenario tests owners by @yezhizhen in https://github.com/servo/servo/pull/41706
- Revert "Build/Canvas: Vello or Vello CPU feature flags (#41686)" by @mrobinson in https://github.com/servo/servo/pull/41698
- script: Add a
Ropetype and use it forTextInputby @mrobinson in https://github.com/servo/servo/pull/41650 - net: Support no_proxy and https_proxy by @Narfinger in https://github.com/servo/servo/pull/41689
- net: Remove NetworkError::Internal by @TimvdLippe in https://github.com/servo/servo/pull/41693
- libservo: Stop exporting
ipc-channelfor gamepad responders and use callbacks by @Narfinger in https://github.com/servo/servo/pull/41412 - libservo: Extend
SiteDataManager::clear_site_datato clear sessionStorage by @janvarga in https://github.com/servo/servo/pull/41709 - script: Init and pass down &mut JSContext in script-related threads by @sagudev in https://github.com/servo/servo/pull/41692
- Upgrade Stylo to 2025-12-01 by @Loirooriol in https://github.com/servo/servo/pull/41696
- Base: Implement GenericReceiverSet by @Narfinger in https://github.com/servo/servo/pull/41071
- 26488 - Moves WebGLRenderingContext cleanup to a dedicated struct by @willypuzzle in https://github.com/servo/servo/pull/41717
- script: Capitalize Content-Type key in formdata. by @jdm in https://github.com/servo/servo/pull/41722
- script: Consolidate global initialization for fetch requests by @TimvdLippe in https://github.com/servo/servo/pull/41663
- fonts: Fix loading local web font by @TimvdLippe in https://github.com/servo/servo/pull/41714
- servoshell: Support tracing-rs events when using hitrace by @janeoa in https://github.com/servo/servo/pull/41708
- devtools: Implement ActorEncode for NetworkEventActor by @eerii in https://github.com/servo/servo/pull/41731
- fonts: Use
GenericChannelinstead of IPC channels by @Narfinger in https://github.com/servo/servo/pull/41733 - webxr: Remove the
ipcfeature by @Narfinger in https://github.com/servo/servo/pull/41736 - mach: linux bootstrap: Remove unused constant by @jschwe in https://github.com/servo/servo/pull/41745
- mach: Break the shackle that restricts cross-compilation from Windows by @yezhizhen in https://github.com/servo/servo/pull/41748
- script: Pass
&mut JSContextto tasks by @sagudev in https://github.com/servo/servo/pull/41756 - net: Remove CoreResourceManager ThreadPool by @Narfinger in https://github.com/servo/servo/pull/41740
- webdriver: Unify "Element Click" for touch & mouse + Improve PointerMove compliance by @yezhizhen in https://github.com/servo/servo/pull/41726
- mach: Fix link to building section of the book in
python/servo/platform/linux.pyby @jschwe in https://github.com/servo/servo/pull/41772 - script: Implement Origin API by @WaterWhisperer in https://github.com/servo/servo/pull/41712
- servoshell: Remove
HeadedWindow-specific methods fromPlatformWindowby @mrobinson in https://github.com/servo/servo/pull/41773 - indexeddb: implement connection queue by @gterzian in https://github.com/servo/servo/pull/41500
- Base: Dependency cleanup by @Narfinger in https://github.com/servo/servo/pull/41777
- Base: Remove unneded cargo deny entries by @Narfinger in https://github.com/servo/servo/pull/41778
- script: Fix same origin restriction for document.domain by @TimvdLippe in https://github.com/servo/servo/pull/41780
- 26488 - Moves CookieStore drop logic to a separate struct by @willypuzzle in https://github.com/servo/servo/pull/41783
- script: Use
&mut JSContextinhtml_constructorby @sagudev in https://github.com/servo/servo/pull/41782 - script: Implement all user agent widgets for form controls with shadow DOM by @mrobinson in https://github.com/servo/servo/pull/41760
- devtools: Remove ActorRegistry shareable and start_stamp by @eerii in https://github.com/servo/servo/pull/41767
- Update fetch-later quota expectations by @TimvdLippe in https://github.com/servo/servo/pull/41776
- fonts: Create resource timing entries when loading web fonts (#41660) by @lumi-me-not in https://github.com/servo/servo/pull/41784
- WebXR: Cleanup of WebXrReceiver/Sender/Channel to Ipc. by @Narfinger in https://github.com/servo/servo/pull/41771
- deps: Update media crates to enable ogg playback. by @jdm in https://github.com/servo/servo/pull/41789
- script: Implement import key operation of AES-OCB by @kkoyung in https://github.com/servo/servo/pull/41791
- layout: Offset scrollable overflow hit test item by containing block by @stevennovaryo in https://github.com/servo/servo/pull/41707
- Script: Convert routed_promise to GenericCallback by @Narfinger in https://github.com/servo/servo/pull/41380
- devtools: Implement Default for ActorRegistry by @eerii in https://github.com/servo/servo/pull/41795
- ohos: Fix build with tracing feature by @yezhizhen in https://github.com/servo/servo/pull/41803
- script: More &mut JSContext in codegen by @sagudev in https://github.com/servo/servo/pull/41808
- devtools: Fix panic when getting AutoMargins of node without style by @eerii in https://github.com/servo/servo/pull/41800
- devtools: Compute Actor base name per type by @eerii in https://github.com/servo/servo/pull/41769
- constellation: Change most of the channels to be GenericChannels by @Narfinger in https://github.com/servo/servo/pull/41806
- layout: Consider margin of preceding block when placing abspos inside inline by @Loirooriol in https://github.com/servo/servo/pull/41683
- script: Set keepalive flag in Request's constructor by @WaterWhisperer in https://github.com/servo/servo/pull/41811
- script: Implement export key operation of AES-OCB by @kkoyung in https://github.com/servo/servo/pull/41813
- Replace allow(crown::unrooted_must_root) with expect(crown::unrooted_must_root) by @WaterWhisperer in https://github.com/servo/servo/pull/41815
- script: Implement generate key operation of AES-OCB by @kkoyung in https://github.com/servo/servo/pull/41822
- Lint: Fix some wrong compile-time expectations for OHOS by @yezhizhen in https://github.com/servo/servo/pull/41821
- webdriver: Allow Promise for synchronous script execution by @yezhizhen in https://github.com/servo/servo/pull/41823
- Rename pauseCompositor/resumeCompositor in JNIServo by @NiklasMerz in https://github.com/servo/servo/pull/41827
- script: Implement encrypt and decrypt operations of AES-OCB by @kkoyung in https://github.com/servo/servo/pull/41829
- webdriver: Consolidates synchronous and asynchrounous script execution by @yezhizhen in https://github.com/servo/servo/pull/41830
- ci: Use checkout SHA for WPT GitHub check by @sagudev in https://github.com/servo/servo/pull/41831
- net: Change mixed content check to use request's current url by @WaterWhisperer in https://github.com/servo/servo/pull/41832
- net: Align redirect HTTP Fetch with spec comments by @TimvdLippe in https://github.com/servo/servo/pull/41798
- net: Implement redirect taint for requests by @TimvdLippe in https://github.com/servo/servo/pull/41824
- lint: Update deny.toml by @yezhizhen in https://github.com/servo/servo/pull/41846
- devtools: Improve serialization and remove mutability from NetworkEventActor by @eerii in https://github.com/servo/servo/pull/41741
- script: Include click count as the
detailofmouseupandmousedownevents by @mrobinson in https://github.com/servo/servo/pull/41833 - CI: Make HarmonyOS build job mandatory by @jschwe in https://github.com/servo/servo/pull/41810
- mach: Upgrade
cargo-denyand report unknown errors intest-tidyby @mukilan in https://github.com/servo/servo/pull/41853 - bluetooth: Use GenericChannel by @Narfinger in https://github.com/servo/servo/pull/41809
- mach: Remove limits on the number of Rayon threads by @mrobinson in https://github.com/servo/servo/pull/41854
- layout: Remove outer
OptiononBoxSlotby @mrobinson in https://github.com/servo/servo/pull/41858 - script/dom: Remove unused creator-related methods from WindowProxy. by @TimurBora in https://github.com/servo/servo/pull/41860
- Remove the
vello_cpucompilation option and enable it by default by @mrobinson in https://github.com/servo/servo/pull/41820 - mach: Parse URL arguments to
update-wptfromsys.argvby @mrobinson in https://github.com/servo/servo/pull/41851 - script: Move AES-CTR to individual submodule by @kkoyung in https://github.com/servo/servo/pull/41856
- ci: Skip installing cargo-deny on self-hosted runners. by @mukilan in https://github.com/servo/servo/pull/41866
- cargo/bot: Update zbus and zbus-lockstep together by @yezhizhen in https://github.com/servo/servo/pull/41875
- script: Implement "Location-navigate a location" by @TimvdLippe in https://github.com/servo/servo/pull/41805
- devtools: Remove find_mut and make all actors immutable by @eerii in https://github.com/servo/servo/pull/41744
- layout: Store
FontMetricsin anArcby @mrobinson in https://github.com/servo/servo/pull/41876 - libservo: Extend
SiteDataManager::clear_site_datato clear localStorage by @janvarga in https://github.com/servo/servo/pull/41852 - webxr: Switch most of the uses of
ipc-channeltoGenericChannelby @Narfinger in https://github.com/servo/servo/pull/41774 - script: add &mut JSContext to codegened
toJSONby @sagudev in https://github.com/servo/servo/pull/41878 - Remove Servo's custom
Rangeimplementation by @mrobinson in https://github.com/servo/servo/pull/41880 - layout: Don't wrap
InlineItemwithArcRefCellinLayoutBoxby @Loirooriol in https://github.com/servo/servo/pull/41877 - script: &mut JSContext in
cross_origin_own_property_keysandappend_cross_origin_allowlisted_prop_keysby @sagudev in https://github.com/servo/servo/pull/41879 - devtools: Consolidate register/register_later by @eerii in https://github.com/servo/servo/pull/41796
- layout: Let floats know that margins can collapse thru phantom lines by @Loirooriol in https://github.com/servo/servo/pull/41812
- webdriver: Dispatch embedder
TouchEventType::Moveby @yezhizhen in https://github.com/servo/servo/pull/41801 - net: Set a timeout for connecting by @Narfinger in https://github.com/servo/servo/pull/41710
- bhm: improve shutdown sequence by @webbeef in https://github.com/servo/servo/pull/41862
- CI: use git log to obtain latest commit SHA by @sagudev in https://github.com/servo/servo/pull/41903
- script: Move AES-CBC to individual submodule by @kkoyung in https://github.com/servo/servo/pull/41883
- mach: mark the doc.servo.org site as
.nojekyllby @delan in https://github.com/servo/servo/pull/41904 - devtools: Hide
extension-backgroundscript-statuswarning by @eerii in https://github.com/servo/servo/pull/41886 - script: Move AES-GCM to individual submodule by @kkoyung in https://github.com/servo/servo/pull/41908
- script: Some failed requests should record resource timing entries by @bellau in https://github.com/servo/servo/pull/41804
- script: Add error messages in
ed25519_operation.rsby @danilopedraza in https://github.com/servo/servo/pull/41902 - script: Add support for setting the edit point with the mouse in
<input>and<textarea>by @mrobinson in https://github.com/servo/servo/pull/41906 - layout: Track parentage in the box tree by @Loirooriol in https://github.com/servo/servo/pull/41884
- servoshell: ohos / android: Decouple initialization and window creation by @jschwe in https://github.com/servo/servo/pull/41532
- CI: Refactor nightly release process by @jschwe in https://github.com/servo/servo/pull/41882
- script: Move adapter dropping to a dedicated struct by @willypuzzle in https://github.com/servo/servo/pull/41911
- layout: Add support for clicking past the end of multiline inputs by @mrobinson in https://github.com/servo/servo/pull/41909
- Upgrade Stylo to 2026-01-01 by @Loirooriol in https://github.com/servo/servo/pull/41916
- devtools: Register workers in workers list, not tabs by @atbrakhi in https://github.com/servo/servo/pull/41929
- Move upload_nightly to a dedicated script by @jschwe in https://github.com/servo/servo/pull/41922
- devtools: Correctly cache console messages by @eerii in https://github.com/servo/servo/pull/41895
- devtools: Restrict visibility of actors in devtools by @SeiRann in https://github.com/servo/servo/pull/41935
- script: Extend AES-GCM in WebCrypto to support more tag lengths by @kkoyung in https://github.com/servo/servo/pull/41950
- script: Move AES-KW to individual submodule by @kkoyung in https://github.com/servo/servo/pull/41949
- script: Implement navigate to fragment algorithm by @TimvdLippe in https://github.com/servo/servo/pull/41834
- Use published CSP crate by @TimvdLippe in https://github.com/servo/servo/pull/41952
- devtools: Handle the
setBreakpointmessage. by @eerii in https://github.com/servo/servo/pull/41925 - webdriver: Rename
source_idtoinput_idfor Actions by @yezhizhen in https://github.com/servo/servo/pull/41948 - script: use
&mut CurrentRealmincross_origin_has_ownby @sagudev in https://github.com/servo/servo/pull/41955 - Plumb accessibility tree updates from layout to embedder by @delan in https://github.com/servo/servo/pull/41924
- net: Transform filemanager to async code by @Narfinger in https://github.com/servo/servo/pull/41857
- script: Do not allow pasting newlines in single line text boxes by @mrobinson in https://github.com/servo/servo/pull/41934
- indexeddb: fix crash in worker abort by @gterzian in https://github.com/servo/servo/pull/41960
- layout: Ensure that anonymous flex items are properly stored in a
BoxSlotby @mrobinson in https://github.com/servo/servo/pull/41951 - script: Add selection behavior for double and triple click in text fields by @mrobinson in https://github.com/servo/servo/pull/41926
- layout: Fix interaction of
overflow-clip-marginandborder-radiusby @Loirooriol in https://github.com/servo/servo/pull/41967 - webdriver: Implement pointerCancel for touch chain by @yezhizhen in https://github.com/servo/servo/pull/41937
- script: Add error messages for the ECDH cryptographic functions by @PaulTreitel in https://github.com/servo/servo/pull/41468
- script: Use document origin instead of URL when manipulating blobs. by @jdm in https://github.com/servo/servo/pull/41966
- script: Check node document instead of current global when getting iframe's content document. by @jdm in https://github.com/servo/servo/pull/41970
- script: Reset form controls immediately after parsing them by @mrobinson in https://github.com/servo/servo/pull/41962
- script: Do not adjust the edit point in text fields when non-primary buttons are pressed by @mrobinson in https://github.com/servo/servo/pull/41974
- script: Simplify
TextInput::newby @mrobinson in https://github.com/servo/servo/pull/41975 - [26488] - Refactors GPUBindGroup drop implementation by @willypuzzle in https://github.com/servo/servo/pull/41977
- script: Ignore empty composition events in text inputs by @mrobinson in https://github.com/servo/servo/pull/41979
- script: Check same-origin-domain when evaluating javscript: URLs. by @jdm in https://github.com/servo/servo/pull/41969
- layout: Properly account for transforms when finding glyph index by @mrobinson in https://github.com/servo/servo/pull/41931
- script: Add error messages for cSHAKE and HKDF by @danilopedraza in https://github.com/servo/servo/pull/41964
- script: Update mozjs to include with more safe wrappers and debugmozjs artifacts by @sagudev in https://github.com/servo/servo/pull/41971
- devtools: Fix devtools source content being empty for small documents by @atbrakhi in https://github.com/servo/servo/pull/41983
- layout: Remove an unnecessary borrow in stacking context tree construction by @mrobinson in https://github.com/servo/servo/pull/41982
- [26488] - Moves drop logic to inner struct for GPUBindGroupLayout by @willypuzzle in https://github.com/servo/servo/pull/41984
- script: Implement link fetch resource steps for stylesheet by @TimvdLippe in https://github.com/servo/servo/pull/41987
- chore: suppress warnings when building without the testbinding feature by @webbeef in https://github.com/servo/servo/pull/42003
- ci: Run WPT jobs on self-hosted runners by @delan in https://github.com/servo/servo/pull/41062
- layout: Accept lengths in arbitrary units for SVG width and height by @rodio in https://github.com/servo/servo/pull/40761
- layout: Simplify
process_soft_wrap_opportunity()by @Loirooriol in https://github.com/servo/servo/pull/42008 - script: Consider a selection collapsed when the edit point equals the selection origin by @mrobinson in https://github.com/servo/servo/pull/41978
- devtools: Fix failures in
mach test-devtoolsby @eerii in https://github.com/servo/servo/pull/42006 - fonts: Store
ByteIndexas ausizeby @mrobinson in https://github.com/servo/servo/pull/42012 - devtools: Handle pause in the debugger by @eerii in https://github.com/servo/servo/pull/42007
- script: Set
MouseEventproperties according to the UI Events specification by @mrobinson in https://github.com/servo/servo/pull/42013 - layout: Reduce visibility in
components/layout/flow/inline/mod.rsby @Loirooriol in https://github.com/servo/servo/pull/42015 - CI: update OHOS hitrace-bench version by @Narfinger in https://github.com/servo/servo/pull/42028
- base: Set github revisions in Cargo.toml by @Narfinger in https://github.com/servo/servo/pull/42029
- indexeddb: track open requests by id by @gterzian in https://github.com/servo/servo/pull/41933
- layout: Create box slots for anonymous modern layout boxes serially by @mrobinson in https://github.com/servo/servo/pull/42026
- net: Fix unit test unused warnings by @Narfinger in https://github.com/servo/servo/pull/42031
- fetch: Preserve AbortError on repeated body consumption for errored stream by @Taym95 in https://github.com/servo/servo/pull/42016
- script: Fix timing of update-a-style-block by @TimvdLippe in https://github.com/servo/servo/pull/41986
- script: Ignore platform mouse move events that do not change the cursor location by @mrobinson in https://github.com/servo/servo/pull/42034
- script: Implement full logic for script-blocking stylesheets by @TimvdLippe in https://github.com/servo/servo/pull/41988
- CI: force GitHub hosted runners if wpt-args is not empty by @sagudev in https://github.com/servo/servo/pull/42035
- WebGPU: Use GenericChannel by @Narfinger in https://github.com/servo/servo/pull/42032
- webdriver: Reset prefs to the values present at server start. by @jdm in https://github.com/servo/servo/pull/42044
- layout: Handle selection during display list construction by @mrobinson in https://github.com/servo/servo/pull/41963
- layout: Add support for
caret-colorby @mrobinson in https://github.com/servo/servo/pull/41976 - layout: Fix WebRender hit test item's offset by @stevennovaryo in https://github.com/servo/servo/pull/42005
- script: Move
RGBA8constant from WebGL2RenderingContext to WebGLRenderingContext by @simonwuelker in https://github.com/servo/servo/pull/42048 - net: Convert blocking embedder communication to async by @jdm in https://github.com/servo/servo/pull/41965
- ci: Run mach bootstrap with --yes by @delan in https://github.com/servo/servo/pull/42058
- script: Fix unfulfilled lint expectation in htmlstyleelement.rs by @CanadaHonk in https://github.com/servo/servo/pull/42059
- layout: Support style inheritance for
display: contentsand<slot>elements by @longvatrong111 in https://github.com/servo/servo/pull/41855 - script: Replace uses of
RootedVec<JSVal>withRooted<Vec<JSVal>>. by @jdm in https://github.com/servo/servo/pull/41921 - script: Include font-variation-settings on
parse_font_face_descriptorsby @muse254 in https://github.com/servo/servo/pull/41968 - Further release workflow improvements by @jschwe in https://github.com/servo/servo/pull/41932
- mach: Use
uvto manage the virtual environment by @jschwe in https://github.com/servo/servo/pull/41861 - script: Fix unneeded .to_owned() by @CanadaHonk in https://github.com/servo/servo/pull/42057
- script: Allow selecting text in input fields with the mouse by @mrobinson in https://github.com/servo/servo/pull/42049
- script: revamp module script loading to follow current spec by @Gae24 in https://github.com/servo/servo/pull/41779
- Use fontsan release from crates.io by @jschwe in https://github.com/servo/servo/pull/42072
- Implement html5ever hooks for customizable
<select>elements by @simonwuelker in https://github.com/servo/servo/pull/42036 - servoshell: Surrender focus when clicking on the WebView on desktop by @mrobinson in https://github.com/servo/servo/pull/42080
- script: remove more unused code by @Gae24 in https://github.com/servo/servo/pull/42081
- script: Do not assume that every textual
<input>is a focusable area by @mrobinson in https://github.com/servo/servo/pull/42078 - script: Prevent activation of disabled select elements by @simonwuelker in https://github.com/servo/servo/pull/42079
- script: Don't let LossyDecoder handle the BOM by @simonwuelker in https://github.com/servo/servo/pull/41732
- script: Allow
<input type=button>to be activatable by @mrobinson in https://github.com/servo/servo/pull/42095 - webgpu: Fix borrow hazards in GPUBuffer by @WaterWhisperer in https://github.com/servo/servo/pull/42050
- net: Cleanup some visibility and unused async by @Narfinger in https://github.com/servo/servo/pull/42102
- Indexeddb: move opening of connection message handling to factory by @gterzian in https://github.com/servo/servo/pull/42053
- tidy: Improve
check_shellsubstitution lint by @jschwe in https://github.com/servo/servo/pull/42099 - layout: Add unit types to most layout queries by @mrobinson in https://github.com/servo/servo/pull/42002
- net: Devtools Channel does not need mutability. by @Narfinger in https://github.com/servo/servo/pull/42114
- script: Use OnceCell instead of RefCell for some module fields. by @jdm in https://github.com/servo/servo/pull/42119
- Add devcontainer configuration by @jschwe in https://github.com/servo/servo/pull/40500
- Rename
compositingandcompositing_traitstopaintandpaint_apiby @mrobinson in https://github.com/servo/servo/pull/42066 - script: Expose
toJSONonLargestContentfulPaintby @shubhamg13 in https://github.com/servo/servo/pull/42004 - script: Fix handling of invalid fetch responses for link stylesheets by @TimvdLippe in https://github.com/servo/servo/pull/42037
- script: Port indexddb to
&mut JSContextby @sagudev in https://github.com/servo/servo/pull/42123 - script: Pass
&CStrinsted of&strin{set,get}_dictionary_propertyby @sagudev in https://github.com/servo/servo/pull/42125 - Don't persist session storage changes by @arihant2math in https://github.com/servo/servo/pull/41326
- script: Fix EventSourceContext using too-fresh last_event_id when reconnecting by @WaterWhisperer in https://github.com/servo/servo/pull/42103
- net: Move listing of directories to async code by @Narfinger in https://github.com/servo/servo/pull/42108
- script: Take &CStr instead of &str in get_property_jsval by @simonwuelker in https://github.com/servo/servo/pull/42132
- script: Modify ModuleObject::handle() to return a handle with a lifetime by @krzyz in https://github.com/servo/servo/pull/42071
- build.rs: try harder to find a suitable python by @jschwe in https://github.com/servo/servo/pull/42131
- script: move stream-related files into
script/dom/streamby @hyuraku in https://github.com/servo/servo/pull/42010 - Expand set of permanent network failures to include all fetch preconditions by @WaterWhisperer in https://github.com/servo/servo/pull/42137
- webdriver: Test interactability for Element Clear by @yezhizhen in https://github.com/servo/servo/pull/42124
- script: Drop
ModuleTreenetwork_errorand simplify pending fetches logic by @Gae24 in https://github.com/servo/servo/pull/42127 - script: Evict stale SVGs from image cache by @TomRCummings in https://github.com/servo/servo/pull/41675
- script: Support blocking attribute for style and link elements by @TimvdLippe in https://github.com/servo/servo/pull/42096
- mach: Move package list to a text based format by @jschwe in https://github.com/servo/servo/pull/41775
- ci: Disable self-hosted WPT runs by @mrobinson in https://github.com/servo/servo/pull/42155
- script: Update documentation and minor conformance improvement for
FullscreenAPI by @stevennovaryo in https://github.com/servo/servo/pull/42068 - profile: Implement MallocSizeOf for GenericCallback by @Narfinger in https://github.com/servo/servo/pull/42152
- net/fetch: Improve HTTP fetch error handling for gzip content decompressions by @arayaryoma in https://github.com/servo/servo/pull/39438
- script: Remove
AsVoidPtrandAsCCharPtrPtrtraits by @sagudev in https://github.com/servo/servo/pull/42153 - script: Handle when debugger global is active in
DedicatedWorkerGlobalScopeinterrupt by @mrobinson in https://github.com/servo/servo/pull/42159 - fonts: Store shaping output per-character rather than per-code point by @mrobinson in https://github.com/servo/servo/pull/42105
- webgl: Move from IpcChannel to GenericChannel by @Narfinger in https://github.com/servo/servo/pull/42033
- Update
servo.exe.manifestfor servoshell by @arihant2math in https://github.com/servo/servo/pull/42167 - layout: Do not enable
letter-spacingfor cursive scripts by @mrobinson in https://github.com/servo/servo/pull/42165 - fonts: Ensure detailed glyphs are also added to the glyph buffer by @mrobinson in https://github.com/servo/servo/pull/42162
- net: Remove exterior mutability from FileManager by @Narfinger in https://github.com/servo/servo/pull/42111
- script: Fix render blocking stylesheet load fire ordering by @TimvdLippe in https://github.com/servo/servo/pull/41973
- layout: Improve and make consistent the look of various form controls by @mrobinson in https://github.com/servo/servo/pull/42085
- devtools: Handle messages in object actor by @eerii in https://github.com/servo/servo/pull/42186
- devtools: implement
clearBreakpointby @atbrakhi in https://github.com/servo/servo/pull/42154 - script: Fix cycle in TransmitBodyConnectHandler by @Narfinger in https://github.com/servo/servo/pull/42183
- script: Add about_base_url by @TimvdLippe in https://github.com/servo/servo/pull/42104
- webgl: Get rid of a silly
expect(unused)by @simonwuelker in https://github.com/servo/servo/pull/42193 - deny: Ignore
GHSA-hcp2-x6j4-29j7to unblock CI. by @yezhizhen in https://github.com/servo/servo/pull/42203 - devcontainer: Use our own dockerfile by @jschwe in https://github.com/servo/servo/pull/42166
- script: Use global's origin in Request constructor. by @jdm in https://github.com/servo/servo/pull/42207
- script: Do not track outdated oustanding loads for stylesheets. by @jdm in https://github.com/servo/servo/pull/42208
- layout: Suppress soft wrap opportunities between NU/AL/AI/ID characters to respect
word-break: keep-allby @RichardTjokroutomo in https://github.com/servo/servo/pull/42088 - CI/mach: Run wpt tests, smoketest and devtools tests in multiprocess mode by @Narfinger in https://github.com/servo/servo/pull/41684
- script: Notify
PinchZoomresizes toScriptThread'sVisualViewportby @stevennovaryo in https://github.com/servo/servo/pull/41754 - ci: bump upload-artifact to v6 by @Olexandr88 in https://github.com/servo/servo/pull/42212
- deps: Switch to the
webrender@0.68from crates.io by @mrobinson in https://github.com/servo/servo/pull/42213 - mach: Do not track the
uv.lockfile by @mrobinson in https://github.com/servo/servo/pull/42214 - painter: Insert a cache for animation with smarter updates by @Narfinger in https://github.com/servo/servo/pull/41956
- Update details to support
::details-contentpseudo element. by @lukewarlow in https://github.com/servo/servo/pull/42107 - Increase stylo stack size in asan and debug builds by @jschwe in https://github.com/servo/servo/pull/42115
- devtools: Remove unsupported serde annotations from
shared/devtools.rsby @eerii in https://github.com/servo/servo/pull/42219 - layout: Ensure legacy alignment-related presentational hints match specification by @mrobinson in https://github.com/servo/servo/pull/42220
- wpt: Unskip
css-properties-values-apitests by @yezhizhen in https://github.com/servo/servo/pull/42222 - layout: Properly propagate baselines of flex items that do not participate in baseline alignment by @lukewarlow in https://github.com/servo/servo/pull/42038
- layout: Support
content: <image>on non-pseudo-elements by @andreubotella in https://github.com/servo/servo/pull/41480 - script: Enable module scripts import attributes by @Gae24 in https://github.com/servo/servo/pull/42185
- script: Ensure UA shadow DOM is initialized on
<textarea>bind to tree by @stevennovaryo in https://github.com/servo/servo/pull/42233 - layout: Do not send display lists over a
ipc::bytes_channel()by @Narfinger in https://github.com/servo/servo/pull/41178 - devcontainer: Use copy instead of mount for package list by @Narfinger in https://github.com/servo/servo/pull/42223
- base: When normalizing
RopeIndexensure it does not intersect a character by @mrobinson in https://github.com/servo/servo/pull/42240 - script: Clear layout data on shadow root during
attachShadowby @mrobinson in https://github.com/servo/servo/pull/42237 - mach (Android): Use
CCinstead of forcingCMaketo buildaws-lc-sysby @yezhizhen in https://github.com/servo/servo/pull/42232 - script: Add support for
:openpseudo-class by @lukewarlow in https://github.com/servo/servo/pull/42195 - [26488] Refactors GPUCanvasContext to manage context dropping. by @willypuzzle in https://github.com/servo/servo/pull/42243
- wpt: Use Webdriver for all WPT runs by @TimvdLippe in https://github.com/servo/servo/pull/41511
- wpt: Add a test ensuring non-autoplay audio stays paused after a back navigation by @Taym95 in https://github.com/servo/servo/pull/42109
- script: Ensure web fonts in shadow root stylesheets are downloaded by @minghuaw in https://github.com/servo/servo/pull/42151
- ci: Add 30 mins timeout to bootstrap of bencher, android, ohos, linux UT & WPT by @yezhizhen in https://github.com/servo/servo/pull/42249
- script/storage: Switch remaining instances of bincode to postcard by @Narfinger in https://github.com/servo/servo/pull/42236
- webdriver: Wait indefinitely with
Nonetimeout by @yezhizhen in https://github.com/servo/servo/pull/42184 - script: Change some HashSets to FxHashSet by @Narfinger in https://github.com/servo/servo/pull/42257
- script: Add basic memory pressure reporting to SpiderMonkey by @sagudev in https://github.com/servo/servo/pull/42180
- constellation: Gracefully handle non-existent
WebViews in history changes by @mrobinson in https://github.com/servo/servo/pull/42238 - script: support JSON modules by @Gae24 in https://github.com/servo/servo/pull/42138
- dom: reduce traversal in CompareDocumentPosition by @webbeef in https://github.com/servo/servo/pull/42260
- script: Fix timing of frozen base URL by @TimvdLippe in https://github.com/servo/servo/pull/42255
- script: Do not consider a node an ancestor of itself in
Node::is_ancestor_ofby @mrobinson in https://github.com/servo/servo/pull/42263 - css: Enable registered custom properties with CSSOM but stay unanimatable by @yezhizhen in https://github.com/servo/servo/pull/42136
- layout: Simplify logic for border specificity by @Loirooriol in https://github.com/servo/servo/pull/42264
- Merge
DomObjectproc-macro into#[dom_struct]by @sagudev in https://github.com/servo/servo/pull/42262 - layout: Add support for
-webkit-text-securityby @mrobinson in https://github.com/servo/servo/pull/42181
New Contributors
- @waynevanson made their first contribution in https://github.com/servo/servo/pull/41586
- @j-mendez made their first contribution in https://github.com/servo/servo/pull/41419
- @lumi-me-not made their first contribution in https://github.com/servo/servo/pull/41784
- @NiklasMerz made their first contribution in https://github.com/servo/servo/pull/41827
- @bellau made their first contribution in https://github.com/servo/servo/pull/41804
- @SeiRann made their first contribution in https://github.com/servo/servo/pull/41935
- @CanadaHonk made their first contribution in https://github.com/servo/servo/pull/42059
- @krzyz made their first contribution in https://github.com/servo/servo/pull/42071
- @hyuraku made their first contribution in https://github.com/servo/servo/pull/42010
- @TomRCummings made their first contribution in https://github.com/servo/servo/pull/41675
- @Olexandr88 made their first contribution in https://github.com/servo/servo/pull/42212
Full Changelog: https://github.com/servo/servo/compare/v0.0.4...v0.0.5