Skip to content

Releases: celestiaorg/celestia-node

v0.20.3-mocha

26 Nov 10:44
f019e10
Compare
Choose a tag to compare
v0.20.3-mocha Pre-release
Pre-release

This patch release fixes a JSON serialisation error with libshare.Blob via #3958.

What's Changed

Full Changelog: v0.20.2-mocha...v0.20.3-mocha

v0.20.3-arabica

25 Nov 16:17
f019e10
Compare
Choose a tag to compare
v0.20.3-arabica Pre-release
Pre-release

This patch release fixes a JSON serialisation error with libshare.Blob via #3958.

What's Changed

Full Changelog: v0.20.2-arabica...v0.20.3-arabica

v0.20.2

20 Nov 10:12
b24d47f
Compare
Choose a tag to compare

NOTE: v0.18 and v0.19 are skipped for mainnet

Hey everyone, this is quite a mammoth of a release, so please hang tight. We have two major changes packaged in this release:

  • Shwap (protocol-breaking)
  • Celestia v3 compatibility (API-breaking)

The migration period for this release is quite tight (a bit longer than 2 weeks), so we urge all node operators to upgrade to this version and re-sync against the network by December 2nd.

As this release is API-breaking, we also urge all integrations to migrate to this new version by December 2nd. (The list of API breaks can be found below).

Shwap

This release features Shwap(CIP-19), a protocol-breaking feature that brings massive optimizations to disk usage(16x) and data access latencies. The new protocol is not backwards compatible with the currently deployed protocol and software.

Both protocols will run side-by-side for about a two-week transition period, from November 20 to December 2. During this period, node operators should migrate to the new version. At the end of the period, posted historical and recent data will no longer be available on the old protocol.

Migration Notes

Migration requires resyncing the node from scratch, as it now contains a new storage format.

Migration Steps over the old node:

  • Remove old data:
    • In home directory(default .celestia-<type>) => rm -rf inverted_index index data transients blocks
    • Keep keys directory to preserve peer and chain identity keys in place
  • Config updates
    • If defaults were in use, remove the old config and re-init in the next step
    • If you want to preserve the old config - move BlockstoreCacheSize entry from [Share.EDSStoreParams] section to just [Share]and remove GCIntervalRoutingTableRefreshPeriod
  • Re-init node for the Mocha p2p network
    • celestia init
  • Start the node and monitor syncing
    • celestia start

If the old node has to be kept running - initiate and start the new version in a different directory:

  • celestia init --node.store <new_path>
  • celestia start --node.store <new_path>

Celestia V3 compatibility

This release contains an upgrade to the celestia-app version (to v3). v3 will only be live on the mainnet in mid-December, but this release contains the requirements for compatibility with the upgrade.

