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.
- nearcore v2.4.0
- rust v1.82.0
- Corrected state size calculation logic.
- Integrated cargo_pkg_version metric to reflect the current server version.
- Delete unnecessary debug logs about update blocks by finalities
- Support new method
EXPERIMENTAL_congestion_level
- nearcore v2.3.1
- rust v1.81.0
- nearcore v2.3.0
- rust v1.81.0
- Corrected state size calculation logic.
- Integrated cargo_pkg_version metric to reflect the current server version.
- Delete unnecessary debug logs about update blocks by finalities
- nearcore v2.3.0
- rust v1.81.0
- Corrected state size calculation logic.
- Integrated cargo_pkg_version metric to reflect the current server version.
- Delete unnecessary debug logs about update blocks by finalities
- nearcore v2.3.0
- rust v1.81.0
- Improved bulk insertion of state_changes, reducing database requests from hundreds to a maximum of 7 per block.
- Configuration improvement. Create default config.toml on start application to loaded parameters from the environment variables.
- Fix to fetch state by pages (view_state_paginated).
- Change logic to get
shard_layout
for indexers. Main idea to avoid requestprotocol_config
via RPC,protocol_config
could be changed with new nearcore release and we should support old and new versions ofprotocol_config
.
Please, see the PostgreSQL & ShardLayout Pull Request for details. This is a completely new version of the ReadRPC with a new data storage layout and a new data storage engine. The main changes are:
- Migrate from ScyllaDB to PostgreSQL for storing the data. We adopted the ShardLayout from the
nearcore
and split the data to separate PostgreSQL databases for each shard. - Changed the way we store
TransactionDetails
(JSON blobs again, but it might change soon)
All the work in this release allowed us to increase the performance of the ReadRPC and make it more reliable. We are still working on the performance improvements and will continue to work on the ReadRPC to make it even better.
- nearcore v2.2.1
- rust v1.79.0
- nearcore v2.2.1
- rust v1.79.0
- nearcore v2.2.0
- rust v1.79.0
- nearcore v2.1.1
- rust v1.79.0
- Fix docker build
- nearcore v2.1.1
- rust v1.79.0
- Update
nearcore
to v2.1.1 - Update rust version to v1.79.0
- nearcore v2.0.0
- rust v1.78.0
- Update
nearcore
to v2.0.0 - Update rust version to v1.78.0
- Fixed transaction borsh deserialization error
- nearcore v1.40.0
- rust v1.77.0
- Change main data source for
transaction_details
from database to the object storage (GCS Bucket)- Add
tx-details-storage
library to handle the GCS communication - Update
rpc-server
to read from the GCS Bucket when transaction is requested - Keep the database as a backup data source for the migration period
- Add metric
legacy_database_tx_details
to track the number of requests to the database to monitor the transition progress (expected to decrease over time to zero) - Extend the number of save attempts to ensure the transaction is saved to the GCS Bucket and is deserializable correctly
- Add
- Refactor
tx-indexer
to store the transaction details in the GCS Bucket- Still storing
ExecutionOutcome
andReceipt
in the database
- Still storing
- nearcore v1.40.0
- rust v1.77.0
- nearcore v1.39.1
- rust v1.77.0
- Refactoring, extending and improving the metrics
- Refactoring and improving
query.call_function
- Added
view_receipt_record
rpc endpoint
- nearcore v1.39.1
- rust v1.77.0
- nearcore v1.39.1
- rust v1.76.0
- nearcore v1.39.0
- rust v1.76.0
- nearcore v1.38.0
- rust v1.76.0
- Fix transactions request parser
- Fix tx request returns "Invalid params" to a totally valid request
- Fix Dockerfile for read-rpc server
- Fix proxy broadcast-tx-commit
- Improvement logs for shadow_compare_results_handler
- Extending and improving optimistic handler
- Add waiting until node will be fully synced
- Added RUST_LOG=info as the default directive to enhance visibility and provide informative logs for better troubleshooting and monitoring.
- Included additional informational logs at the start of the near-state-indexer process, providing deeper insights into its functionality and progress.
- Implemented a handler to check the regularity of optimistic block updates.
- If updates are irregular, the system initiates an update task to synchronize the final block from the lake, ensuring data consistency and integrity.
- nearcore v.38.0-rc.2
- rust v1.76.0
- Added support for
SyncCheckpoint
in theblock
method for better block handling and synchronization. - Added support for
OptimisticBlock
in theblock
method for better block handling and synchronization. - Added
ARCHIVAL_PROXY_QUERY_VIEW_STATE_WITH_INCLUDE_PROOFS
metric to track the number of archival proxy requests for view state with include proofs. - Added
TOTAL_REQUESTS_COUNTER
metric to counting total rpc requests. - Added
GET /health
for the healthcheck of rpc-server. - Implemented the
status
method to accommodatenear_primitives::views::StatusResponse
. - Implemented the
health
method. Health includes the info about the syncing state of the node ofrpc-server
. - Implemented near-state-indexer to index the state of the nearcore node.
- Enhanced the tx method to show in-progress transaction status, avoiding
UNKNOWN_TRANSACTION
responses and providing more accurate feedback. - Reverted the logic behind the
block_height
andblock_hash
parameters in thequery
method to match the behavior of thenearcore
JSON-RPC API.
- Dropped the
SYNC_CHECKPOINT_REQUESTS_TOTAL
metric for redundancy. - Removed in-memory cache for
tx-indexer
to optimize resource usage and streamline the process.
- nearcore v1.36.0
- rust v1.73.0
Release Page: https://github.com/near/read-rpc/releases/tag/v0.1.0