Skip to content

Leap v3.2.6

Compare
Choose a tag to compare
@ericpassmore ericpassmore released this 21 Feb 17:54
· 5037 commits to main since this release
a7a50a8

Leap v3.2.6 is a patch release which fixes a long standing (but recently discovered) issue in trace api wherein some blocks cannot be deserialized. For nodes that are not running trace api there is no need to upgrade.

Nodes that run trace api should upgrade to avoid errors in some calls to /v1/trace_api/get_block.

Leap v3.2.6 Release Notes

Significant Changes

Corrected Return Value Conversion via ABI in TraceAPI

In this release, we made changes to ensure the accurate conversion of return values via ABI within the TraceAPI.

Prior to this update, there were instances where the conversion process was not handled correctly, leading to potential crashes, particularly observed in the _binary_to_variant function under specific conditions. The root cause of the problem stemmed from incomplete handling of action return value conversion by ABI, particularly when an action return value ABI was not readily available. Consequently, attempts to perform such conversions could result in erroneous outcomes, manifesting as crashes or unexpected behavior, especially evident in scenarios where binary to variant conversion was attempted.

Following the implementation of this fix, the TraceAPI module now correctly handles the conversion of return values via ABI. Specifically, action return values are converted using the appropriate ABI, with conversion attempts being made only when a valid action return value ABI is available. This ensures a more stable and reliable behavior, mitigating the risk of crashes or unexpected outcomes previously associated with return value conversion.

Use 503 instead of 429 response code for exceeding request limits

When https request limits are exceeded (http-max-bytes-in-flight-mb or http-max-in-flight-requests), an HTTP response code is returned. Prior to this change, 429 was the response code returned in these cases.

HTTP response codes in the 4xx range denote errors caused by client behavior, while the 5xx range denote errors on the server side. As the cause of these errors is that the server exceeds its configured resource quota, a 5xx error is most descriptive.

By using semantically correct HTTP response codes, clients & proxies can better react (failover for example).

Contributors

Full PR List