Skip to content

Commit

Permalink
docs: add juno release notes (#1036)
Browse files Browse the repository at this point in the history
* docs: add juno release notes

* Apply suggestions from code review

* Update components/Starknet/modules/starknet_versions/pages/juno_versions.adoc

---------

Co-authored-by: Steve Goodman <[email protected]>
  • Loading branch information
wojciechos and stoobie authored Dec 25, 2023
1 parent 3aa51cf commit f8c20c8
Showing 1 changed file with 121 additions and 0 deletions.
121 changes: 121 additions & 0 deletions components/Starknet/modules/starknet_versions/pages/juno_versions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,127 @@ Juno is a golang Starknet node implementation by https://nethermind.io/[Nethermi

See the official https://github.com/NethermindEth/juno[Juno GitHub repository] for more details.

== https://github.com/NethermindEth/juno/releases/tag/v0.9.1[v0.9.1]

Version v0.9.x+ is only compatible with Starknet v0.13.0 and above.

## Added
- **API Key Support for Feeder/Gateway**: Added support for configuring an API key to bypass feeder/gateway throttling. Use the `--gw-api-key` flag when running Juno to specify the API key. ([@omerfirmak](https://github.com/omerfirmak) in #1579)

- **Flag --db-max-handles**: We've introduced a new flag, enabling users to adjust the https://github.com/cockroachdb/pebble/blob/35cfce46c261ef64ee82352d84df542706180af4/options.go#L835[MaxOpenFiles] setting in Pebble. This improvement is aimed at enhancing Juno's ability to manage a higher volume of RPC requests efficiently.

## Changed
- **Error Metrics**: Revised error metrics to only count internal errors as failed requests. This change addresses the issue where request relatd errors were inaccurately classified as failures in metrics, leading to misleading data. Now, only errors that signify server-level issues contribute to the failure rate.

- **Request Logging**: Altered the RPC request logging approach to only log failed requests. Previously, logging all RPC requests resulted in excessive data, making it challenging to pinpoint issues. This update streamlines the process, focusing on capturing only those requests that fail, thereby facilitating easier troubleshooting.

## Fixed
- **Class Cache Issue**: Addressed an issue where the class cache was serving non-declared classes in certain edge cases.

== https://github.com/NethermindEth/juno/releases/tag/v0.9.0[v0.9.0]

In this release, Juno introduces updates focusing on compatibility adjustments.

[NOTE]
====
This release is compatible with Starknet v0.13.0+ only. Do not upgrade your nodes to this version until Starknet is updated to v0.13.0.
====

## Changed
- **Blockifier Update and Fee Alignment**: Updated blockifier and aligned fees with Starknet 0.13.0, ensuring Juno remains in sync with the latest network standards.

== https://github.com/NethermindEth/juno/releases/tag/v0.8.3[v0.8.3]

Version 0.8.x is compatible only up to Starknet v0.12.3.

## Added
- **API Key Support for Feeder/Gateway**: Added support for configuring an API key to bypass feeder/gateway throttling. Use the `--gw-api-key` flag when running Juno to specify the API key. ([@omerfirmak](https://github.com/omerfirmak) in #1579)

- **Flag --db-max-handles**: We've introduced a new flag, enabling users to adjust the [MaxOpenFiles](https://github.com/cockroachdb/pebble/blob/35cfce46c261ef64ee82352d84df542706180af4/options.go#L835) setting in Pebble. This improvement is aimed at enhancing Juno's ability to manage a higher volume of RPC requests efficiently.

## Changed
- **Error Metrics**: Revised error metrics to only count internal errors as failed requests. This change addresses the issue where request relatd errors were inaccurately classified as failures in metrics, leading to misleading data. Now, only errors that signify server-level issues contribute to the failure rate.

- **Request Logging**: Altered the RPC request logging approach to only log failed requests. Previously, logging all RPC requests resulted in excessive data, making it challenging to pinpoint issues. This update streamlines the process, focusing on capturing only those requests that fail, thereby facilitating easier troubleshooting.

## Fixed
- **Class Cache Issue**: Addressed an issue where the class cache was serving non-declared classes in certain edge cases.

In this release, Juno introduces updates focusing on metrics enhancement.

== https://github.com/NethermindEth/juno/releases/tag/v0.8.2[v0.8.2]

In this release, Juno introduces updates focusing on metrics enhancement.

## Added
- **Feeder Metrics**: Introduced new metrics for tracking response statistics from the feeder. This update provides valuable insights into the feeder's performance and interaction dynamics.

== https://github.com/NethermindEth/juno/releases/tag/v0.8.1[v0.8.1]

This release focuses solely on fixes for the RPC spec, aiming to improve the accuracy of RPC interactions.

## Fixed
- **Simulate Transaction Error Handling for RPC v0_5**: Addressed an issue where the `starknet_simulateTransactions` method did not return the correct error upon transaction reversion.
- **EstimateFee Error Fix for RPC v0_5**: Resolved an issue where `starknet_estimateFee` returned `TxnExecutionErr` instead of contract error.
- **Starknet Spec Version Update for RPC v0_6**: Corrected the supported specification version to 0.6.0 in `starknet_specVersion`.


== https://github.com/NethermindEth/juno/releases/tag/v0.8.0[v0.8.0]

This final release of v0.8.0 is fully compatible with https://docs.starknet.io/documentation/starknet_versions/upcoming_versions/[upcoming Starknet 0.13.0] and implements the JSON RPC for https://github.com/starkware-libs/starknet-specs/releases/tag/v0.6.0[v0.6.0], ensuring a smooth and efficient experience.

## Key Updates
- **Support for Starknet 0.13.0**: Fully integrated new features and updates compatible with Starknet 0.13.0.
- **JSON RPC spec v0.6 Implementation**: RPC v0.6 is now available at endpoints `/v0_6` and the default `/`, replacing the previous default of v0.5.
- **Removal of RPC /v0_4**: Streamlining our service by supporting only the two most recent RPC versions. RPC `/v0_4` is no longer supported.
- **Enhanced Database Cache Configuration**: The `db-cache-size` flag allows for custom configuration of the pebble db cache size, optimizing performance and resource management.

== https://github.com/NethermindEth/juno/releases/tag/v0.7.6-patch1[v0.7.6-patch1]

## Fixes
* **Blockifier and Cairo-VM Incompatibility**: Resolved a known incompatibility issue between the blockifier and cairo-vm versions greater than 0.8.2.

### Details
* **Problem**: Incompatibility between blockifier and cairo-vm versions greater than 0.8.2, causing excessive memory usage and resulting in Juno process termination.
* **Resolution**: Downgraded cairo-vm to version 0.8.2. This approach follows the solution implemented by eqlabs/pathfinder.
* **Outcome**: Resolved the memory management issue and restored stability to the node.

== https://github.com/NethermindEth/juno/releases/tag/v0.7.6[v0.7.6]

Hotfix for class cache behavior.

== Fixed
* **Class Cache Issue:** Ensure the class cache does not serve classes from the future. This update fixes traces for declare transactions whose class has already been cached.

== https://github.com/NethermindEth/juno/releases/tag/v0.7.5[v0.7.5]

This release brings a major boost in RPC performance, doubling the handling capacity, and includes important bug fixes to enhance overall node stability.

== Added
* **Increased VM and VM Queue Limits**: Upped the default value for max VMs and VM queue, significantly boosting the node's ability to handle concurrent requests.
* **Sepolia Network Support**: Added support for the Sepolia network.
* **L1 Height Metric**: Added a new metric for L1 blockchain height, providing deeper insights into node state.

== Changed
* **Standalone Read-Only Contract Functions**: Enhanced performance of `starknet_call`.

== Fixed
* **Missing `contract_address` in Write API Responses**: Resolved an issue where the `contract_address` was missing in `starknet_addDeployAccountTransaction`, ensuring complete and accurate transaction data.
* **ErrKeyNotFound Consistency Across State Implementations**: Aligned all State implementations to return ErrKeyNotFound for missing contracts, streamlining error handling.
* **Corrected Block Hash State Updates**: Updated state handling with previous block hashes for more accurate block tracing.
* **Query Bit Misuse as SKIP_VALIDATE**: Fixed an issue where the query bit was accidentally used as SKIP_VALIDATE, ensuring proper transaction validation.

== https://github.com/NethermindEth/juno/releases/tag/v0.7.4[v0.7.4]

This release focuses on infrastructure scalability through enhanced gRPC integration, allowing for more efficient node deployment strategies.

== Added
* **RemoteDB over gRPC**: Implement the ability for Juno nodes to connect to a primary node's database over gRPC, serving RPC requests without the need for syncing themselves. This feature is enabled through new flag: `--remote-db`, streamlining scalability and reducing overhead.

== Changed
* **Error Logging**: Reduced noise in logs by preventing the recording of errors not attributable to Juno's own operations. This ensures a clearer logging experience and easier troubleshooting.


== https://github.com/NethermindEth/juno/releases/tag/v0.7.3[v0.7.3]

Support for upcoming Starknet v0.12.3, improved RPC performance with a new global class cache, allowing for higher request throughput and optimized resource usage. We've updated blockifier, which includes an important wallet integration fix. On top of that, expect new metrics and ongoing enhancements to the P2P layer, among other improvements. Here’s what’s new:
Expand Down

0 comments on commit f8c20c8

Please sign in to comment.