Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: split rust and go changelogs #362

Merged
merged 6 commits into from
Aug 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 2 additions & 153 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,156 +1,5 @@
# Changelog

# Unreleased
For Rust, please check [here](./rust/CHANGELOG.md).

- deps(go): bump golang to v1.22 ([#363](https://github.com/cosmos/ics23/pull/363).

# 0.12.0

## Rust

- chore(rust): Update `prost` to v0.13 ([#335](https://github.com/cosmos/ics23/pull/335), [#336](https://github.com/cosmos/ics23/pull/336))

# 0.11.3

## Rust

- fix(rust): Enforce that `spec.InnerSpec.ChildSize` is >= 1 ([#339](https://github.com/cosmos/ics23/pull/339))

# 0.11.2

## Rust

This release was yanked, please use v0.11.3 instead.

# 0.11.1

## Rust

- chore(rust): Update `informalsystems-pbjson` to v0.7.0 ([#274](https://github.com/cosmos/ics23/pull/274))

# 0.11.0

## Rust

- chore(rust): update `prost` to v0.12 ([#202](https://github.com/cosmos/ics23/pull/202))

## Go

- fix(go): interpret max_depth in proof specs as 128 if left to 0 ([#352](https://github.com/cosmos/ics23/pull/352)).
- deps: bump cosmos/gogoproto to v1.7.0.
- deps: bump x/crypto v0.26.0.
- feat: add support for Blake2b/2s/3 hash functions ([#212](https://github.com/cosmos/ics23/pull/212)).
- fix(go): bullet-proof against nil dereferences, add more fuzzers ([\#244](https://github.com/cosmos/ics23/pull/244)).

# 0.10.2

## Rust

This release re-enables `no_std` support for ProtoJSON `Serialize` and `Deserialize` instances,
by swapping out `pbjson` for the `no_std`-compatible fork `informalsystems-pbjson`.

## Full changes

- feat(rust): enable no_std support for pbjson ([#158](https://github.com/cosmos/ics23/pull/146))

# 0.10.1

## Rust

The only change in this release of the `ics23` crate is the addition of a `serde` feature
which adds ProtoJSON-compatible `Serialize` and `Deserialize` instances on all Protobuf definitions via
the [`pbjson-build`](https://docs.rs/pbjson-build/latest/pbjson_build/) crate.

## Full changes

- feat(rust): Add ProtoJSON-compatible `Serialize` and `Deserialize` instances on all Protobuf definitions via `pbjson` ([#146](https://github.com/cosmos/ics23/pull/146))

# 0.10.0

## Go / Rust / TypeScript

This release introduces one single boolean new parameter to the top-level `ProofSpec`: `prehash_compare_key`.
When set to `true`, this flag causes keys to be consistently compared lexicographically according to their hashes
within nonexistence proof verification, using the same hash function as specified by the already-extant `prehash_key` field.

This is a backwards-compatible change, as it requires opt-in via setting the `prehash_compare_key` flag to `true` in the `ProofSpec`.
All existing `ProofSpec`s will continue to behave identically.

Please note that the version of the TypeScript library has been bump from 0.6.8 to 0.10.0 to align it with
the Go and Rust implementations.

## Full changes

- feat: Add `prehash_compare_key` to allow proving nonexistence in sparse trees ([#136](https://github.com/cosmos/ics23/pull/136))
- chore: retract previous versions ([#131](https://github.com/cosmos/ics23/pull/131))
- fix: protobuf formatting using clang-format ([#129](https://github.com/cosmos/ics23/pull/129))
- fix: use /go suffix in go package option ([#127](https://github.com/cosmos/ics23/pull/127))
- add buf support to repo ([#126](https://github.com/cosmos/ics23/pull/126))
- chore: Add Cosmos, license and coverage badges to the README ([#122](https://github.com/cosmos/ics23/pull/122))
- ci: Enable code coverage for TypeScript version ([#123](https://github.com/cosmos/ics23/pull/123))
- ci: Add tags to codecov reports ([#121](https://github.com/cosmos/ics23/pull/121)) (4 months ago)
- ci: Refactor GitHub workflows and add code coverage job ([#120](https://github.com/cosmos/ics23/pull/120))

# 0.9.1

## Go

This release is a backport into the `release/v0.9.x` line of the feature that added the `prehash_compare_key` boolean parameter to the top-level `ProofSpec`.
When set to `true`, this flag causes keys to be consistently compared lexicographically according to their hashes
within nonexistence proof verification, using the same hash function as specified by the already-extant `prehash_key` field.

This is a backwards-compatible change, as it requires opt-in via setting the `prehash_compare_key` flag to `true` in the `ProofSpec`.
All existing `ProofSpec`s will continue to behave identically.

## Full changes

- feat(go): Add `prehash_compare_key` to allow proving nonexistence in sparse trees ([#136](https://github.com/cosmos/ics23/pull/136))

# 0.9.0

## Go

Release of ics23/go including changes made in the fork of ics23/go housed in the [Cosmos SDK](http://github.com/cosmos/cosmos-sdk).

## Rust

This release includes the same changes as its Go counterpart.

# 0.8.1

## Rust ([`ics23`](https://crates.io/crates/ics23))

- Fix no\_std compatibility and add check for this on CI ([#104](https://github.com/confio/ics23/pull/104))

# 0.8.0

## Rust ([`ics23`](https://crates.io/crates/ics23))

The following functions have been made generic over a new trait `HostFunctionProvider`:

- [x] `calculate_existence_root`
- [x] `verify_batch_membership`
- [x] `verify_batch_non_membership`
- [x] `verify_membership`
- [x] `verify_non_membership`

For `wasm32-unknown-unknown` environments this trait allows you to delegate hashing functions to a native implementation through host functions.

With the `host-functions` feature (enabled by default), you can simply use `ics23::HostFunctionManager` as this provides a default implementation of this trait.

# v0.7.0

This handles non-existence tests for empty branches properly. This
is needed for properly handling proofs on Tries, like the SMT being
integrated with the Cosmos SDK.

This is used in ibc-go v3

# 0.6.x

This handles proofs for normal merkle trees, where every branch is full.
This works for tendermint merkle hashes and iavl hashes, and should work
for merk (nomic's db) proofs.

This was used in the original ibc release (cosmos sdk v0.40) and up until
ibc-go v2.
For Go, please check [here](./go/CHANGELOG.md).
71 changes: 71 additions & 0 deletions go/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Changelog

# Unreleased

- deps: bump golang to v1.22 ([#363](https://github.com/cosmos/ics23/pull/363)).

# v0.11.0

- fix(go): interpret max_depth in proof specs as 128 if left to 0 ([#352](https://github.com/cosmos/ics23/pull/352)).
- deps: bump cosmos/gogoproto to v1.7.0.
- deps: bump x/crypto v0.26.0.
- feat: add support for Blake2b/2s/3 hash functions ([#212](https://github.com/cosmos/ics23/pull/212)).
- fix(go): bullet-proof against nil dereferences, add more fuzzers ([\#244](https://github.com/cosmos/ics23/pull/244)).

# v0.10.0

This release introduces one single boolean new parameter to the top-level `ProofSpec`: `prehash_compare_key`.
When set to `true`, this flag causes keys to be consistently compared lexicographically according to their hashes
within nonexistence proof verification, using the same hash function as specified by the already-extant `prehash_key` field.

This is a backwards-compatible change, as it requires opt-in via setting the `prehash_compare_key` flag to `true` in the `ProofSpec`.
All existing `ProofSpec`s will continue to behave identically.

Please note that the version of the TypeScript library has been bump from 0.6.8 to 0.10.0 to align it with
the Go and Rust implementations.

## Full changes

- feat: Add `prehash_compare_key` to allow proving nonexistence in sparse trees ([#136](https://github.com/cosmos/ics23/pull/136))
- chore: retract previous versions ([#131](https://github.com/cosmos/ics23/pull/131))
- fix: protobuf formatting using clang-format ([#129](https://github.com/cosmos/ics23/pull/129))
- fix: use /go suffix in go package option ([#127](https://github.com/cosmos/ics23/pull/127))
- add buf support to repo ([#126](https://github.com/cosmos/ics23/pull/126))
- chore: Add Cosmos, license and coverage badges to the README ([#122](https://github.com/cosmos/ics23/pull/122))
- ci: Enable code coverage for TypeScript version ([#123](https://github.com/cosmos/ics23/pull/123))
- ci: Add tags to codecov reports ([#121](https://github.com/cosmos/ics23/pull/121)) (4 months ago)
- ci: Refactor GitHub workflows and add code coverage job ([#120](https://github.com/cosmos/ics23/pull/120))

# v0.9.1

This release is a backport into the `release/v0.9.x` line of the feature that added the `prehash_compare_key` boolean parameter to the top-level `ProofSpec`.
When set to `true`, this flag causes keys to be consistently compared lexicographically according to their hashes
within nonexistence proof verification, using the same hash function as specified by the already-extant `prehash_key` field.

This is a backwards-compatible change, as it requires opt-in via setting the `prehash_compare_key` flag to `true` in the `ProofSpec`.
All existing `ProofSpec`s will continue to behave identically.

## Full changes

- feat(go): Add `prehash_compare_key` to allow proving nonexistence in sparse trees ([#136](https://github.com/cosmos/ics23/pull/136))

# v0.9.0

Release of ics23/go including changes made in the fork of ics23/go housed in the [Cosmos SDK](http://github.com/cosmos/cosmos-sdk).

# v0.7.0

This handles non-existence tests for empty branches properly. This
is needed for properly handling proofs on Tries, like the SMT being
integrated with the Cosmos SDK.

This is used in ibc-go v3

# 0.6.x

This handles proofs for normal merkle trees, where every branch is full.
This works for tendermint merkle hashes and iavl hashes, and should work
for merk (nomic's db) proofs.

This was used in the original ibc release (cosmos sdk v0.40) and up until
ibc-go v2.
97 changes: 97 additions & 0 deletions rust/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Changelog

# v0.12.0

- chore(rust): Update `prost` to v0.13 ([#335](https://github.com/cosmos/ics23/pull/335), [#336](https://github.com/cosmos/ics23/pull/336))

# v0.11.3

- fix(rust): Enforce that `spec.InnerSpec.ChildSize` is >= 1 ([#339](https://github.com/cosmos/ics23/pull/339))

# v0.11.2

This release was yanked, please use v0.11.3 instead.

# v0.11.1

- chore(rust): Update `informalsystems-pbjson` to v0.7.0 ([#274](https://github.com/cosmos/ics23/pull/274))

# v0.11.0

- chore(rust): update `prost` to v0.12 ([#202](https://github.com/cosmos/ics23/pull/202))

# v0.10.2

This release re-enables `no_std` support for ProtoJSON `Serialize` and `Deserialize` instances,
by swapping out `pbjson` for the `no_std`-compatible fork `informalsystems-pbjson`.

## Full changes

- feat(rust): enable no_std support for pbjson ([#158](https://github.com/cosmos/ics23/pull/146))

# v0.10.1

The only change in this release of the `ics23` crate is the addition of a `serde` feature
which adds ProtoJSON-compatible `Serialize` and `Deserialize` instances on all Protobuf definitions via
the [`pbjson-build`](https://docs.rs/pbjson-build/latest/pbjson_build/) crate.

## Full changes

- feat(rust): Add ProtoJSON-compatible `Serialize` and `Deserialize` instances on all Protobuf definitions via `pbjson` ([#146](https://github.com/cosmos/ics23/pull/146))

# v0.10.0

This release introduces one single boolean new parameter to the top-level `ProofSpec`: `prehash_compare_key`.
When set to `true`, this flag causes keys to be consistently compared lexicographically according to their hashes
within nonexistence proof verification, using the same hash function as specified by the already-extant `prehash_key` field.

This is a backwards-compatible change, as it requires opt-in via setting the `prehash_compare_key` flag to `true` in the `ProofSpec`.
All existing `ProofSpec`s will continue to behave identically.

## Full changes

- feat: Add `prehash_compare_key` to allow proving nonexistence in sparse trees ([#136](https://github.com/cosmos/ics23/pull/136))
- fix: protobuf formatting using clang-format ([#129](https://github.com/cosmos/ics23/pull/129))
- add buf support to repo ([#126](https://github.com/cosmos/ics23/pull/126))
- chore: Add Cosmos, license and coverage badges to the README ([#122](https://github.com/cosmos/ics23/pull/122))
- ci: Add tags to codecov reports ([#121](https://github.com/cosmos/ics23/pull/121)) (4 months ago)
- ci: Refactor GitHub workflows and add code coverage job ([#120](https://github.com/cosmos/ics23/pull/120))

# v0.9.0

Release of the `ics23` create, including changes that reflect changes made in the Go implementation in the fork of `ics23` housed in the [Cosmos SDK](http://github.com/cosmos/cosmos-sdk).

# v0.8.1

- Fix no\_std compatibility and add check for this on CI ([#104](https://github.com/confio/ics23/pull/104))

# v0.8.0

The following functions have been made generic over a new trait `HostFunctionProvider`:

- [x] `calculate_existence_root`
- [x] `verify_batch_membership`
- [x] `verify_batch_non_membership`
- [x] `verify_membership`
- [x] `verify_non_membership`

For `wasm32-unknown-unknown` environments this trait allows you to delegate hashing functions to a native implementation through host functions.

With the `host-functions` feature (enabled by default), you can simply use `ics23::HostFunctionManager` as this provides a default implementation of this trait.

# v0.7.0

This handles non-existence tests for empty branches properly. This
is needed for properly handling proofs on Tries, like the SMT being
integrated with the Cosmos SDK.

This is used in ibc-go v3

# 0.6.x

This handles proofs for normal merkle trees, where every branch is full.
This works for tendermint merkle hashes and iavl hashes, and should work
for merk (nomic's db) proofs.

This was used in the original ibc release (cosmos sdk v0.40) and up until
ibc-go v2.
Loading