Notable API breaks include:

  • simplification of the blob share and state modules via the deduplication of types (via [#3782](#3782))
  • share module now takes height instead of the full ExtendedHeader (via [#3870](#3870))

Comprehensive list of API breaks:

  • GetSharesByNamespace renamed to GetNamespaceData
  • the share module returns shwap.NamespaceData for the GetNamespaceData method
  • the share module now takes height (uint64) instead of the full ExtendedHeader for all methods
  • both the share and blob modules now use the go-square v2 libshare.Namespace (from https://github.com/celestiaorg/go-square/tree/v2.0.0) instead of the old share.Namespace for all methods
  • the state module now uses the go-square v2 libshare.Blob type (from https://github.com/celestiaorg/go-square/tree/v2.0.0) instead of the old one from the state module
  • the blob package now embeds the new go-square v2 libshare.Blob type mentioned above in the blob.Blob struct instead of the old v1 type.

Miscellaneous

What to look out for in the following releases:

  • the -experimental-pruning flag will soon be deprecated in favour of pruning becoming the default mode for all node types, requiring users to pass -archival to retain block history beyond the sampling window
  • the API gateway will be deprecated

What's Changed

Features

Fixes

Read more

v0.20.2-mocha

18 Nov 14:40
2dc9cce
Compare
Choose a tag to compare
v0.20.2-mocha Pre-release
Pre-release

This patch brings numerous fixes to the sampling protocol, particularly Bitswap sub-protocol dependency, by fixing 7(!) client-side memory leaks. It also improves resource utilization and load balancing on the server side. All the changes are currently applied in our fork(https://github.com/celestiaorg/boxo/tree/fixes) and will be upstreamed with unforking in an upcoming release.

Additionally, the patch applies a safety measure by temporarily disabling QUIC due to the unknown origin of the following bug: quic-go/quic-go#4712.

As a cherry on top, this patch hotfixes long-standing memory issues in BNs: #3926. Thanks to @rach-id for helping us with the debugging.

Full Changelog: v0.20.1-mocha...v0.20.2-mocha

v0.20.2-arabica

18 Nov 14:41
2dc9cce
Compare
Choose a tag to compare
v0.20.2-arabica Pre-release
Pre-release

This patch brings numerous fixes to the sampling protocol, particularly Bitswap sub-protocol dependency, by fixing 7(!) client-side memory leaks. It also improves resource utilization and load balancing on the server side. All the changes are currently applied in our fork(https://github.com/celestiaorg/boxo/tree/fixes) and will be upstreamed with unforking in an upcoming release.

Additionally, the patch applies a safety measure by temporarily disabling QUIC due to the unknown origin of the following bug: quic-go/quic-go#4712.

As a cherry on top, this patch hotfixes long-standing memory issues in BNs: #3926. Thanks to @rach-id for helping us with the debugging.

Full Changelog: v0.20.1-arabica...v0.20.2-arabica

v0.20.1-mocha

07 Nov 11:20
353141f
Compare
Choose a tag to compare
v0.20.1-mocha Pre-release
Pre-release

What's Changed

Full Changelog: v0.20.0-mocha...v0.20.1-mocha

v0.20.1-arabica

07 Nov 10:57
3177840
Compare
Choose a tag to compare
v0.20.1-arabica Pre-release
Pre-release

What's Changed

Full Changelog: v0.20.0-arabica...v0.20.1-arabica

v0.20.0-mocha

06 Nov 12:13
ace6840
Compare
Choose a tag to compare
v0.20.0-mocha Pre-release
Pre-release

It's the equivalent of https://github.com/celestiaorg/celestia-node/releases/tag/v0.20.0-arabica but for Mocha and with a docker fix.

What's Changed

Full Changelog: v0.20.0-arabica...v0.20.0-mocha

v0.20.0-arabica

04 Nov 14:12
c6062c6
Compare
Choose a tag to compare
v0.20.0-arabica Pre-release
Pre-release

This release breaks APIs and storage. The API break renames a method(#3902), grouping it closer to breaks in v0.19.0.

The storage break affects only LNs (#3887) and is necessary to support LN pruning post-Shwap. LN runners must resync their nodes. See the docs for further instruction.

Besides, this release brings multiple preventive improvements to sampling logic.

What's Changed(since v0.19.0-arabica)

Breaking

  • !refactor: rename GetSharesByNamespace to GetNamespaceData by @cristaloleg in #3902
  • feat(share/availability)!: Store success results for light availability by @walldiss in #3887

Feat

  • feat(pruner/light): add light pruning for shwap by @walldiss in #3896

Fixes

  • fix(pruner): fix find algo so that it does not pass a malformed range into GetRangeByHeight call by @renaynay in #3828
  • fix: wrong network error by @jcstein in #3885
  • fix(share/availability): propagate errors from light availability properly by @walldiss in #3888
  • fix(shwap/shrex): enable recovery middleware in shrex server by @walldiss in #3897
  • fix(DASer): Log sampling errors in DASer by @walldiss in #3889
  • fix(availability): prevent parallel availability calls by @walldiss in #3883
  • fix(ci): GH_TOKEN for upload-docs by @cristaloleg in #3877
  • fix(ci): do not version_bump by @cristaloleg in #3882

Chores

Full Changelog: v0.19.0-arabica...v0.20.0-arabica

v0.19.0-arabica

23 Oct 10:09
cfb363c
Compare
Choose a tag to compare
v0.19.0-arabica Pre-release
Pre-release

This release is API-breaking and contains an upgrade to the celestia-app version (to v3).

Notable API breaks include:

  • deduplication of types that resulted in several type changes in the blob, share and state modules (via #3782)
  • share module now takes height instead of the full ExtendedHeader (via #3870)

What to look out for in following releases:

  • the --experimental-pruning flag will soon be deprecated in favour of pruning becoming the default mode for all node types, requiring users to pass --archival in order to retain block history beyond the sampling window
  • the API gateway will be deprecated

What's Changed

New Contributors

Full Changelog: v0.18.2-arabica...v0.19.0-arabica