[Testnet] v2.5.0-rc.2 - Release Notes
- Commit:
063230586884a4f4835e732ab1715b6903f848ec - Prior Release:
v2.4.1 - Prior Commit:
4942ab6ce15761b44b5ed46110c2d3439b009e81
This is an important but optional release for validators. This release adds new validator-side payment authorization. Validators who do not upgrade may be vulnerable to DOS attacks in the future when third party dispersers are onboarded.
Validators
Major Changes
feat: Implements dispersal request auth for multiple registered disperser keys in #2290feat: Make new payments the default in #2262
Minor Changes
feat: better signing metrics in #2271fix: bug with non-contiguous range requests in #2306chore: refactor metric to use bytes instead of symbols in #2293fix: enforce all padding in encoded payload be 0 in #2250chore: Enable validator payment validation in inabox in #2255fix: chunk deduplication in #2252feat: convert chunk requests to use range query in #2231feat: add easier way to override v2 TTL in #2305
Disperser
Major Changes
perf: 20x speedup on GPU ntt (used for chunk generation) in #2214
Minor Changes
feat: Implement stale dispersal check in #2299feat: Implement API server dispersal time check in #2288feat: new and improved ejector in #2210feat: ejection transactor in #2242feat: adds local key signing to controller as alternative to KMS in #2223fix: Make global meter to use billable symbols in #2318fix: Properly initialize payment metrics in #2314feat: API for downloading part of an object from s3 in #2278fix: Pass errors through when building gRPC errors in #2311fix: Remove keys fromblobSetafter update to failure status in #2300feat: Update reservation bucket sizes with verdict in #2303feat: Use bytes instead of symbols for on-demand histogram in #2297feat: docker image for ejector in #2296fix: add nil G1Point check to prevent panic in signature aggregation in #2289feat: Implement per-account payment metrics in #2294fix: Configure stale dispersal boundary via CLI in #2292feat: Drop stale blobs in encoding manager in #2279fix: Fix incorrect error comparisons in #2282fix: Check if unprocessed items are the correct type in #2283fix: Fix inabox tests in #2284fix: Keep time source instance withinReservationLedgerin #2275chore: refactor s3 clients in #2261fix: Check dynamo table at startup to make sure it exists in #2272fix: check if semaphore.acquire errors in #2274refactor: Refactor icicle encoding to properly use streams in #2269fix: Fix encoding benchmarks and add the benchmarks to CI in #2268fix: gpu memory leak by freeing them in #2265perf: remove unneeded equivalence check and use universal verification in #2264refactor: Inject listener into API server constructor in #2256perf: gpu semaphore to allow >1 concurrent gpu task in #2249refactor: Inject listener into controller server in #2247refactor: GetFrames takes []fr.Element instead of []byte in #2243chore: delete old encoding/v2/bench/cmd/main.go file in #2244refactor: Refactor disperser harness so that only SetupDisperserHarness modifies the harness in #2233perf: optimize kzg multi-reveal by using smaller toeplitz matrix in #2238chore: disable flaky tests in #2236fix: multiframe msm bug in #2240feat: Add more payment metrics in #2235feat: Add API server to disperser harness in #2232perf: 400ms speedup for multiproof generation in #2220fix: flaky leaky bucket test in #2237feat: Spin up encoder v2 as goroutines in inabox integration tests in #2102fix: fixes deadlock in OCI FragmentedUploadObject and FragmentedDownloadObject in #2221feat: adds object storage abstraction to support aws/oci storage backends in #2114feat: Spin up controller as a goroutine in inabox integration tests in #2130refactor: cleanup parametrized encoder constructor logic in #2213fix: Missing context cancellation in #2126fix: Missing default case in chunk encoding format switch in #2158feat: Add DisableDisperser feature to InfrastructureHarness in #2206chore: Add precommit hook for make lint and make fmt-check in #2208fix: Missing length validation in security parameter verification loop in #2184fix: backend initialization bug in #2205refactor: pull encoder out of parametrizedProver in #2198chore: commit encoding benchmarks for ec2 g6.xlarge (CPU) in #2203refactor: Refactor payment authorization configuration in #2196feat: Make sure only authorized dispersers can you on-demand payments in #2248chore: fixes flaky TestFetchOperatorDispersalFeed test in #2199fix: live tests in #2191fix: Debug print statement in production code in #2185refactor: cleanup gnark/icicle backend code in #2197refactor: split fft into v1/v2 (exact copies for now) in #2193refactor: split rs into v1/v2 (currently exact copies) in #2192refactor: breakup kzg into v1/v2 separate pkgs in #2189refactor: move verifier/prover v2 to encoding/v2 pkg in #2188refactor: move committer to encoding/v2 in #2187refactor: create kzgflags package in #2186refactor: move encoding/utils/codec to encoding/codec in #2183chore: Add logger to icicle setup + multiproof in #2181fix: Division by zero vulnerability in payment system in #2157
Contracts
Major Changes
feat: Add recency window to cert verifier in #2270
Minor Changes
feat: Revert "feat(contracts): Add recency window to cert verifier (#2270)" in #2302feat: integration-utils: cert verifier validation script in #2291fix: remove unneeded check from recency and update doc in #2285fix: simplify checkSecurityParams implementation to prevent divide-by-zero panic case in #2173fix: Missing length validation for keccak commitment in #2162feat: restrict cfg activation keys to only increase in #2167
Integrations
Minor Changes
feat: Arb CustomDA Failover Signal in #2307feat: Support multi-serialization (ABI, RLP) in #2246feat: incorporate custom da interface changes in #2146feat: rust proving sdk for modular rollups in #2190fix: Dynamic V2 protocol version byte encoding in #2308feat: UpdateGetSupportedHeaderBytes()method in ARB Custom DA Server to reflect multi-provider changes in #2310feat: hoodi e2e support in #2273feat: Deserialize Error Fix && Sequencer Message Docs in ARB Custom DA Server in #2251feat: bye byeholeskyin #2245fix: Fix dead error handling code in WaitForBlockNumber in #2257chore: add error log to debug failed certVerifier ethcalls in #2258fix: Add timeout toCheckDACertcall in #2254feat: AddCompatibilityConfigendpoints to proxy servers in #2219fix: Fixblobapi-builderversion/build info injection in #2253feat: Remove pointless balance check in #2304feat: Arb Commitment Type, invalid cert signal, && logging in #2218feat: Add support for hoodi_testnet network in EigenDA proxy in #2202
Other
Minor Changes
chore: remove integration team specific code owners in #2298docs: chunk assignment in #2215docs: add write and read workflow documentation in #2276chore: Update blobKey calculation documentation in #2234docs: Add Sigma Prime secure integration audit report in #2260chore: bump foundry in #2239feat: add several utilities for interacting with onchain data in #2229chore: Remove node codeowner in #2230docs: relax encoded payload padding in #2226docs: add recency window special case when 0 case to the spec in #2225chore: Miscellaneous general comments in #2217docs: Add Ethereum RPC failover note to proxy README in #2211docs: document how length proofs work in #2171feat: adds preprod-hoodi subgraph config in #2155