Releases: rust-amplify/rust-amplify
Releases · rust-amplify/rust-amplify
Version 4.0
What's Changed
- MSRV 1.59 bump + editiion 2021 by @dr-orlovsky in #156
- Confined collections by @dr-orlovsky in #155
- Separate Wrapper and WrapperMut by @dr-orlovsky in #160
- Reopen "Make Wrapper::Inner not require clone, only have to_inner require Clone" by @Ricky12Awesome in #157
- Split repository into multiple by @dr-orlovsky in #212
- Refactor array constructors into const fn by @dr-orlovsky in #214
- Add RawArray type and blanket implementations by @dr-orlovsky in #216
- Fix panic on accessing byte positions. Closes #209 by @dr-orlovsky in #218
- Confined mutable iterators by @dr-orlovsky in #220
- Array iter by @dr-orlovsky in #219
- confined: add keyed_values_mut iterator by @dr-orlovsky in #221
- Refactor Holder pattern to avoid unnecessary clone by @dr-orlovsky in #213
- WASM support
Full Changelog: v3.13.1...v4.0.0
Version 4.0 Alpha 1
What's Changed
- Fixed display derivation with enums using inner representation at top… by @dr-orlovsky in #52
- Wrapper::copy by @dr-orlovsky in #56
- Derive/v2.5.0 by @dr-orlovsky in #57
- C raw helpers by @dr-orlovsky in #58
- Derive helper library by @dr-orlovsky in #54
- Getters derivation advancements and
amplify_syn
first release by @dr-orlovsky in #59 - Adding amplify_syn re-export to the main amplify by @dr-orlovsky in #60
- Fixes to docs & naming in amplify_syn by @dr-orlovsky in #61
- Parsers for amplify_syn supporting non-literal attribute argument values by @dr-orlovsky in #62
- Release 0.3.4 by @dr-orlovsky in #63
- syn: fixing ArgValue parsing by @dr-orlovsky in #64
- syn: fixing complex attr args parsing by @dr-orlovsky in #65
- syn: bugfixing use of keywords as attribute argument names by @dr-orlovsky in #66
- Migrating num types and hex traits from bitcoin & bitcoin_hashes by @dr-orlovsky in #67
- Adding little-endian conversion functions to numeric types. by @dr-orlovsky in #69
- Clippy & naming fixes by @dr-orlovsky in #71
- Making code compatible with older rustc versions by @dr-orlovsky in #72
- Moving to MSRV 1.36.0 by @dr-orlovsky in #70
- Making display derivation macro not to produce clippy::if_same_then_else by @dr-orlovsky in #74
- Small bit-sizes numeric types. Closes #76, #77 by @dr-orlovsky in #79
- num::u2 2-bit type by @dr-orlovsky in #83
- Bit-sized numeric type API improvements by @dr-orlovsky in #84
- Improvements to numeric types by @dr-orlovsky in #85
- Support for no_std in derivation macros by @dr-orlovsky in #86
- Fixed typos by @UkolovaOlga in #88
- Recent improvements by @dr-orlovsky in #93
- Fixing rust-1.56 build by @dr-orlovsky in #98
- Adding Slice32 module from descriptor-wallet by @dr-orlovsky in #99
- Making hex, num and main crate no_std by @dr-orlovsky in #100
- Impl Index for Slice32 by @dr-orlovsky in #101
- Improvements to lints by @dr-orlovsky in #102
- issue-78. DivRem trait added to smallint, bigint by @josediegorobles in #97
- Making hex default feature not depending on std by @dr-orlovsky in #103
- Fixing
Getters
behavior to match documentation by @dr-orlovsky in #104 - Improvimg amplify_syn::ArgValue convertors by @dr-orlovsky in #105
- amplify_num: std::Error for Error type by @dr-orlovsky in #107
- Getters: replacing struct-level arguments in a smart way with field-level arguments by @dr-orlovsky in #108
- add #[display(lowercase)] for enums (and uppercase) by @6293 in #109
- Implement UpperHex, LowerHex, Octal and Binary by @kaiwolfram in #106
- Add to/from_be_bytes for u24 by @dr-orlovsky in #110
- clippy: needless borrow by @6293 in #111
- follow-up PR on clippy by @6293 in #112
- Update LICENSE by @BTCparadigm in #114
- add posit (tapered float) core type implementation by @6293 in #115
- add signed big int by @6293 in #113
- add
amplify_apfloat
: u256 backend apfloat (support IEEE octuple precision) by @6293 in #119 - implement add, sub, mul on posit by @6293 in #118
- add div methods on bigint by @6293 in #117
- Num release and exports fix by @dr-orlovsky in #121
- Re-export apfloat package by @dr-orlovsky in #122
- Release apfloat and amplify with fixed no-std features by @dr-orlovsky in #123
- add posit div by @6293 in #126
- fix invalid manifest key by @6293 in #125
- fix conversion from decimal string into oct by @6293 in #128
- u24 type conversion convenience functions by @dr-orlovsky in #136
- add bench by @6293 in #127
- apfloat: impl Display for ParseError by @dr-orlovsky in #138
- Slice32 improvements by @dr-orlovsky in #139
- Improve code linting by @dr-orlovsky in #145
- Allow large enums in amplify_syn by @dr-orlovsky in #146
- WASM in CI by @cryptoquick in #144
- Improve performance of unsigned integers by @hlinnaka in #148
- Fix error in display derive by @dr-orlovsky in #149
- Make Wrapper::Inner not require clone, only have to_inner require Clone by @Ricky12Awesome in #152
- Release v3.13.1 with related Wrapper: Clone constrained by @dr-orlovsky in #153
- Remove wasm-clippy by @dr-orlovsky in #150
- MSRV 1.59 bump + editiion 2021 by @dr-orlovsky in #156
- Revert merge pull request #152 by @dr-orlovsky in #154
- Introduce confinement module by @dr-orlovsky in #155
New Contributors
- @UkolovaOlga made their first contribution in #88
- @josediegorobles made their first contribution in #97
- @6293 made their first contribution in #109
- @kaiwolfram made their first contribution in #106
- @BTCparadigm made their first contribution in #114
- @cryptoquick made their first contribution in #144
- @hlinnaka made their first contribution in #148
- @Ricky12Awesome made their first contribution in #152
Full Changelog: v3.0.0...v4.0.0-alpha.1
Version 3.0
(partial release, v3.0 of amplify_derive still WIP)
- Internet addresses moved to separate external
inet2_addr
crate in https://github.com/internet2-org/rust-internet2. This allows to get rid of complex dependencies (Tor, Ed25519) and vendored SSL support
Version 2.4
Main features
- Ordering for Internet types
- Efficient (clonable/copyable) representation of ::std::io::Error with IoError type
Derive features
- Wrapper supports wrapping Debug
- Wrapper supports wrapping usize-based Index and IndexMut
- Support for custom amplify crate naming in Wrapper derive macro
- Auto implementation
From<Wrapped> for Inner
in wrapper derive
Version 2.3
DumbDefault
type- New semantic macros (
default!
anddumb_default!
) - Serde helper traits for serialization into YAML, JSON and TOML in display derives
- Deriving
Wrapper
does not requireuse amplify::Wrapper
Version 2.2
Main crate features
- Updating aplify_derive dependency
- Implementation of Hash derive for internet address types
Derive crate features
- Support for {0}-style indexes in derive(Display)
- Auto From for String implementation for Error derive
- Fixed problem with display(Debug) for enums
Version 2.1
Version 2.0
New features
- Wrapper derive macro, replacing old declarative macto
wrapper!
, with support
for generics and complex internal structure - Support for alternative Display formatting with
alt
attribute parameter inderive(Display)
Breaking changes
- Adoption of the new
stringly_conversions
andserde_str_helpers
crates.
Crates are re-exported. - Removal of
Service
,TryService
andExec
traits, which are moved into new
lnpbp_service
crate - Removal of
async
feature and trait (no needed once service traits got moved) - New simple
none!()
macro for semantic representation of empty type creation
withDefault::default()
Version 1.2
New features
- Exposing
vendored_openssl
feature introduced in the underlyingtorut
crate
that allows to build with vendored version of OpenSSL library (useful for
mobile platforms) - Improvements to Internet addresses module
Version 1.1
New features
- Transfer from LNP/BP Core Library:
Service
&TryService
traits- Internet & socket addresses supporting Tor
Bipolar
trait for efficient stream management
Breaking changes
- Refactored set of features
CI & docs
- More advanced CI testing all features and dependency builds