Repository navigation
Release v0.4.1
Changes in this release
Full Changelog: v0.4.1...v0.4.1
What's Changed
- [DATA] Adjusting legacy fields to use milliseconds instead of seconds by @fredteumer in #262
- [WIP][QoS] Populate all archival configs in
service_qos_config.goand add documentation by @commoddity in #258 - [Fix][Shannon] Increase cache TTL for apps to avoid too many requests to full node by @commoddity in #275
- [WIP][E2E][Load Test] Refactor, reuse test func and add Solana & CometBFT tests by @commoddity in #274
- [Deps] Update Shannon SDK by @Olshansk in #279
- [OPTIMISM][E2E] Correcting service id for
optimism->opby @fredteumer in #280 - [Protocol][Shannon][Observability]Fix: protocol observations are not empty in any scenario by @adshmh in #277
- Fix: update protocol observations returns after update by @adshmh in #281
- [QoS][Observability] Adds support for handling QoS request rejections in gateway error tracking and observations by @adshmh in #282
- [Shannon][Migration][Protocol] Update caching full node to use SturdyC including early refresh by @commoddity in #278
- [QoS][Devtools] Add /disqualified_endpoints URL PATH to router and add OpenAPI spec by @commoddity in #268
- [CI] disable arm64 builds by @okdas in #284
- [Protocol][Observability][Shannon] Export Shannon sanctions metric by @adshmh in #283
- [Shannon][FullNode] Update caching full node to increase early refresh spread and allow configuring TTLs through config YAML by @commoddity in #287
- [QoS]Add anvil to load tests by @adshmh in #288
- [Shannon][FullNode] Update caching full node to cache account data and reduce load on full node. by @commoddity in #290
- [Shannon] Source apps from GetSession call to avoid possibility of apps being out of sync from sessions by @commoddity in #292
- Feat: log a warning on response verification failure by @adshmh in #296
- [Shannon][Code Health] Address review comments of PR 296 by @adshmh in #299
- [Load Test] Add pocket-beta1-5 services to load tests by @adshmh in #300
- [Review] Review of #292 which moved from GetApps to GetSessions by @Olshansk in #298
- [Protocol][Shannon] Shannon handles endpoint errors on relay response validation by @adshmh in #301
- [Tooling] Fixing E2E Service Report by @Olshansk in #302
- [Bug][Shannon][Caching] Use the caching account client in the caching full node's ValidateRelayResponse method by @commoddity in #304
- [E2E & Load Testing] Service Names - Aligning for consistency by @Olshansk in #303
- [Tooling] Increasing the load on PATH performance by @Olshansk in #305
- [Protocol][Shannon][Observability] New warning,observation on services with no owned apps by @adshmh in #306
- Add emoji to misconfiguration warning by @adshmh in #307
- [Logging] Use probabilistic debug info logging for rare events by @Olshansk in #273
- Minor error improvements in logging by @Olshansk in #309
- [Testing] Logging improvements, better archival checks, and improved load test scripts by @Olshansk in #311
- [Protocol][Shannon] Sanction endpoints on nil supplier public key by @adshmh in #312
- [Cpu consumption issue] exit function on channel closed by @okdas in #313
- [PATH Binary] Build multi-arch quickly (35 -> 5 minutes) by @okdas in #315
- [SERVICE] Revised service IDs for onchain cleanup by @fredteumer in #316
- feat: add Prometheus metric to expose PATH version information by @okdas in #318
- [QoS][EVM] Fix: QoS handles malformed endpoint responses for all requests by @adshmh in #321
- [QoS] Fix & improve perceived block number updates and validation by @okdas in #319
- [QoS][CometBFT] Use CometBFT QoS for Pocket* services by @adshmh in #325
- [Protocol][Observability] Add Endpoint Latency metrics by @adshmh in #333
- [Shannon SDK] Bump the shannon sdk verison by @Olshansk in #336
- [Linter] Fix linting issues by @Olshansk in #337
- [Misc] Porting over misc improvements from
session_rolloverbranch (#328) by @Olshansk in #338 - [QoS[EVM][Observability] QoS EVM Endpoint Selection Metrics by @adshmh in https://github.com//pull/327
- [Protocol][Observability] Enhance endpoint error types by @adshmh in #335
- [QoS][EVM] Include Endpoint Address in log indicating unmarshal failure by @adshmh in #346
- [QoS][CometBFT] CometBFT QoS returns HTTP status matching the JSONRPC response by @adshmh in #347
- Set service_id on CometBFT log entries by @adshmh in #348
- [QoS][CometBFT] Add CometBFT QoS metrics and observation infrastructure by @adshmh in #349
- [QoS][JSONRPC] Implement proper null ID handling for JSON-RPC 2.0 specification compliance by @adshmh in #350
- [Scripts] Updating
shannon_query_services_by_ownerandshannon_query_service_tlds_by_idby @Olshansk in #351 - [Session] Introduce ExtendedSessions to RelayRequests by @Olshansk in #339
- [QoS] Include endpoint payload preview if response validation fails by @adshmh in #354
- [Session] Code health and improvements to enable parallel requests by @Olshansk in #340
- [Session] Improve relay response metrics and timeout propogation by @Olshansk in #341
- [Cosmos SDK] Cosmos SDK QoS implementation with deterministic Relay Miner backend selection by @commoddity in #345
- [Bug][Router] Set
router.goto use correct header fromPEASby @commoddity in #355 - [QoS] add xrplevm to service_qos_config.go by @commoddity in #357
- [Bug] Temp remove cosmos jsonrpc id validation in prep for permanent fix by @commoddity in #360
- [Documentation][Load Test][Localnet] Load Testing docs updates by @adshmh in #317
- [QoS][Cosmos] feat: handle empty responses from the supplier for cosmos by @commoddity in #361
- [Localnet][Devex][Docs] Create localnet dev env Docker container to simplify running PATH dev mode & update docs by @commoddity in #225
- [QoS][JSONRPC] Fix: JSONRPC explicit null vs absent result field by @adshmh in #367
- [QoS][Cosmos] Use HTTP request's path to determine request type by @adshmh in #363
- [QoS][Cosmos] Hydrate REST request logger with request details by @adshmh in #369
- [QoS][JSONRPC] Invalid user request receives correct JSONRPC error code by @adshmh in #374
- [Bug][QoS] fix session sanction key and disqualified endpoints bug by @commoddity in #368
- [QoS] Add part 1 of 3 of new chains July 2025 by @commoddity in #378
- [Payload] Refactoring how null (i.e. empty Data) payloads are returned by @Olshansk in #382
- [Protocol][Shannon] Protocol only sets RPCType HTTP header on valid values by @adshmh in #371
- [Protocol][Shannon][Observability] Protocol shannon HTTP timeout metrics by @adshmh in #383
- [QoS][Cosmos][CometBFT] Update
CosmosQoSto useCometBFTANDCosmosSDKQoS Checks by @commoddity in #366 - [Cosmos][QoS] Add
EVMChainIDQoS checkCosmosSDKchains with native EVM support by @commoddity in #370 - [Code Health] Remove Morse protocol code and references by @commoddity in #372
- [QoS][Cosmos] add minimal websockets request context to allow WS on Cosmos by @commoddity in #375
- [Session Rollovers] Simplify & Consolidate Timeouts by @Olshansk in #389
- [Gateway][Config] Add Fallback URL configuration and Gateway package handling for fallback requests by @commoddity in #391
- [Protocol][Shannon][Observability] Add fallback label to Shannon relays metric by @adshmh in #394
- [QoS][Cosmos][Fallback] add RPC-type specific configuration for service fallback config by @commoddity in #395
- [Scripts] Add scripts to curl endpoints by @Olshansk in #398
- [Protocol][Shannon] Shannon: add a parallel fallback request after 1 second by @adshmh in #396
- [QoS] feat: add sessionRolloverState and session rollover awareness to full node by @commoddity in #397
- [Review] Post-merge review of #396 by @Olshansk in #402
- [QoS][Solana] Disqualify endpoints with recent non-JSONRPC response by @adshmh in #406
- [WebSockets] Clarify WebSockets implementation package responsibilities and add Observations to Metrics and Data by @commoddity in #386
- [QoS][Solana][Observability] Fix: qos solana endpoint 500 status observations by @adshmh in #413
- [PORTALDB][CONFIG] Implementing revamped Portal DB Schema as part of PATH by @fredteumer in #407
- [Docs] fix: PATH configs links by @bryanchriswhite in #411
- [QoS][Solana] Fix QoS Solana: log debug entry on JSONRPC error response by @adshmh in #417
- [Docs & Tools] Quick non-exhaustive fixes when onboarding to PATH by @Olshansk in #416
- [HTTP] Introduce Buffer Pool & HTTP/gRPC TECHDEBT by @Olshansk in #423
- [Error Capture] Account for a code path that should never happen in
sendProtocolRelayby @Olshansk in #414 - [Batch Requests] Introduce handling for batch requests for EVM services by @commoddity in #388
- Add initial set of TODOs for batch request processing by @adshmh in #425
- [Solana] Fix: solana-client allowed header only set on solana requests by @adshmh in #426
- [Fix][QoS] Ensure backend status codes result in sanctions by @commoddity in #429
- [QoS] Adding hey service by @Olshansk in #433
- [Protocol][Shannon] Relax sanctioning rules on uncategorized errors by @adshmh in #434
- [Observability] Adding
endpoint_domainto all metrics by @Olshansk in #431 - [Protocol][Observability] Track RelayMiner non-2xx HTTP status codes by @adshmh in #436
- [Observability][Shannon] Fix protocol observations request errors by @adshmh in #437
- Publish observations if request init fails by @adshmh in #438
- [Metrics] Remove
endpoint_urlExemplar and addendpoint_domainURL by @Olshansk in #440 - [Metrics] Fix missing
endpoint_domainwhen the observation has an error by @Olshansk in #441 - [Tooling][Localnet] Add k9s to the localnet dev container with updated doc and make targets by @commoddity in #418
- Skip data reporting for hey service by @adshmh in #442
- [E2E] Major E2E test refactor, add WebSocket and Cosmos SDK test cases by @commoddity in #373
- [Websockets] Add separate context for protocol websockets context and fix ws conn observations by @commoddity in #419
- [Cosmos][QoS] Add batch request functionality to Cosmos SDK QoS package by @commoddity in #439
- Feat: Solana QoS supports batch JSONRPC v0 by @adshmh in #445
- [Websockets][QoS] Add websockets QoS checks with separate protocol-level endpoint sanction stores for websockets and HTTP by @commoddity in #424
- [Bug] fix issue with extracting TLD from endpoint address by @commoddity in #444
- [QoS][EVM][Observability] QoS EVM: set request error on protocol error by @adshmh in #447
- [EVM][Observability] QoS EVM: export JSONRPC error codes metric by @adshmh in #449
- [PORTALDB] Enhancing to include SVGs for sharing across applications by @fredteumer in #450
- [QoS][EVM] Add new error type for JSONRPC backend service unmarshaling failures by @adshmh in #451
- [QoS][JSONRPC] Generic error responses use JSONRPC error codes not in the reserved ranges by @adshmh in #454
- [Bug][E2E] Adds several minor bug fixes and E2E support for eth, base and bsc by @commoddity in #448
- [New Chains] Unichain & Hyperliquid by @Olshansk in #457
- [QoS] Updating Service Configs by @Olshansk in #461
- [Service] Remove
evmosby @Olshansk in #462 - [LoadTesting][Tooling] Support load testing via config by @adshmh in #460
- [Load Testing][Tooling] Support Load Testing against a RelayMiner via config by @adshmh in #464
- [SERVICE][QoS] Renaming
side-protocoltobitwayby @fredteumer in #465 - [Tooling] Fix: remove duplicate RelayUtil recipe from the makefiles by @adshmh in #459
- [PORTALDB] Adding legacy transforms for Grove Portal by @fredteumer in #455
- [Performance] Updating dependencies to support
cryptolibraries withCGOenabled by @Olshansk in #458 - [QoS][Solana] Fix: QoS Solana pass correct error to error contexts by @adshmh in #468
- [Releases] Add automated version bumping and release workflow by @fredteumer in #470
New Contributors
- @bryanchriswhite made their first contribution in #411
Full Changelog: v0.1.0...v0.4.1