- Implement backColor command
- Implement foreColor command
- Implement subscript and superscript commands
- Implement createlink and unlink commands
- Implement PerformanceMark constructor
- Methods for modifying sanitizer configuration
- Error messages to customElements.define
- Enable Sanitizer API as experimental feature
- Disable kerning when font-kerning is none
- Compute labels for name-from-content nodes in accessibility layout
- Update Rust to 1.95
- Clear hover pseudo-class on the shadow-including ancestors
- Create Duration from microseconds timestamp instead of milliseconds
- Construct attribute nodes lazily
- Make ForOfIterator more convenient to use
- Port OffscreenCanvas and Navigator to &mut JSContext
- Consolidate thread pools
- Pass redirectStart to document and expose it to PerformanceMark
- Properly fire pointerup events
- Zeroize webcrypto sensitive information on drop
From servo
Trying out the Servo Tech Demo
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
Due to time-constraints these release notes unfortunately don't have a curated summary of the changes, but as usual there will be a monthly blog-post at https://servo.org/blog/ covering the changes of this release (May). The blog post will be published at a later point in time.
What's Changed
- layout: Disable kerning when
font-kerningisnoneby @simonwuelker in https://github.com/servo/servo/pull/44634 - script: Implement backColor command by @TimvdLippe in https://github.com/servo/servo/pull/44644
- script: Propagate &mut JSContext to
Credential&HTMLCanvasElementby @yezhizhen in https://github.com/servo/servo/pull/44647 - Update uv.lock for #44591 by @delan in https://github.com/servo/servo/pull/44600
- script: Methods for modifying sanitizer configuration by @kkoyung in https://github.com/servo/servo/pull/44655
- script: Introduce argument version of UnderlyingSourceType to remove rooting requirements. by @jdm in https://github.com/servo/servo/pull/44637
- Add two error messages to customElements.define by @PuercoPop in https://github.com/servo/servo/pull/44656
- layout: Accessibility: Compute labels for name-from-content nodes by @alice in https://github.com/servo/servo/pull/44439
- Update rust to 1.95 by @simonwuelker in https://github.com/servo/servo/pull/44632
- script: Pass
&mut JSContextto more accessors by @TimvdLippe in https://github.com/servo/servo/pull/44659 - script: Pass
&mut JSContexttoset_string_attributeby @TimvdLippe in https://github.com/servo/servo/pull/44660 - Port debugger global scope fire interrupt by @elomscansio in https://github.com/servo/servo/pull/44663
- fonts: Clean up unnecessary clone. by @jdm in https://github.com/servo/servo/pull/44661
- script: Pass
&mut JSContextto most attribute modification methods by @TimvdLippe in https://github.com/servo/servo/pull/44664 - Pass
redirectStartto document and expose it to PerformanceMark by @shubhamg13 in https://github.com/servo/servo/pull/44624 - script: Remove unnecessary Box inside of Rc. by @jdm in https://github.com/servo/servo/pull/44662
- script: Properly fire
pointerupevents by @mrobinson in https://github.com/servo/servo/pull/44666 - script: Implement foreColor command by @TimvdLippe in https://github.com/servo/servo/pull/44657
- script: Pass
&mut JSContexttohandle_attribute_changesby @TimvdLippe in https://github.com/servo/servo/pull/44668 - script: Port
HTMLFormControlsCollection&HTMLFormElementto &mut JSContext by @yezhizhen in https://github.com/servo/servo/pull/44653 - script: Propagate &mut JSContext through event dispatch. by @jdm in https://github.com/servo/servo/pull/44665
- Pass
redirectEndto document and expose it to PerformanceMark by @shubhamg13 in https://github.com/servo/servo/pull/44673 - script: Create Duration from microseconds timestamp instead of milliseconds by @shubhamg13 in https://github.com/servo/servo/pull/44675
- script: Construct attribute nodes lazily by @webbeef in https://github.com/servo/servo/pull/44209
- mach release: Specify exact dependency on workspace crates by @jschwe in https://github.com/servo/servo/pull/44667
- script: Port
OffscreenCanvas&Navigatorto&mut JSContextby @yezhizhen in https://github.com/servo/servo/pull/44671 - mozjs: Make
ForOfIteratormore convenient to use by @simonwuelker in https://github.com/servo/servo/pull/44356 - script: Clear hover pseudo-class on the shadow-including ancestors by @SharanRP in https://github.com/servo/servo/pull/43979
- Bindings.conf: Remove stale
canGcby @yezhizhen in https://github.com/servo/servo/pull/44678 - script: Implement subscript and superscript commands by @TimvdLippe in https://github.com/servo/servo/pull/44677
- script: Replace assert! to debug_assert! in sanitizer by @nodelpit in https://github.com/servo/servo/pull/44679
- script: Propogate &mut JSContext across
IntersectionObserver,DOMRectReadOnly,ResizeObservorby @yezhizhen in https://github.com/servo/servo/pull/44681 - allocator: Add script to post-process output of tracking allocator by @jdm in https://github.com/servo/servo/pull/44674
- base: Consolidate thread pools by @Narfinger in https://github.com/servo/servo/pull/44307
- script: Zeroize webcrypto sensitive information on drop by @kkoyung in https://github.com/servo/servo/pull/44676
- script: Implement createlink and unlink commands by @TimvdLippe in https://github.com/servo/servo/pull/44682
- script: Enable Sanitizer API as experimental feature by @kkoyung in https://github.com/servo/servo/pull/44701
- script: Implement
PerformanceMarkconstructor by @shubhamg13 in https://github.com/servo/servo/pull/44702 - script: Fix unit test panic for domstring test for release profile by @Narfinger in https://github.com/servo/servo/pull/44707
- script: Length checks for
SubtleCrypto.supports()for ECDH and X25519 by @kkoyung in https://github.com/servo/servo/pull/44706 - Enable feature
zeroize_deriveforzeroizecrate by @shubhamg13 in https://github.com/servo/servo/pull/44705 - script: Move DomRefCell, assert_in_* into script_bindings by @Narfinger in https://github.com/servo/servo/pull/44598
- ohos ci: Set PYTHONUNBUFFERED=1 for immediate output by @jschwe in https://github.com/servo/servo/pull/44713
- Upgrade Stylo to 2026-05-01 by @Loirooriol in https://github.com/servo/servo/pull/44690
- script: Pass
&mut JSContexttoHTMLTextAreaElement::handle_text_content_changedby @Gae24 in https://github.com/servo/servo/pull/44712 - script: Port
MediaDevicesto&mut JSContext; Remove stalecanGcforSVGElementby @yezhizhen in https://github.com/servo/servo/pull/44717 - script: Remove accountable_refcell and refcell_backtrace feature by @Narfinger in https://github.com/servo/servo/pull/44718
- script: fix off by one error in NamedNodeMap::Item() by @webbeef in https://github.com/servo/servo/pull/44721
- script: Propogate &mut JSContext to
Document::Fonts&FontFaceSetby @yezhizhen in https://github.com/servo/servo/pull/44733 - layout: Fix grid container stretch alignment inside flex with indefinite height by @yezhizhen in https://github.com/servo/servo/pull/44396
- script: Pass
secureConnectionStartto document and expose it to PerformanceMark by @shubhamg13 in https://github.com/servo/servo/pull/44739 - Remove unfulfilled
unrooted_must_rootexpect onAttributeStorage::removeby @mvanhorn in https://github.com/servo/servo/pull/44740 - devtools: Simplify previewers in debugger.js by @eerii in https://github.com/servo/servo/pull/44738
- paint: Correctly apply viewport initial-scale by @shubhamg13 in https://github.com/servo/servo/pull/43160
- script: retrieve fetch options and base url from the active script for timer scripts by @Gae24 in https://github.com/servo/servo/pull/44741
- webdriver: Wait until browsing context is open by @jschwe in https://github.com/servo/servo/pull/44206
- script: Immediately report import maps errors by @Gae24 in https://github.com/servo/servo/pull/44745
- script: Implement removeFormat command by @TimvdLippe in https://github.com/servo/servo/pull/44710
- script: Fix effectively contained including ancestors of text nodes by @TimvdLippe in https://github.com/servo/servo/pull/44735
- script: Fix panic when deleting after range.deleteContents by @TimvdLippe in https://github.com/servo/servo/pull/44748
- mozjs: Update to v0.15.14 (SM 140.10.1 security update) by @jschwe in https://github.com/servo/servo/pull/44755
- devtools: Use actual values from
FrameStateby @atbrakhi in https://github.com/servo/servo/pull/44744 - script: Port
HTMLStyleElementto&mut JSContextby @yezhizhen in https://github.com/servo/servo/pull/44686 - script: Pass
&mut CurrentRealmtoPromise::append_native_handlerby @Gae24 in https://github.com/servo/servo/pull/44759 - script: Fix DevTools exceptions not being shown. by @eerii in https://github.com/servo/servo/pull/44760
- devtools: Prevent sentinel values from being serialized as Object by @atbrakhi in https://github.com/servo/servo/pull/44763
- devtools: Fix function name not apprearing in Preview by @atbrakhi in https://github.com/servo/servo/pull/44764
- Revert "servoshell: Remove --userscripts option (#43573)" by @jdm in https://github.com/servo/servo/pull/44754
- layout: Disregard 'content' property for elements by @SimonSapin in https://github.com/servo/servo/pull/44762
- uv: Upgrade mako to 1.3.12 in uv.lock to fix security alert by @yezhizhen in https://github.com/servo/servo/pull/44779
- layout: Add setter/getter methods on AccessibilityNode. by @alice in https://github.com/servo/servo/pull/44766
- script: Add support for focus navigation scopes by @mrobinson in https://github.com/servo/servo/pull/44684
- devtools: Do not cache environment actor values by @atbrakhi in https://github.com/servo/servo/pull/44765
- layout: Generate unique IDs for accessibility nodes. by @alice in https://github.com/servo/servo/pull/44767
- script: Rename
coalesced_move_event_idstocoalesced_mouse_move_event_idsby @yezhizhen in https://github.com/servo/servo/pull/44782 - layout: Add
ShapedTextSliceand use it for line break opportunities by @mrobinson in https://github.com/servo/servo/pull/44609 - ohos: Record custom fields via hitrace by @jschwe in https://github.com/servo/servo/pull/44719
- media: Make all media stream IDs contain a unique ID. by @jdm in https://github.com/servo/servo/pull/44781
- layout: Reuse shaping results between box tree layouts by @mrobinson in https://github.com/servo/servo/pull/44769
- script: Properly render CDATA sections by @mrobinson in https://github.com/servo/servo/pull/44791
- config: Improve API for
DiagnosticsLoggingconfiguration. by @mukilan in https://github.com/servo/servo/pull/44703 - net: Remove spurious invalidate in http_cache by @Narfinger in https://github.com/servo/servo/pull/44783
- layout: Split recompute_children() from update_node() in AccessibilityTree. by @alice in https://github.com/servo/servo/pull/44768
- paint: Implent and use GenericSharedMemory::into_arc_vec to get the arc directly by @Narfinger in https://github.com/servo/servo/pull/44786
- script: Move reflector construction to script_bindings by @Narfinger in https://github.com/servo/servo/pull/44636
- mach: Use mach logging for single SVG tests by @simartin in https://github.com/servo/servo/pull/44800
- script: Remove client from service worker container, use storage key by @gterzian in https://github.com/servo/servo/pull/44787
- script: Use let/else in
GlobalScope::broadcast_message_event. by @MavenRain in https://github.com/servo/servo/pull/44797 - script: Implement native endings conversion for
BlobandFileby @yezhizhen in https://github.com/servo/servo/pull/44803 - script: Track the element that has the
:activestate across input events by @SharanRP in https://github.com/servo/servo/pull/43953 - Modernize
derive(DenyPublicFields)and make it's contain it's own tests by @sagudev in https://github.com/servo/servo/pull/44809 - CI: Use
RUSTFLAGS=-D warningsby @sagudev in https://github.com/servo/servo/pull/44814 - script: Fix definition of active parser by @TimvdLippe in https://github.com/servo/servo/pull/44804
- cargo: Bump MSRV to 1.88 by @sagudev in https://github.com/servo/servo/pull/44815
- Update image-rs and resvg by @jdm in https://github.com/servo/servo/pull/43204
- layout_api: Fix build error for Production by @yezhizhen in https://github.com/servo/servo/pull/44822
- script: Separate concepts of heap buffer sources and rooted heap buffer sources by @jdm in https://github.com/servo/servo/pull/44464
- script: Treat GPUAdapter as a set instead of a map. by @jdm in https://github.com/servo/servo/pull/44823
- script: add error messages to ElementInternals by @kimjune01 in https://github.com/servo/servo/pull/44816
- script: Use correct slotchange event type for inline event handler. by @jdm in https://github.com/servo/servo/pull/44688
- webgpu: fixup GPUBuffer unmap by @sagudev in https://github.com/servo/servo/pull/44827
- Remove stale temp_cx in consume_body by @SharanRP in https://github.com/servo/servo/pull/44829
- fonts: Fix potential UB in is_rtl() by @jschwe in https://github.com/servo/servo/pull/44832
- script: Treat HTMLAnchorElement as activatable. by @jdm in https://github.com/servo/servo/pull/44825
- net: update
cross_origin_resource_policy_checkto follow spec by @Gae24 in https://github.com/servo/servo/pull/44828 - chore: bump vello_cpu by @Gae24 in https://github.com/servo/servo/pull/44838
- script: Combine operations of ECDSA and ECDH by @kkoyung in https://github.com/servo/servo/pull/44848
- script: add error msgs to cssstylesheet.rs aes_common.rs by @n0blenote in https://github.com/servo/servo/pull/44704
- layout: Add additional padding to scroll container's scrollable overflow by @stevennovaryo in https://github.com/servo/servo/pull/44263
- canvas: Fix double-transformed clip path in vello CPU backend by @yezhizhen in https://github.com/servo/servo/pull/44831
- script: Pass
responseEndto document and expose it to PerformanceMark by @shubhamg13 in https://github.com/servo/servo/pull/44850 - Remove unused dependencies per -Zcargo-lints by @SimonSapin in https://github.com/servo/servo/pull/44808
- script: Use
&mut JSContextinMessagePort::pack_and_post_messageandpost_message_impl. by @MavenRain in https://github.com/servo/servo/pull/44806 - script: Vendor and update mime-multipart by @jschwe in https://github.com/servo/servo/pull/44818
- script: Simplify
DocumentFocusHandler::focused_areaby @mrobinson in https://github.com/servo/servo/pull/44857 - net: drop
HttpsStateby @Gae24 in https://github.com/servo/servo/pull/44852 - stylo: Resolve
<color>values in getComputedStyle for registered custom properties by @Loirooriol in https://github.com/servo/servo/pull/44856 - script: Add support for processing instructions to Sanitizer interface by @kkoyung in https://github.com/servo/servo/pull/44734
- Fix and enable doctests by @SimonSapin in https://github.com/servo/servo/pull/44851
- script: Give actual name to INVALID_ENTRY_NAME to PERFORMANCE_TIMING_ATTRIBUTES by @shubhamg13 in https://github.com/servo/servo/pull/44753
- script: Move remaining Document-related focus code to
dom/document/focus.rsby @mrobinson in https://github.com/servo/servo/pull/44867 - script: Implement
FileReader.readAsBinaryString; HousekeepFileReaderdocs by @yezhizhen in https://github.com/servo/servo/pull/44858 - script: Ignore synthetic focus events in
<input>and<textarea>by @mrobinson in https://github.com/servo/servo/pull/44870 - script: Expose
Document::performance_timing_attributefor getting timing-related values by @shubhamg13 in https://github.com/servo/servo/pull/44864 - Revert "chore: bump vello_cpu (#44838)" by @Gae24 in https://github.com/servo/servo/pull/44875
- script: Move obtain_storage_key logic from IDBFactory to GlobalScope by @SharanRP in https://github.com/servo/servo/pull/44877
- script: Move
is_custom_data_attributefunction todomname.rsby @kkoyung in https://github.com/servo/servo/pull/44876 - script: Pass
&mut JSContexttoAttributeStorage::ensure_domby @Gae24 in https://github.com/servo/servo/pull/44879 - layout: Make the
FragmentTreeimmutable by @mrobinson in https://github.com/servo/servo/pull/44849 - layout: Replace UA stylesheet usage of legacy :matches by :is by @avis137 in https://github.com/servo/servo/pull/44837
- script: Simplify
Script::update_style_attributeby @mrobinson in https://github.com/servo/servo/pull/44881 - tests: Remove stale FileReader idlharness expectations by @Taym95 in https://github.com/servo/servo/pull/44885
- constellation: Make warning about double-setting event loops more specific by @simonwuelker in https://github.com/servo/servo/pull/44888
- wpt: Wrap event listener in testharness step. by @jdm in https://github.com/servo/servo/pull/44899
- script: Update selection to correct node when moving preserving ranges by @TimvdLippe in https://github.com/servo/servo/pull/44887
- wpt: Update every obsolete, renamed expectations by @yezhizhen in https://github.com/servo/servo/pull/44895
- ci: Update test expectations fully when importing from upstream by @yezhizhen in https://github.com/servo/servo/pull/44900
- script: Ensure source document origin is checked when navigating a different global to a javascript: URL. by @jdm in https://github.com/servo/servo/pull/43490
- font: create caching mechanism to speed up font_list generation on OpenHarmony platform by @RichardTjokroutomo in https://github.com/servo/servo/pull/44158
- fonts: Fix clippy lint on macos by @jschwe in https://github.com/servo/servo/pull/44910
- layout: Respond to some review comments for #44849 by @mrobinson in https://github.com/servo/servo/pull/44904
- layout: Cache inline container state in
InlineFormattingContextLayout::push_glyph_store_to_unbreakable_segmentby @mrobinson in https://github.com/servo/servo/pull/44905 - servoshell + net: Expose --host-file option by @jschwe in https://github.com/servo/servo/pull/44880
- script: Adopt
RFC2397data URL format; Useapplication/octet-streamfor unspecified Blob type by @yezhizhen in https://github.com/servo/servo/pull/44897 - script: Interpret every byte as ASCII for FileReader{Sync}.ReadAsBinaryString by @yezhizhen in https://github.com/servo/servo/pull/44921
- servoshell: Fix warnings and remove unused portions of the Gradle configuration by @Gae24 in https://github.com/servo/servo/pull/44922
- script: Use "application/octet-stream" for unspecified Blob type for
FileReaderSync.ReadAsDataURLby @yezhizhen in https://github.com/servo/servo/pull/44924 - script: Make Servo's
SharedRwLockper-ScriptThread by @mrobinson in https://github.com/servo/servo/pull/44883 - script: Don't traverse the DOM when finding a slot for manual slottables by @simonwuelker in https://github.com/servo/servo/pull/44926
- script: Avoid temporary allocations when computing flattened assigned nodes by @simonwuelker in https://github.com/servo/servo/pull/44933
- script: Port BroadcastChannel to
&mut JSContextby @MavenRain in https://github.com/servo/servo/pull/44930 - mach: Remove references to nonexistent
bustedsubcommand by @simonwuelker in https://github.com/servo/servo/pull/44934 - script: Prove that no GC can occur during slot assignment by @simonwuelker in https://github.com/servo/servo/pull/44935
- De-duplicate winnow by @atouchet in https://github.com/servo/servo/pull/44941
- script: Port DOMParser to
&mut JSContextby @MavenRain in https://github.com/servo/servo/pull/44942 - ohos/android: Fix various clippy issues by @jschwe in https://github.com/servo/servo/pull/44928
- script: Static built-in non-replaceable elements list by @kkoyung in https://github.com/servo/servo/pull/44944
- layout: Make scrollable overflow calculation incremental by @mrobinson in https://github.com/servo/servo/pull/44854
- script: Encode field names and filenames correctly when encoding
<form>data by @yezhizhen in https://github.com/servo/servo/pull/44943 - layout: Stop cloning
ClipPathfor every singleFragmentin the tree by @mrobinson in https://github.com/servo/servo/pull/44945 - servoshell: further cleanup android project by @Gae24 in https://github.com/servo/servo/pull/44932
- layout: Improve FragmentStatus when changes happen within an abspos by @Loirooriol in https://github.com/servo/servo/pull/44925
- layout: Move containing block calculation to stacking context tree construction by @SimonSapin in https://github.com/servo/servo/pull/44911
- layout: Add a basic test for incremental accessibility tree updates. by @alice in https://github.com/servo/servo/pull/44785
- script: Use
&mut JSContextin structuredclone::write by @MavenRain in https://github.com/servo/servo/pull/44946 - fonts: Implement
font-variant-ligaturesby @simonwuelker in https://github.com/servo/servo/pull/44903 - script: Initial implementation of insertParagraph command by @TimvdLippe in https://github.com/servo/servo/pull/44909
- fonts: Support
font-variant-numericby @simonwuelker in https://github.com/servo/servo/pull/44950 - script: Escape field names and values for default x-www-form-urlencoded
<form>POST by @yezhizhen in https://github.com/servo/servo/pull/44953 - script: Improve handling of DOMString in
<form>escaped values by @yezhizhen in https://github.com/servo/servo/pull/44954 - ci release.yml: add servo git sha when publishing to nightly repo. by @jschwe in https://github.com/servo/servo/pull/44955
- script: Implement
Document.parseHTML()by @kkoyung in https://github.com/servo/servo/pull/44952 - script: Escape field names and values for
<form>GET by @yezhizhen in https://github.com/servo/servo/pull/44957 - Cargo.toml cleanup by @atouchet in https://github.com/servo/servo/pull/44959
- tidy: Use shellcheck for error-severity findings in check_shell by @MavenRain in https://github.com/servo/servo/pull/44896
- tests: Remove
mozilla\ElementInternals-setFormValue.htmlby @yezhizhen in https://github.com/servo/servo/pull/44960 - generic_channel: Optimize crossbeam select efficiency by @jschwe in https://github.com/servo/servo/pull/44961
- ohos: Request Vsync on demand instead of every frame by @jschwe in https://github.com/servo/servo/pull/44927
- devtools: Bring stepping hooks behaviour closer to Firefox by @eerii in https://github.com/servo/servo/pull/44951
- generic_channel: Optimize crossbeam select in resource_thread loop by @jschwe in https://github.com/servo/servo/pull/44963
- servo: Hoist Select out of inner loop by @jschwe in https://github.com/servo/servo/pull/44967
- refresh_driver: Optimize timeout code by @jschwe in https://github.com/servo/servo/pull/44970
- webgpu: Update wgpu to 29 by @sagudev in https://github.com/servo/servo/pull/44968
- script: Fix issues with manipulating current selection by @TimvdLippe in https://github.com/servo/servo/pull/44973
- tools: improve the output of untracked-allocations.py by @webbeef in https://github.com/servo/servo/pull/44980
- script: Do not allocate a new timer channel for every spin of the ScriptThreadReceivers loop by @jschwe in https://github.com/servo/servo/pull/44972
- css: Make animation faster, direction-aware and compute initial keyframe correctly; Eliminate Stylo static preference hashing by @yezhizhen in https://github.com/servo/servo/pull/44365
- script: Implement
Element.setHTML()andShadowRoot.setHTML()by @kkoyung in https://github.com/servo/servo/pull/44983 - SharedWorker: Implement constructor, port wiring, and connect event delivery by @Taym95 in https://github.com/servo/servo/pull/44761
- script: Pass
&mut JSContexttospawn_pipelineby @TimvdLippe in https://github.com/servo/servo/pull/44992 - script: Pass JSContext to Window::reflow. by @jdm in https://github.com/servo/servo/pull/44993
- script: Fix race of VisualViewport
initial-scaleby @yezhizhen in https://github.com/servo/servo/pull/44979 - Switch some dependencies to workspace dependencies in servo_media_audio by @atouchet in https://github.com/servo/servo/pull/44998
- script: Extract common parts of FileReader and FileReaderSync by @panxt8 in https://github.com/servo/servo/pull/44991
- Remove servo-media Dependabot group by @atouchet in https://github.com/servo/servo/pull/44997
- net: Allow internal requests to be fetched regardless of CSP by @TimvdLippe in https://github.com/servo/servo/pull/44974
- script: Pass
&mut JSContexttoXPathDOM objects by @TimvdLippe in https://github.com/servo/servo/pull/45000 - script: Start adding support for lazy serialization of
AttrValueby @mrobinson in https://github.com/servo/servo/pull/44931 - script: Pass
&mut JSContexttostructuredclone::readby @Gae24 in https://github.com/servo/servo/pull/45014 - Cargo.toml cleanups and convert some dependencies to workspace dependencies by @atouchet in https://github.com/servo/servo/pull/45015
- Convert more component dependencies to workspace dependencies by @atouchet in https://github.com/servo/servo/pull/45017
- wpt: Fix link element tests by @TimvdLippe in https://github.com/servo/servo/pull/45012
- layout: Prune stale accessibility nodes from the cache after each update. by @alice in https://github.com/servo/servo/pull/44801
- script: Remove unecessary
ignore_malloc_size_ofonAudioNode::node_idby @niyabits in https://github.com/servo/servo/pull/45026 - Implement async version for cookie APIs by @longvatrong111 in https://github.com/servo/servo/pull/44708
- script: Introduce
Element::get_attribute_string_valueby @TimvdLippe in https://github.com/servo/servo/pull/45023 - Using let/else for ReplacedContents::from_image_url by @SteveSharonSam in https://github.com/servo/servo/pull/45030
- Add a DiagnosticLoggingOption to print the accessibility tree by @alice in https://github.com/servo/servo/pull/45029
- fonts: implement
font-variant-east-asianby @simonwuelker in https://github.com/servo/servo/pull/44989 - script: Migrate more callsites to
get_attribute_string_valueby @TimvdLippe in https://github.com/servo/servo/pull/45031 - layout: Fix
border-image-outsetclipping by @lumiscosity in https://github.com/servo/servo/pull/45039 - layout: Only apply form in table UA style rule in HTML documents by @avis137 in https://github.com/servo/servo/pull/44920
- layout:
useaccesskit::NodeId inaccessibility_tree.rs. by @alice in https://github.com/servo/servo/pull/45033 - layout: Do not clear fragment layout cache immediately when damaged by @mrobinson in https://github.com/servo/servo/pull/45038
- layout: make
root_node_ida member of AccessibilityTree by @alice in https://github.com/servo/servo/pull/45034 - layout: Have AccessibilityUpdate represent all changes in this update. by @alice in https://github.com/servo/servo/pull/45035
- shell.nix: Update nixpkgs by @freyacodes in https://github.com/servo/servo/pull/45051
- script: Reorder function parameters in
servoparser/mod.rsby @kkoyung in https://github.com/servo/servo/pull/45053 - script: Inline some event dispatching methods by @Gae24 in https://github.com/servo/servo/pull/45052
- script: pass
&mut JSContexttoSerializable::deserializeby @Gae24 in https://github.com/servo/servo/pull/45058 - canvas: Fix vello backend compilation by @yezhizhen in https://github.com/servo/servo/pull/45036
- script: complete
structuredclone.rsmigration to&mut JSContextby @Gae24 in https://github.com/servo/servo/pull/45061 - webgpu: Update WebGPU CTS by @sagudev in https://github.com/servo/servo/pull/45063
- script: Propagate js::context::JSContext through Event::fire. by @jdm in https://github.com/servo/servo/pull/45040
- ci: Add vello backend compilation to Windows build by @yezhizhen in https://github.com/servo/servo/pull/45037
- script: Pass
&mut JSContexttoBlob::newby @Gae24 in https://github.com/servo/servo/pull/45076 - script: modernize dom struct proc-macro and add new tests by @jerensl in https://github.com/servo/servo/pull/45057
- script: Migrate remaining usages to
get_attribute_string_valueby @TimvdLippe in https://github.com/servo/servo/pull/45060 - script: Change type of
hashfield ofSubtleHmacKeyAlgorithmby @kkoyung in https://github.com/servo/servo/pull/45075 - script: Encode with requested encoding for
<form enctype="multipart/form-data">by @yezhizhen in https://github.com/servo/servo/pull/45028 - wpt: skip the service workers test suite by @gterzian in https://github.com/servo/servo/pull/45080
- script_bindings: Improve From methods and properly implement zeroize by @Narfinger in https://github.com/servo/servo/pull/45078
- IndexedDB: Implement IndexedDB abort rollback for object store metadata and key generators by @Taym95 in https://github.com/servo/servo/pull/43950
- Fix borrow hazard creating intersection observer entries by @SharanRP in https://github.com/servo/servo/pull/45001
- ci: Reduce Windows unit tests parallel compilation processes by 2 by @yezhizhen in https://github.com/servo/servo/pull/45083
- libservo: Mark
webxrcrate as optional dependency for all targets. by @mukilan in https://github.com/servo/servo/pull/45079 - Convert more dependencies to workspace dependencies by @atouchet in https://github.com/servo/servo/pull/45089
- Move a couple of packages to workspace dependencies by @atouchet in https://github.com/servo/servo/pull/45094
- script_bindings: Pass
&mut JSContextto dictionary constructors by @Gae24 in https://github.com/servo/servo/pull/45098 - script: Replace
get_attributewithwith_attributeby @TimvdLippe in https://github.com/servo/servo/pull/45081 - webgpu: Reduce diff from upstream webidl by @sagudev in https://github.com/servo/servo/pull/45097
- ci(Windows): Only limit parallel compilation processes for Unit tests for self-hosted runner by @yezhizhen in https://github.com/servo/servo/pull/45100
- Remove all instances of
rustfmt::skipby @mrobinson in https://github.com/servo/servo/pull/45096 - devcontainer: Install some common cli tools by @jschwe in https://github.com/servo/servo/pull/44966
- script: Add
ontransitionstartEventHandler by @lumiscosity in https://github.com/servo/servo/pull/45106 - script: Pass
&mut JSContextto XPath evaluation by @TimvdLippe in https://github.com/servo/servo/pull/45009 - Convert remaining servoshell dependencies to workspace dependencies by @atouchet in https://github.com/servo/servo/pull/45108
- script_bindings: switch to
FromJSValConvertible::safe_from_jsvalin codegen by @Gae24 in https://github.com/servo/servo/pull/45110 - script: Add missing early return in shared-declarative-refresh-steps by @jschwe in https://github.com/servo/servo/pull/45113
- webgpu: Reorder/add/remove limits to match the spec by @sagudev in https://github.com/servo/servo/pull/45114
- devtools: Implement blackboxing on breakpoints by @freyacodes in https://github.com/servo/servo/pull/44359
- script: Encode
<form enctype="text/plain">correctly by @yezhizhen in https://github.com/servo/servo/pull/45111 - Add tidy check for disallowed co-authors by @SimonSapin in https://github.com/servo/servo/pull/44723
- webgpu: Add
GPUMipmapFilterModeby @sagudev in https://github.com/servo/servo/pull/45132 - Implement Window.screenLeft and Window.screenTop by @TG199 in https://github.com/servo/servo/pull/45128
- script: Block meta refresh considering sandbox flag by @jschwe in https://github.com/servo/servo/pull/45116
- devtools: Test that blackboxing also affects stepping by @freyacodes in https://github.com/servo/servo/pull/45134
- devtools: Avoid recursive previews when getting
ownPropertyLengthby @eerii in https://github.com/servo/servo/pull/45054 - fonts: Implement
font-feature-settingsby @simonwuelker in https://github.com/servo/servo/pull/45059 - webgpu: Accept
GPUTextureandGPUBufferforGPUBindingResourceby @sagudev in https://github.com/servo/servo/pull/45140 - shell.nix: Rename xorg packages to fix warnings by @freyacodes in https://github.com/servo/servo/pull/45135
- devtools: Fix deadlock-like silent failure in DevTools by @atbrakhi in https://github.com/servo/servo/pull/45050
- script: More implementations of
safe_from_jsvalby @Gae24 in https://github.com/servo/servo/pull/45149 - ci: Update various actions by @jschwe in https://github.com/servo/servo/pull/45145
- script: Update JsonWebKey format of ML-KEM keys by @kkoyung in https://github.com/servo/servo/pull/45153
- fonts: Implement
font-variant-positionby @simonwuelker in https://github.com/servo/servo/pull/45142 - Make Blob.stream() supports readable byte streams by @Taym95 in https://github.com/servo/servo/pull/45133
- script_bindings: Implement
FromJSValConvertible::safe_from_jsvalfor string types by @Gae24 in https://github.com/servo/servo/pull/45117 - webgpu: Allow
GPUTexturein all places whereGPUTextureViewis allowed by @sagudev in https://github.com/servo/servo/pull/45154 - script: refactor WebGL context creation by @SharanRP in https://github.com/servo/servo/pull/45095
- devtools: Add diagnostics when actor downcasting panics by @freyacodes in https://github.com/servo/servo/pull/45155
- script: Support event handler content attributes on SVG elements by @officialasishkumar in https://github.com/servo/servo/pull/45118
- Update WebIDL.py by @sagudev in https://github.com/servo/servo/pull/45104
- script: Serialization of
CryptoKeyinterface by @kkoyung in https://github.com/servo/servo/pull/45163 - script: Limit write lock guard in
CSSKeyframesRuleMethods::AppendRuleby @mrobinson in https://github.com/servo/servo/pull/45173 - font: Properly handle when shaping produces no glyphs by @mrobinson in https://github.com/servo/servo/pull/45176
- script: Split NodeIterator methods into separate file by @Narfinger in https://github.com/servo/servo/pull/45178
- script_bindings: Implement
safe_from_jsvalforRecordby @Gae24 in https://github.com/servo/servo/pull/45184 - script: Use encoding_parse_a_url in Location assign by @TG199 in https://github.com/servo/servo/pull/44298
- Script: Add descriptive error messages to WakeLock by @TG199 in https://github.com/servo/servo/pull/45186
- script: Remove redundant
NavigatorStorageUtilsby @shubhamg13 in https://github.com/servo/servo/pull/45194 - base: Make
PrintTree::newacceptimpl Displayby @mrobinson in https://github.com/servo/servo/pull/45195 - script: Eliminate DOMString::to_string calls were alternatives are available by @avis137 in https://github.com/servo/servo/pull/45065
- media: support MP4 with moov atom at the end of the file by @calvaris in https://github.com/servo/servo/pull/45084
- script: Update HTML parsing methods by @kkoyung in https://github.com/servo/servo/pull/45196
- script: Add basic implementation of ServiceWorker lifecycle and messaging by @gterzian in https://github.com/servo/servo/pull/45082
- webgpu: Update webidl of some RenderPipeline structs by @sagudev in https://github.com/servo/servo/pull/45200
- script: Switch the remaining usages of
from_jsvaltosafe_from_jsvalby @Gae24 in https://github.com/servo/servo/pull/45201 - script: Migrating
script/dom/console.rsto use&mut JSContextby @SteveSharonSam in https://github.com/servo/servo/pull/45181 - paint: Instrument present by @jschwe in https://github.com/servo/servo/pull/45206
- script: Move ShadowIncluding to new file by @Narfinger in https://github.com/servo/servo/pull/45180
- canvas: Add fast-path in parse_color by @jschwe in https://github.com/servo/servo/pull/45212
- Document fields on AccessibilityNode and AccessibilityTree. by @alice in https://github.com/servo/servo/pull/45207
- paint: Avoid copying image data in single-process mode by @jschwe in https://github.com/servo/servo/pull/45211
- Enable
webgl_testing_context_creation_errorfor testing by @AbdAlRahmanGad in https://github.com/servo/servo/pull/45213 - paint: Use
GenericSharedMemory::into_arc_vecforSerializableImageData->ImageDataby @yezhizhen in https://github.com/servo/servo/pull/45223 - layout: Mark layout as not needing containing block calculation when building stacking context tree by @mrobinson in https://github.com/servo/servo/pull/45210
- devtools: Fix inspector not loading when navigating on the same page by @eerii in https://github.com/servo/servo/pull/45056
- layout: Do not store cached shaping results in non-text nodes by @mrobinson in https://github.com/servo/servo/pull/45227
- script: Pass
&mut JSContexttoCharacterData::content_changedby @TimvdLippe in https://github.com/servo/servo/pull/45225 - script: Remove
temp_cxin Drop of LoadBlocker by @TimvdLippe in https://github.com/servo/servo/pull/45087 - script: Using
String::frominstead ofto_stringinscript/dom/console.rsby @SteveSharonSam in https://github.com/servo/servo/pull/45231 - layout: Improve debugging output of
BaseFragmentby @mrobinson in https://github.com/servo/servo/pull/45197 - script: Move Validateable to JSContext and related by @Narfinger in https://github.com/servo/servo/pull/45233
- stylo: Incorporate Respond to live preference updates in
NonCustomPropertyId::enabled_for_all_contentby @mrobinson in https://github.com/servo/servo/pull/45226 - pixels: Do add RGB8 images to the
Painteranimating image cache by @Narfinger in https://github.com/servo/servo/pull/45209 - webgpu: Optimize allocation in WriteBuffer by @jschwe in https://github.com/servo/servo/pull/45229
- script: Directly modify
IFrameCollectionon tree changes by @mrobinson in https://github.com/servo/servo/pull/45236 - script_bindings: Move Wrap from generated to generic code by @Narfinger in https://github.com/servo/servo/pull/45010
- generic_channel: Avoid unnecessary GenericSharedMemory allocations by @jschwe in https://github.com/servo/servo/pull/45224
- script: Pass
&mut JSContexttoCSSStyleDeclaration::newby @TimvdLippe in https://github.com/servo/servo/pull/45244 - script: Remove final usages of
CanGcincontenteditable/by @TimvdLippe in https://github.com/servo/servo/pull/45245 - net/script: Reuse allocation in create_request_body_with_content by @jschwe in https://github.com/servo/servo/pull/45235
- script: Remove
CanGcfrom some more directories by @TimvdLippe in https://github.com/servo/servo/pull/45247 - script: Improve Safety in DataBlock::view by @jschwe in https://github.com/servo/servo/pull/45232
- ci: Fix windows concurrency limit by @jschwe in https://github.com/servo/servo/pull/45249
- Use Stylo with
mask-*properties enabled by @nicoburns in https://github.com/servo/servo/pull/45136 - script: Implement "getPublicKey" operations of ML-KEM and ML-DSA by @kkoyung in https://github.com/servo/servo/pull/45252
- Upgrade to vello 0.9, vello_cpu 0.0.9, skrifa 0.42 by @nicoburns in https://github.com/servo/servo/pull/45137
- devtools: Pass correct walker name to
find_childinget_appliedby @eerii in https://github.com/servo/servo/pull/45250 - doc: Update WebXR link to servo book by @utzcoz in https://github.com/servo/servo/pull/45263
- script: Pass
&mut JSContexttoConsole::internal_warnby @kunalmohan in https://github.com/servo/servo/pull/45259 - devtools: Only add debuggee if devtools enabled by @jschwe in https://github.com/servo/servo/pull/45265
- release: Bump version to 0.3.0 by @jschwe in https://github.com/servo/servo/pull/45257
- release: Use stylo 0.18 for 0.3 release by @jschwe in https://github.com/servo/servo/pull/45384
New Contributors
- @mvanhorn made their first contribution in https://github.com/servo/servo/pull/44740
- @MavenRain made their first contribution in https://github.com/servo/servo/pull/44797
- @kimjune01 made their first contribution in https://github.com/servo/servo/pull/44816
- @n0blenote made their first contribution in https://github.com/servo/servo/pull/44704
- @avis137 made their first contribution in https://github.com/servo/servo/pull/44837
- @panxt8 made their first contribution in https://github.com/servo/servo/pull/44991
- @calvaris made their first contribution in https://github.com/servo/servo/pull/45084
- @AbdAlRahmanGad made their first contribution in https://github.com/servo/servo/pull/45213
- @utzcoz made their first contribution in https://github.com/servo/servo/pull/45263
Full Changelog: https://github.com/servo/servo/compare/v0.2.0...v0.3.0