Introducing Ceramic 3.0: With Node.js Version 20 Support

Ceramic goes 3.0

We’re launching the latest and greatest version of Ceramic and we are excited to provide you with a detailed overview of what that means for you.

With the release of Ceramic 3.0, there are some noteworthy changes that will impact the way you interact with Ceramic going forward. Our aim is to provide you with clear information on these updates.

Node.js 20 Support

Let’s cut to the main highlight: Node.js 20 support is in the house. This update is critical due to the end-of-life status for Node.js v16—meaning, older Ceramic nodes won’t be supported moving forward. This change enables us to utilize Node.js’s recent feature and performance improvements.

:no_entry_sign: Note: With this release, Node.js v16 rides into the sunset. If you decide to upgrade Ceramic to v3.0, you need to upgrade Node.js to v.20 too (here’s how to do it).

Upgrading Your Ceramic Node

To take full advantage of Ceramic 3.0, upgrading your nodes is essential, and we strongly advise to do it. You still can run your nodes without upgrading and everything should function fine, but they will no longer receive technical support and all the bug fixes and new features will be for the v3 only.

Before upgrading, make sure your dependency of @ceramicnetwork/http-client is up-to-date.

Here’s how to upgrade your node:

  1. npm install -g @ceramicnetwork/cli Although this references the CLI package, the dependencies will cause the core and other server packages to update.
  2. :exclamation:Important: Update your Node.js version to v20 (here’s how)
  3. Restart the ceramic daemon. Depending on how you have configured your server, this may involve a command such as:
    systemctl stop ceramic && systemctl start ceramic
  4. Check that your node has been upgraded.
    ceramic -v → e.g. 2.43.0
    ceramic -v3.0.4

:no_entry_sign: Note: Ceramic nodes running outdated versions will not receive updates or technical support going forward.*

Discontinuation of Legacy DID Methods

Tech evolves, and so does Ceramic. We are discontinuing older, unused methods: DID:ETH, DID:NFT, and DID:SAFE. These features were initially experimental and have become obsolete, so they’ve been removed to streamline the codebase.

Looking Ahead

Ceramic 3.0 sets the stage for future improvements, including the introduction of worker threads for accelerated signature verification that will increase node performance.

FAQ Highlights

  • What if I don’t upgrade to Node.js v20? Although you may continue to operate on Ceramic v2.x and use Node.js v16 for a time, you will not benefit from future updates and support. Upgrading is crucial.
  • What about developers on v2? While recent v2 versions of the ceramic http client can work with Ceramic v3 nodes, you’ll miss out on improvements and risk future compatibility issues.

As developers, your input is vital. Please share your experience with the upgrade process and let us know if there are any specific topics you’d like us to cover. Forum and Discord are the best ways to do it.