|
1 | 1 | # CHANGELOG
|
2 | 2 |
|
| 3 | +## v1.8.1 |
| 4 | + |
| 5 | +*March 7th, 2024* |
| 6 | + |
| 7 | +This v1.8.1 release brings better reliability when relaying, more enhanced configuration and improved monitoring. |
| 8 | + |
| 9 | +Reliability has been improved: |
| 10 | +* It is now possible to relay ICS-04 packets with non-UTF-8 payloads |
| 11 | +* Packet sequences are now verified for ordered channels before trying to relay |
| 12 | + |
| 13 | +Additional per-chain configurations have been added: |
| 14 | +* `excluded_sequences` used to skip problematic packets when clearing |
| 15 | +* `memo_overwrite` allowing users to overwrite the relayer memo when chains have a strict limit for the size of the memo. |
| 16 | + |
| 17 | +Monitoring issues improvements: |
| 18 | +* A new metric `simulate_errors` which counts the number of failed simulated transactions |
| 19 | +* Out of gas error diagnostic gives more information and a dedicated entry to the guide has been added |
| 20 | +* Failed gas simulation will not be considered as unrecoverable for legacy chains. |
| 21 | +* The compatibility check during the health-check has been improved will assess more correctly the versions for Ibc-Go and Cosmos SDK |
| 22 | + |
| 23 | +Special thanks to our contributors for their valuable additions to this release: |
| 24 | + |
| 25 | +* Sergey (@freak12techno) for adding the `simulate_errors` metric ([#3845]) |
| 26 | +* Martin Dyring-Andersen (@mdyring) for adding recovery from failed gas simulation for legacy chains ([#3792]) |
| 27 | + |
| 28 | +### BUG FIXES |
| 29 | + |
| 30 | +- Allow relaying ICS-04 packets with non-UTF-8 payloads ([\#3770](https://github.com/informalsystems/hermes/issues/3770)) |
| 31 | + Hermes does not assume anymore that an ICS-04 packet data is valid UTF-8, |
| 32 | + by using the `packet_data_hex` attribute when assembling a packet from events, instead of the deprecated `packet_data` attribute. |
| 33 | + Relying on the `packet_data` attribute enforces a UTF-8 encoded payload (eg. JSON), disallowing eg. Protobuf-encoded payloads. |
| 34 | + The `packet_data` attribute [has been deprecated][0] in favor of `packet_data_hex` since IBC-Go v1.0.0. |
| 35 | +- Improve reliability of compatibility check and fix parsing of expected modules versions ([\#3831](https://github.com/informalsystems/hermes/issues/3831)) |
| 36 | + |
| 37 | +[0]: https://github.com/cosmos/ibc-go/blob/fadf8f2b0ab184798d021d220d877e00c7634e26/CHANGELOG.md?plain=1#L1417 |
| 38 | + |
| 39 | +### FEATURES |
| 40 | + |
| 41 | +- Add a per-chain configuration `excluded_sequences` allowing users to specify a list of packet sequences which will not be cleared. |
| 42 | + This configuration has no impact on standard packet relaying. |
| 43 | + ([\#3754](https://github.com/informalsystems/hermes/issues/3754)) |
| 44 | +- Add a per-chain configuration `memo_overwrite` allowing users to overwrite the relayer memo used for each transaction |
| 45 | + ([\#3811](https://github.com/informalsystems/hermes/issues/3811)) |
| 46 | +- Added a new Prometheus metric `simulate_errors` for tracking when a transaction simulation fails, with the following labels: |
| 47 | + ([\#3845](https://github.com/informalsystems/hermes/issues/3845)) |
| 48 | + * `recoverable` (can the execution continue if this happened?) |
| 49 | + * `account` (account from which the tx was sent) |
| 50 | + * `error_description` (description of the error) |
| 51 | + |
| 52 | + ``` |
| 53 | + # HELP simulate_errors_total Number of errors observed by Hermes when simulating a Tx |
| 54 | + # TYPE simulate_errors_total counter |
| 55 | + simulate_errors_total{account="osmo17ndx5qfku28ymxgmq6zq4a6d02dvpfjjul0hyh",error_description="Unknown error",recoverable="false",service_name="unknown_service",otel_scope_name="hermes",otel_scope_version=""} 4 |
| 56 | + ``` |
| 57 | +
|
| 58 | +### IMPROVEMENTS |
| 59 | +
|
| 60 | +- Use the consensus state at client latest height in status CLI ([#3814](https://github.com/informalsystems/ibc-rs/issues/3814)) |
| 61 | +- Add syncing check for gRPC node ([#3814](https://github.com/informalsystems/ibc-rs/issues/3814)) |
| 62 | +- Improve the log diagnostic when an out of gas error is thrown. |
| 63 | + And a new entry related to gas error has been added to the Hermes guide. |
| 64 | + ([\#3530](https://github.com/informalsystems/hermes/issues/3530)) |
| 65 | +- Improve resilience when relaying on ordered channels. |
| 66 | + When relaying packets on an ordered channel, Hermes will now attempt |
| 67 | + to detect whether the next message to send has the sequence number |
| 68 | + expected on that channel. If there is a mismatch, then Hermes will trigger a packet |
| 69 | + clear on the channel to unblock it before resuming operations on that channel. |
| 70 | + ([\#3540](https://github.com/informalsystems/hermes/issues/3540)) |
| 71 | +- Recover from gas simulation failures on legacy chains. |
| 72 | + ([\#3792](https://github.com/informalsystems/hermes/issues/3792)) |
| 73 | +
|
3 | 74 | ## v1.8.0
|
4 | 75 |
|
5 | 76 | *January 23rd, 2024*
|
|
0 commit comments