Breaking change notice: ComposeDB v0.7 is out. Upgrade your Ceramic server to v5.3

Hello @everyone. We’d like to share some release updates with you all, highlighting some breaking changes that were pushed to Ceramic recently and how you should upgrade your libraries.

Key updates

Recently, we have released a new version of ComposeDB (ComposeDB v0.7) which introduced a bunch of new features to ComposeDB like new SET account relation when defining models and more (check out the detailed release notes).

Recent updates to js-ceramic, added with the release of Ceramic v5, also introduce a new anchor polling mechanism which we believe is more robust compared to our older system. This new polling mechanism is necessary for us to continue making improvements for CAS (the Ceramic Anchor Service).

In order to use the new version of ComposeDB, developers will have to upgrade their Ceramic server to v5.3 as it is not compatible with earlier versions. This is especially important for projects that are using deterministic documents (i.e., if your app uses a Model with a single account relation, specified as accountRelation: "single"). To continue using them with ComposeDB v0.7, it needs Ceramic v5.3. Check out the section below that covers the process of how to upgrade.

What does this mean for you?

We highly encourage all developers who want to use ComposeDB v0.7 to upgrade to js-ceramic v5.3. This will ensure that you have all of the latest features added to both ComposeDB and js-ceramic available to you and resolve the risk of running into version incompatibility issues later down the line.

This release included a few patches that made it possible to upgrade ComposeDB and Ceramic server independently. For that reason, there are a few upgrade considerations that you should take into account, depending on which version of ComposeDB you are currently running and whether or not your project has been using deterministic documents. Check the scenarios and the steps below, and choose the one that fits your project specifications:

  1. Your project doesn’t use single account relation:

    1. You can upgrade Ceramic and ComposeDB to v5.3 and v0.7.x respectively in any order.
  2. Your project uses single account relation:

    1. First, check which ComposeDB versions you are running on. If you are on v0.5.x of ComposeDB, make sure you have at least v0.5.3. If you are on v0.6.x of ComposeDB, make sure you have at least v0.6.2.
    2. After confirming that you have the required ComposeDB version, you can upgrade your js-ceramic to v5.x.
    3. After upgrading js-ceramic, you can upgrade ComposeDB to v0.7.x.

How to get support?

If you need support regarding the upgrade or choosing the best path forward for your project, please respond to this thread with your project details and the core Ceramic team members will reach out to you.

2 Likes

Hello, I am trying to upgrade and am following the directions for the case where my project uses single account relation, but I can’t upgrade composeDB to at least v0.6.2 because there are no versions higher than 0.6.1. At least, this is what I see from running npm view @composedb/client versions.

[
  '0.1.0',      '0.1.1',      '0.2.0',
  '0.2.1',      '0.2.2',      '0.3.0-rc.0',
  '0.3.0-rc.1', '0.3.0',      '0.3.1',
  '0.3.2-rc.0', '0.4.0',      '0.4.3',
  '0.4.4',      '0.5.0-rc.0', '0.5.0-rc.1',
  '0.5.0-rc.2', '0.5.0-rc.3', '0.5.0',
  '0.5.1',      '0.5.2',      '0.5.3',
  '0.6.0-rc.0', '0.6.0-rc.1', '0.6.0',
  '0.6.1',      '0.7.0-rc.0', '0.7.0-rc.1',
  '0.7.0-rc.2', '0.7.0-rc.3', '0.7.0',
  '0.7.1'
]

Hi @jhoang, v0.6.2 is the latest v0.6.x version of the ComposeDB CLI, for the client v0.6.1 is the latest v0.6.x.

3 Likes

Thanks for clearing that up for me!

1 Like