frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Servo is now available on crates.io

https://servo.org/blog/2026/04/13/servo-0.1.0-release/
166•ffin•3h ago

Comments

nicoburns•1h ago
Some notes:

- The docs.rs docs are still building, but the docs from the recent RC are available [0]

- The Slint project have an example of embedding Servo into Slint [1] which is good example of how to use the embedding API, and should be relatively easy to adapt to any other GUI framework which renders using wgpu.

- Stylo [2] and WebRender [3] have both also been published to crates.io, and can be useful standalone (Stylo has actually been getting monthly releases for ~year but we never really publicised that).

- Ongoing releases on a monthly cadance are planned

[0]: https://docs.rs/servo/0.1.0-rc2/servo

[1]: https://github.com/slint-ui/slint/tree/master/examples/servo

[2]: https://docs.rs/stylo

[3]: https://docs.rs/webrender

apitman•53m ago
Tangent, but Slint is a really cool project. Not being able to dynamically insert widgets from code was the only thing that turned me off of it for my use case.
Talderigi•1h ago
Is Servo production-ready enough to replace or embed alongside engines like WebKit or Blink?
bastawhiz•1h ago
It depends on your use case. I wouldn't use it for a JS-heavy site. But if you have simple static content, it's probably enough. It's worth testing it out as a standalone app before integrating it as a library.
9fwfj9r•1h ago
It's a great move. The early development of Rust aimed to support Servo. However, it's still disappointing that the script engine uses SpiderMonkey, which is purely C++.
tialaramex•1h ago
I mean SpiderMonkey works, and presumably is fairly self-contained, so I can see why replacing that isn't attractive unless you believe you can make it significantly better in some way.
drzaiusx11•1h ago
It's best not to try and eat the elephant in one bite, which is perhaps where this project went wrong initially. Maybe this is a symptom of learning from past mistakes rather than a flaw.
saghm•1h ago
My understanding is that the original intent of Servo was to be a way to develop features and port them over to Firefox itself (which did happen with at least a few features), and the relatively slower pace of developer is more due to Mozilla laying off everyone who was working on it. (Yes, presumably many of the same people are involved, but I would expect that being able to work on something full time without needing another source of income will end up making progress faster than needing to find time outside of work and balance between other things in life, ideally in a way that avoids burnout).
drzaiusx11•27m ago
My understanding was that from day one the desire was to make a complete "web rendering & layout engine" and only pivoted to shipping smaller sub-components like Stylo (stylesheets) when it appeared to be "taking too long." I followed the project from the early days through the layoffs, but I may be misremembering things.
swiftcoder•1h ago
There are what, 5+ rust javascript engines that claim to be production-ready? Bolting one of those on in place of spider monkey seems like a reasonable future direction
mort96•34m ago
What do you mean by "production ready" here exactly? In a web browser context, the JS engine is expected to have a high performance optimising JIT compiler. Do the existing Rust JS engines have that?
swiftcoder•31m ago
I honestly don't know, but they do say "production ready" on their marketing pages, so...

For an example of what I mean, see JetCrab: https://jetcrab.com

mort96•22m ago
That page says:

> Complete JavaScript execution pipeline from source code parsing to bytecode execution.

So it's a bytecode interpreter, not a JIT.

It might still be production ready for a bunch of use cases. I may use it as a scripting layer for some pluggable piece of software or a game. I wouldn't consider it appropriate for a "production ready web browser" which intends to compete with Firefox and Chrome.

EDIT: Also for some reason all its components are called v8_something? That's pretty off putting, you can't just take another project's name like that.. and from the author's Reddit comments it seems to be mostly AI slop anyway. I'm guessing Claude wrote the "production ready" part on the website, I wouldn't trust it.

