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