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 https://github.com/celestiaorg/celestia-node/pull/1500
- improvement(header|p2p)!: remove limit status code by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1530
- refactor(nodebuilder/p2p): Add errors for all methods by @renaynay in https://github.com/celestiaorg/celestia-node/pull/1539
- Revert "fix(node/p2p)!: remove resource manager and it's API (#1500)" by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1570
- feat(header|syncer)!: add params to syncer by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1544
- feat!:
share.Getterandgetters.IPLDGetterby @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1518
FEATURES
- feat(api/rpc): Implement auth middleware on
Serverby @renaynay in https://github.com/celestiaorg/celestia-node/pull/1402 - feat(share): Ensure empty CAR exists in eds.Store by @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1409
- feat(shrex/eds):
Client/Serverby @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1431 - feat(api/client): Implement RPC client authentication by @renaynay in https://github.com/celestiaorg/celestia-node/pull/1426
- feat(header|p2p): add blacklisting to peerTracker by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1532
- feat(eds/store):
store.GetDAHby @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1511 - feat(cmd/celestia): Add
authsubcommand to bridge, full and light by @renaynay in https://github.com/celestiaorg/celestia-node/pull/1429 - feat(share/eds): Create a
blockservice.BlockGetteradapter foreds.Storeby @walldiss in https://github.com/celestiaorg/celestia-node/pull/1561 - feat(share):
getters.StoreGetterby @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1528 - feat(share):
getters.TeeGetterby @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1540 - feat(ShrEx/ND): Create client/server for namespaced data communication by @walldiss in https://github.com/celestiaorg/celestia-node/pull/1497
IMPROVEMENTS
- improvement(cel-key): Network alias check for
--p2p.networkflag by @renaynay in https://github.com/celestiaorg/celestia-node/pull/1482 - refactor: exporting nodebuilder/header.InitStore, moving mock to nodebuilder/header by @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1515
- feat(header/p2p): implement retry mechanism for header/p2p session by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1477
- deps: bump go-libp2p and all supporting pkgs by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1547
- improvement(header/p2p): change store to getter inside headerEx server by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1604
- share/sharexpush: decrease ttl for seen messages in pubsub by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1580
- improvement(header/p2p): Implement context deadline on requests to store inside server by @renaynay in https://github.com/celestiaorg/celestia-node/pull/1588
BUG FIXES
- fix: return a struct instead of a pointer in params creation by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1507
- fix(eds): WriteEDS thread safety for concurrent writingSessions by @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1498
- fix(header/p2p): preconnect trusted peers on header-ex start by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1552
- fix(ipld): Make namespaceHasher fully implement hash.Hash and update go-multihash by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1546
- fix(share): order proof nodes by depth before returning by @walldiss in https://github.com/celestiaorg/celestia-node/pull/1545
- fix: use udp/quic instead of tcp/quic in NoAnnounceAddress by @tzdybal in https://github.com/celestiaorg/celestia-node/pull/1560
- fix(header): don't stop Subscriber in Syncer and remove Stop from interface by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1554
- fix(header/p2p): fix crash in server by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1569
- fix(cel-key):
keyring-dirflag should overridenode.typeif provided. by @renaynay in https://github.com/celestiaorg/celestia-node/pull/1571 - bugfix(header/p2p): handle long live context in head request by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1587
- fix(cel-key): update flag name to --p2p.network by @kevinji in https://github.com/celestiaorg/celestia-node/pull/1590
- fix(fraud): fix race by using correct peer id in log statement by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1605
- fix(header/store): cleanup subscription early if was cancelled by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1606
- fix(header/p2p): add peerScore decreasing in case of failed request by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1603
MISCELLANEOUS
- chore(all): lint all the comment with cfmt and add cfmt to lint rules by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1501
- fix: correct spacing of celestia banner by @tzdybal in https://github.com/celestiaorg/celestia-node/pull/1505
- github/CI: Fix over kill of '.gitignore'. by @HoytRen in https://github.com/celestiaorg/celestia-node/pull/1446
- share/p2p: move eds sub by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1519
- chore(header/p2p): improve logging by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1520
- chore(nodebuilder/p2p): Update limani nodekey for arabica by @renaynay in https://github.com/celestiaorg/celestia-node/pull/1523
- improvement(header|p2p): log the reason on blocking by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1534
- refactor(eds/store): store_test.go cleanup by @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1538
- chore(modheader): don't ignore Syncer error on start by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1553
- chore(deps): bump mheap/github-action-required-labels from 2 to 3 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1559
- tests(swamp): correct fraud syncing test by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1555
- test(core|state|swamp): unify and refactor core/app testing utilities by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1551
- chore(deps): bump golang.org/x/crypto from 0.3.0 to 0.5.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1577
- chore(deps): bump github.com/ipfs/go-blockservice from 0.4.0 to 0.5.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1574
- chore(deps): bump golang.org/x/text from 0.5.0 to 0.6.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1572
- chore(deps): bump go.uber.org/multierr from 1.8.0 to 1.9.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1573
- chore(deps): bump github.com/ipfs/go-ipld-cbor from 0.0.5 to 0.0.6 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1468
- docker: Update entrypoint.sh for multiple networks by @jcstein in https://github.com/celestiaorg/celestia-node/pull/1522
- chore: updating rsmt2d to v0.8.0 and removing test skip by @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1585
- refactor(shrexeds): removing retry logic from client by @distractedm1nd in https://github.com/celestiaorg/celestia-node/pull/1591
- chore(deps): bump google.golang.org/grpc from 1.51.0 to 1.52.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1600
- chore(deps): bump github.com/libp2p/go-libp2p-routing-helpers from 0.4.0 to 0.6.0 by @dependabot in https://github.com/celestiaorg/celestia-node/pull/1601
- chore(header/p2p): improve logging and error wrapping by @Wondertan in https://github.com/celestiaorg/celestia-node/pull/1608
- feat(header/p2p): add traces to server by @vgonkivs in https://github.com/celestiaorg/celestia-node/pull/1589
New Contributors
- @jcstein made their first contribution in https://github.com/celestiaorg/celestia-node/pull/1522
- @kevinji made their first contribution in https://github.com/celestiaorg/celestia-node/pull/1590
Full Changelog: https://github.com/celestiaorg/celestia-node/compare/v0.6.1...v0.6.2