CryZe•19m ago
This doesn't implement a JS engine, it's just a wrapper around boa.
8NNTt8z3QvLT8tp•11m ago
There's something to be said for the security benefits of not having a JIT though. Especially if you've used Rust for the engine you should have pretty solid security.
depr•12m ago
They may be production-ready in some sense but they're not ready to be put in Firefox, and/or they are v8 bindings.
phaistra•1h ago
Is there a table of implemented RFCs? Something similar to http://caniuse.com where we can see what HTML/JS/CSS standards and features are implemented? If it exists, I can't seem to find it. Closest thing seems to be "experimental features" page but its not quite detailed enough.
jszymborski•1h ago
Closest is perhaps the web platform tests

https://servo.org/wpt/

that_lurker•1h ago
Their bloghas monthly posts on changes https://servo.org/blog/
lastontheboat•1h ago
https://doc.servo.org/apis.html is auto-generated from WebUDL interfaces that exist in Servo. It's not great but better than nothing.
lastontheboat•1h ago
Oh, I forgot that https://arewebrowseryet.com/ exists for this too!
diath•1h ago
Too little too late now that the new meta is to use system provided webviews so you don't have to ship a big ass web renderer per app.
swiftcoder•1h ago
No particular reason Servo couldn't one day become the system web view on Linux distros...
mort96•32m ago
Yeah the closest thing you come today is arguably WebKitGTK, which is known for being not exactly great.
chrismorgan•29m ago
Linux (GNU/Linux or whatever) doesn’t even have the concept of a system web view. The closest you might get to the notion is probably WebKitGTK which is perhaps the GNOME idea of a system web view, but it’s nothing like WebKit on macOS or WebView2 (or MSHTML in the past) on Windows for popularity or availability.

As a user of a desktop environment other than gnome-shell, I only have webkitgtk-6.0 installed because I chose to install Epiphany—it’s a good proxy for testing on Safari, which Apple makes ridiculously expensive.

bastawhiz•1h ago
System web views were available as drag and drop components in VB6 two and a half decades ago. There's nothing "new" about that as a concept, and plenty of reasons to not want to use Blink/WebKit.
diath•1h ago
> System web views were available as drag and drop components in VB6 two and a half decades ago. There's nothing "new" about that as a concept

We are in a thread discussing a Rust library, logically, I was referring to the current approach in GUI rendering in the Rust space (such as Tauri and Dioxus).

> and plenty of reasons to not want to use Blink/WebKit.

Such as? Can you name a few objective reasons against Blink/WebKit (the technology) that does not involve just not liking Google/Apple?

