Skip to content

Commit

Permalink
chore: release
Browse files Browse the repository at this point in the history
  • Loading branch information
dj8yf0μl committed Oct 3, 2023
1 parent 773827c commit 15a12f3
Showing 1 changed file with 77 additions and 104 deletions.
181 changes: 77 additions & 104 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,133 +7,106 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.0.0-alpha.6](https://github.com/near/borsh-rs/compare/borsh-v1.0.0-alpha.5...borsh-v1.0.0-alpha.6) - 2023-10-02

### Added
- add `borsh::object_length` helper ([#236](https://github.com/near/borsh-rs/pull/236))

### Other
- add examples for `borsh::to_vec`, `borsh::to_writer`, `borsh::object_length` ([#238](https://github.com/near/borsh-rs/pull/238))
- [**breaking**] completely remove deprecated `BorshSerialize::try_to_vec` ([#221](https://github.com/near/borsh-rs/pull/221))

## [1.0.0-alpha.5](https://github.com/near/borsh-rs/compare/borsh-v1.0.0-alpha.4...borsh-v1.0.0-alpha.5) - 2023-09-26

### Added
- [**breaking**] add `DiscriminantValue` to `Definition::Enum::variants` tuples ([#232](https://github.com/near/borsh-rs/pull/232))
- [**breaking**] add `length_width` to `schema::Definition::Sequence` ([#229](https://github.com/near/borsh-rs/pull/229))
- add definition of `String`/`str` ([#226](https://github.com/near/borsh-rs/pull/226))
- [**breaking**] add `Definition::Sequence::length_range` field ([#220](https://github.com/near/borsh-rs/pull/220))
- [**breaking**] add `Definition::Primitive` ([#222](https://github.com/near/borsh-rs/pull/222))
- max_size: various small refactoring ([#223](https://github.com/near/borsh-rs/pull/223))
- check `Definition::Enum`’s `tag_width` when validating schema ([#224](https://github.com/near/borsh-rs/pull/224))
- add (de)serialisation + schema for more `core::ops::Range...` types (full, open-ended, inclusive) ([#213](https://github.com/near/borsh-rs/pull/213))
- add `BorshSchema` implementation for `core::num::NonZero...` integers ([#214](https://github.com/near/borsh-rs/pull/214))
- [**breaking**] introduce `borsh::io` with either items of `std:io` or private `borsh::nostd_io` module reexported (`std` or `no_std`) ([#212](https://github.com/near/borsh-rs/pull/212))
- Introduce `borsh::max_serialized_size` function, `borsh::schema::BorshSchemaContainer::for_type` method ([#209](https://github.com/near/borsh-rs/pull/209))

### Other
- [**breaking**] rename `"Tuple<T0, T1, T2...>"` -> `"(T0, T1, T2...)"` (`schema::Declaration`) ([#234](https://github.com/near/borsh-rs/pull/234))
- [**breaking**] rename `"nil"` -> `"()"`, `"string"` -> `"String"`, `"nonzero_u16"` -> `"NonZeroU16"` (`schema::Declaration`) ([#233](https://github.com/near/borsh-rs/pull/233))
- [**breaking**] rename `"Array<T0, N>"` -> `"[T0; N]"` (`schema::Declaration`) ([#235](https://github.com/near/borsh-rs/pull/235))
- [**breaking**] split `ValidationError` from `MaxSizeError`; `validate` and `max_serialized_size` made `BorshSchemaContainer`'s methods ([#219](https://github.com/near/borsh-rs/pull/219))
- [**breaking**] declare and rename schema feature to be unstable__ (may break in 1.x versions)
- Add Definition::Enum::tag_width field ([#215](https://github.com/near/borsh-rs/pull/215))

## [1.0.0-alpha.4](https://github.com/near/borsh-rs/compare/borsh-v1.0.0-alpha.3...borsh-v1.0.0-alpha.4) - 2023-09-04

### Added
- [**breaking**] raise bound on keys in hashcollections `PartialOrd` -> `Ord` ([#203](https://github.com/near/borsh-rs/pull/203))
- forbid most collections from containing zst elements/keys ([#202](https://github.com/near/borsh-rs/pull/202))
- add `#[borsh(crate = ...)]` item-level attribute ([#210](https://github.com/near/borsh-rs/pull/210))
- forbid multiple `borsh` attr occurencies ([#199](https://github.com/near/borsh-rs/pull/199))

### Other
- various flaws correction ([#205](https://github.com/near/borsh-rs/pull/205))
- [**breaking**] deprecate `try_to_vec` method from `BorshSerialize` ([#206](https://github.com/near/borsh-rs/pull/206))
- [**breaking**] make `BorshSchema::add_definition` default implementation a free-standing func ([#204](https://github.com/near/borsh-rs/pull/204))
- remove `#[non_exhaustive]` on `borsh::schema::Definition` ([#200](https://github.com/near/borsh-rs/pull/200))

## [1.0.0-alpha.3](https://github.com/near/borsh-rs/compare/borsh-v1.0.0-alpha.2...borsh-v1.0.0-alpha.3) - 2023-08-16

### Other
- [**breaking**] renamed #[borsh_skip] to #[borsh(skip)] ([#192](https://github.com/near/borsh-rs/pull/192))
- split up schema derive functions ([#191](https://github.com/near/borsh-rs/pull/191))

## [1.0.0-alpha.2](https://github.com/near/borsh-rs/compare/borsh-v1.0.0-alpha.1...borsh-v1.0.0-alpha.2) - 2023-08-10

### Other
- [**breaking**] borsh_init to borsh(init). ([#187](https://github.com/near/borsh-rs/pull/187))

## [1.0.0-alpha.1](https://github.com/near/borsh-rs/compare/borsh-v0.11.0...borsh-v1.0.0-alpha.1) - 2023-08-07
## [1.0.0](https://github.com/near/borsh-rs/compare/borsh-v0.10.3...borsh-v1.0.0) - 2023-10-03

### Bug Fixes

- Unused fields warn, fields for inner structs of derived BorshSchema method (#172)
- #[borsh_skip] on field of struct enum variant (BorshSerialize) (#174)
- Filter out foreign attributes in `BorshSchema` derive for enum (#177)
- No-std tests did not run due to dev-dependencies re-enabling std feature ([#144](https://github.com/near/borsh-rs/pull/144))
- Unused fields warn, fields for inner structs of derived `BorshSchema` method ([#172](https://github.com/near/borsh-rs/pull/172))
- #[borsh_skip] on field of struct enum variant (`BorshSerialize`) ([#174](https://github.com/near/borsh-rs/pull/174))
- Filter out foreign attributes in `BorshSchema` derive for enum ([#177](https://github.com/near/borsh-rs/pull/177))

### Documentation

- Create a brief documentation of crate's features (#159)
- Mention `schema` feature in doc.rs (#166)
- Create a brief documentation of crate's features ([#159](https://github.com/near/borsh-rs/pull/159))
- Mention `schema` feature in doc.rs ([#166](https://github.com/near/borsh-rs/pull/166))
- Add examples for `borsh::to_vec`, `borsh::to_writer`, `borsh::object_length` ([#238](https://github.com/near/borsh-rs/pull/238))
- `near-sdk-rs` migration guide to `1.0.0` ([#201](https://github.com/near/borsh-rs/pull/201))
- `nearcore` migration guide to 1.0.0 ([#198](https://github.com/near/borsh-rs/pull/198))

### Features

- Forbid Vectors of Zero-sized types from de-/serialization to resolve the RUSTSEC-2023-0033 (#145)
- Add top-level `from_slice` and `from_reader` helper functions to make the API nicer (#142)
- [**breaking**] Add `#[borsh(use_discriminant = <bool>)]` attribute that changes enum discriminant de- and serialization behavior
- [**breaking**] Remove `BinaryHeap` support (#161)
- Sets/maps benches for reference point (#164)
- Enforce canonicity on `HashSet/BTreeSet/HashMap/BTreeMap` (#162)
- [**breaking**] Support recursive structures! (#178)
- `BorshSerialize`, `BorshDeserialize`, `BorshSchema` derives may break
- derives may require patching bounds with `#[borsh(bound(..))]` / `#[borsh(schema(params = ...))]`
- Bounds for ser/de derive and schema_params for schema derive attributes (#180)
- Derive attribute for 3rd party structs/enums as fields (#182)
- [**breaking**] Ser/de enum discriminant ([#138](https://github.com/near/borsh-rs/pull/138))
- Add optional `bson::oid::ObjectId` support ([#135](https://github.com/near/borsh-rs/pull/135))
- Add `BorshSchema` for `PhantomData`, `BTreeMap` and `BTreeSet` ([#93](https://github.com/near/borsh-rs/pull/93))
- [**breaking**] Forbid Vectors of Zero-sized types from de-/serialization to resolve the RUSTSEC-2023-0033 ([#145](https://github.com/near/borsh-rs/pull/145))
- Add top-level `from_slice` and `from_reader` helper functions to make the API nicer ([#142](https://github.com/near/borsh-rs/pull/142))
- [**breaking**] Remove `BinaryHeap` support ([#161](https://github.com/near/borsh-rs/pull/161))
- Sets/maps benches for reference point ([#164](https://github.com/near/borsh-rs/pull/164))
- [**breaking**] Enforce canonicity on `HashSet/BTreeSet/HashMap/BTreeMap` ([#162](https://github.com/near/borsh-rs/pull/162))
- Support recursive structures! ([#178](https://github.com/near/borsh-rs/pull/178))
- Bounds for ser/de derive and schema_params for schema derive attributes ([#180](https://github.com/near/borsh-rs/pull/180))
- Derive attribute for 3rd party structs/enums as fields ([#182](https://github.com/near/borsh-rs/pull/182))
- [**breaking**] Forbid most collections from containing zst elements/keys ([#202](https://github.com/near/borsh-rs/pull/202))
- Forbid multiple `borsh` attr occurencies ([#199](https://github.com/near/borsh-rs/pull/199))
- [**breaking**] Raise bound on keys in hashcollections `PartialOrd` -> `Ord` ([#203](https://github.com/near/borsh-rs/pull/203))
- Add `#[borsh(crate = ...)]` item-level attribute ([#210](https://github.com/near/borsh-rs/pull/210))
- Introduce `borsh::max_serialized_size` function, `borsh::schema::BorshSchemaContainer::for_type` method ([#209](https://github.com/near/borsh-rs/pull/209))
- [**breaking**] Introduce `borsh::io` with either items of `std:io` or private `borsh::nostd_io` module reexported (`std` or `no_std`) ([#212](https://github.com/near/borsh-rs/pull/212))
- Add `BorshSchema` implementation for `core::num::NonZero...` integers ([#214](https://github.com/near/borsh-rs/pull/214))
- Add (de)serialisation + schema for more `core::ops::Range...` types (full, open-ended, inclusive) ([#213](https://github.com/near/borsh-rs/pull/213))
- Check `schema::Definition::Enum`’s `tag_width` when validating schema ([#224](https://github.com/near/borsh-rs/pull/224))
- Max_size: various small refactoring ([#223](https://github.com/near/borsh-rs/pull/223))
- [**breaking**] Add `schema::Definition::Primitive` ([#222](https://github.com/near/borsh-rs/pull/222))
- [**breaking**] Add `schema::Definition::Sequence::length_range` field ([#220](https://github.com/near/borsh-rs/pull/220))
- Add `schema::Definition` of `String`/`str` ([#226](https://github.com/near/borsh-rs/pull/226))
- [**breaking**] Add `length_width` to `schema::Definition::Sequence` ([#229](https://github.com/near/borsh-rs/pull/229))
- [**breaking**] Add `DiscriminantValue` to `schema::Definition::Enum::variants` tuples ([#232](https://github.com/near/borsh-rs/pull/232))
- Add `borsh::object_length` helper ([#236](https://github.com/near/borsh-rs/pull/236))

### Miscellaneous Tasks

- Bump proc-macro-crate versions (#149)
- Add tests job for MSRV (1.65.0) (#151)
- [**breaking**] Hide maybestd from public interface, despite it being technically available by new name of __maybestd (#153)
- Fix broken reference-style link in minimum supported version badge (#154)
- Remove a bunch of clippy-related TODOs (uninlined_format_args) (#156)
- Simpler bounds on Rc/Arc impls (#167)
- Invited @dj8yfo to CODEOWNERS (#169)
- [**breaking**] Replace ErrorKind::InvalidInput with ErrorKind::InvalidData as per original std::io meaning (#170)
- Apply Schema on field_type ([#140](https://github.com/near/borsh-rs/pull/140))
- Upgrade plain-HTTP links to HTTPS in Cargo.toml files ([#141](https://github.com/near/borsh-rs/pull/141))
- Release ([#143](https://github.com/near/borsh-rs/pull/143))
- Bump proc-macro-crate versions ([#149](https://github.com/near/borsh-rs/pull/149))
- Add tests job for MSRV (1.65.0) ([#151](https://github.com/near/borsh-rs/pull/151))
- [**breaking**] Hide maybestd from public interface, despite it being technically available by new name of __maybestd ([#153](https://github.com/near/borsh-rs/pull/153))
- Fix broken reference-style link in minimum supported version badge ([#154](https://github.com/near/borsh-rs/pull/154))
- Remove a bunch of clippy-related TODOs (uninlined_format_args) ([#156](https://github.com/near/borsh-rs/pull/156))
- Simpler bounds on Rc/Arc impls ([#167](https://github.com/near/borsh-rs/pull/167))
- Invited @dj8yfo to CODEOWNERS ([#169](https://github.com/near/borsh-rs/pull/169))
- [**breaking**] Replace ErrorKind::InvalidInput with ErrorKind::InvalidData as per original std::io meaning ([#170](https://github.com/near/borsh-rs/pull/170))
- Release ([#146](https://github.com/near/borsh-rs/pull/146))
- Release ([#190](https://github.com/near/borsh-rs/pull/190))
- Update release-plz.toml with `changelog_include` ([#196](https://github.com/near/borsh-rs/pull/196))
- Release ([#197](https://github.com/near/borsh-rs/pull/197))
- Remove `#[non_exhaustive]` on `borsh::schema::Definition` ([#200](https://github.com/near/borsh-rs/pull/200))
- [**breaking**] Make `BorshSchema::add_definition` default implementation a free-standing func ([#204](https://github.com/near/borsh-rs/pull/204))
- [**breaking**] Deprecate `try_to_vec` method from `BorshSerialize` ([#206](https://github.com/near/borsh-rs/pull/206))
- Various flaws correction ([#205](https://github.com/near/borsh-rs/pull/205))
- Release ([#207](https://github.com/near/borsh-rs/pull/207))
- [**breaking**] Declare and rename schema feature to be unstable__ (may break in 1.x versions)
- [**breaking**] Split `ValidationError` from `MaxSizeError`; `validate` and `max_serialized_size` made `BorshSchemaContainer`'s methods ([#219](https://github.com/near/borsh-rs/pull/219))
- [**breaking**] Rename `"Array<T0, N>"` -> `"[T0; N]"` (`schema::Declaration`) ([#235](https://github.com/near/borsh-rs/pull/235))
- [**breaking**] Rename `"nil"` -> `"()"`, `"string"` -> `"String"`, `"nonzero_u16"` -> `"NonZeroU16"` (`schema::Declaration`) ([#233](https://github.com/near/borsh-rs/pull/233))
- [**breaking**] Rename `"Tuple<T0, T1, T2...>"` -> `"(T0, T1, T2...)"` (`schema::Declaration`) ([#234](https://github.com/near/borsh-rs/pull/234))
- Release ([#217](https://github.com/near/borsh-rs/pull/217))
- [**breaking**] Completely remove deprecated `BorshSerialize::try_to_vec` ([#221](https://github.com/near/borsh-rs/pull/221))
- Release ([#239](https://github.com/near/borsh-rs/pull/239))

### Refactor

- [**breaking**] Make `hashbrown` dependency optional, `hashbrown` feature (#155)
- [**breaking**] `BorshSchemaContainer` fields non-pub, `HashMap` -> `BTreeMap` in schema everywhere (#165)
- [**breaking**] Move derive under #[cfg(feature = "derive")] (#168)
- Introduce `__private` module with macro runtime (#171)
- [**breaking**] Unsplit and removal of *-internal crates (#185)
- `borsh-schema-derive-internal` and `borsh-derive-internal` crates won't be published anymore
- [**breaking**] Make `hashbrown` dependency optional, `hashbrown` feature ([#155](https://github.com/near/borsh-rs/pull/155))
- [**breaking**] `BorshSchemaContainer` fields non-pub, `HashMap` -> `BTreeMap` in schema everywhere ([#165](https://github.com/near/borsh-rs/pull/165))
- [**breaking**] Move derive under #[cfg(feature = "derive")] ([#168](https://github.com/near/borsh-rs/pull/168))
- Introduce `__private` module with macro runtime ([#171](https://github.com/near/borsh-rs/pull/171))
- [**breaking**] Unsplit and removal of *-internal crates ([#185](https://github.com/near/borsh-rs/pull/185))
- Extract repeating parts of logic in derives ([#188](https://github.com/near/borsh-rs/pull/188))
- [**breaking**] Borsh_init to borsh(init). ([#187](https://github.com/near/borsh-rs/pull/187))
- Split up schema derive functions ([#191](https://github.com/near/borsh-rs/pull/191))
- [**breaking**] Renamed #[borsh_skip] to #[borsh(skip)] ([#192](https://github.com/near/borsh-rs/pull/192))

### Testing

- Add `insta` snapshots to borsh/tests (#157)
- `insta` tests for prettified `TokenStream`-s in `borsh*derive-internal` (#176)
- Add `insta` snapshots to borsh/tests ([#157](https://github.com/near/borsh-rs/pull/157))
- `insta` tests for prettified `TokenStream`-s in `borsh*derive-internal` ([#176](https://github.com/near/borsh-rs/pull/176))

### Ci

- Use release-plz and specify common rust version correctly ([#134](https://github.com/near/borsh-rs/pull/134))
- Only release-plz after other checks pass

## [0.11.0](https://github.com/near/borsh-rs/compare/borsh-v0.10.3...borsh-v0.11.0) - 2023-05-31

### Added
- add BorshSchema for PhantomData, BTreeMap and BTreeSet ([#93](https://github.com/near/borsh-rs/pull/93))
- Add optional bson::oid::ObjectId support ([#135](https://github.com/near/borsh-rs/pull/135))
- [**breaking**] ser/de enum discriminant ([#138](https://github.com/near/borsh-rs/pull/138))

### Fixed
- no-std tests did not run due to dev-dependencies re-enabling std feature ([#144](https://github.com/near/borsh-rs/pull/144))

### Other
- use release-plz and specify common rust version correctly ([#134](https://github.com/near/borsh-rs/pull/134))
- Upgrade plain-HTTP links to HTTPS in Cargo.toml files ([#141](https://github.com/near/borsh-rs/pull/141))

## [0.10.3] - 2023-03-22

- Add optional bytes/bytesmut support
Expand Down

0 comments on commit 15a12f3

Please sign in to comment.