lite-rpc/CHANGELOG.md

4.5 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Note: Version 0 of Semantic Versioning is handled differently from version 1 and above. The minor version will be incremented upon a breaking change and the patch version will be incremented for features.

Features:

[0.2.4] - 2024-01-29

commit : a44923c334

  • prio : Adding prioritization fees library PR
  • cluster-endpoints : GRPC optimizations PR
  • quic : Fixing MTU bug PR
  • cluster-endpoints : Adding GRPC multiplexing PR
  • stake-vote : Calculating stake votes and leader schedule in lite-rpc PR

[0.2.3] - 2023-09-23

commit : 3cdab51676

  • core : Refactored out solana rpc client from the core library. PR
  • services : Refactored out solana rpc client from the services library. PR
  • cluster-endpoints : Created cluster endpoint library and added rpc polling PR
  • cluster-endpoints : Added grpc support in cluster endpoints. PR
  • proxy : Added lite-rpc quic proxy which will act as a TPU forwarding proxy for multiple lite-rpc clients. PR PR PR
  • Using counting semaphore for block polling. PR
  • Changing algorithm for replay so that replay is done in linearly increasing time. PR
  • Unistream connection counting semaphore is now held by each connection. PR
  • Adding history libraries and block storing strategies. PR
  • Avoid sending transactions in TPUClient for which have expired blockheight. PR

[0.2.2] - 2023-06-23

commit : 70eb250b10

  • lite-rpc : Added restart logic.
  • metrics : added more counters for related to failure of services during restart.
  • tpu-client : sending transaction using multiple quic connections.
  • tpu-client : removed pubsub of slot and implementing force polling using rpc.

[0.2.1]

commit: c1eed987f2

  • postgres : removing postgres dependency on core and services
  • all: refactored notification so that they do not fail, making the lite-rpc code and services work with other projects.

[0.2.0]

commit: fffb302ce6

  • all: Seperating services that can be used by other projects into a library and creating a solana-lite-rpc-services package
  • rpc: Creating a custom TPU Client instead of using solana TPU client more suitable for lite-rpc loads PR
  • metrics: Adding metrics related to custom tpu client bf5841f

[0.1.0] - 2023-04-01

commit: dc75e0e573

Initial release.

Includes

  • rpc: Json rpc implementation using jsonrpsee crate to provide frontend to send and confirm transactions
  • pubsub: A websocket implementation to subscribe to signature updates
  • block-listening: A mechanism to get blocks from the RPC and read them to extract transaction data
  • tpu-client: Mechanisms related to sending transaction to the cluster leaders
  • postgres: Saving transaction and block data into postgres
  • metrics: Updates related to metrics used for graphana and prometheus
  • core: Core library,
  • services: Services library
  • lite-rpc: The lite rpc binary
  • cluster-endpoints : Cluster endpoints library.
  • proxy : Lite-rpc QUIC proxy to act as a forwarder
  • prio : Prioritization fees libarary
  • stake-vote : Stake vote library