airstrike•1h ago
Tauri/Dioxus aren't necessarily the end state of Rust GUI
phplovesong•1h ago
Did firefox drop servo? I recalled they where in the progress of "rewrite in rust"?
dralley•1h ago
Firefox incorporated parts of the Servo effort which were able to reach maturity. Stylo (Firefox's current CSS engine) and Webrender (the rendering engine) and a few other small components came from the Servo project.

Most other parts of Servo were not mature enough to integrate at the time Mozilla decided to end support for the project and didn't look like they would be mature enough any time soon. The DOM engine for example was in the early stages of being completely rewritten at the time because the original version had an architecture that made supporting the entire breadth of web standards challenging.

Keep in mind that you can continue adding Rust to Firefox without replacing whole components. It's not like Mozilla abandoned the idea of using more Rust in Firefox just because they stopped trying to rewrite whole components from the ground up.

alarmingfox•1h ago
I think they implemented parts of it into their Gecko engine. But they laid of all the Servo development team in like 2020 I believe.

Only recently when it moved over to the Linux Foundation has Servo started being worked on again

andruby•1h ago
Yes, during the layoff of August 2020

Mozilla laid off the full Servo team, but never publicly announced this afaik. Wikipedia includes it here: https://en.wikipedia.org/wiki/Firefox#cite_ref-120

Sammi•42m ago
Mozilla can't help it but be their own worst enemy. Ladybird may well never have happened if Mozilla just had kept working on Servo, and Ladybird is most definitely going to out compete Firefox when it reaches maturity, as Mozilla keeps on burning bridges with open source enthusiasts.
zarzavat•20m ago
The problem with Mozilla is not just technical but cultural. The organization has been infected with managers. The managers want to keep their jobs more than they want Firefox to succeed. Clearly the solution is for the managers to fire themselves and allow the developers to run the show, but that was not going to happen.

Ladybird, by contrast, is a developer-lead open source project that has no such constraints. They also don't have a product yet but I'm sure the picture will be radically different in a few years.

Conway's law in action.

apitman•55m ago
> 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

Wait, crate versions go up to 1.0?

EDIT: Sorry, while crate stability may be an interesting conversation, this isn't the place for it. But I can't delete this comment. Please downvote it. Mods feel free to delete or demote it.

mort96•42m ago
The fundamental problem with Rust versioning is that 0.3.5 is compatible with 0.3.6, but not 0.4.0 or 1.0.0; when major version is 0, the minor takes the role of major and patch takes the role of minor. So packages iterate through 0.x versions, and eventually, they reach a version that's "stable".

If version 0.7 turned out to hit the right API and not require backward incompatible changes, releasing a version 1.0 would be as disruptive as a major version change to your users and communicate through version semantics that it is a breaking change.

Semver declares that version 0.x is for initial development where there is no stability guarantee at all. This is the right semantics for a versioning system, but Cargo doesn't follow this part of semver. Providing stability guarantees throughout the 0.x cycle inevitably results in projects getting stuck in 0.x.

This is one of my biggest gripes with Cargo. But Rust people seem to universally consider it a non-issue so I don't think it'll ever be fixed.

moron4hire•32m ago
Personally, I think the 0 major version is a bad idea. I hear the desire to not want to have to make guarantees about stability in the early stages of development and you don't want people depending on it. But hiding that behind "v0.x" doesn't change the fact that you are releasing versions and people are depending on it.

If you didn't want people to depend on your package (hence the word "dependency") then why release it? If your public interface changes, bump that major version number. What are you afraid of? People taking your project seriously?

mort96•24m ago
Versioning is communication. I find it useful to communicate, through using version 0.x, "this is not a production ready library and it may change at any time, I provide no stability guarantees". Why might I release it in that state? Because it might still be useful to people, and people who find it useful may become contributors.
moron4hire•15m ago
Any project may change at any time. That's why they bump from v1 to v2. But by not using the full precision of the version number, you're not able to communicate as clearly about releases. A minor release may not be 100% compatible with the previous version, but people still expect some degree of similarity such that migrating is not a difficult task. But going from v0.n to v0.(n+1) uses that field to communicate "hell, anything could happen, YOLO."

Nobody cares that Chrome's major version is 147.

mort96•11m ago
By releasing a library with version 1.0, I communicate: "I consider this project to be in a state where it is reasonable to depend on it".

By releasing a library with version 0.x, I communicate: "I consider this project to be under initial development and would advice people not to depend on in unless you want to participate in its initial development".

I don't understand why people find this difficult or controversial.

jaapz•18m ago
0.x is not that you don't want people depending on it, you just don't want them to come and complain when you quickly introduce some breaking changes. The project is still in development, it might be stable enough for use in "real projects(tm)", but it might also still significantly change. It is up to the user to decide whether they are OK with this.

1.x communicates (to me at least) you are pretty happy with the current state of the package and don't see any considerable breaking changes in the future. When 2.x comes around, this is often after 1.x has been in use for a long time and people have raised some pain points that can only be addressed by breaking the API.

moron4hire•13m ago
If you are at the point that other people can use your software, then you should use v1. If you are not ready for v1, then you shouldn't be releasing to other people.

Because this comment, "The project is still in development, it might be stable enough for use in "real projects(tm)", but it might also still significantly change." That describes every project. Every project is always in development. Every project is stable until it isn't. And when it isn't, you bump the major number.

sheepscreek•31m ago
> The fundamental problem with Rust versioning is that 0.3.5 is compatible with 0.3.6, but not 0.4.0 or 1.0.0

That’s a feature of semver, not a bug :)

Long answer: You are right to notice that minor versions within a major release can introduce new APIs and changes but generally, should not break existing APIs until the next major release.

However, this rule only applies to libraries after they reach 1.0.0. Before 1.0.0, one shouldn’t expect any APIs to be frozen really.

