Releases: celestiaorg/celestia-node
v0.7.0-rc7
v0.7.0-rc6 - ShrEx!
(For real this time).
This RC fixes an issue found with light nodes' use of shrex.Getter. This issue will be resolved in later iterations.
What's Changed
- fix(nodebuilder/share): Revert providing
shrex.Getter
and its associated components to light node by @renaynay in #1770
Full Changelog: v0.7.0-rc5...v0.7.0-rc6
v0.7.0-rc5 - ShrEx!
This is a breaking RC that introduces ShrEx protocol for blocksync. As such, it also upgrades the chainID to arabica-6
This RC is only compatible with celestia-app 0.12.0-rc7 and not compatible with the current mocha
.
What's Changed
BREAKING
- feat(share)!: blocksync re-architecture by @distractedm1nd in #1730
- chore(nodebuilder/p2p)!: Upgrade arabica chainID for shrex upgrade by @renaynay in #1760
FEATURE
- feat: Use common Docker Build Pipeline by @jrmanes in #1737
- feat(nodebuilder/gateway): Add warn log if gateway is enabled so users know to use with caution by @renaynay in #1753
- feat(share/shrex): add Rate limit middleware for shrex servers by @walldiss in #1745
- feat(share): allow LNs to GetSharesByNamespace and GetEDS over shrex by @distractedm1nd in #1751
IMPROVEMENT
- improvement(libs/header): Check for requested height before fetching it from the store by @vgonkivs in #1706
- refactor(share/getters): cleaning up error logs, wrapping cascadegetter with teegetter by @distractedm1nd in #1761
BUG FIXES
- fix(das | share): handle
ErrByzantine
frommultierr
s when found withcontext.Canceled
by @renaynay in #1762
Full Changelog: v0.7.0-rc4...v0.7.0-rc5
v0.7.0-rc4
Bumps celestia-app version
What's Changed
- chore: bump celestia-app to v0.12.0-rc7 by @evan-forbes in #1723
- chore(libs/header/p2p): Fixing some debug logs by @renaynay in #1741
Full Changelog: v0.7.0-rc3...v0.7.0-rc4
v0.7.0-rc3
Updates arabica
genesis hash.
What's Changed
- chore!: bump arabica-5 genesis-hash by @Bidon15 in #1735
- bugfix(libs/header): store incoming head in syncer by @vgonkivs in #1724
Full Changelog: v0.7.0-rc2...v0.7.0-rc3
v0.7.0-rc2
This pre-release upgrades the chain ID to arabica-5
What's Changed
- Add cel-key utility to Docker images by @jcstein in #1672
- chore(nodebuidler/p2p)!: Upgrade arabica to
arabica-5
by @renaynay in #1725
Full Changelog: v0.7.0-rc1...v0.7.0-rc2
v0.7.0-rc1 - Stable `Arabica`
This pre-release brings a lot of breaking changes, including an upgrade to a breaking version of celestia-app as well as the addition of versioning to our pubsub topics, meaning we have also upgraded the chain ID of arabica to arabica-4
.
The state from the previous arabica chain has been preserved, so it is possible to migrate keys to any already-funded accounts to the node's keystore (by default, located at ~/.celestia-<node_type>-arabica-4/keys/keyring-test/
).
Note: please re-initialise the node's store.
Most notably, however, this pre-release includes a fix (#1639 and #1684) that address instability issues previously experienced on both mocha
and arabica
when attempting to bootstrap onto the networks. Special thanks to our master debugger @Wondertan for finding the issue and to @vgonkivs for implementing the fix.
What's Changed
BREAKING
- refactor!: naming PFD/PayForData to PayForBlob by @distractedm1nd in #1582
- chore!: bump celestia app v0.12.0-rc2 by @evan-forbes in #1617
- chore!: bump arabica chain-id and genesis hash by @Bidon15 in #1645
- chore!: upgrade to celestia-app 0.12.0-rc4 by @rootulp in #1648
- chore!: bump celestia-app to v0.12.0-rc5 by @evan-forbes in #1679
- feat!: add versioning for pubsub topics in fraud, header packages by @vgonkivs in #1620
- chore(nodebuilder/p2p)!: Upgrade arabica chain ID to
arabica-4
by @renaynay in #1696 - feat!: Move Dockerfile to the root of the project by @jrmanes in #1693
- chore: bump celestia-app v0.12.0-rc6 by @evan-forbes in #1689
- chore!: bump arabica-4 genesis hash by @Bidon15 in #1701
FEATURES
- feat(share/discovery): Add callback on peers set updates. by @walldiss in #1609
- feat(share/eds): adding traces to edsstore, write/read eds, and getters by @distractedm1nd in #1594
- feat(share): implements sync CascadeGetter by @Wondertan in #1628
- feat: using tmjson encoding on
core.Header
by @distractedm1nd in #1641 - feat(node | das | libs/header/sync): add total uptime node metrics + totalSampled das metrics + totalSynced sync metrics by @derrandz in #1638
IMPROVEMENTS
- improvement(das): Add timeout for sampling in DASer by @walldiss in #1615
- refactor(share/p2p): ironing out differences between shrex protocols by @distractedm1nd in #1611
- refactor(header): Extract
CoreExchange
andCoreListener
out of the header root package by @renaynay in #1627 - refactor(ipld): removing nmt hasher by @distractedm1nd in #1651
BUG FIXES
- fix(header/p2p): fix error string by @vgonkivs in #1618
- fix(daser) replace catchUpDoneCh channel gracefuly by @walldiss in #1631
- fix(p2p/pubsub): extend pubsub options by @vgonkivs in #1634
- fix(core/listener): Only broadcast datahash if core node is not syncing by @renaynay in #1652
- fix(share/discovery): decouple peer discovery from event processing by @vgonkivs in #1639
- fix(libs/header/sync): Make ranges.Add thread-safe by @tzdybal in #1649
- fix:
namespaced_data
endpoint by @rootulp in #1526 - fix(header/p2p): add trivial retrying for trustedPeer requested by @Wondertan in #1647
- fix(share/discovery): add loop to read events from the channel multiple times by @vgonkivs in #1684
- bugfix(libs/header): fix data race in syncer by @vgonkivs in #1682
MISC
- chore(nodebuilder/p2p): Add Kaarina to arabica by @renaynay in #1619
- docs: fix minor typos by @omahs in #1636
- chore(swamp): replace cosmos prefix with celestia in swamp tests by @vgonkivs in #1583
- chore(nodebuilder/p2p): Update Arabica kaarina peerID by @Bidon15 in #1650
- nodebuilder: make proxy constructors private in all modules by @jpserrat in #1643
- fix(Makefile): make install should not invoke build by @Wondertan in #1673
- chore(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 by @dependabot in #1655
- bump(metrics): upgrade otel to the latest version by @vgonkivs in #1537
- fix: flake in TestNamespaceHasher_CorruptedData by @distractedm1nd in #1686
- dep(pubsub): upgrade pubsub version by @vgonkivs in #1688
- chore(go.mod): Depend on upstream libp2p (AKA remove hlibp2p) by @renaynay in #1700
New Contributors
- @omahs made their first contribution in #1636
- @jpserrat made their first contribution in #1643
- @jrmanes made their first contribution in #1693
Full Changelog: v0.6.4...v0.7.0-rc1
v0.6.4 - Stable Mocha
Another patch release that fixes the DataRoot computation issue for when evidence is created on the core network and bugs when connection events are not read out correctly.
BUG FIXES
v0.6.3 - Stable Mocha
This patch release notably includes some fixes related to stabilising mocha
.
Note: this release includes a config change, so nodes running on mocha
will need to re-initialise their configs.
This release is not compatible with arabica
.
BREAKING
- feat(header)!: introduce header.Header interface (#1304) by @tzdybal
- feat(nodebuilder/p2p)!: bump arabica chain-id and genesis hash (#1645) by @Bidon15
BUG FIXES
- fix(daser) replace catchUpDoneCh channel gracefuly (#1631) by @walldiss
- fix(share/discovery): decouple peer discovery from event processing (#1639) by @vgonkivs
- fix(libs/header/sync): Make ranges.Add thread-safe (#1649) by @tzdybal
- fix(header/p2p): add trivial retrying for trustedPeer requested (#1647) by @Wondertan '
FEATURES
- feat(share): implements sync CascadeGetter (#1628) by @Wondertan
IMPROVEMENTS
- refactor(share/p2p): ironing out differences between shrex protocols (#1611) by @distractedm1nd
- refactor(header): Extract CoreExchange and CoreListener out of the header root package (#1627) by @renaynay
- nodebuilder: make proxy constructors private in all modules (#1643) by @jpserrat
MISC
Full Changelog: v0.6.2...v0.6.3
v0.6.2
What's Changed
In terms of features, implementing auth middleware on the RPC server as well as adding authentication to the RPC client are the biggest new feature introductions. Documentation on how to use an authenticated RPC client will come shortly. For now, using client.NewPublicClient
will allow access to public endpoints.
This release also includes several improvements and bug fixes, most notably upgrading libp2p dependencies across the board, as well as several feature introductions and refactorings that progress us towards our goal of refactoring our blocksync architecture.
Two important notes:
- We recommend re-initialising your node for this release as we introduced some new config parameters.
- This release does not fix stability issues with Arabica testnet bootstrappers - we are still in the process of investigating.
BREAKING
- fix(node/p2p)!: remove resource manager and it's API by @Wondertan in #1500
- improvement(header|p2p)!: remove limit status code by @vgonkivs in #1530
- refactor(nodebuilder/p2p): Add errors for all methods by @renaynay in #1539
- Revert "fix(node/p2p)!: remove resource manager and it's API (#1500)" by @Wondertan in #1570
- feat(header|syncer)!: add params to syncer by @vgonkivs in #1544
- feat!:
share.Getter
andgetters.IPLDGetter
by @distractedm1nd in #1518
FEATURES
- feat(api/rpc): Implement auth middleware on
Server
by @renaynay in #1402 - feat(share): Ensure empty CAR exists in eds.Store by @distractedm1nd in #1409
- feat(shrex/eds):
Client
/Server
by @distractedm1nd in #1431 - feat(api/client): Implement RPC client authentication by @renaynay in #1426
- feat(header|p2p): add blacklisting to peerTracker by @vgonkivs in #1532
- feat(eds/store):
store.GetDAH
by @distractedm1nd in #1511 - feat(cmd/celestia): Add
auth
subcommand to bridge, full and light by @renaynay in #1429 - feat(share/eds): Create a
blockservice.BlockGetter
adapter foreds.Store
by @walldiss in #1561 - feat(share):
getters.StoreGetter
by @distractedm1nd in #1528 - feat(share):
getters.TeeGetter
by @distractedm1nd in #1540 - feat(ShrEx/ND): Create client/server for namespaced data communication by @walldiss in #1497
IMPROVEMENTS
- improvement(cel-key): Network alias check for
--p2p.network
flag by @renaynay in #1482 - refactor: exporting nodebuilder/header.InitStore, moving mock to nodebuilder/header by @distractedm1nd in #1515
- feat(header/p2p): implement retry mechanism for header/p2p session by @vgonkivs in #1477
- deps: bump go-libp2p and all supporting pkgs by @Wondertan in #1547
- improvement(header/p2p): change store to getter inside headerEx server by @vgonkivs in #1604
- share/sharexpush: decrease ttl for seen messages in pubsub by @vgonkivs in #1580
- improvement(header/p2p): Implement context deadline on requests to store inside server by @renaynay in #1588
BUG FIXES
- fix: return a struct instead of a pointer in params creation by @vgonkivs in #1507
- fix(eds): WriteEDS thread safety for concurrent writingSessions by @distractedm1nd in #1498
- fix(header/p2p): preconnect trusted peers on header-ex start by @Wondertan in #1552
- fix(ipld): Make namespaceHasher fully implement hash.Hash and update go-multihash by @Wondertan in #1546
- fix(share): order proof nodes by depth before returning by @walldiss in #1545
- fix: use udp/quic instead of tcp/quic in NoAnnounceAddress by @tzdybal in #1560
- fix(header): don't stop Subscriber in Syncer and remove Stop from interface by @Wondertan in #1554
- fix(header/p2p): fix crash in server by @vgonkivs in #1569
- fix(cel-key):
keyring-dir
flag should overridenode.type
if provided. by @renaynay in #1571 - bugfix(header/p2p): handle long live context in head request by @vgonkivs in #1587
- fix(cel-key): update flag name to --p2p.network by @kevinji in #1590
- fix(fraud): fix race by using correct peer id in log statement by @Wondertan in #1605
- fix(header/store): cleanup subscription early if was cancelled by @Wondertan in #1606
- fix(header/p2p): add peerScore decreasing in case of failed request by @vgonkivs in #1603
MISCELLANEOUS
- chore(all): lint all the comment with cfmt and add cfmt to lint rules by @Wondertan in #1501
- fix: correct spacing of celestia banner by @tzdybal in #1505
- github/CI: Fix over kill of '.gitignore'. by @HoytRen in #1446
- share/p2p: move eds sub by @vgonkivs in #1519
- chore(header/p2p): improve logging by @vgonkivs in #1520
- chore(nodebuilder/p2p): Update limani nodekey for arabica by @renaynay in #1523
- improvement(header|p2p): log the reason on blocking by @vgonkivs in #1534
- refactor(eds/store): store_test.go cleanup by @distractedm1nd in #1538
- chore(modheader): don't ignore Syncer error on start by @Wondertan in #1553
- chore(deps): bump mheap/github-action-required-labels from 2 to 3 by @dependabot in #1559
- tests(swamp): correct fraud syncing test by @Wondertan in #1555
- test(core|state|swamp): unify and refactor core/app testing utilities by @Wondertan in #1551
- chore(deps): bump golang.org/x/crypto from 0.3.0 to 0.5.0 by @dependabot in #1577
- chore(deps): bump github.com/ipfs/go-blockservice from 0.4.0 to 0.5.0 by @dependabot in #1574
- chore(deps): bump golang.org/x/text from 0.5.0 to 0.6.0 by @dependabot in #1572
- chore(deps): bump go.uber.org/multierr from 1.8.0 to 1.9.0 by @dependabot in #1573
- chore(deps): bump github.com/ipfs/go-ipld-cbor from 0.0.5 to 0.0.6 by @dependabot in #1468
- docker: Update entrypoint.sh for multiple networks by @jcstein in #1522
- chore: updating rsmt2d to v0.8.0 and removing test skip by @distractedm1nd in #1585
- refactor(shrexeds): removing retry logic from client by @distractedm1nd in #1591
- chore(deps): bump google.golang.org/grpc from 1.51.0 to 1.52.0 by @dependabot in #1600
- chore(deps): bump github.com/libp2p/go-libp2p-routing-helpers from 0.4.0 to 0.6.0 by @dependabot in #1601
- chore(header/p2p): improve logging and error wrapping by @Wondertan in #1608
- feat(header/p2p): add traces to server by @vgonkivs in #1589
New Contributors
Full Changelog: v0.6.1...v0.6.2