Releases: lavanet/lava
Releases · lavanet/lava
Lava v6.2.1 🌋
Changelog
New Features
- d566f83: feat: Added host.name to traces (#2307) (@sotskov-do)
- b8cd292: feat: Added methods for BTC,BCH,Ripple,Stellar,Tezos,Avalanche (#2305) (@sotskov-do)
- 7f1e2b9: feat: Extended Polkadot Asset Hub and Tron (#2303) (@sotskov-do)
Bug fixes
- 99f113c: fix(chainlib): tolerate non-scalar JSON-RPC request ids in id validation (#2302) (@AnnaR-prog)
- 9d16b20: fix(provider): recover from panics in reward-claim gas estimation (#2304) (@AnnaR-prog)
Lava v6.2.0 🌋
Changelog
New Features
- bec08b8: feat(errors): add structured error registry with classification, metrics, and observability (#2261) (@NadavLevi)
- 04c5507: feat(metrics): align provider metrics with lava_provider_ spec (#2239) (@NadavLevi)
- a359acc: feat(rpcsmartrouter): add /debug/reset-scores endpoint for optimizer state reset (#2264) (@VicSheCodes)
- 5c22939: feat(rpcsmartrouter): add clock injection debug server for QoS integration tests (#2259) (@VicSheCodes)
- 418af78: feat: Added Cardano, Avalanche-P, Avalanche-C specs to mainnet (#2263) (@sotskov-do)
- 8fae505: feat: Added OpenTelemetry tracing for Lava (#2291) (@sotskov-do)
- 3826155: feat: Added support of Open Telemetry tracing for Smart Router (#2260) (@sotskov-do)
- 9fb42df: feat: Avalanche C and P chains specs (#2247) (@sotskov-do)
- 5efe92d: feat: Cardano spec (#2241) (@sotskov-do)
- 262343c: feat: Iota spec (#2287) (@sotskov-do)
- 564493a: feat: Move Iota, Polkadot Asset Hub, Casper, Tezos to mainnet (#2295) (@sotskov-do)
- 46cb3c9: feat: Updated Ripple spec (#2290) (@sotskov-do)
Bug fixes
- 0be0637: fix(chainlib): reply to eth_unsubscribe instead of hanging the client (#2296) (@sotskov-do)
- f8670a7: fix(chaintracker): two-phase retry for Solana block-not-available (-32004) (#2254) (@NadavLevi)
- 2d92617: fix(e2e): guard alice's back-to-back gov txs against sequence-mismatch flake (#2268) (@NadavLevi)
- bd37dbf: fix(lavasession): prevent stale reconnect candidates from polluting reported providers (#2253) (@NadavLevi)
- 1559d6b: fix(rpcsmartrouter): reset endpoint health on epoch transition (#2256) (@NadavLevi)
- 2abf3db: fix(session): prevent reported-provider/pairing race in GetReportedProviders (#2249) (@NadavLevi)
- b7951fa: fix(smart-router): do not panic when 1 static provider fails, trigger a background gorou… (#2262) (@Tomelia1999)
- e824dc1: fix(smart-router): extract policy validation from ParseMsg (#2244) (@nimrod-teich)
- 4197251: fix: Changed Cardano spec index value to CARDANO(T) (#2251) (@sotskov-do)
- 5741773: fix: backup providers issues (#2266) (@NadavLevi)
- b9c7b53: fix: context cancellation handling and relay timeout configurability (#2258) (@NadavLevi)
- 21fbf75: refactor(errors): remove SubCategoryUserError — charge normal CU for user-input errors (#2273) (@NadavLevi)
- 0ea2279: refactor(state machine & retry): State machine and retry mechanism refactor (#2278) (@AnnaR-prog)
- cfdd4b9: refactor: OTel usage pipeline + project-id rename + reporter-flow removal (#2285) (@nimrod-teich)
Other work
- 0e4baf0: added casper and tezos specs (#2289) (@sotskov-do)
- c406e1f: added polkadot asset hub spec (#2288) (@sotskov-do)
- 4df6e90: cleanup: remove dead SkipRelaySigning global (#2246) (@nimrod-teich)
- 5921aa2: perf(chainlib): send response bodies as bytes via fiber.Ctx.Send (#2270) (@NadavLevi)
- bd58479: perf(chainlib): zero-copy passthrough in checkUTXOResponseAndFixReply for non-UTXO chains (#2269) (@NadavLevi)
- 3f1baeb: perf(router): skip upstream gzip auto-decode on smart-router HTTP requests (#2272) (@NadavLevi)
- e542b71: perf: configurable response compression (#2271) (@NadavLevi)
- 6b5b690: update average_block_time (#2245) (@Tomelia1999)
Lava v6.1.1 🌋
Changelog
New Features
- 50e9a40: feat(metrics): implement new metric groups for consumer and smart-router (#2238) (@NadavLevi)
Bug fixes
- 81d0277: fix(metrics): resolve name collisions, add missing prefixes, fix typo, and wire optimizer QoS to smart router (#2237) (@NadavLevi)
- 6995d56: fix: fixing initial connection failure to cache loop (#2235) (@Tomelia1999)
- 9d5d2e2: fix: single-element JSON-RPC batch response shape for UTXO chains (#2242) (@nimrod-teich)
Lava v6.1.0 🌋
Changelog
New Features
- e3055cf: feat(smart-router)!: implement direct RPC mode with full observability (#2231) (@NadavLevi)
- 28c9192: feat: bump target version to 6.1.0 (#2234) (@nimrod-teich)
Lava v6.0.1 🌋
Changelog
New Features
- ffece61: feat: Bump protocol version to v6.0.1 (#2233) (@nimrod-teich)
Bug fixes
- 9861746: fix: make relay retry limit flag work on consumer/smart router (#2232) (@nimrod-teich)
- 51e3a64: fix: post wrs qodo-merge agent suggestions fixes (#2229) (@NadavLevi)
Lava v6.0.0 🌋
Changelog
New Features
- 9be5998: feat(provideroptimizer): weighted random selection (WRS) with adaptive normalization, metrics, and test tooling (#2224) (@AnnaR-prog)
- b2961ad: feat: bump target version to 6.0.0 (#2230) (@nimrod-teich)
Lava v5.8.0 🌋
Changelog
New Features
- f7a3e08: feat(consumer): add configurable batch request size limit (#2193) (@NadavLevi)
- 7fe7354: feat(protocol): add flag to disable batch request retries (#2218) (@nimrod-teich)
- a699581: feat: New specs (#2221) (@Tomelia1999)
- b899075: feat: Update Arbitrum block time to 250ms (#2165) (@nimrod-teich)
- 41b2987: feat: add GitLab support for loading specs from remote repositories (#2222) (@nimrod-teich)
- 946b52a: feat: restore provider-side consistency checks with CLI flag (#2223) (@AnnaR-prog)
- 1ed0795: feat: support multiple --use-static-spec sources with aggregation (#2225) (@nimrod-teich)
Bug fixes
- 2ae0fd6: fix(batch): treat batch responses with partial success as valid (#2202) (@nimrod-teich)
- 5f12f9a: fix(batch): use max() for Stateful field in category combination (#2208) (@NadavLevi)
- f0e3d53: fix(chainlib): skip WS relay signature verification for static providers (#2153) (@AnnaR-prog)
- a6f13a2: fix(lavasession): skip connection purge for static providers (#2209) (@NadavLevi)
- 3cdd68b: fix(metrics): expose latency metric for batch requests (#2195) (@NadavLevi)
- fbf2ce0: fix(relay): remove availability degradation on node errors (#2203) (@nimrod-teich)
- 8745ebf: fix(solana): add maxSupportedTransactionVersion for newer blocks (#2200) (@NadavLevi)
- 77fe569: fix(solana): skip retries for non-retryable Solana errors (#2219) (@NadavLevi)
- 3659faf: fix(test): reduce ticker timeout in consumer state machine test (#2204) (@nimrod-teich)
- e4f7444: fix: Unsupported method handling (#2198) (@Tomelia1999)
- c256fe2: fix: add BatchNodeErrorOnAny flag and fix state machine test (#2205) (@nimrod-teich)
- 4b0baf6: fix: goroutine leaks (#2206) (@NadavLevi)
- 351d018: fix: prevent ticker resource leak in chain tracker (#2217) (@nimrod-teich)
- fb45ff4: fix: stop ticker to prevent goroutine leak in PeriodicProbeProviders (#2214) (@nimrod-teich)
- 0ba610d: fix: use buffered channel to prevent deadlock in state machine (#2215) (@nimrod-teich)
- ee5e246: refactor(cross-validation)!: change from min,max,rate to agreementThreshold and maxParticipants (@NadavLevi)
- 3a59b97: refactor: rename Quorum feature to CrossValidation (#2211) (@nimrod-teich)
- 8a8e946: refactor: rename strategy (#2207) (@avitenzer)
Other work
- 73f229a: Endpoints rename - left the previous names since they are till supported (#2145) (@Tomelia1999)
- 4479425: perf(protocol): optimize logging for performance and aggregation (#2212) (@nimrod-teich)
Lava v5.7.0 🌋
Changelog
New Features
- f87a634: feat(processingCtx): default processing ctx timeout can be set through flag (#2161) (@NadavLevi)
- 18cb6d0: feat: Data reliability removal (#2134) (@AnnaR-prog)
- 3b04cb1: feat: Remove referer functionality (#2137) (@nimrod-teich)
- 087295c: feat: add Pyroscope continuous profiling support (#2172) (@nimrod-teich)
- c600522: feat: add Pyroscope continuous profiling support to cache server (#2177) (@nimrod-teich)
- 0467913: feat: add configurable flags for pyroscope profiling (#2173) (@nimrod-teich)
- 8fe264c: feat: optimize HTTP connection pooling for high-throughput scenarios (#2174) (@nimrod-teich)
Bug fixes
- e6e0591: fix(IsUnsupportedMethodErrorMessageBytes): if pattern > errorMsg don't check for contains (#2190) (@NadavLevi)
- 497e115: fix(chainlib): fix deadlock in RemoveConsumer by releasing lock before unsubscribe (@AnnaR-prog)
- 0bbb34e: fix(chainlib): fix potential infinite loop in subscription closing by enforcing context cancellation (@AnnaR-prog)
- 2ec811e: fix(chainlib): fix race condition in subscription removal logging (@AnnaR-prog)
- 9d5b671: fix(chainlib): include response error in ID mismatch logs (#2192) (@NadavLevi)
- 99cd287: fix(common): relax performance check in transport integration test to reduce flakiness (@AnnaR-prog)
- 2968aa7: fix(consumer): remove unused const (@NadavLevi)
- 676ccb5: fix(relaycore): fix flaky TestProtocolErrorsRecoveryMetricWithQuorum by ensuring error processing order (@AnnaR-prog)
- f466762: fix(smart-router): skip block gap warning when expectedBH is MaxInt64 (#2157) (@NadavLevi)
- d3a2266: fix: Add skip elliptic signing flag (#2183) (@Tomelia1999)
- 68f54b5: fix: Adding a fix for redundent retries when pairingListEmpty (#2159) (@Tomelia1999)
- 3c21210: fix: Hiesen tests failing randomly (#2166) (@nimrod-teich)
- 9184964: fix: LavaFormatLog must always return error when called (#2167) (@nimrod-teich)
- ac492c9: fix: Strict timeout statemachine (#2160) (@Tomelia1999)
- c9663ef: fix: add debug prints and remove sleep in E2E test to debug hang (@AnnaR-prog)
- 9b53a61: fix: add panic recovery for logging and remove unsafe log statements (@NadavLevi)
- e6a7fa7: fix: add space after // in comment formatting (lint) (@AnnaR-prog)
- ae6d527: fix: add type assertion checks to satisfy forcetypeassert linter (#2164) (@nimrod-teich)
- 3a00012: fix: cap string len on reply data/payload (#2185) (@NadavLevi)
- 416364d: fix: clean up dead gRPC connections to prevent accumulation (#2168) (@NadavLevi)
- da393f2: fix: correct cleanup order in RemoveConsumer to prevent deadlock (@AnnaR-prog)
- c7fd49d: fix: handle WebSocket connection closure gracefully in test (@AnnaR-prog)
- eaaf8d1: fix: handle consumer reconnection gracefully without race conditions (@AnnaR-prog)
- a42bcff: fix: minor performance optimization (#2178) (@NadavLevi)
- c7fe1ea: fix: prevent MaxInt64 from causing false block gap warnings and QoS penalties (@NadavLevi)
- a1eaa90: fix: prevent deadlock in subscription cleanup (@AnnaR-prog)
- 0063b52: fix: prevent session leaks and exhaustion in smart router and consumer (#2158) (@nimrod-teich)
- cf7861f: fix: properly handle consumer reconnection in subscription manager (@AnnaR-prog)
- f41f93a: fix: remove "not found" from string matching (#2169) (@Tomelia1999)
- 760761a: fix: revert debug prints, keep time.Sleep removed to fix hang (@AnnaR-prog)
- b29650c: fix: skip unmarshalling empty FinalizedBlocksHashes in cache path (#2170) (@nimrod-teich)
- 2ae6e7d: fix: typo rquested -> requested (@NadavLevi)
- cf3ac0d: fix: use dynamic ports in tests to avoid address conflicts (#2162) (@nimrod-teich)
Build process updates
- b5ccee3: ci: add Codecov integration for test coverage reporting (#2191) (@nimrod-teich)
- e2ea149: ci: add GitHub Actions timeout-minutes for protocol tests (@AnnaR-prog)
- 5c85a2c: ci: increase protocol test timeout to 15 minutes (@AnnaR-prog)
Other work
- f907b53: Add 100ms sleep before prints to ensure proper flushing (@AnnaR-prog)
- e2e4af3: Add 15-minute timeout to e2e tests and enable manual workflow trigger (@AnnaR-prog)
- c81f368: Add comprehensive debug logging to virtual epoch goroutine (@AnnaR-prog)
- 22e1012: Add comprehensive debugging for e2e test hang investigation (@AnnaR-prog)
- 836eaa1: Add debug prints with sleeps to finishTestSuccessfully (@AnnaR-prog)
- 321f7ec: Add detailed debugging for 10_StartLavaInEmergencyMode kill hang (@AnnaR-prog)
- 7f83b64: Add detailed debugging for emergency mode process kill hang (@AnnaR-prog)
- 8bd0afb: Add diagnostics before killing emergency mode process (@AnnaR-prog)
- dd73297: Add emergency kill diagnostics and allow Unavailable gRPC error (@AnnaR-prog)
- 9c38dac: Add sleep delays between debug prints to ensure proper flushing (@AnnaR-prog)
- b44cda4: Add srv.Send() and transport closing errors to allowed errors list (@AnnaR-prog)
- f10a2fe: Add stack dumps and timeout guard to e2e cleanup kills (@AnnaR-prog)
- 6b6d13e: Add subscription tests for Unsubscribe behavior (@avitenzer)
- 759ab3f: Bound getpgid during e2e cleanup kill (@AnnaR-prog)
- cea0d01: Extend cleanup sleep to 31s to test if hang is time-based or iteration-based (@AnnaR-prog)
- ec68d2a: Fix deadlock in finishTestSuccessfully by releasing lock before killing processes (@AnnaR-prog)
- a70e06e: Fix e2e test deadlock and add workflow improvements (@AnnaR-prog)
- ebf9eb9: Fix logger race condition by initializing in init() and removing reconfiguration from hot path (@AnnaR-prog)
- d920d91: Fix subscription unsubscribe hangs (@AnnaR-prog)
- 0b881f6: Increase E2E test timeout from 15 to 20 minutes (@AnnaR-prog)
- 049784c: Re-add heartbeat goroutine and epoch waiting debug logs (@AnnaR-prog)
- 3de3e68: Remove more debug/sleep info (@AnnaR-prog)
- 6c89ea4: Remove part of debug sleeps (@AnnaR-prog)
- edf88d1: Remove problematic sleep before 'entering select' print (@AnnaR-prog)
- a84c2c1: Replace select with direct channel send to avoid Go runtime freeze (@AnnaR-prog)
- 0f01356: Trigger CI rerun (@AnnaR-prog)
- a7e30a8: Trigger CI rerun (@AnnaR-prog)
- 09fe005: Trigger E2E test rerun (@AnnaR-prog)
- 0055643: Use structured logging for e2e shutdown diagnostics (@AnnaR-prog)
- 2f81165: chainlib: context-based timeout for unsubscribeNodeSubscription (@AnnaR-prog)
- 5ce3ac1: change Run Lava Protocol Tests-timeout 15m name (@AnnaR-prog)
- 6c3d025: change debug logs (@AnnaR-prog)
- dbc6e86: change debug logs (@AnnaR-prog)
- 8520ea6: change health message (#2171) (@ssejzer)
- 1589f37: debug: add more logs to debug failure in ci (@AnnaR-prog)
- 5cfa6b6: delete comments (@AnnaR-prog)
- b49fdcf: e2e: add stdout logs around REST relay loop (@AnnaR-prog)
- e649aae: emty commit (@AnnaR-prog)
- 4938144: gofmt: rpcclient subscription tests (@AnnaR-prog)
- 77c514f: perf: add early return optimization to LavaFormatLog (#2155) (@NadavLevi)
- b6477b2: perf: cache fiber request headers to reduce allocations (#2181) (@nimrod-teich)
- f3e59ef: perf: implement double-check locking in cacheAddonAddresses (#2156) (@NadavLevi)
- 257d688: perf: optimize IsUnsupportedMethodErrorMessage with bytes variant (#2180) (@nimrod-teich)
- 2...
Lava v5.6.2 🌋
Lava v5.6.0 🌋
Changelog
New Features
- b936565: feat(memory): add memory monitor on the whole process (@NadavLevi)
- bfc3ac4: feat: Add gzip compression for large cache entries to reduce memory footprint (#2099) (@nimrod-teich)
- 7544165: feat: Protocol error prometheus metric (#2119) (@Tomelia1999)
- 44545a5: feat: Strknt spec v9 (#2096) (@Tomelia1999)
- f3fd615: feat: implement application-level compression for consumer-provider communication (#2101) (@nimrod-teich)
- 1087ad5: feat: provider resource limiter (#2117) (@avitenzer)
Bug fixes
- 87fea09: fix(bsc spec): update BSC average_block_time and block lag (#2100) (@NadavLevi)
- abee24b: fix(ci): install psmisc package for killall command in e2e tests (@NadavLevi)
- 048cf05: fix(consumer): use hash instead of string in qourumMap (#2109) (@NadavLevi)
- fcfc3c7: fix(consumer/smartrouter): set a MaxComputeUnits for testing, to avoi… (#2131) (@NadavLevi)
- ef6b80a: fix(memory): add comprehensive memory and message size tracking (@NadavLevi)
- f4a2860: fix(resource_limiter): batches are going to heavy bucket instead of normal one (#2140) (@NadavLevi)
- d403511: fix(rpcclient): add HTTP client timeout to prevent indefinite hangs (@NadavLevi)
- 9b73851: fix(rpcprovider): add nil check to avoid nil dereferences issues (#2127) (@NadavLevi)
- 8bf7b07: fix(rpcsmartrouter): fix allow-allication-level-compression for rcpsmartrouter (#2130) (@NadavLevi)
- af7b939: fix: Fdn debug loglevel (#2102) (@Tomelia1999)
- 1c23877: fix: OOM, potential goroutine leaks (#2138) (@Tomelia1999)
- ddac432: fix: Remove Memory Management from Resource Limiter (#2123) (@avitenzer)
- 1bf05bc: fix: Removed object provider DeepCopy when we the cache is enabled (#2115) (@avitenzer)
- df3f4ac: fix: batch memory optimisation (#2132) (@avitenzer)
- 248c649: fix: critical epoch transition gap (#2113) (@AnnaR-prog)
- 4ee4fa7: fix: fix e2e issues (#2114) (@AnnaR-prog)
- 419be7f: fix: fix sessions leak issue (#2120) (@avitenzer)
- ad49077: fix: optimize HTTP connection pooling for all chain interfaces (#2105) (@nimrod-teich)
- b3b4092: fix: prevent consumer crash from nil pointer dereference in relay (#2091) (@AnnaR-prog)
- d440d2c: fix: release response memory immediately to prevent OOM (#2118) (@nimrod-teich)
- 71df0e1: fix: treat nodeErrors as valid response (#2110) (@Tomelia1999)
- c0b3e6e: refactor(lavap): split lavap into two distinct deployment modes and decouple smart router from blockchain dependencies (#2108) (@avitenzer)
Other work
- 1832ff4: Change resource-limiter-memory-gb flag from uint64 to float64 (#2121) (@AnnaR-prog)