mort96•26m ago
No, it's explicitly not. Semver says:

> Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

Cargo is explicitly breaking with Semver by considering 0.3.5 compatible with 0.3.6.

Starlevel004•18m ago
The standard library has a whole bunch of tools to let them test and evolve APIs with a required-opt in, but every single ecosystem package has to get it right first try because Cargo will silently forcibly update packages and those evolution tools aren't available to third party packages.

Such a stupid state of affairs.

Fokamul•33m ago
If you want to lure Microslop to migrate all their "great" apps to Servo.

Easy, just add bloat code so it will use 5GB of RAM by default, that's instant adoption by MS.

grimgrin•52m ago
when servo is ready i have plans to swap it into qutebrowser which ive been growing fonder of
solomatov•36m ago
What this crate could be used for?
simonw•25m ago
Here's a vibe-coded "servo-shot" CLI tool which uses this crate to render an image of a web page: https://github.com/simonw/research/tree/main/servo-crate-exp...

  git clone https://github.com/simonw/research
  cd research/servo-crate-exploration/servo-shot
  cargo build
  ./target/debug/servo-shot https://news.ycombinator.com/
Here's the image it generated: https://gist.github.com/simonw/c2cb4fcb15b0837bbc4540c3d398c...
echelon•16m ago
This is super useful! I have immediate use for this.

Do you know if Servo is 100% Rust with no external system dependencies? (ie, can get away with rustls only?)

Can this do Javascript? (Edit: Rendering SPAs / Javascript-only UX would be useful.)

