Releases: Layr-Labs/eigenda
v0.8.6-rc.1
Summary
This is an optional but recommended release for all Holeksy operators.
- Remote BLS signer support for operator nodes
- Example signing service https://github.com/Layr-Labs/cerberus
- Disperser blob retrieval latency reduced by ~7x
- Improved error handling when new on-chain SocketRegsitry contract is not available
What's Changed
- Revert "Revert "S3 relay interface"" by @cody-littley in #853
- [payments] disperser client local metering by @hopeyen in #793
- [v2] Encoding manager by @ian-shim in #846
- Chunk store by @cody-littley in #848
- Use keys that do not collide when data is stored in a single bucket. by @cody-littley in #865
- Add cache wrapper that handles parallel access. by @cody-littley in #861
- [v2] Interface update for batching by @ian-shim in #864
- [v2] Node Client
StoreChunks
method by @ian-shim in #852 - [v2] metadata store dispersal operations by @ian-shim in #867
- [v2] Attestation Interface & Metadata Store by @ian-shim in #868
- Fix conversion between integer types by @pschork in #872
- [v2] Refactor object serialization by @ian-shim in #870
- [v2] Encoder server with EncodeBlob method by @dmanc in #866
- Update protos for relay implementation. by @cody-littley in #876
- Remove PadToPowerOf2 function by @dmanc in #877
- style: remove unneeded lint checkbox in pull_request_template.md by @samlaf in #859
- Downgrade disperser error logs by @ian-shim in #881
- v2
BlobMetadataStore
operations forBlobVerificationInfo
s by @ian-shim in #878 - Clean up unused node methods by @ian-shim in #874
- Fix test flake. by @cody-littley in #886
- [relay] Return raw bundle bytes from relay by @ian-shim in #884
- Relay Client by @ian-shim in #875
- [v2] Dispatcher Implementation by @ian-shim in #871
- More minibatch clean up by @ian-shim in #883
- [v2] Controller Entrypoint by @ian-shim in #873
- [disperser] Return non-internal error for context errors by @ian-shim in #887
- [v2] Node
DownloadBatch
method by @ian-shim in #880 - Integrate the grpc native instrumentation by @jianoaix in #891
- [v2] Node v2 storage implementation by @ian-shim in #885
- [v2] Make
ChunkWriter
requests idempotent by @ian-shim in #879 - Rename
non_signer_stakes_and_signature
toattestation
in v2 protobuf by @ian-shim in #898 - Implement core relay functionality by @cody-littley in #869
- [v2] Disperser
GetBlobStatus
endpoint by @ian-shim in #889 - Set up v2
EncodingClient
inEncodingManager
by @ian-shim in #897 - Node v2
StoreChunks
andGetChunks
endpoints by @ian-shim in #893 - Disperser Client v2 by @ian-shim in #900
- Relay main by @cody-littley in #892
- payments vault by @0x0aa0 in #800
- [v2] Disperser server
GetBlobCommitment
endpoint by @ian-shim in #899 - feat: bls remote signer by @shrimalmadhur in #745
- Concurrency limiting cache by @cody-littley in #903
- [relay] Replace viper to common cli parsing framework by @ian-shim in #904
- [v2] Variety of fixes in disperser by @ian-shim in #907
- verifyBlobs util by @0x0aa0 in #862
- Relay rate limits by @cody-littley in #906
- Add encoder queueing stats for autoscaling by @jianoaix in #910
- Track bucket instead of sizes by @jianoaix in #913
- [v2] node/relay bug fixes by @ian-shim in #908
- Use power of 2 for blob length by @mooselumph in #912
- Fix Subgraph README.md typo by @gwenall in #890
- [v2] Remove rate limiter from disperser by @ian-shim in #909
- V2 interfaces by @0x0aa0 in #920
- Relay authentication by @cody-littley in #911
- [v2] Disperser request validation by @ian-shim in #915
- [v2] Paginate metadata records in controller by @ian-shim in #914
- [v2] Offchain integration with v2 onchain interfaces by @ian-shim in #921
- docs: fix typo in encoding.md by @samlaf in #925
- Add additional queue metrics by @dmanc in #919
- [v2] Read blob version params from chain by @ian-shim in #922
- add pprof to disperser by @bxue-l2 in #927
- remove s.logger by @bxue-l2 in #929
- Optimize the Disperser perf by @jianoaix in #930
- Relay timeouts by @cody-littley in #918
- Pull out the pprof server by @jianoaix in #933
- Do not fail the object fetch when object size is unknown by @jianoaix in #932
- Metrics framework by @cody-littley in #926
- [SocketRegistry] get operator socket by @hopeyen in #863
- Integrate pprof to encoder and node by @jianoaix in #935
- Metrics framework churner by @cody-littley in #934
- Size aware cache by @cody-littley in #924
- Security.md creation by @anupsv in #905
- fix: no local flags for skipping socket registry, only warn by @hopeyen in #964
New Contributors
Full Changelog: v0.8.5...v0.8.6-rc.1
v0.8.6-rc.0
Summary
This is an optional but recommended release for all Holeksy operators.
- Remote BLS signer support for operator nodes
- Example signing service https://github.com/Layr-Labs/cerberus
- Disperser blob retrieval latency reduced by ~7x
What's Changed
- Revert "Revert "S3 relay interface"" by @cody-littley in #853
- [payments] disperser client local metering by @hopeyen in #793
- [v2] Encoding manager by @ian-shim in #846
- Chunk store by @cody-littley in #848
- Use keys that do not collide when data is stored in a single bucket. by @cody-littley in #865
- Add cache wrapper that handles parallel access. by @cody-littley in #861
- [v2] Interface update for batching by @ian-shim in #864
- [v2] Node Client
StoreChunks
method by @ian-shim in #852 - [v2] metadata store dispersal operations by @ian-shim in #867
- [v2] Attestation Interface & Metadata Store by @ian-shim in #868
- Fix conversion between integer types by @pschork in #872
- [v2] Refactor object serialization by @ian-shim in #870
- [v2] Encoder server with EncodeBlob method by @dmanc in #866
- Update protos for relay implementation. by @cody-littley in #876
- Remove PadToPowerOf2 function by @dmanc in #877
- style: remove unneeded lint checkbox in pull_request_template.md by @samlaf in #859
- Downgrade disperser error logs by @ian-shim in #881
- v2
BlobMetadataStore
operations forBlobVerificationInfo
s by @ian-shim in #878 - Clean up unused node methods by @ian-shim in #874
- Fix test flake. by @cody-littley in #886
- [relay] Return raw bundle bytes from relay by @ian-shim in #884
- Relay Client by @ian-shim in #875
- [v2] Dispatcher Implementation by @ian-shim in #871
- More minibatch clean up by @ian-shim in #883
- [v2] Controller Entrypoint by @ian-shim in #873
- [disperser] Return non-internal error for context errors by @ian-shim in #887
- [v2] Node
DownloadBatch
method by @ian-shim in #880 - Integrate the grpc native instrumentation by @jianoaix in #891
- [v2] Node v2 storage implementation by @ian-shim in #885
- [v2] Make
ChunkWriter
requests idempotent by @ian-shim in #879 - Rename
non_signer_stakes_and_signature
toattestation
in v2 protobuf by @ian-shim in #898 - Implement core relay functionality by @cody-littley in #869
- [v2] Disperser
GetBlobStatus
endpoint by @ian-shim in #889 - Set up v2
EncodingClient
inEncodingManager
by @ian-shim in #897 - Node v2
StoreChunks
andGetChunks
endpoints by @ian-shim in #893 - Disperser Client v2 by @ian-shim in #900
- Relay main by @cody-littley in #892
- payments vault by @0x0aa0 in #800
- [v2] Disperser server
GetBlobCommitment
endpoint by @ian-shim in #899 - feat: bls remote signer by @shrimalmadhur in #745
- Concurrency limiting cache by @cody-littley in #903
- [relay] Replace viper to common cli parsing framework by @ian-shim in #904
- [v2] Variety of fixes in disperser by @ian-shim in #907
- verifyBlobs util by @0x0aa0 in #862
- Relay rate limits by @cody-littley in #906
- Add encoder queueing stats for autoscaling by @jianoaix in #910
- Track bucket instead of sizes by @jianoaix in #913
- [v2] node/relay bug fixes by @ian-shim in #908
- Use power of 2 for blob length by @mooselumph in #912
- Fix Subgraph README.md typo by @gwenall in #890
- [v2] Remove rate limiter from disperser by @ian-shim in #909
- V2 interfaces by @0x0aa0 in #920
- Relay authentication by @cody-littley in #911
- [v2] Disperser request validation by @ian-shim in #915
- [v2] Paginate metadata records in controller by @ian-shim in #914
- [v2] Offchain integration with v2 onchain interfaces by @ian-shim in #921
- docs: fix typo in encoding.md by @samlaf in #925
- Add additional queue metrics by @dmanc in #919
- [v2] Read blob version params from chain by @ian-shim in #922
- add pprof to disperser by @bxue-l2 in #927
- remove s.logger by @bxue-l2 in #929
- Optimize the Disperser perf by @jianoaix in #930
- Relay timeouts by @cody-littley in #918
- Pull out the pprof server by @jianoaix in #933
- Do not fail the object fetch when object size is unknown by @jianoaix in #932
- Metrics framework by @cody-littley in #926
- [SocketRegistry] get operator socket by @hopeyen in #863
- Integrate pprof to encoder and node by @jianoaix in #935
- Metrics framework churner by @cody-littley in #934
- Size aware cache by @cody-littley in #924
- Security.md creation by @anupsv in #905
New Contributors
Full Changelog: v0.8.5...v0.8.6-rc.0
v0.8.5
Summary
This release is optional and contains minor fixes, updates to logging, and devops improvements.
- DataApi: Add endpoint on dataapi for ejection events
- EigenDAClient
- Simplify confirmation depth and finalization logics for putting a blob
- Refine error handling logics and error message if dispersal went wrong
- Reuse a single underlying connection for all grpc methods
- Bug fix: Global rate limit mistrigger
What's Changed
- Fix printf lint warning by @estensen in #742
- bug: fix slice init length by @jingchanglu in #767
- Operator network scanning tool by @pschork in #705
- readme: Delete obsolete subdirectories by @cosmoknightt in #769
- style: remove redundant logs by returning msg in errors by @samlaf in #776
- Fix grpc size comments by @jianoaix in #751
- [blobstore] Filter out expired blobs from query by @ian-shim in #692
- Define separate fallback RPC argument to work around URL escaping issues by @pschork in #777
- Reader fragment by @cody-littley in #749
- Fix docker bake tagging by @pschork in #782
- 771 read traffic generator by @cody-littley in #666
- Remove minibatcher by @ian-shim in #783
- [v2] Disperser and Node service protobuf by @ian-shim in #784
- chore: fix two small typos by @cosmoknightt in #795
- fix: ExpresseionValues -> ExpressionValues typo by @hopeyen in #796
- [payments] numeric incremental updates, query with ordering and lim by @hopeyen in #788
- [v2] Node v2 gRPC Entrypoint by @ian-shim in #797
- adds subgraph indexing of ejection manager events by @pschork in #798
- Validate protos workflow by @cody-littley in #799
- Table store by @cody-littley in #774
- Add observability for operator stake distributions by @jianoaix in #808
- Perf: cache the operator state by @jianoaix in #809
- Add feature that can disable traffic generator metrics. by @cody-littley in #807
- Adds operator ejections dataapi endpoint by @pschork in #810
- [payments] meterer structs and helpers by @hopeyen in #789
- [v2] Disperser API Server Entrypoint by @ian-shim in #785
- Break out chainio and crypto by @mooselumph in #805
- Fix race condition when rebuilding proto files. by @cody-littley in #813
- Style: improve api clients comments by @samlaf in #780
- Added README files in v2 proto directories. by @cody-littley in #812
- Update v2 disperser protos by @ian-shim in #816
- Add
.vscode
in gitignore by @ian-shim in #825 - [payments] meterer core logic by @hopeyen in #790
- Add traffic generator 2 docker file. by @cody-littley in #817
- Update docker-publish-release to not trigger on pull requests by @pschork in #822
- Core/v2 by @mooselumph in #824
- ci: add eigenda-client testnet-integration test to integration-tests.yml workflow by @samlaf in #820
- Remove shadow write from disperser by @ian-shim in #830
- refactor: make disperser client reuse same grpc connection by @samlaf in #826
- refactor: api error functions naming convention by @samlaf in #831
- Replace
math/rand
withcrypto/rand
for generating challenge by @ian-shim in #829 - Update api error convention by @ian-shim in #834
- Refactor Transactor into Reader/Writer by @mooselumph in #832
- [payments] placeholder paid blob dispersal api by @hopeyen in #791
- Protobufs for the relay by @cody-littley in #803
- [v2] Blob Metadata Store by @ian-shim in #818
- [v2] Blob Header Authentication by @ian-shim in #836
- Add stake percentage + operator address to ejection reporting (dataapi + cli) by @pschork in #815
- Fixes for traffic generator docker file by @cody-littley in #840
- feat!: eigenda client confirmation depth by @samlaf in #821
- Fix pointer issue by @mooselumph in #839
- Normalize allowlist lookups to use lowercase non-checksummed authenticated address by @pschork in #838
- [v2] s3 Blob Store by @ian-shim in #841
- [payments] disperser server metering by @hopeyen in #792
- [v2]
BlobMetadataStore
: Blob Certificate Operations by @ian-shim in #844 - TTL + table store by @cody-littley in #811
- S3 relay interface by @cody-littley in #833
- feat: eigenda client returns 503 errors (for failover purpose) by @samlaf in #828
- Revert "S3 relay interface" by @cody-littley in #850
- Use serialized bytes for commitments proto by @ian-shim in #851
- fix(disperser-client): RetrieveBlob grpc max size regression bug by @samlaf in #849
- Unexport payment signer by @ian-shim in #847
- quorum threshold update by @0x0aa0 in #729
- onchain socket by @0x0aa0 in #804
- [v2] Implement
DisperseBlob
method by @ian-shim in #842 - Log semver scan operator id as hex by @pschork in #802
- fix: make integration test use two quorums by @ian-shim in #855
- Add per quorum semever stake percentage metrics by @pschork in #856
- Fix docker build args and restore semver info on operator node by @pschork in #857
- fix(api): failover error bugs by @samlaf in #858
New Contributors
- @jingchanglu made their first contribution in #767
- @cosmoknightt made their first contribution in #769
Full Changelog: v0.8.4...v0.8.5
[Holesky] v0.8.5-rc.0
Summary
This pre-release is optional and contains minor fixes, updates to logging, and devops improvements.
- DataApi: Add endpoint on dataapi for ejection events
- EigenDAClient
- Simplify confirmation depth and finalization logics for putting a blob
- Refine error handling logics and error message if dispersal went wrong
- Reuse a single underlying connection for all grpc methods
- Bug fix: Global rate limit mistrigger
What's Changed
- Fix printf lint warning by @estensen in #742
- bug: fix slice init length by @jingchanglu in #767
- Operator network scanning tool by @pschork in #705
- readme: Delete obsolete subdirectories by @cosmoknightt in #769
- style: remove redundant logs by returning msg in errors by @samlaf in #776
- Fix grpc size comments by @jianoaix in #751
- [blobstore] Filter out expired blobs from query by @ian-shim in #692
- Define separate fallback RPC argument to work around URL escaping issues by @pschork in #777
- Reader fragment by @cody-littley in #749
- Fix docker bake tagging by @pschork in #782
- 771 read traffic generator by @cody-littley in #666
- Remove minibatcher by @ian-shim in #783
- [v2] Disperser and Node service protobuf by @ian-shim in #784
- chore: fix two small typos by @cosmoknightt in #795
- fix: ExpresseionValues -> ExpressionValues typo by @hopeyen in #796
- [payments] numeric incremental updates, query with ordering and lim by @hopeyen in #788
- [v2] Node v2 gRPC Entrypoint by @ian-shim in #797
- adds subgraph indexing of ejection manager events by @pschork in #798
- Validate protos workflow by @cody-littley in #799
- Table store by @cody-littley in #774
- Add observability for operator stake distributions by @jianoaix in #808
- Perf: cache the operator state by @jianoaix in #809
- Add feature that can disable traffic generator metrics. by @cody-littley in #807
- Adds operator ejections dataapi endpoint by @pschork in #810
- [payments] meterer structs and helpers by @hopeyen in #789
- [v2] Disperser API Server Entrypoint by @ian-shim in #785
- Break out chainio and crypto by @mooselumph in #805
- Fix race condition when rebuilding proto files. by @cody-littley in #813
- Style: improve api clients comments by @samlaf in #780
- Added README files in v2 proto directories. by @cody-littley in #812
- Update v2 disperser protos by @ian-shim in #816
- Add
.vscode
in gitignore by @ian-shim in #825 - [payments] meterer core logic by @hopeyen in #790
- Add traffic generator 2 docker file. by @cody-littley in #817
- Update docker-publish-release to not trigger on pull requests by @pschork in #822
- Core/v2 by @mooselumph in #824
- ci: add eigenda-client testnet-integration test to integration-tests.yml workflow by @samlaf in #820
- Remove shadow write from disperser by @ian-shim in #830
- refactor: make disperser client reuse same grpc connection by @samlaf in #826
- refactor: api error functions naming convention by @samlaf in #831
- Replace
math/rand
withcrypto/rand
for generating challenge by @ian-shim in #829 - Update api error convention by @ian-shim in #834
- Refactor Transactor into Reader/Writer by @mooselumph in #832
- [payments] placeholder paid blob dispersal api by @hopeyen in #791
- Protobufs for the relay by @cody-littley in #803
- [v2] Blob Metadata Store by @ian-shim in #818
- [v2] Blob Header Authentication by @ian-shim in #836
- Add stake percentage + operator address to ejection reporting (dataapi + cli) by @pschork in #815
- Fixes for traffic generator docker file by @cody-littley in #840
- feat!: eigenda client confirmation depth by @samlaf in #821
- Fix pointer issue by @mooselumph in #839
- Normalize allowlist lookups to use lowercase non-checksummed authenticated address by @pschork in #838
- [v2] s3 Blob Store by @ian-shim in #841
- [payments] disperser server metering by @hopeyen in #792
- [v2]
BlobMetadataStore
: Blob Certificate Operations by @ian-shim in #844 - TTL + table store by @cody-littley in #811
- S3 relay interface by @cody-littley in #833
- feat: eigenda client returns 503 errors (for failover purpose) by @samlaf in #828
- Revert "S3 relay interface" by @cody-littley in #850
- Use serialized bytes for commitments proto by @ian-shim in #851
- fix(disperser-client): RetrieveBlob grpc max size regression bug by @samlaf in #849
- Unexport payment signer by @ian-shim in #847
- quorum threshold update by @0x0aa0 in #729
- onchain socket by @0x0aa0 in #804
- [v2] Implement
DisperseBlob
method by @ian-shim in #842 - Log semver scan operator id as hex by @pschork in #802
- fix: make integration test use two quorums by @ian-shim in #855
- Add per quorum semever stake percentage metrics by @pschork in #856
- Fix docker build args and restore semver info on operator node by @pschork in #857
- fix(api): failover error bugs by @samlaf in #858
New Contributors
- @jingchanglu made their first contribution in #767
- @cosmoknightt made their first contribution in #769
- @hopeyen made their first contribution in #796
Full Changelog: v0.8.4...v0.8.5-rc.0
v0.8.4
Summary
This release is optional and contains minor fixes, updates to logging, and devops improvements.
- Latency observability into encoding and retrieval endpoint
- Reduce metrics cardinality
- EigenDA client:
- Logging update
- Ability to initialize without configuring signer
- Improvement in protobuf compilation & docker build pipeline
NOTE: The encoding optimization introduced in v0.8.0, which is not compatible with the previous versions, will be enabled on 10/13 11AM PDT. Please ensure that DA node is upgraded to v0.8.0+ by 10/11. This breaking change only affects DA nodes and does not affect rollups or any users posting blobs.
What's Changed
- chore: refactor to single multistage dockerfile with bake file by @samlaf in #754
- feat: dockerfile for deploying contracts by @samlaf in #755
- Lightnode docker by @cody-littley in #726
- Bump
actions/upload-artifact
action by @ian-shim in #758 - [ci] Generate unit test coverage on PR by @ian-shim in #759
- Add registry and repository variables to docker bake for devops builds by @pschork in #760
- Fix docker-bake issues with devops builds by @pschork in #761
- doc: remove duplicate word by @xiaobei0715 in #753
- DAS protobuffs by @cody-littley in #710
- chore: cleaner eigenda_client logs by @samlaf in #764
- Make the latency accounting more accurate for encoder by @jianoaix in #766
- Lightnode kv store by @cody-littley in #721
- Add headers for routing on encoding streamer by @dmanc in #765
- 'make protoc' now utilizes docker workflow by default. by @cody-littley in #748
- Reduce the operator latency metric cardinality by @jianoaix in #768
- Instrument the retrieval latency stages by @jianoaix in #771
- rm sig check by @bxue-l2 in #770
- Fix docker-publish-release docker bake by @pschork in #772
New Contributors
- @xiaobei0715 made their first contribution in #753
Full Changelog: v0.8.3...v0.8.4
[Holesky] v0.8.4-rc.0
Summary
This pre-release is optional and contains minor fixes, updates to logging, and devops improvements.
- Latency observability into encoding and retrieval endpoint
- Reduce metrics cardinality
- EigenDA client:
- Logging update
- Ability to initialize without configuring signer
- Improvement in protobuf compilation & docker build pipeline
NOTE: The encoding optimization introduced in v0.8.0, which is not compatible with the previous versions, will be enabled on 10/13 11AM PDT. Please ensure that DA node is upgraded to v0.8.0+ by 10/11. This breaking change only affects DA nodes and does not affect rollups or any users posting blobs.
What's Changed
- chore: refactor to single multistage dockerfile with bake file by @samlaf in #754
- feat: dockerfile for deploying contracts by @samlaf in #755
- Lightnode docker by @cody-littley in #726
- Bump
actions/upload-artifact
action by @ian-shim in #758 - [ci] Generate unit test coverage on PR by @ian-shim in #759
- Add registry and repository variables to docker bake for devops builds by @pschork in #760
- Fix docker-bake issues with devops builds by @pschork in #761
- doc: remove duplicate word by @xiaobei0715 in #753
- DAS protobuffs by @cody-littley in #710
- chore: cleaner eigenda_client logs by @samlaf in #764
- Make the latency accounting more accurate for encoder by @jianoaix in #766
- Lightnode kv store by @cody-littley in #721
- Add headers for routing on encoding streamer by @dmanc in #765
- 'make protoc' now utilizes docker workflow by default. by @cody-littley in #748
- Reduce the operator latency metric cardinality by @jianoaix in #768
- Instrument the retrieval latency stages by @jianoaix in #771
- rm sig check by @bxue-l2 in #770
New Contributors
- @xiaobei0715 made their first contribution in #753
Full Changelog: v0.8.3...v0.8.4-rc.0
v0.8.3
Summary
This release is optional for users and operators to upgrade.
Notable changes
- Performance improvement: Zero serialization of chunks after being encoded in the dispersal flow, eliminating 20s to minutes overhead on dispersal latency
- Performance observability: Added metrics for blob age, blob encoding latency and system throughput
- Robustness fixes:
- Added blob state transition invariant checking to make sure blob state changes are correct
- Added blob state recovery for handling failed blobs stuck in DISPERSING state
What's Changed
- Downlevel more encoding streamer error log by @ian-shim in #689
- Check if blobs are expired before returning by @mooselumph in #695
- Add log for chunk encoding format by @jianoaix in #696
- Add
BlobMinibatchMapping
in minibatch store by @ian-shim in #683 - Create blob minibatch mappings by @ian-shim in #687
- [BatchConfirmer] Apply state transitions for full batches by @ian-shim in #691
- [1/N][zero serialization] Create data structure for passing encode chunks by @jianoaix in #690
- Add an API to fetch blobs from a given batch header hash by @dmanc in #688
- Update README.md by @Ocheretovich in #694
- [node]
AttestBatch
endpoint by @ian-shim in #676 - Split blob writer code out of larger PR. by @cody-littley in #685
- [2/N][zero serialization] Make Batcher operate on chunks without ser/deser by @jianoaix in #700
- use insecure credential by @bxue-l2 in #711
- Simplify minibatch data model by @ian-shim in #707
- [node] Refactor blob expiration key by @ian-shim in #693
- Compress signatures in minibatch response by @ian-shim in #699
- [node] Make
GetBlobHeader
compatible with minibatches by @ian-shim in #698 - [1/N][GPU encoder] Add benchmarking code and refactor encoding module by @dmanc in #715
- Add
GetBulkBlobMetadata
method inBlobMetadataStore
by @ian-shim in #703 - Perf observability: Add blob age at key stages in blob's lifecycle by @jianoaix in #719
- Perf observability: Encoder data throughput and blob size breakdown by @jianoaix in #716
- Perf observability: Add blob encoding latency at client side by @jianoaix in #722
- Fix stringification of uint8 by @jianoaix in #723
- [node] Make
GetChunks
compatible with minibatches by @ian-shim in #712 - Send blob headers to all quorums on minibatch dispersal by @ian-shim in #717
- [3/N][zero serialization] Make Encoder produce and pass chunks in desired format by @jianoaix in #735
- [4/N][zero serialization] Add fallback to the encoder client when it cannot tell chunk encoding format by @jianoaix in #738
- More fixes of quorum (uint8) stringification by @jianoaix in #731
- Perf observability: Add attestation and encoding throughput by @jianoaix in #725
- Created blob verifier worker. by @cody-littley in #708
- Add dispersing transistion check by @bxue-l2 in #741
- Recover failed blobs in encoding streamer by @ian-shim in #733
- Fix: Append metadata when constructing batch by @ian-shim in #746
- Minor updates to error logs by @ian-shim in #747
- Created dockerized workflow for building protobufs. by @cody-littley in #734
- chore(inabox): multiplex inabox logs to stdout to help debug easier by @samlaf in #752
- Expose public ip service option on node plugin by @pschork in #756
New Contributors
- @Ocheretovich made their first contribution in #694
Full Changelog: v0.8.2...v0.8.3
[Holesky] v0.8.3-rc.0
Summary
This pre-release is optional for users and operators to upgrade.
Notable changes
- Performance improvement: Zero serialization of chunks after being encoded in the dispersal flow, eliminating 20s to minutes overhead on dispersal latency
- Performance observability: Added metrics for blob age, blob encoding latency and system throughput
- Robustness fixes:
- Added blob state transition invariant checking to make sure blob state changes are correct
- Added blob state recovery for handling failed blobs stuck in DISPERSING state
What's Changed
- Downlevel more encoding streamer error log by @ian-shim in #689
- Check if blobs are expired before returning by @mooselumph in #695
- Add log for chunk encoding format by @jianoaix in #696
- Add
BlobMinibatchMapping
in minibatch store by @ian-shim in #683 - Create blob minibatch mappings by @ian-shim in #687
- [BatchConfirmer] Apply state transitions for full batches by @ian-shim in #691
- [1/N][zero serialization] Create data structure for passing encode chunks by @jianoaix in #690
- Add an API to fetch blobs from a given batch header hash by @dmanc in #688
- Update README.md by @Ocheretovich in #694
- [node]
AttestBatch
endpoint by @ian-shim in #676 - Split blob writer code out of larger PR. by @cody-littley in #685
- [2/N][zero serialization] Make Batcher operate on chunks without ser/deser by @jianoaix in #700
- use insecure credential by @bxue-l2 in #711
- Simplify minibatch data model by @ian-shim in #707
- [node] Refactor blob expiration key by @ian-shim in #693
- Compress signatures in minibatch response by @ian-shim in #699
- [node] Make
GetBlobHeader
compatible with minibatches by @ian-shim in #698 - [1/N][GPU encoder] Add benchmarking code and refactor encoding module by @dmanc in #715
- Add
GetBulkBlobMetadata
method inBlobMetadataStore
by @ian-shim in #703 - Perf observability: Add blob age at key stages in blob's lifecycle by @jianoaix in #719
- Perf observability: Encoder data throughput and blob size breakdown by @jianoaix in #716
- Perf observability: Add blob encoding latency at client side by @jianoaix in #722
- Fix stringification of uint8 by @jianoaix in #723
- [node] Make
GetChunks
compatible with minibatches by @ian-shim in #712 - Send blob headers to all quorums on minibatch dispersal by @ian-shim in #717
- [3/N][zero serialization] Make Encoder produce and pass chunks in desired format by @jianoaix in #735
- [4/N][zero serialization] Add fallback to the encoder client when it cannot tell chunk encoding format by @jianoaix in #738
- More fixes of quorum (uint8) stringification by @jianoaix in #731
- Perf observability: Add attestation and encoding throughput by @jianoaix in #725
- Created blob verifier worker. by @cody-littley in #708
- Add dispersing transistion check by @bxue-l2 in #741
- Recover failed blobs in encoding streamer by @ian-shim in #733
- Fix: Append metadata when constructing batch by @ian-shim in #746
- Minor updates to error logs by @ian-shim in #747
- Created dockerized workflow for building protobufs. by @cody-littley in #734
New Contributors
- @Ocheretovich made their first contribution in #694
Full Changelog: v0.8.2...v0.8.3-rc.0
v0.8.2
Summary
This is a patch release to fix a bug related to the blob state transition (#741). Without this fix, the blob may have wrong state transition from Confirmed back to Dispersing, which should never happen.
Users/rollups: No action needed. This is a system internal fix and should just work for users.
Operators: Not affected. No action needed.
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Summary
This is a patch release to fix a bug related to gRPC dial option (#711) in dispersal client library in v0.8.0, so users can retrieve the 4MiB blobs correctly.
Users/rollups: if you are using dispersal client to retrieve 4MiB blobs, please upgrade to v0.8.1. No impact otherwise.
Operators: no impact, and no action is needed.
Full Changelog: v0.8.0...v0.8.1