From 806b34aefc554c23cec2d1293113a589718c8cdf Mon Sep 17 00:00:00 2001 From: "Tobin C. Harding" Date: Thu, 27 Feb 2025 10:52:04 +1100 Subject: [PATCH] units: Bump version to 1.0.0-rc.0 In preparation for doing the first 1.0 RC release set the version number, add a changelog entry, and update the lock files. --- Cargo-minimal.lock | 2 +- Cargo-recent.lock | 2 +- units/CHANGELOG.md | 44 +++++++++++++++++++++++++++++++++++++++++--- units/Cargo.toml | 2 +- 4 files changed, 44 insertions(+), 6 deletions(-) diff --git a/Cargo-minimal.lock b/Cargo-minimal.lock index 9667527dd..63d43f919 100644 --- a/Cargo-minimal.lock +++ b/Cargo-minimal.lock @@ -137,7 +137,7 @@ dependencies = [ [[package]] name = "bitcoin-units" -version = "0.2.0" +version = "1.0.0-rc.0" dependencies = [ "arbitrary", "bincode", diff --git a/Cargo-recent.lock b/Cargo-recent.lock index ded29f2b8..fcf5c2cc3 100644 --- a/Cargo-recent.lock +++ b/Cargo-recent.lock @@ -136,7 +136,7 @@ dependencies = [ [[package]] name = "bitcoin-units" -version = "0.2.0" +version = "1.0.0-rc.0" dependencies = [ "arbitrary", "bincode", diff --git a/units/CHANGELOG.md b/units/CHANGELOG.md index c2f6a470f..bd072693b 100644 --- a/units/CHANGELOG.md +++ b/units/CHANGELOG.md @@ -1,8 +1,46 @@ -# Unreleased +# 1.0.0 - 2025-02-24 -- TODO: Make a comment about `Amount::MAX_MONEY` including breaking serde +BOOM! A long time in the making but here goes, our first 1.0 crate release. -- Use MAX_MONEY in serde regression test [#3950](https://github.com/rust-bitcoin/rust-bitcoin/pull/3950) +This changelog is a rolling description of everything that will eventually end up in `v1.0`. + +* Introduce limit to `Amount` + * Prepare to enforce `MAX_MONEY` invariant [#4164](https://github.com/rust-bitcoin/rust-bitcoin/pull/4164) + * Enforce `MAX_MONEY` invariant in amount types [#4157](https://github.com/rust-bitcoin/rust-bitcoin/pull/4157) +* New `NumOpResult` type + * Introduce monadic `NumOpResult` type [#4007](https://github.com/rust-bitcoin/rust-bitcoin/pull/4007) + * Add impls for `NumOpResult` div and mul [#4337](https://github.com/rust-bitcoin/rust-bitcoin/pull/4337) + * Use `NumOpResult` instead of `Option` [#4428](https://github.com/rust-bitcoin/rust-bitcoin/pull/4428) + * Return `NumOpResult` when implementing `Div` [#4312](https://github.com/rust-bitcoin/rust-bitcoin/pull/4312) +* Heavily modify `fee_rate` module: + * Make `FeeRate` use MvB internally [#4534](https://github.com/rust-bitcoin/rust-bitcoin/pull/4534) + * Add `FeeRate` addition and subtraction traits [#3381](https://github.com/rust-bitcoin/rust-bitcoin/pull/3381) + * Remove `Display`/`FromStr` for `FeeRate` [#4512](https://github.com/rust-bitcoin/rust-bitcoin/pull/4512) + * Implement `serde` modules for `FeeRate` [#3666](https://github.com/rust-bitcoin/rust-bitcoin/pull/3666) +* Fix and improve `locktime` modules + * Modify locktime `serde` implementations [#4511](https://github.com/rust-bitcoin/rust-bitcoin/pull/4511) + * Improve lock times - fix off-by-one bug [#4468](https://github.com/rust-bitcoin/rust-bitcoin/pull/4468) + * Do lock time renames [#4462](https://github.com/rust-bitcoin/rust-bitcoin/pull/4462) +* Make block-related types have private inner fields [#4508](https://github.com/rust-bitcoin/rust-bitcoin/pull/4508) +* `Timestamp`/`BlockTime` + * Add `Timestamp` newtype [#4092](https://github.com/rust-bitcoin/rust-bitcoin/pull/4092) + * Rename then new `Timestamp` type to `BlockTime` [#4219](https://github.com/rust-bitcoin/rust-bitcoin/pull/4219) +* Add µBTC as a recognized str form of a `MicroBitcoin` `Denomination` [#3943](https://github.com/rust-bitcoin/rust-bitcoin/pull/3943) +* Remove `InputString` from the public API [#3905](https://github.com/rust-bitcoin/rust-bitcoin/pull/3905) +* Hide the remaining public macros [#3867](https://github.com/rust-bitcoin/rust-bitcoin/pull/3867) +* Change method return type for `to_unsigned()` [#3769](https://github.com/rust-bitcoin/rust-bitcoin/pull/3769) +* Change paramater type used for whole bitcoin [#3744](https://github.com/rust-bitcoin/rust-bitcoin/pull/3744) +* Add `Weight::to_kwu_ceil` [#3740](https://github.com/rust-bitcoin/rust-bitcoin/pull/3740) +* Replace `String` with `InputString` [#3559](https://github.com/rust-bitcoin/rust-bitcoin/pull/3559) + +## Changes relate to error types + +* Close the hex parse errors [#3673](https://github.com/rust-bitcoin/rust-bitcoin/pull/3673) + +## Improved support for `Arbitrary` + +* Implement `Arbitrary` for `units` types [#3777](https://github.com/rust-bitcoin/rust-bitcoin/pull/3777) +* Add `Arbitrary` to `Weight` [#3257](https://github.com/rust-bitcoin/rust-bitcoin/pull/3257) # 0.2.0 - 2024-09-18 diff --git a/units/Cargo.toml b/units/Cargo.toml index 078c9a642..8d943b44f 100644 --- a/units/Cargo.toml +++ b/units/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bitcoin-units" -version = "0.2.0" +version = "1.0.0-rc.0" authors = ["Andrew Poelstra "] license = "CC0-1.0" repository = "https://github.com/rust-bitcoin/rust-bitcoin/"