[KongchangAI]
· 2 min read· 1,176 words

Deno Acquired by Cloudflare: Runtime Development Ends, Pivots to celld Architecture

Deno Acquired by Cloudflare: Runtime Development Ends, Pivots to celld Architecture

Cloudflare acquires Deno, ending the Deno runtime and pivoting to celld for workerd self-hosting.

Cloudflare acquired Deno not to continue the Deno runtime, but to build on celld (open-sourced by the Deno team) and make workerd self-hosting a first-class Workers deployment path. The Deno runtime will end development after a one-year maintenance period but remain open source. Ryan Dahl explained that Deno was pulled into a Node-compatibility "gravity well," and that marginal advantages weren't enough to justify reimplementing Node — he's more interested in celld's new abstraction. Deno's permission system is a key legacy; Node.js later added a similar model but still lacks network host whitelisting. For developers on Deno, migration planning is now essential, while building on Workers and Durable Objects is becoming lower risk.

Deno Acquired by Cloudflare: Runtime Development Ends, Pivots to celld Architecture

The Deno team released the first version of celld in August — their open-source implementation of the Durable Objects pattern in Cloudflare Workers. Now, Cloudflare has directly acquired Deno, with the goal of building on celld to make self-hosting workerd a first-class way to build and run applications using the Workers programming model.

rss source: Deno is joining Cloudflare

The End of the Deno Runtime: One-Year Maintenance Period

The bad news is that Cloudflare will not continue maintaining Deno itself beyond the next year. The official statement is direct:

We will continue to support the Deno runtime for one year, with monthly releases containing bug fixes and security updates. After one year, we will end development of the Deno runtime. Deno will remain open source, and we welcome others to continue its development.

This means the fate of Deno as an independent runtime project is now clear — it will not receive long-term investment under Cloudflare. For teams already using Deno in production, this is a signal that warrants serious evaluation.

Ryan Dahl's Choice: No More Rebuilding Node

Ryan Dahl, the creator of Deno (and Node.js), explained the decision in a comment on Hacker News, and his words are worth reading verbatim:

This was a joint decision, and I agree with it. I've invested the most in its success and put in the most effort — but I no longer believe this is where I can do my most important work. Deno has some good ideas and excellent engineering — but it ultimately didn't solve the big problem. It got sucked into the gravity well of Node compatibility, forced to behave exactly like Node. Why reimplement Node? It already works. Marginal performance, UX, or security advantages aren't enough.

Dahl's reflection points to a more fundamental issue: when an alternative runtime constantly compromises for ecosystem compatibility, its differentiating value gets diluted. He explicitly stated that what interests him is building powerful new abstractions. celld performs surprisingly well in this regard, relying solely on object storage for coordination and persistence — it's not a minor variant of file system or network APIs, but an entirely new model for server development.

Deno's Most Memorable Legacy: The Permission System

One long-standing highlight of Deno has been its permission system: you can run a Deno script and precisely specify which files and folders it can read and write, as well as which network hosts it can access.

Node.js later added a similar permission model — introduced in Node v20.0.0 and declared stable in Node v22.13.0. However, Node does not yet support whitelisting specific network hosts: network access is either fully open or fully closed.

This comparison perfectly illustrates Deno's predicament: the good ideas it proposed were absorbed by the mainstream ecosystem, but it struggled to gain enough survival space as a result. When Node gradually filled in key capabilities like permissions, Deno's raison d'être was further compressed.

Node.js Permission Model vs. Network Whitelisting

Node.js introduced an experimental permission model in v20.0.0, using the --permission flag to restrict a script's access to the file system, child processes, Worker threads, and more, and declared it stable in v22.13.0. Developers can precisely control which paths a script can read and write, whether it can spawn child processes, and so on — similar in spirit to Deno's design.

But the two differ on one key point: Deno allows whitelisting specific network hosts, for example permitting access only to api.example.com, while Node.js's current permission model only supports network access being "fully open" or "fully closed," with no per-host granularity. This means that in Node, once network permission is granted, a script can access any address, resulting in a coarser security boundary. This detail also explains why Deno's permission system is often seen as its most forward-looking legacy: it brought the principle of least privilege into the default design of a script runtime, while the mainstream ecosystem is still catching up.

From Runtime to Abstraction Layer: What celld Means

Cloudflare's acquisition logic isn't complicated: what they really want is the Durable Objects pattern that celld represents, and to make self-hosting workerd an officially supported deployment path. The Deno runtime itself is seen as something that can gradually be phased out.

For developers, this sends several signals. First, if you depend on Deno's long-term evolution, you need to start planning a migration or taking over maintenance. Second, the Workers programming model and Durable Objects pattern are gaining stronger official backing, reducing the risk of building applications around this abstraction. Third, Ryan Dahl's pivot shows that infrastructure-layer innovation may no longer come from "a better runtime," but from "a different programming model."

Deno remaining open source means the community can still potentially carry on its life. But in Cloudflare's strategic map, it has already fulfilled its historical role — proposing ideas, then making way for new abstractions.

Durable Objects and celld

Durable Objects is a stateful compute primitive on the Cloudflare Workers platform: each Durable Object is an instance with a unique ID, possessing its own in-memory state, persistent storage, and single-threaded execution model — naturally suited for scenarios requiring strong consistency, such as chat rooms, collaborative editing, counters, and task scheduling. Developers no longer need to build their own database locking, message queues, or state synchronization layers; the platform guarantees that only one request executes on the object at any given time and automatically persists state to storage.

celld is the Deno team's open-source implementation of this pattern, and its distinctive feature is that it relies solely on object storage (such as S3, R2, etc.) for coordination and persistence, without depending on a file system, database, or complex network protocols. This makes celld's deployment form extremely lightweight, able to run in any environment that provides object storage — and precisely because of this, it is seen as an entirely new server development model rather than just a variant of some runtime. After acquiring Deno, Cloudflare hopes to use celld as a foundation to make self-hosting workerd (the Workers runtime) an officially supported first-class path.

One-line Summary

Cloudflare acquires Deno, will end maintenance of the Deno runtime, and pivots to celld to drive workerd self-hosting.

Paragraph Summary

Cloudflare acquired Deno with the core goal not of continuing the Deno runtime, but of building on celld — open-sourced by the Deno team — to make workerd self-hosting a first-class way to support the Workers programming model. The Deno runtime will stop development after a one-year maintenance period but will remain open source. Ryan Dahl explained that Deno was pulled into a Node-compatibility "gravity well," and that marginal advantages weren't enough to justify reimplementing Node — he's more interested in the new abstractions celld represents. Deno's permission system became a key legacy, with Node.js later introducing a similar model, though it doesn't yet support network host whitelisting. For developers, relying on Deno's long-term evolution means planning a migration, while the risk of building applications around Workers and Durable Objects is decreasing.

#Cloudflare acquires Deno#Deno runtime#celld#workerd self-hosting#Durable Objects#Ryan Dahl#Node.js permission model
Share:

Related articles