Servo Blog
フィード

Servo is now available on crates.io
Servo Blog
Today the Servo team has released v0.1.0 of the servo crate.This is our first crates.io release of the servo crate that allows Servo to be used as a library.We currently do not have any plans of publishing our demo browser servoshell to crates.io.In the 5 releases since our initial GitHub release in October 2025, our release process has matured, with the main “bottleneck” now being the human-written monthly blog post.Since we’re quite excited about this release, we decided to not wait for the monthly blog post to be finished, but promise to deliver the monthly update in the coming weeks.As you can see from the version number, this release is not a 1.0 release. In fact, we still haven’t finished discussing what 1.0 means for Servo.Nevertheless, the increased version number reflects our growing confidence in Servo’s embedding API and its ability to meet some users’ needs.In the meantime we also decided to offer a long-term support (LTS) version of Servo, since breaking changes in the reg
2日前

February in Servo: faster layout, pause and resume scripts, and more!
Servo Blog
Servo 0.0.6 includes some exciting new features:<button command> and <button commandfor> (@lukewarlow, #41237)‘:modal’ selectors on <dialog> (@lukewarlow, #42201)‘@property’ rules (@yezhizhen, @Loirooriol, #42136, #42858)‘alignment-baseline’ and ‘baseline-shift’ (@Loirooriol, #42361)‘Content-Security-Policy: base-uri’ (@WaterWhisperer, #42272)partial support for <iframe loading=lazy> (@TimvdLippe, #41959)partial support for ‘transform-style: preserve-3d’ (@simonwuelker, #42755)Plus a bunch of new DOM APIs:most of the Pointer Events API (@webbeef, #41290)the UserActivation API (@stevennovaryo, #42060)import.meta.resolve() (@Gae24, #42506)integrity in <script type=importmap> (@Gae24, #42604)the formData() method on Request (@Taym95, #42041)the alpha property on HTMLInputElement (@simonwuelker, #42293)tabIndex on HTMLElement and SVGElement (@mrobinson, @Loirooriol, #42913)fullscreenElement on Document and ShadowRoot (@onsah, #42401)toJSON() on PerformancePaintTiming (@shubhamg13, #42396)n
15日前

January in Servo: preloads, better forms, details styling, and more!
Servo Blog
Servo 0.0.5 is here, bringing with it lots of improvements in web platform features.Some highlights:<link rel=preload> (@TimvdLippe, @jdm, #40059)<style blocking> and <link blocking> (@TimvdLippe, #42096)<img align> (@mrobinson, #42220)<select disabled> (@simonwuelker, #42036)OGG files can now be played in <audio> (@jdm, #41789)‘cursor-color’ (@mrobinson, #41976)‘content: <image>’ works on all elements (@andreubotella, #41480)‘::details-content’ on <details> (@lukewarlow, #42107)‘:open’ on <details> (@lukewarlow, #42195)‘:active’ on <input type=button> (@mrobinson, #42095)Origin API (@WaterWhisperer, #41712)MouseEvent.detail (@mrobinson, #41833)Request.keepalive (@TimvdLippe, @WaterWhisperer, #41457, #41811)Cyclic imports, import attributes, and JSON modules (@Gae24, #41779)navigator.sendBeacon() is enabled by default (@TimvdLippe, #41694)https_proxy, HTTPS_PROXY, and NO_PROXY (@Narfinger, #41689)ML-KEM, ML-DSA, and AES-OCB in Crypto (@kkoyung, #41604, #41617, #41615, #41627, #41628, #
2ヶ月前

December in Servo: multiple windows, proxy support, better caching, and more!
Servo Blog
Servo 0.0.4 and our December nightly builds now support multiple windows (@mrobinson, @mukilan, #40927, #41235, #41144)!This builds on features that landed in Servo’s embedding API last month.We’ve also landed support for several web platform features, both old and new:‘contrast-color()’ in CSS color values (@webbeef, #41542)partial support for <meta charset> (@simonwuelker, #41376)partial support for encoding sniffing (@simonwuelker, #41435)‘background’ and ‘bgcolor’ attributes on <table>, <thead>, <tbody>, <tfoot>, <tr>, <td>, <th> (@simonwuelker, #41272)tee() on readable byte streams (@Taym95, #35991)Note: due to a known issue, servoshell on macOS may not be able to directly open new windows, depending on your system settings.For better compatibility with older web content, we now support vendor-prefixed CSS properties like ‘-moz-transform’ (@mrobinson, #41350), as well as window.clientInformation (@Taym95, #41111).We’ve continued shipping the SubtleCrypto API, with full support for
3ヶ月前

November in Servo: monthly releases, context menus, parallel CSS parsing, and more!
Servo Blog
Correction (2026-01-19)An earlier version of this post said that Servo now has full support for ChaCha20-Poly1305, but this was incorrect. We had only landed the ‘importKey’ and ‘exportKey’ operations. The ‘encrypt’, ‘decrypt’, and ‘generateKey’ options landed in the following month.Landing in Servo 0.0.3 and our November nightly builds, we now have context menus for links, images, and other web content (@atbrakhi, @mrobinson, #40434, #40501), vsync on Android (@mrobinson, #40306), light mode for the new tab page (@arihant2math, #40272), plus several web platform features:<video controls> (@rayguo17, #40578)<use> in SVG (@WaterWhisperer, #40684)☢️ ‘font-optical-sizing’ (@simonwuelker, #40829, #40861, #40884)‘brotli’ in CompressionStream and DecompressionStream (@Taym95, #40842)‘display-p3-linear’ in CSS color() and color-mix() (@Loirooriol, #40525)calc() now works in grid layout (@nicoburns, #34846)ResizeObserver is now enabled by default (@jdm, #40378) in SVG, , and context menus" />F
4ヶ月前

Servo Sponsorship Tiers
Servo Blog
The Servo project is happy to announce the following new sponsorship tiers to encourage more donations to the project:Platinum: 10,000 USD/monthGold: 5,000 USD/monthSilver: 1,000 USD/monthBronze: 100 USD/monthOrganizations and individual sponsors donating in these tiers will be acknowledged on the servo.org homepage with their logo or name. Please note that such donations should come with no obligations to the project i.e they should be “no strings attached” donations. All the information about these new tiers is available at the Sponsorship page on this website.Please contact us at [email protected] if you are interested in sponsoring the project through one of these tiers.Use of donations is decided transparently via the Technical Steering Committee’s public funding request process, and active proposals are tracked in servo/project#187.Last, but not least, we’re excited to welcome our first bronze sponsor LambdaTest who has recently started donating to the Servo project. Thank you very
5ヶ月前

October in Servo: better for the web, better for embedders, better for you
Servo Blog
Servo now supports several new web platform features:<source> in <video> and <audio> (@tharkum, #39717)CompressionStream and DecompressionStream (@kkoyung, #39658)fetchLater() (@TimvdLippe, #39547)Document.parseHTMLUnsafe() (@lukewarlow, #40246)the which property on UIEvent (@Taym95, #40109)the relatedTarget property on UIEvent (@TimvdLippe, #40182)self.name and .onmessageerror in dedicated workers (@yerke, #40156)name and areas properties on HTMLMapElement (@tharkum, #40133)servoshell for macOS now ships as native Apple Silicon binaries (@jschwe, #39981).Building servoshell for macOS x86-64 still works for now, but is no longer officially supported by automated testing in CI (see § For developers).In servoshell for Android, you can now enable experimental mode with just two taps (@jdm, #40054), use the software keyboard (@jdm, #40009), deliver touch events to web content (@mrobinson, #40240), and dismiss the location field (@jdm, #40049).Pinch zoom is now fully supported in both Servo
5ヶ月前

This month in Servo: experimental mode, Trusted Types, strokeText(), and more!
Servo Blog
September was another busy month for Servo, with a bunch of new features landing in our nightly builds:the Trusted Types API is now stable (@TimvdLippe, #39281, #39263)strokeText() on CanvasRenderingContext2D (@sagudev, #39183)invertSelf() on DOMMatrix (@lumiscosity, #39148)getType() and supports() on ClipboardItem (@Gae24, #39296)getAll() and getAllKeys() on IDBObjectStore (@arihant2math, #38885)scrollParent property on HTMLElement (@mrobinson, @Loirooriol, #39110)sizes property on HTMLImageElement (@tharkum, #39466)servoshell now has a new experimental mode button (☢).Turning on experimental mode has the same effect as running Servo with --enable-experimental-web-platform-features: it enables all engine features, even those that may not be stable or complete.This works much like Chromium’s option with the same name, and it can be useful when a page is not functioning correctly, since it may allow the page to make further progress.Top to bottom: experimental mode off, experimental mod
6ヶ月前

Servo 0.0.1 Release
Servo Blog
Today, the Servo team has released new versions of the servoshell binaries for all our supported platforms, tagged v0.0.1. These binaries are essentially the same nightly builds that were already available from the download page with additional manual testing, now tagging them explicitly as releases for future reference.We plan to publish such a tagged release every month. For now, we are adopting a simple release process where we will use a recent nightly build and perform additional manual testing to identify issues and regressions before tagging and publishing the binaries.There are currently no plans to publish these releases on crates.io or platform-specific app stores. The goal is just to publish tagged releases on GitHub.
6ヶ月前

This month in Servo: variable fonts, network tools, SVG, and more!
Servo Blog
Another month, another record number of pull requests merged!August flew by, and with it came 447 pull requests from Servo contributors.It was also the final month of our Outreachy cohort; you can read Jerens’ and Uthman’s blogs to learn about how it went!Highlights Our big new feature this month is rendering inline SVG elements (@mukilan, @Loirooriol, #38188, #38603).This improves the appearance of many popular websites. Did you know that the Google logo is an SVG element?We have implemented named grid line lines and areas (@nicoburns, @loirooriol, #38306, #38574, #38493), still gated behind the layout_grid_enabled preference (#38306, #38574). CSS grids are all around us.Servo now supports CSS ‘font-variation-settings’ on all main desktop platforms (@simonwuelker, @mrobinson, #38642, #38760, #38831).This feature is currently gated behind the layout_variable_fonts_enabled preference.We also respect format(*-variations) inside @font-face rules (@mrobinson, #38832).Additionally, Servo no
7ヶ月前