0.4.0
Added 7
- Implement console.dir
- Implement Unrooted Inclusive Ancestor iterator in script
- Introduce PreviewId in devtools to get previews
- Enable legacy touch events event handler
- Introduce Promise::reject_error_with_cx
- Introduce Promise::{resolve,reject}_native_with_cx
- Implement muted errors
Changed 8
- Use SecureContext on namespaces in webgpu
- Upgrade surfman to 0.12.2
- Rewrite the StackingContextTree to be sparse
- Rely on egui to know when widgets are animating in servoshell
- Rename *Image* to *Texel* in webgpu
- Forward all mouse motion events to egui in servoshell
- Generate new blob URL per createObjectURL call
- Propagate wake lock type in permission requests
Fixed 5
- Fix UA stylesheet for input type=radio
- Root unbound nodes until next reflow is finished
- Fix an image cache leak on reloads
- Fix response panic on closed channel in canvas
- Do not rasterize SVG images for the same size multiple times
From servo
See our June blog post for a curated overview of the changes in this release.
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
Please check out our June blog post to get a curated overview over the recent changes.
What's Changed
- deps: Bump
sha3to 0.12 by @kkoyung in https://github.com/servo/servo/pull/45280 - webgpu: Use SecureContext on namespaces by @sagudev in https://github.com/servo/servo/pull/45279
- layout: fix UA stylesheet for
<input type="radio"/>by @RichardTjokroutomo in https://github.com/servo/servo/pull/44627 - Implement console.dir by @Taym95 in https://github.com/servo/servo/pull/45109
- layout: Root unbound nodes until next reflow is finished. by @alice in https://github.com/servo/servo/pull/44949
- layout: Avoid extra work when there is no strong BiDi content by @mrobinson in https://github.com/servo/servo/pull/45007
- libservo: Add documentation for more public types. by @mukilan in https://github.com/servo/servo/pull/45282
- script: Implement Unrooted Inclusive Ancestor iterator by @Narfinger in https://github.com/servo/servo/pull/44906
- devtools: introduce
PreviewIdin order to get previews by @atbrakhi in https://github.com/servo/servo/pull/45139 - deps: Upgrade surfman to
0.12.2by @mrobinson in https://github.com/servo/servo/pull/45286 - webgpu:
interface->namespaceto reduce webidl diff by @sagudev in https://github.com/servo/servo/pull/45284 - layout: Rewrite the StackingContextTree to be sparse by @mrobinson in https://github.com/servo/servo/pull/45208
- layout: Preserve active
display: contentswhen handling anonymous table parts by @Loirooriol in https://github.com/servo/servo/pull/45287 - net: Fix an image cache leak on reloads by @jschwe in https://github.com/servo/servo/pull/45261
- ci: Fix etc/ci/scenario Python types by @janeoa in https://github.com/servo/servo/pull/45204
- servoshell: Rely on egui to know when widgets are animating by @mrobinson in https://github.com/servo/servo/pull/45289
- tests: Fix warning about unused variable in webview tests by @jschwe in https://github.com/servo/servo/pull/45291
- webgpu: rename
*Image*->*Texel*by @sagudev in https://github.com/servo/servo/pull/45292 - script_bindings: Move more of the constructor into non-generated code by @Narfinger in https://github.com/servo/servo/pull/44948
- servo: In
test_preferences_changemore thoroughly test settinggrid-columnby @Loirooriol in https://github.com/servo/servo/pull/45293 - deps: Bump
ml-dsato 0.1 by @kkoyung in https://github.com/servo/servo/pull/45294 - fonts: Remove redundant
hardcoded_font_familiesfor ohos by @RichardTjokroutomo in https://github.com/servo/servo/pull/45296 - webgpu: Reshuffle and split encoder mixins, remove some unused dictionaries in webidl by @sagudev in https://github.com/servo/servo/pull/45298
- script: Enable legacy touch events event handler by @stevennovaryo in https://github.com/servo/servo/pull/45049
- Fix building on RISC-V by @fxzjshm in https://github.com/servo/servo/pull/45285
- net: Do not rasterize SVG images for the same size multiple times by @Narfinger in https://github.com/servo/servo/pull/44805
- layout: tab-size applies to inline elements, not just blocks by @SimonSapin in https://github.com/servo/servo/pull/45309
- devtools: Improvements for
NodeActorby @eerii in https://github.com/servo/servo/pull/45283 - devtools: Split tests into modules per tab by @eerii in https://github.com/servo/servo/pull/45314
- canvas: Fix response panic on closed channel by @shangguanmachine-dot in https://github.com/servo/servo/pull/45310
- script: Introduce
Promise::reject_error_with_cxby @TimvdLippe in https://github.com/servo/servo/pull/45320 - deps: Bump
ml-kemto 0.3 by @kkoyung in https://github.com/servo/servo/pull/45323 - script: Add specs steps to
gamepadfunctions by @shubhamg13 in https://github.com/servo/servo/pull/45299 - servoshell: Forward all mouse motion events to egui by @mrobinson in https://github.com/servo/servo/pull/45290
- webgpu: List and order all
GPUTextureFormatandGPUVertexFormatby @sagudev in https://github.com/servo/servo/pull/45300 - script: Introduce
Promise::{resolve,reject}_native_with_cxby @TimvdLippe in https://github.com/servo/servo/pull/45324 - script: Generate new blob URL per
createObjectURLcall by @yezhizhen in https://github.com/servo/servo/pull/45182 - script: Propagate wake lock type in permission requests (#44235) by @TG199 in https://github.com/servo/servo/pull/45264
- script: Implement muted errors by @Gae24 in https://github.com/servo/servo/pull/43324
- script: Remove all
CanGcusages frommodule_loadingby @TimvdLippe in https://github.com/servo/servo/pull/45328 - ci: Replace underscore args with hyphen in
blink_perf_testby @janeoa in https://github.com/servo/servo/pull/45329 - script: Return rejected promises from CredentialsContainer methods by @kunalmohan in https://github.com/servo/servo/pull/45319
- layout: Lazily build
BuilderForBoxFragmentfor clip paths andBuilderForBoxFragment::border_radiusby @SimonSapin in https://github.com/servo/servo/pull/45335 - Upgrade Gradle to the latest 8.x version by @veyndan in https://github.com/servo/servo/pull/45326
- script: Remove all
CanGcusages frombluetoothby @TimvdLippe in https://github.com/servo/servo/pull/45340 - Upgrade Android Gradle Plugin to the latest 8.x version by @veyndan in https://github.com/servo/servo/pull/45349
- android: remove unused app name string by @veyndan in https://github.com/servo/servo/pull/45352
- android: stop hardcoding the app name in manifest by @veyndan in https://github.com/servo/servo/pull/45351
- android: rely on default source set config for app by @veyndan in https://github.com/servo/servo/pull/45355
- webdriver: Fix race condition in synchronous script execution with Promise by @yezhizhen in https://github.com/servo/servo/pull/45330
- docs: Update dead book links by @lumiscosity in https://github.com/servo/servo/pull/45356
- tests: Enable ServiceWorker in
domtests by @lumiscosity in https://github.com/servo/servo/pull/45353 - devtools: Avoid panics when borrowing in
ActorRegistryby @eerii in https://github.com/servo/servo/pull/45248 - devtools: Switch custom test runner to pytest by @eerii in https://github.com/servo/servo/pull/45327
- webdriver: Fix race condition in asynchronous script execution by @yezhizhen in https://github.com/servo/servo/pull/45374
- devtools: Redesign Debugger vlaue to use deserialization by @atbrakhi in https://github.com/servo/servo/pull/45379
- layout: Fix resolution of percentage shape-radius argument of
circle()by @Loirooriol in https://github.com/servo/servo/pull/45373 - deps: Bump
hkdf,sha1,sha2anddigestby @kkoyung in https://github.com/servo/servo/pull/45377 - script: Remove all
CanGcparameters fromaudio/by @TimvdLippe in https://github.com/servo/servo/pull/45381 - media: Add required feature to servo-media-derive by @jschwe in https://github.com/servo/servo/pull/45388
- script: Using
Fallible<ImportMap>instead ofScriptOrigininScriptenum by @SteveSharonSam in https://github.com/servo/servo/pull/45389 - android: localise git ignoring of
.gradleby @veyndan in https://github.com/servo/servo/pull/45386 - script: Pass
CurrentRealmtothrow_security_errorby @TimvdLippe in https://github.com/servo/servo/pull/45385 - script: Re-initialize fulfilled
document.fonts.readywhen a web font starts loading by @mrobinson in https://github.com/servo/servo/pull/45382 - android: upgrade Gradle to the latest version by @veyndan in https://github.com/servo/servo/pull/45387
- android: remove redundant disablement of density splits by @veyndan in https://github.com/servo/servo/pull/45391
- android: remove redundant disablement of abi splits by @veyndan in https://github.com/servo/servo/pull/45397
- canvas: Make canvas messaging clearer with
CanvasMsg = (CanvasId, CanvasCommand)by @sagudev in https://github.com/servo/servo/pull/45407 - Select Dialog: add show
<select>element function for OHOS/Android by @BudiArb in https://github.com/servo/servo/pull/45372 - Implement loop count for animated image by @rayguo17 in https://github.com/servo/servo/pull/42397
- script: Migrate more usages to
reject_error_with_cxby @TimvdLippe in https://github.com/servo/servo/pull/45410 - layout: Do not propagate damage into clean subtrees by @mrobinson in https://github.com/servo/servo/pull/45411
- layout: Split
SameFormattingContextBlockinto its own struct by @mrobinson in https://github.com/servo/servo/pull/45371 - fonts: Support
font-feature-settingsin@font-facerule descriptor by @simonwuelker in https://github.com/servo/servo/pull/45393 - script: Drop pending image-cache callbacks by @jschwe in https://github.com/servo/servo/pull/45414
- layout: Unify
RestyleDamageintoLayoutDamageby @mrobinson in https://github.com/servo/servo/pull/45412 - script: Migrate more callers of
throw_dom_exceptionto&mut JSContextby @TimvdLippe in https://github.com/servo/servo/pull/45392 - layout: Have
NodeExt::with_layout_box_base_including_pseudostakeFnMutby @mrobinson in https://github.com/servo/servo/pull/45413 - stylo: Respond to changes in
animation-delayby @yezhizhen in https://github.com/servo/servo/pull/45013 - layout: Move logic to set TreeChange for a node into AccessibilityUpdate by @alice in https://github.com/servo/servo/pull/45415
- layout: do not union ICB when calculating scrollable overflow of Fragment Tree. by @rayguo17 in https://github.com/servo/servo/pull/45360
- script: Pass
&mut JSContexttoCondition::Funcby @TimvdLippe in https://github.com/servo/servo/pull/45409 - script: Prevent input type mutation logic from running when type didn't change by @steigeo in https://github.com/servo/servo/pull/45416
- servoshell: fix selection of options in multiple select by @alexcat3 in https://github.com/servo/servo/pull/45419
- config: Skip preference update without changes by @chrisduerr in https://github.com/servo/servo/pull/45357
- script: Resolve
FontFaceSet.loadpromise afterdocument.fonts.readyby @mrobinson in https://github.com/servo/servo/pull/45390 - webgpu: Support "core" stuff and other
GPURequestAdapterOptionsby @sagudev in https://github.com/servo/servo/pull/45424 - script: replace Castable:downcast::().is_some() with Castable:is::() by @BryanSmith00 in https://github.com/servo/servo/pull/45428
- script: Make
URL.revokeObjectURLwork for sandboxed iframe by @yezhizhen in https://github.com/servo/servo/pull/45417 - android: remove product flavor as only one by @veyndan in https://github.com/servo/servo/pull/45426
- script: implement the pointer capture API by @webbeef in https://github.com/servo/servo/pull/45048
- script: Use safe variants of
jsstr_to_stringandlatin1_to_stringby @Gae24 in https://github.com/servo/servo/pull/45230 - script: return
ErrifJS_SetPrototypefailed by @Gae24 in https://github.com/servo/servo/pull/45434 - layout: Require
AccessibilityUpdateto remove nodes fromAccessibilityTreeby @alice in https://github.com/servo/servo/pull/45408 - devtools: Keep
ArrayLikepreview for nested arrays by @atbrakhi in https://github.com/servo/servo/pull/45435 - android: upgrade Android Gradle Plugin to latest version by @veyndan in https://github.com/servo/servo/pull/45437
- script: Complete porting
CustomElementRegistryMethodsto&mut JSContextby @Gae24 in https://github.com/servo/servo/pull/45436 - android: move Gradle blocks to correct scope by @veyndan in https://github.com/servo/servo/pull/45439
- Update rand crates by @atouchet in https://github.com/servo/servo/pull/45443
- android: remove explicit disablement of incremental compilation by @veyndan in https://github.com/servo/servo/pull/45447
- android: remove
proguard-rules.proas it is empty by @veyndan in https://github.com/servo/servo/pull/45450 - android: opt in to optimized R8 config by @veyndan in https://github.com/servo/servo/pull/45451
- wpt(pointerevents): Fix intermittency from touch-generated compatibility mouse event in
pointerevent_setpointercapture_pointerup_touch.htmlby @yezhizhen in https://github.com/servo/servo/pull/45446 - servoshell: Support dragging files on the window to open them by @simonwuelker in https://github.com/servo/servo/pull/45454
- script: Add
TreeOrderedIndexMapto manageidandnamemappings by @mrobinson in https://github.com/servo/servo/pull/45432 - script: expose static attributes of webidl namespace to javascript by @niyabits in https://github.com/servo/servo/pull/45378
- Fix canvas memory growth by reporting 2D canvas native backing memory to SM by @Taym95 in https://github.com/servo/servo/pull/45455
- script: Properly unregister moved elements from
nameandidmaps during moveBefore by @mrobinson in https://github.com/servo/servo/pull/45433 - libservo: Expand documentation for
WebViewmethods. by @mukilan in https://github.com/servo/servo/pull/45467 - script: Clone indeterminate state in input-element specific clone steps. by @skyz1 in https://github.com/servo/servo/pull/45471
- script: Deduplicate JS property retrieval with get_property helpers by @Gae24 in https://github.com/servo/servo/pull/45472
- layout: Optimize BoxFragment for size by @SimonSapin in https://github.com/servo/servo/pull/45183
- script: Align gamepad functions with spec by in-lining the steps by @shubhamg13 in https://github.com/servo/servo/pull/45358
- script: Move MutNullableDom to script_bindings by @Narfinger in https://github.com/servo/servo/pull/45312
- devtools: Set the selected tab correctly by @eerii in https://github.com/servo/servo/pull/45475
- Unskip many css-break tests by @Psychpsyo in https://github.com/servo/servo/pull/45494
- ci: remove unused script by @veyndan in https://github.com/servo/servo/pull/45493
- layout: Don't normalize radii for
clip-pathshapes by @Loirooriol in https://github.com/servo/servo/pull/45468 - script: Stub gamepad permission logic by @shubhamg13 in https://github.com/servo/servo/pull/45498
- canvas: Batch
Canvas2dMsg; base: AddGenericBufferedSenderby @yezhizhen in https://github.com/servo/servo/pull/45301 - layout: Refactor damage propagation traversal by @mrobinson in https://github.com/servo/servo/pull/45420
- libservo: Remove unused
WebView::send_errorAPI. by @mukilan in https://github.com/servo/servo/pull/45502 - webgpu: Fix potential UaF in GPUBuffer by @jschwe in https://github.com/servo/servo/pull/45484
- script: Switch some places to use
FromJSValConvertibleby @Gae24 in https://github.com/servo/servo/pull/45503 - script: Allow
AttributeProviderto match case-insensitively in HTML by @Loirooriol in https://github.com/servo/servo/pull/45495 - fonts: Compute used font features before querying shape cache by @simonwuelker in https://github.com/servo/servo/pull/45496
- layout: Add an integrity check for AccessibilityData::rooted_nodes. by @alice in https://github.com/servo/servo/pull/45205
- layout: Remove unnecessary clone for get_lang_for_layout by @Narfinger in https://github.com/servo/servo/pull/45506
- devtools: Fix crash caused by anonymous debugger frame by @atbrakhi in https://github.com/servo/servo/pull/45513
- script_bindings: Move more part of constructor generated into non-generated by @Narfinger in https://github.com/servo/servo/pull/44985
- fonts: Measure time spent in text shaping with "servo_tracing" by @simonwuelker in https://github.com/servo/servo/pull/45497
- Revert webgl1/webgl2 rendering context reflector merge by @jdm in https://github.com/servo/servo/pull/45515
- script: ensure that theme changes trigger related media query events by @webbeef in https://github.com/servo/servo/pull/45222
- servoshell: Add zealous-gc CLI option by @Mark-Boger in https://github.com/servo/servo/pull/45486
- layout: Avoid unnecessary borrows while updating the accessibility tree. by @alice in https://github.com/servo/servo/pull/45508
- escape file names in directory listing script block by @sahvx655-wq in https://github.com/servo/servo/pull/45510
- paint/servoshell: Optimize resizing so that it is free of tearing and drift by @mrobinson in https://github.com/servo/servo/pull/45456
- script: Stub out core interfaces of the Web Animation API by @simonwuelker in https://github.com/servo/servo/pull/45522
- Upgrade Stylo to 2026-06-01 by @Loirooriol in https://github.com/servo/servo/pull/45421
- webgl: Replace macro with generic function. by @jdm in https://github.com/servo/servo/pull/45519
- android: remove erroneous versioning of servoview by @veyndan in https://github.com/servo/servo/pull/45523
- mach: Add
--update-expectationsflag totest-wptby @TimvdLippe in https://github.com/servo/servo/pull/45521 - tools: Remove the
fake-ld.shscripts by @mrobinson in https://github.com/servo/servo/pull/45540 - tools: Remove
support/android/toolchain.cmakeby @mrobinson in https://github.com/servo/servo/pull/45543 - devtools: Fix
thisby @atbrakhi in https://github.com/servo/servo/pull/45517 - tools: Move
Brewfiletopython/servo/platformby @mrobinson in https://github.com/servo/servo/pull/45541 - servoshell: Add a horizontal scroll area for tabs by @Nylme in https://github.com/servo/servo/pull/44884
- devtools: Run tests in parallel by @eerii in https://github.com/servo/servo/pull/45336
- devtools: Implement initial support for
Mappreview by @atbrakhi in https://github.com/servo/servo/pull/45514 - layout: Rename
Fragment::AbsoluteOrFixedPositionedtoFragment::AbsoluteOrFixedPositionedPlaceholderby @mrobinson in https://github.com/servo/servo/pull/45545 - script: Correctly submit the directionality of form elements. by @skyz1 in https://github.com/servo/servo/pull/45483
- devtools: Report exceptions from evaluated JS. by @jdm in https://github.com/servo/servo/pull/45549
- layout: Reuse damage propagation code above the dirty root by @mrobinson in https://github.com/servo/servo/pull/45546
- image_cache: Do not force sync decode by @Narfinger in https://github.com/servo/servo/pull/45542
- webgl: Replace macro with inline code by @adamsharifc in https://github.com/servo/servo/pull/45551
- script: JSContextify most of webgpu by @Narfinger in https://github.com/servo/servo/pull/45552
- Refactor common code in Accessibility tests. by @alice in https://github.com/servo/servo/pull/45555
- migrate reject error to reject error with cx by @MrSheerluck in https://github.com/servo/servo/pull/45557
- servo_capi: Introduce
servo_capicrate to expose a C API for Servo. by @mukilan in https://github.com/servo/servo/pull/44984 - layout: Split accessibility tree update functions. by @alice in https://github.com/servo/servo/pull/45553
- tools: Remove
etc/jsdefineby @mrobinson in https://github.com/servo/servo/pull/45576 - android: Ensure that the entire Android build happens in the same target directory by @mrobinson in https://github.com/servo/servo/pull/45544
- tools: Remove
etc/crates-graph.pyby @mrobinson in https://github.com/servo/servo/pull/45573 - ci: Make try-label job pass 'capi' input to dispatch-workflow by @mukilan in https://github.com/servo/servo/pull/45580
- tools: Remove the
layout_viewerby @mrobinson in https://github.com/servo/servo/pull/45574 - config: Add
dom_canvas_msg_buffer_sizepref by @yezhizhen in https://github.com/servo/servo/pull/45547 - bluetooth: Inline return_if_cached macro by @adamsharifc in https://github.com/servo/servo/pull/45581
- layout: Add initial support for layout roots by @mrobinson in https://github.com/servo/servo/pull/45560
- libservo: Fix accessibility unit test warnings by @Narfinger in https://github.com/servo/servo/pull/45587
- bluetooth: Replace
get_inner_and_call_test_funcmacro by @MrSheerluck in https://github.com/servo/servo/pull/45558 - script: Use byte streams for Fetch BodyInit extraction by @Taym95 in https://github.com/servo/servo/pull/45589
- script: Replace SafeFromJSValConvertible with FromJSValConvertible by @Keerti707 in https://github.com/servo/servo/pull/45548
- script: JSContextify Promise.reject_error in RTCPeerConnection and HTMLImageElement by @Narfinger in https://github.com/servo/servo/pull/45590
- Expose is_servo_internal for gc outside about scope by @janeoa in https://github.com/servo/servo/pull/45032
- script: Remove the final instance of Window::get_cx and clean up unused code in
window.rsby @Gae24 in https://github.com/servo/servo/pull/45592 - webgpu: Implement GPUDebugCommandsMixin by @jschwe in https://github.com/servo/servo/pull/45489
- layout: Track local damage in accessibility explicitly. by @alice in https://github.com/servo/servo/pull/45554
- android: Remove magic
android-toolchainsdirectory handling by @veyndan in https://github.com/servo/servo/pull/45520 - script_bindings: Move CGDOMJSProxyHandler_own{Enumerable}Propertykeys into script_bindings by @Narfinger in https://github.com/servo/servo/pull/45203
- script: Expose
PerformanceResourceTimingtoPerformanceNavigationTimingby @shubhamg13 in https://github.com/servo/servo/pull/44453 - webdriver: Add support for the 'pen' touch subtype by @webbeef in https://github.com/servo/servo/pull/45465
- deps: Bump
randto 0.10 by @kkoyung in https://github.com/servo/servo/pull/45601 - Wrap NavigationTiming Attributes in struct by @shubhamg13 in https://github.com/servo/servo/pull/45600
- deps: Remove
module-latticefromCargo.tomlby @kkoyung in https://github.com/servo/servo/pull/45602 - script: Pass
&mut JSContexttoHTMLMediaElementand fullscreen by @TimvdLippe in https://github.com/servo/servo/pull/45604 - ci: Make try job pass 'capi' input to dispatch-workflow by @shubhamg13 in https://github.com/servo/servo/pull/45608
- layout: Add a crash test for #40730 by @mrobinson in https://github.com/servo/servo/pull/45611
- servoshell: Use Window.current_monitor() in HeadedWindow.set_fullscreen to show fullscreen on current window by @rhit-kapilaar in https://github.com/servo/servo/pull/45556
- deps: Upgrade to WebRender
0.69by @Loirooriol in https://github.com/servo/servo/pull/45610 - Upgrade to Taffy v0.11.0 by @nicoburns in https://github.com/servo/servo/pull/45613
- script: Pass
&mut JSContextto readablestream by @TimvdLippe in https://github.com/servo/servo/pull/45616 - script: Pass
&mut JSContexttoWritableStreamDefaultWriterby @TimvdLippe in https://github.com/servo/servo/pull/45618 - android: Set all SDK requirements to be the same and update README by @mrobinson in https://github.com/servo/servo/pull/45605
- script: set introductionType for event handler compile options by @Deepam02 in https://github.com/servo/servo/pull/44836
- script: Make
SupportedPropertyNamesNoGCby @Gae24 in https://github.com/servo/servo/pull/45617 - mach: Add information about Try Strings by @shubhamg13 in https://github.com/servo/servo/pull/45607
- script: add error message to BroadcastChannel by @kimjune01 in https://github.com/servo/servo/pull/45625
- script: Fix --unminify-js failing for URLs with query strings on Windows by @TusharSariya in https://github.com/servo/servo/pull/43663
- ci: Run devtools tests in CI by @eerii in https://github.com/servo/servo/pull/45579
- script: Split node.rs into multiple modules by @Narfinger in https://github.com/servo/servo/pull/45583
- script: Pass
&mut JSContexttoPromise::new_rejectedby @TimvdLippe in https://github.com/servo/servo/pull/45627 - script: Move SVG cache invalidation so it works on subtree mutation by @steigeo in https://github.com/servo/servo/pull/45422
- android: Write module
builddirectories inside module by @veyndan in https://github.com/servo/servo/pull/45626 - Bump
rsato 0.10.0-rc.18 by @kkoyung in https://github.com/servo/servo/pull/45631 - deps: Update mozjs_sys to v140.11 by @jschwe in https://github.com/servo/servo/pull/45584
- geometry: Limit the size of
MaxRectsent to WebRender by @mrobinson in https://github.com/servo/servo/pull/45622 - deps: upgrade surfman to 0.13.0 by @mukilan in https://github.com/servo/servo/pull/45599
- ci: Handle token expiry in crates.io publish by exiting early by @jschwe in https://github.com/servo/servo/pull/45633
- android: Convert
HistoryEntryto Kotlin by @veyndan in https://github.com/servo/servo/pull/45641 - layout: Adjust corner radii for inset box shadows by @Loirooriol in https://github.com/servo/servo/pull/45620
- script: pass
&mut JSContexttoResponse.headersby @ivomurrell in https://github.com/servo/servo/pull/45645 - android: Remove redundant
nullcheck by @veyndan in https://github.com/servo/servo/pull/45648 - script: Pass
&mut JSContextto XR by @TimvdLippe in https://github.com/servo/servo/pull/45636 - android: Remove needless usage of
synchronizedby @veyndan in https://github.com/servo/servo/pull/45647 - script: Use out-parameters for IDL methods returning JS objects by @simonwuelker in https://github.com/servo/servo/pull/45652
- Cargo.toml cleanup by @atouchet in https://github.com/servo/servo/pull/45656
- android: Convert
HistoryItems to Kotlin by @veyndan in https://github.com/servo/servo/pull/45643 - android: Convert
HistoryActivityto Kotlin by @veyndan in https://github.com/servo/servo/pull/45650 - webgpu: Implement basic form of
copyExternalImageToTextureby @sagudev in https://github.com/servo/servo/pull/45646 - deps: Bump
pkcs8to 0.11 by @kkoyung in https://github.com/servo/servo/pull/45658 - script: Add missing steps of importKey operation of ML-DSA by @kkoyung in https://github.com/servo/servo/pull/45660
- script: Pass
&mut JSContexttoto_frozen_arrayby @TimvdLippe in https://github.com/servo/servo/pull/45662 - layout: Normalize the input to euclid's rotation function when creating reference frames by @mrobinson in https://github.com/servo/servo/pull/45634
- script: Pass
&mut JSContexttoPromise::reject_errorby @TimvdLippe in https://github.com/servo/servo/pull/45663 - tests: Unskip
entries-apiby @yezhizhen in https://github.com/servo/servo/pull/45654 - ci: Track RAM usage in scenarios tests on host by @janeoa in https://github.com/servo/servo/pull/45338
- android: Convert
HistoryAdapterto Kotlin by @veyndan in https://github.com/servo/servo/pull/45665 - generic channel: Add
send_warn/send_ignorehelpers by @jschwe in https://github.com/servo/servo/pull/45311 - android: Convert
HistoryManagerto Kotlin by @veyndan in https://github.com/servo/servo/pull/45671 - script: Configure
cxcontext for allHTMLElementinterface bindings by @ivomurrell in https://github.com/servo/servo/pull/45673 - android: Convert
SettingsActivityto Kotlin by @veyndan in https://github.com/servo/servo/pull/45676 - webgl: Gracefully handle missing
PainterSurfmanDetailsby @mrobinson in https://github.com/servo/servo/pull/45672 - script: Pass
&mut JSContexttoErrorToJsvalby @TimvdLippe in https://github.com/servo/servo/pull/45674 - script: Use import for
JSContextin Document by @TimvdLippe in https://github.com/servo/servo/pull/45675 - script: Pass
&mut JSContexttoset_databy @TimvdLippe in https://github.com/servo/servo/pull/45677 - script: Retarget
elementFromPointandelementsFromPointusing retargeting algorithm by @mrobinson in https://github.com/servo/servo/pull/45612 - android: Convert
HistoryFragmentto Kotlin by @veyndan in https://github.com/servo/servo/pull/45679 - script: Propagate crown::unrooted_must_root through WebGPU buffer types by @nodelpit in https://github.com/servo/servo/pull/44687
- script: Fix crash when input type changes during activation by @Taym95 in https://github.com/servo/servo/pull/45619
- android: Convert
SettingsFragmentto Kotlin by @veyndan in https://github.com/servo/servo/pull/45683 - android: Stop passing
Activityinstance toMediaSessionby @veyndan in https://github.com/servo/servo/pull/45686 - script: Clean up unused code in
htmlscriptelement.rsby @Gae24 in https://github.com/servo/servo/pull/45688 - android: Remove duplicate toolbar by @veyndan in https://github.com/servo/servo/pull/45689
- script: Pass
&mut JSContexttothrow_dom_exceptionby @TimvdLippe in https://github.com/servo/servo/pull/45678 - script: Flush layout changes before running intersection observer updates. by @jdm in https://github.com/servo/servo/pull/45655
- script: Check if intersection observer target is in containing block chain of root. by @jdm in https://github.com/servo/servo/pull/45659
- deps: Bump chach20poly1305 to 0.11.0-rc.3 by @kkoyung in https://github.com/servo/servo/pull/45698
- script: Implement KanagrooTwelve algorithm in WebCrypto API by @kkoyung in https://github.com/servo/servo/pull/45699
- script: Be more conservative about reporting isIntersecting below the initial threshold. by @jdm in https://github.com/servo/servo/pull/45680
- servoshell: Avoid panic in Bluetoth device picker with no devices. by @mukilan in https://github.com/servo/servo/pull/45702
- stylo: Use f64 everywhere in animation logic by @Loirooriol in https://github.com/servo/servo/pull/45682
- layout: implement pointer and hover media features by @nicoburns in https://github.com/servo/servo/pull/45681
- script: Ensure DocumentTimeline value is rooted while Document is constructed by @jdm in https://github.com/servo/servo/pull/45708
- script: Only restrict input length when minlength and maxlength apply by @skyz1 in https://github.com/servo/servo/pull/45705
- script: more
&mut JSContextinscript_runtime.rsby @Gae24 in https://github.com/servo/servo/pull/45711 - android: Remove unused code by @veyndan in https://github.com/servo/servo/pull/45712
- fonts: Move some methods from FontContextMethods to FontContext by @simonwuelker in https://github.com/servo/servo/pull/45710
- android: Restrict visibility of Java symbols by @veyndan in https://github.com/servo/servo/pull/45713
- android: Remove unused
GStreamerclass by @veyndan in https://github.com/servo/servo/pull/45714 - fonts: Don't store font face rule source location in FontTemplate by @simonwuelker in https://github.com/servo/servo/pull/45716
- deps: Bump AES dependencies by @kkoyung in https://github.com/servo/servo/pull/45725
- net: Add missing ports to the bad port list by @sahvx655-wq in https://github.com/servo/servo/pull/45704
- script: Use unrooted iterators for HTMLCollections by @Narfinger in https://github.com/servo/servo/pull/45582
- deps: Bump argon2 to 0.6.0-rc.8 by @kkoyung in https://github.com/servo/servo/pull/45727
- webgpu: Implement proper support for
QuerySetby @sagudev in https://github.com/servo/servo/pull/45644 - SharedWorker: Implement SharedWorker constructor reuse by @Taym95 in https://github.com/servo/servo/pull/45088
- layout: Add support for fragment tree layout from layout roots by @mrobinson in https://github.com/servo/servo/pull/45561
- layout: Make the implementation of used
TransformStylemore complete by @mrobinson in https://github.com/servo/servo/pull/45629 - script: Introduce
dom_entries_api_enabled& dummyFile.webkitRelativePathimpl by @yezhizhen in https://github.com/servo/servo/pull/45666 - android: Convert
MediaSessionto Kotlin by @veyndan in https://github.com/servo/servo/pull/45734 - script: Remove
temp_cxfromsettings_stackby @TimvdLippe in https://github.com/servo/servo/pull/45684 - script: Pass
&mut JSContexttoPointerEvent::newby @TimvdLippe in https://github.com/servo/servo/pull/45735 - script: Move Geometry interfaces into
geometry/by @TimvdLippe in https://github.com/servo/servo/pull/45736 - script: Move Range interfaces into
range/by @TimvdLippe in https://github.com/servo/servo/pull/45737 - script: Generate NotCancelable wheel events when there are no non-passive listeners by @kunalmohan in https://github.com/servo/servo/pull/45667
- mach: Fix ARM64 windows build using
mach.batby @saschanaz in https://github.com/servo/servo/pull/45731 - android: Convert
MainActivityto Kotlin by @veyndan in https://github.com/servo/servo/pull/45738 - net: Correctly emit
filename*=UTF-8''in blob responseContent-Dispositionheader by @yezhizhen in https://github.com/servo/servo/pull/45709 - layout: Give standard phasing to text decorations by @mrobinson in https://github.com/servo/servo/pull/45726
- script: Actually convert to device pixels for
ResizeObserver.devicePixelContentBoxSizeby @jschwe in https://github.com/servo/servo/pull/45706 - devtools: Fix console exception test being flaky by @eerii in https://github.com/servo/servo/pull/45753
- layout: Update hidden styles based on rendering section of HTML specification by @mrobinson in https://github.com/servo/servo/pull/45750
- script: Do not skip unfocusable elements when targeting
clickevents by @mrobinson in https://github.com/servo/servo/pull/45751 - servoshell: Make tabs not scrollable on OpenHarmony by @jschwe in https://github.com/servo/servo/pull/45754
- script: Use children_unrooted in node insert by @Narfinger in https://github.com/servo/servo/pull/45760
- Bump mozjs ESR to 140.12 by @jschwe in https://github.com/servo/servo/pull/45766
- android: Bump compile SDK to 37 by @veyndan in https://github.com/servo/servo/pull/45739
- script: Refactor IDBDatabase to require a list of object store names on initialization by @skyz1 in https://github.com/servo/servo/pull/45588
- devtools: Implement
Mapin console by @atbrakhi in https://github.com/servo/servo/pull/45767 - script: Trigger restyle when attribute referenced by
attr()changes by @Loirooriol in https://github.com/servo/servo/pull/45752 - net: Improve Fetch compliance with blob scheme by @yezhizhen in https://github.com/servo/servo/pull/45770
- servoshell: Defaulting to a scheme with urls which specify a port by @SteveSharonSam in https://github.com/servo/servo/pull/45729
- fonts: Always synthesize variations from font-weight/font-stretch by @simonwuelker in https://github.com/servo/servo/pull/45768
- layout: reduce redundant atomic style borrows (4% faster layout) by @SimonSapin in https://github.com/servo/servo/pull/45511
- script: Define
is scopedforCustomElementRegistryby @shubhamg13 in https://github.com/servo/servo/pull/45550 - Fix SharedWorker partitioned reuse by @Taym95 in https://github.com/servo/servo/pull/45741
- constellation/script: Use GenericCallback instead of ipc for broadcasts by @Narfinger in https://github.com/servo/servo/pull/45782
- devtools: Handle previewer failure in
getPreviewby @atbrakhi in https://github.com/servo/servo/pull/45785 - script: Make
CryptoKey::usagesreturn reference of internal value by @kkoyung in https://github.com/servo/servo/pull/45783 - devtools: Remove
completionTypefromEvalResultby @atbrakhi in https://github.com/servo/servo/pull/45787 - script: Run insert validations steps separately when inserting from the parser by @mrobinson in https://github.com/servo/servo/pull/45765
- script: Expose
constructor()on CustomElementRegistry by @shubhamg13 in https://github.com/servo/servo/pull/45791 - script: Replace remaining
from_contextcalls withfrom_current_realmby @Gae24 in https://github.com/servo/servo/pull/45797 - layout: Allow tuning Servo parallelism for both wide and deep trees by @mrobinson in https://github.com/servo/servo/pull/45593
- script: More resiliently handle out of order removal / access of
TreeOrderedIndexMapby @mrobinson in https://github.com/servo/servo/pull/45799 - script: Pass
&mut JSContexttoWindow::CustomElementsby @Gae24 in https://github.com/servo/servo/pull/45800 - deps: Bump x25519-dalek to 3.0.0-rc.1 by @kkoyung in https://github.com/servo/servo/pull/45806
- script: Remove final usages of
CanGcindocument_event_handlerby @TimvdLippe in https://github.com/servo/servo/pull/45807 - servoshell: Add
layout_css_attr_enabledas an experimental pref by @Loirooriol in https://github.com/servo/servo/pull/45041 - script: Remove final
CanGcusages from Range by @TimvdLippe in https://github.com/servo/servo/pull/45810 - script: Move fetch interfaces into fetch/ by @TimvdLippe in https://github.com/servo/servo/pull/45813
- script: Implement some of the dialog focusing steps by @skyz1 in https://github.com/servo/servo/pull/45761
- script: Move TreeWalker and VirtualMethods to node/ by @TimvdLippe in https://github.com/servo/servo/pull/45811
- script: Pass
&mut JSContextto specific event classes used in document by @TimvdLippe in https://github.com/servo/servo/pull/45816 - deps: Bump elliptic-curve dependencies by @kkoyung in https://github.com/servo/servo/pull/45819
- script: Pass
&mut JSContexttoreject_nativeby @TimvdLippe in https://github.com/servo/servo/pull/45818 - script: Move navigator interfaces into navigator/ by @TimvdLippe in https://github.com/servo/servo/pull/45812
- script: introduce
fill_compile_optionsby @Gae24 in https://github.com/servo/servo/pull/45815 - script: Remove
CanGCfrom DOM Events by @skyz1 in https://github.com/servo/servo/pull/45817 - devtools: Handle
uninitializeddebuggee value by @atbrakhi in https://github.com/servo/servo/pull/45824 - script: Remove
CanGcfrom IndexedDB by @skyz1 in https://github.com/servo/servo/pull/45822 - script: Remove
reject_{native,error}_with_cxby @TimvdLippe in https://github.com/servo/servo/pull/45828 - script: fix errors not being propagated to worker objects by @Gae24 in https://github.com/servo/servo/pull/45829
- script: Move XMLHttprequest interfaces into xmlhttprequest/ by @TimvdLippe in https://github.com/servo/servo/pull/45831
- script: Call digest operation from ECDSA operations by @kkoyung in https://github.com/servo/servo/pull/45833
- script: Move
ServiceWorkerinterfaces into serviceworker/ by @TimvdLippe in https://github.com/servo/servo/pull/45830 - script: Pass
&mut JSContexttoWebGLExtension::Newby @TimvdLippe in https://github.com/servo/servo/pull/45838 - script: Remove
Promise::reject_with_cxby @TimvdLippe in https://github.com/servo/servo/pull/45836 - script: Pass
&mut JSContexttoDOMException::newby @TimvdLippe in https://github.com/servo/servo/pull/45837 - script: Pass
&mut JSContexttoPromise::new_resolvedby @TimvdLippe in https://github.com/servo/servo/pull/45840 - script: Move individual files to respective subfolders by @TimvdLippe in https://github.com/servo/servo/pull/45839
- script: Remove
Promise::new2by @TimvdLippe in https://github.com/servo/servo/pull/45841 - script: Move worklet interfaces into worklet/ by @TimvdLippe in https://github.com/servo/servo/pull/45842
- script: Move window interfaces into window/ by @TimvdLippe in https://github.com/servo/servo/pull/45843
- SharedWorker: Enable SharedWorker and update WPT coverage by @Taym95 in https://github.com/servo/servo/pull/45786
- servoshell: enabling loading of servo: URLs from command line and location bar by @SteveSharonSam in https://github.com/servo/servo/pull/45832
- script: Move globalscope interfaces into globalscope/ by @TimvdLippe in https://github.com/servo/servo/pull/45844
- script: Move characterdata interfaces into characterdata/ by @TimvdLippe in https://github.com/servo/servo/pull/45854
- script: Move CanGc to &mut JSContext for DOMMatrix and DOMMatrixReadOnly by @guptapiyush16 in https://github.com/servo/servo/pull/45845
- layout: Add support for CSS gradient color interpolation method by @mrobinson in https://github.com/servo/servo/pull/43945
- script: Pass
&mut JSContexttoset_promise_is_handledby @TimvdLippe in https://github.com/servo/servo/pull/45857 - script: Pass
&mut JSContexttoPromise::resolve_nativeby @TimvdLippe in https://github.com/servo/servo/pull/45859 - script: Pass
&mut JSContexttoenqueue_callback_reactionby @Gae24 in https://github.com/servo/servo/pull/45858 - script: Implement
Blob.textStreamby @yezhizhen in https://github.com/servo/servo/pull/45861 - script: Move interfaces into smaller subfolders by @TimvdLippe in https://github.com/servo/servo/pull/45856
- script: Remove
Promise::new_in_current_realmby @TimvdLippe in https://github.com/servo/servo/pull/45862 - script: Use ed25519-dalek for Ed25519 support in WebCrypto API by @kkoyung in https://github.com/servo/servo/pull/45874
- script: Remove
Promise::resolve{_native}_with_cxby @TimvdLippe in https://github.com/servo/servo/pull/45875 - script: Remove
CanGcindom/canvasby @skyz1 in https://github.com/servo/servo/pull/45876 - script: Implement
Request.textStream&Response.textStreamby @yezhizhen in https://github.com/servo/servo/pull/45864 - script: Remove
CanGcfromdom/streamby @skyz1 in https://github.com/servo/servo/pull/45877 - wpt: Enable WebNN WPT and Update Expectations by @shubhamg13 in https://github.com/servo/servo/pull/45879
- media/script: Use GenericChannels for media crate by @Narfinger in https://github.com/servo/servo/pull/45779
- script: Pass rooted UnderlyingSourceContainer to ReadableStreamDefaultController constructor. by @jdm in https://github.com/servo/servo/pull/45850
- media: use GenericCallback for audio/analysermode by @Narfinger in https://github.com/servo/servo/pull/45781
- script: Complete
windowproxy.rsport to&mut JSContextby @Gae24 in https://github.com/servo/servo/pull/45884 - script: Pass
&mut JSContextto Promise creation by @TimvdLippe in https://github.com/servo/servo/pull/45887 - deps: Bump crypto-bigint to 0.7.5 by @jschwe in https://github.com/servo/servo/pull/45889
- freetype: Add missing bounds check before dereferencing by @jschwe in https://github.com/servo/servo/pull/45886
- script: Implement non-fallible pipe
ReadableStreamthroughTransformStreamby @yezhizhen in https://github.com/servo/servo/pull/45885 - script: Mute iframe load events if iframe load event is ongoing. by @jdm in https://github.com/servo/servo/pull/45883
- Add Android SDK to Devcontainer by @darkdragon-001 in https://github.com/servo/servo/pull/45267
- Fix intermittent SharedWorker CSP violation event miss by @Taym95 in https://github.com/servo/servo/pull/45882
- script: Move iframe sandbox attribute parsing before context creation by @cychronex-labs in https://github.com/servo/servo/pull/45880
- script: Ensure newly slotted/unslotted nodes have a full restyle / relayout by @mrobinson in https://github.com/servo/servo/pull/45834
- script: Expose
CustomElementRegistryforDocumentOrShadowRootby @shubhamg13 in https://github.com/servo/servo/pull/45872 - script: Move dom/gamepad to jscontext by @Narfinger in https://github.com/servo/servo/pull/45909
- constellation: Update pipeline correctly when traversing session history by @yezhizhen in https://github.com/servo/servo/pull/45847
- script: JSContextify DOMStringMap and dom/performance by @Narfinger in https://github.com/servo/servo/pull/45912
- script: Use
CurrentRealminstead ofInRealmfor promise creation by @TimvdLippe in https://github.com/servo/servo/pull/45900 - script: Harden javascript: URL evaluation. by @jdm in https://github.com/servo/servo/pull/45913
- wpt: Add event handler wrapper for async test. by @jdm in https://github.com/servo/servo/pull/45916
- fonts: Simplify logic around
@font-facedescriptors by @Loirooriol in https://github.com/servo/servo/pull/45821 - release: Fix partial nightly releases on failures by @jschwe in https://github.com/servo/servo/pull/45910
- net: Image Cache: Spawn setting image keys on thread pool by @Narfinger in https://github.com/servo/servo/pull/44483
- script: Move some pipeline-specific members from Window to Document by @jdm in https://github.com/servo/servo/pull/45918
- android: Convert history list to Compose UI by @veyndan in https://github.com/servo/servo/pull/45923
- script: Remove most
CanGcfromdom/webglby @skyz1 in https://github.com/servo/servo/pull/45891 - android: Convert history empty state to Compose UI by @veyndan in https://github.com/servo/servo/pull/45932
- stylo: add aspect-ratio media feature by @jschwe in https://github.com/servo/servo/pull/45490
- script: Do not clear the
WindowProxywhen exiting a pipeline by @mrobinson in https://github.com/servo/servo/pull/45788 - script: Pass
&mut JSContexttosafe_to_jsvalby @TimvdLippe in https://github.com/servo/servo/pull/45931 - script: Return a truely empty stream for
Request.textStream()&Response.textStream()with empty body by @yezhizhen in https://github.com/servo/servo/pull/45936 - script: migrate some of the remaining usages of
wrapperstowrappers2by @Gae24 in https://github.com/servo/servo/pull/45937 - script: Restore focus when closing dialogs by @skyz1 in https://github.com/servo/servo/pull/45825
- script: JSContextify dom/geolocation by @Narfinger in https://github.com/servo/servo/pull/45943
- script: Expose
initializemethod ofCustomElementRegistry; Reduce unnecessary rooting in all variants offn set_custom_element_registryby @shubhamg13 in https://github.com/servo/servo/pull/45903 - script_bindings: more
&mut JSContextand safe handles inproxyhandler.rsby @Gae24 in https://github.com/servo/servo/pull/45902 - android: Convert history body to Compose UI by @veyndan in https://github.com/servo/servo/pull/45941
- script: Fix
new Response()construction by @yezhizhen in https://github.com/servo/servo/pull/45953 - script: Replace usages of
enter_realmwithenter_auto_realmby @TimvdLippe in https://github.com/servo/servo/pull/45964 - script: Do not copy CharacterData to string by @Narfinger in https://github.com/servo/servo/pull/45969
- pixels: Do not copy the rgba buffer needlesly by @Narfinger in https://github.com/servo/servo/pull/45940
- layout: Add
id_to_opaque_nodemap in AccessibilityTree. by @alice in https://github.com/servo/servo/pull/45970 - deps: Bump elliptic-curve to latest stable release 0.14.0 by @kkoyung in https://github.com/servo/servo/pull/45972
- devtools: add support for inspector to copy as inner/outer html by @jerensl in https://github.com/servo/servo/pull/45820
- Remove impl_performance_entry_struct macro by @SharanRP in https://github.com/servo/servo/pull/45855
- script_bindings: Make
is_platform_object_same_originsafe and move it out ofDomHelperstrait by @Gae24 in https://github.com/servo/servo/pull/45968 - allocator: Move custom HeapReport into servo-allocator by @jschwe in https://github.com/servo/servo/pull/45973
- script: Pass
&mut JSContexttobuffer_sourceby @TimvdLippe in https://github.com/servo/servo/pull/45935 - Fix Response clone tee chunk cloning by @Taym95 in https://github.com/servo/servo/pull/45976
- script_bindings: Switch to
wrappers2inside bindings code by @Gae24 in https://github.com/servo/servo/pull/45977 - script: Remove unnessecary reflows in IntersectionObserver by @jschwe in https://github.com/servo/servo/pull/45986
- script: Remove
InRealmusage from codegen by @TimvdLippe in https://github.com/servo/servo/pull/45987 - script: Pass
&mut JSContexttocsp::compute_scripted_caller_source_positionby @TimvdLippe in https://github.com/servo/servo/pull/45988 - script_bindings: more
wrappers2insideutils.rsby @Gae24 in https://github.com/servo/servo/pull/45991 - android: Convert history toolbar to Compose UI by @veyndan in https://github.com/servo/servo/pull/45982
- android: Convert individual settings items to Compose UI by @veyndan in https://github.com/servo/servo/pull/45985
- stylo: Optimize
Animation::iterate()intoAnimation::iterate_by()by @Loirooriol in https://github.com/servo/servo/pull/45978 - script: Replace
enter_realmusages withenter_auto_realmby @TimvdLippe in https://github.com/servo/servo/pull/46001 - script_bindings: Pass
&mut JSContexttoIterable::Nextby @Gae24 in https://github.com/servo/servo/pull/46003 - stylo: Make
iterate_by()increment the iteration state for infinite animations by @Loirooriol in https://github.com/servo/servo/pull/45990 - webgl: Ensure that surfman
Devices are dropped in the main thread by @mrobinson in https://github.com/servo/servo/pull/45952 - CI: Deny warnings only on checked-release profile by @jschwe in https://github.com/servo/servo/pull/46011
- fonts: Don't rely on knowing the stylesheet a
@font-facerule comes from by @simonwuelker in https://github.com/servo/servo/pull/45901 - accessibility: Simplify debug assertion by @jschwe in https://github.com/servo/servo/pull/46008
- script_bindings: Implement
safe_to_jsvalforRecordand dictionaries by @Gae24 in https://github.com/servo/servo/pull/46005 - script: Use active document's origin as Window's origin. by @jdm in https://github.com/servo/servo/pull/46013
- layout: Avoid building stacking context tree for most resolved style queries by @mrobinson in https://github.com/servo/servo/pull/46007
- layout: Enable
device-width/device-heightmedia queries by @jdm in https://github.com/servo/servo/pull/44978 - script: Reorder steps in importKey operation of Ed25519 by @kkoyung in https://github.com/servo/servo/pull/46017
- script: Fix step number in operations of Ed25519 and X25519 by @kkoyung in https://github.com/servo/servo/pull/46018
- android: Convert history fragment to Compose UI by @veyndan in https://github.com/servo/servo/pull/46015
- layout: Prevent animations from producing invalid color values by @mrobinson in https://github.com/servo/servo/pull/46016
- android: Remove today's date from title on history screen by @veyndan in https://github.com/servo/servo/pull/46032
- android: Remove settings section title by @veyndan in https://github.com/servo/servo/pull/46034
- android: Convert settings toolbar to Compose UI by @veyndan in https://github.com/servo/servo/pull/46035
- android: Remove settings divider by @veyndan in https://github.com/servo/servo/pull/46036
- script: Gracefully handle font face rule parsing errors in
FontFaceby @mrobinson in https://github.com/servo/servo/pull/46027 - script: Always pass
&mut JSContexttoConstructorby @TimvdLippe in https://github.com/servo/servo/pull/46040 - android: Don't highlight all navigation buttons by @veyndan in https://github.com/servo/servo/pull/46039
- wpt: Enable webvtt feature in WPT webvtt tests by @arihant2math in https://github.com/servo/servo/pull/46042
- android: Convert settings body to Compose UI by @veyndan in https://github.com/servo/servo/pull/46037
- android: Convert settings fragment to Compose UI by @veyndan in https://github.com/servo/servo/pull/46046
- script: Force a turn of the event loop in response to document activity transitions. by @jdm in https://github.com/servo/servo/pull/46045
- android: Simplify menu item click listener addition by @veyndan in https://github.com/servo/servo/pull/46048
- script: Use
enter_auto_realminDomObject.global()by @TimvdLippe in https://github.com/servo/servo/pull/46002 - script: Remove
GlobalScope::get_cx()usages from slot handling by @TimvdLippe in https://github.com/servo/servo/pull/46051 - script: Make script-blocking stylesheets be an ordered set by @mrobinson in https://github.com/servo/servo/pull/46054
- script: Remove more usages of
GlobalScope::get_cx()by @TimvdLippe in https://github.com/servo/servo/pull/46057 - stylo: Relax assert for paused animations to include equality by @Loirooriol in https://github.com/servo/servo/pull/46058
- android: Convert history button on large screen to Compose UI by @veyndan in https://github.com/servo/servo/pull/46053
- script_bindings: Use rooted out-parameters for IDL methods returning
sequence<object>by @simonwuelker in https://github.com/servo/servo/pull/45983 - script: Support
no_gcin codegen, addsafe_borrow_mutand use it in webgpu by @sagudev in https://github.com/servo/servo/pull/46050 - servoshell: Remove
window_of_webview_under_constructionworkaround by @mrobinson in https://github.com/servo/servo/pull/46047 - android: Convert settings button on large screen to Compose UI by @veyndan in https://github.com/servo/servo/pull/46061
- script: Introduce end of loading phases by @TimvdLippe in https://github.com/servo/servo/pull/46059
- layout: Clear
BoxFragmentdata from previous stacking context tree traversals by @mrobinson in https://github.com/servo/servo/pull/46028 - Implement
heightandorientationmedia features by @nicoburns in https://github.com/servo/servo/pull/45707 - Add test for huge negative
animation-delayby @Loirooriol in https://github.com/servo/servo/pull/46062 - webgpu: Send device reported features/limits as they might be different then requested by @sagudev in https://github.com/servo/servo/pull/46067
- deps: Bump aes-gcm and chacha20poly1305 to latest stable release by @kkoyung in https://github.com/servo/servo/pull/46068
- android: Convert page navigation buttons on large screen to Compose UI by @veyndan in https://github.com/servo/servo/pull/46071
- script: Move CLASS_OPS and Class init to non-generated code by @Narfinger in https://github.com/servo/servo/pull/46009
- script: Only call
CSSRuleList::append_lazy_dom_rulewhen appending keyframes if the rule list exists by @mrobinson in https://github.com/servo/servo/pull/46031 - script_bindings: pass
JSContextto callbacks constructors by @Gae24 in https://github.com/servo/servo/pull/46084 - layout: Ensure accurate
FragmentFlagswhen starting BoxTree layout from IFC by @mrobinson in https://github.com/servo/servo/pull/46033 - script: Align
UpgradeforCustomElementRegistryby @shubhamg13 in https://github.com/servo/servo/pull/46077 - script: JSContextify document creation by @Narfinger in https://github.com/servo/servo/pull/46089
- script: Use unrooted iterator for stringify by @Narfinger in https://github.com/servo/servo/pull/46090
- net: Small clean up of spec comments by @Gae24 in https://github.com/servo/servo/pull/46093
- script: Remove duplicated incorrect version of
FormControl::is_listed()by @mrobinson in https://github.com/servo/servo/pull/46094 - deny: Bypass
RUSTSEC-2026-0192unmaintainedttf-parserby @yezhizhen in https://github.com/servo/servo/pull/46101 - script: Add optional no_gc argument to GlobalScope::request_client() by @Narfinger in https://github.com/servo/servo/pull/46092
- layout: Apply reference frame clips via stacking contexts by @mrobinson in https://github.com/servo/servo/pull/45951
- script: Align
validate_and_extractto the spec by @arihant2math in https://github.com/servo/servo/pull/46102 - script: Remove unused SafeJSContext arguments by @TimvdLippe in https://github.com/servo/servo/pull/46106
- canvas: Discard message buffer before
CanvasCommand::RecreateandDroptrait by @yezhizhen in https://github.com/servo/servo/pull/46091 - Return a slice when querying contents of a typed array by @simonwuelker in https://github.com/servo/servo/pull/42688
- script: Fix intermittent readyState for HTML documents by @TimvdLippe in https://github.com/servo/servo/pull/46105
- script: Add specification comments and flesh out
SelectionDOM APIs by @mrobinson in https://github.com/servo/servo/pull/46107 - tests: Enable
web-animations/interfacesby @simonwuelker in https://github.com/servo/servo/pull/46116 - script: Fix clash of NoGC and CanGc in node::query_selector_all by @Narfinger in https://github.com/servo/servo/pull/46117
- android: Bump minSdk to 33 by @jschwe in https://github.com/servo/servo/pull/46104
- script: Document and similar transforms to JSContext by @Narfinger in https://github.com/servo/servo/pull/46114
- script: Stop treating
<label>as a form-associated element by @mrobinson in https://github.com/servo/servo/pull/46110 - wpt: Ensure async subtest is declared during test execution by @jdm in https://github.com/servo/servo/pull/46122
- script: Remove
SafeJSContextfrom codegen by @TimvdLippe in https://github.com/servo/servo/pull/46125 - release: Bump version to 0.4.0 by @jschwe in https://github.com/servo/servo/pull/46103
- 0.4 release: Use crates.io version of stylo by @jschwe in https://github.com/servo/servo/pull/46280
- backport CI blocking fixes to release/v0.4 by @jschwe in https://github.com/servo/servo/pull/46470
Full Changelog: https://github.com/servo/servo/compare/v0.3.0...0.4.0