Edit 2: Can it do WebGL? Same rationale for ThreeJS-style apps and 3D renders. (This in particular is right up my use case's alley.)

simonw•14m ago
It depends on stuff like SpiderMonkey so not pure Rust.

It should be able to render JavaScript but I've seen it throw bugs on simple pages, no doubt because my vibe-coded thing is crap not because Servo itself can't handle them.

rafaelmn•14m ago
This should be the real benchmark of AI coding skills - how fast do we get safe/modern infrastructure/tooling that everyone agrees we need but nobody can fund the development.

If Anthropic wants marketing for Mythos without publishing it - show us servo contrib log or something like that. It aligns nicely with their fundamental infrastructure safety goals.

I'd trust that way more than x% increase on y bench.

Hire a core contributor on Servo or Rust, give him unlimited model access and let's see how far we get with each release.

mort96•10m ago
We do not need vibe-coded critical infrastructure.
falcor84•6m ago
As I see it, the focus should not be about the coding, but about the testing, and particularly the security evaluation. Particularly for critical infrastructure, I would want us to have a testing approach that is so reliable that it wouldn't matter who/what wrote the code.
mort96•3m ago
I disagree. Thorough testing provides some level of confidence that the code is correct, but there's immense value in having infrastructure which some people understand because they wrote it. No amount of process around your vibe slop can provide that.
manx•4m ago
Agreed. Which other software does society need badly?

Make Tmux Pretty and Usable

https://hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
61•speckx•48m ago•34 comments

Servo is now available on crates.io

https://servo.org/blog/2026/04/13/servo-0.1.0-release/
168•ffin•3h ago•56 comments

All elementary functions from a single binary operator

https://arxiv.org/abs/2603.21852
658•pizza•13h ago•183 comments

US appeals court declares 158-year-old home distilling ban unconstitutional

https://nypost.com/2026/04/11/us-news/us-appeals-court-declares-158-year-old-home-distilling-ban-...
106•t-3•1h ago•24 comments

Android now stops you sharing your location in photos

https://shkspr.mobi/blog/2026/04/android-now-stops-you-sharing-your-location-in-photos/
226•edent•3h ago•156 comments

The economics of software teams: Why most engineering orgs are flying blind

https://www.viktorcessan.com/the-economics-of-software-teams/
311•kiyanwang•9h ago•161 comments

Microsoft isn't removing Copilot from Windows 11, it's just renaming it

https://www.neowin.net/opinions/microsoft-isnt-removing-copilot-from-windows-11-its-just-renaming...
46•bundie•1h ago•32 comments

Initial mainline video capture and camera support for Rockchip RK3588

https://www.collabora.com/news-and-blog/news-and-events/mainline-video-capture-and-camera-support...
11•mfilion•2h ago•1 comments

Michigan 'digital age' bills pulled after privacy concerns raised

https://www.thecentersquare.com/michigan/article_7ca4e268-4a68-42fb-9042-f9d8604ebd7f.html
96•iamnothere•3h ago•44 comments

Taking on CUDA with ROCm: 'One Step After Another'

https://www.eetimes.com/taking-on-cuda-with-rocm-one-step-after-another/
227•mindcrime•16h ago•165 comments

We May Be Living Through the Most Consequential Hundred Days in Cyber History

https://ringmast4r.substack.com/p/we-may-be-living-through-the-most
41•laurex•44m ago•10 comments

DIY Soft Drinks

https://blinry.org/diy-soft-drinks/
595•_Microft•22h ago•178 comments

Bring Back Idiomatic Design (2023)

https://essays.johnloeber.com/p/4-bring-back-idiomatic-design
626•phil294•1d ago•350 comments

Show HN: boringBar – a taskbar-style dock replacement for macOS

https://boringbar.app/
447•a-ve•22h ago•250 comments

Most people can't juggle one ball

https://www.lesswrong.com/posts/jTGbKKGqs5EdyYoRc/most-people-can-t-juggle-one-ball
439•surprisetalk•4d ago•154 comments

Ask HN: What Are You Working On? (April 2026)

281•david927•23h ago•906 comments

A perfectable programming language

https://alok.github.io/lean-pages/perfectable-lean/
177•yuppiemephisto•18h ago•82 comments

Show HN: I built a social media management tool in 3 weeks with Claude and Codex

https://github.com/brightbeanxyz/brightbean-studio
137•JanSchu•6h ago•92 comments

I gave every train in New York an instrument

https://www.trainjazz.com/
345•joshuawolk•3d ago•69 comments

Point Cloud Allemansrätten

https://digitalflapjack.com/weeknotes/point-cloud-allemansr%C3%A4tten/
31•ColinWright•4h ago•4 comments

I ran Gemma 4 as a local model in Codex CLI

https://blog.danielvaughan.com/i-ran-gemma-4-as-a-local-model-in-codex-cli-7fda754dc0d4
168•dvaughan•18h ago•73 comments

Tell HN: Docker pull fails in Spain due to football Cloudflare block

1048•littlecranky67•1d ago•382 comments

We have a 99% email reputation, but Gmail disagrees

https://blogfontawesome.wpcomstaging.com/we-have-a-99-email-reputation-gmail-disagrees/
313•em-bee•1d ago•274 comments

AI could be the end of the digital wave, not the next big thing

https://thenextwavefutures.wordpress.com/2026/04/07/ai-end-digital-wave-technology-innovation-perez/
144•surprisetalk•3h ago•188 comments

Programming Used to Be Free

https://purplesyringa.moe/blog/programming-used-to-be-free/
19•yeputons•9h ago•8 comments

Show HN: Oberon System 3 runs natively on Raspberry Pi 3 (with ready SD card)

https://github.com/rochus-keller/OberonSystem3Native/releases
219•Rochus•1d ago•68 comments

Apple's accidental moat: How the "AI Loser" may end up winning

https://adlrocha.substack.com/p/adlrocha-how-the-ai-loser-may-end
340•walterbell•12h ago•294 comments

Exploiting the most prominent AI agent benchmarks

https://rdi.berkeley.edu/blog/trustworthy-benchmarks-cont/
554•Anon84•1d ago•134 comments

Is math big or small?

https://chessapig.github.io/talks/Big-Small
70•robinhouston•1d ago•26 comments

Seven countries now generate nearly all their electricity from renewables (2024)

https://www.the-independent.com/tech/renewable-energy-solar-nepal-bhutan-iceland-b2533699.html
633•mpweiher•1d ago•420 comments