Releases: RGB-WG/rgb-std
RGB Std Libs v0.10.4
What's Changed
- Fix AttachmentName and MediaRegName encode by @crisdut in #89
- Debugging APIs by @dr-orlovsky in #91
- Upgrade ids to use Baid58 v0.4 format (URLs, URNs) by @dr-orlovsky in #92
Full Changelog: v0.10.3...v0.10.4
RGB Std Libs v0.10.3
What's Changed
- Add support to RGB21 (ContractBuilder) by @crisdut in #51
- Add support for 'type/*' MediaTypes by @dr-orlovsky in #50
- Rgb20 convenience API by @dr-orlovsky in #58
- Fix missed transition merge in bundle merge op by @dr-orlovsky in #63
- Fix issued supply by @dr-orlovsky in #64
- Remove excessive terminals in consign procedure by @dr-orlovsky in #62
- Add OutpointFilter to filter wallet-based outputs by @dr-orlovsky in #65
- Add media information to the supplement by @dr-orlovsky in #70
- add rgb25 stl + move/add common types by @zoedberg in #75
- Account for address-based vout seals in consign procedure by @dr-orlovsky in #76
- Fix use of velocity classes by @dr-orlovsky in #77
- Add blank state transitions to state by @dr-orlovsky in #81
- Export rgb-core LIB_ID_RGB constant by @cryptoquick in #86
- Update to use latest consensus changes by @dr-orlovsky in #85
- Modifications to containers: witness tx in consignments and type libs in ifaces by @dr-orlovsky in #88
New Contributors
- @cryptoquick made their first contribution in #86
Full Changelog: v0.10.2...v0.10.3
RGB Std Libs v0.10.2
What's Changed
- Complete implementation of RGB20 and RGB21 interfaces by @dr-orlovsky in #48
Full Changelog: v0.10.1...v0.10.2
RGB Std Libs v0.10.1
What's Changed
- Fix dbc_conclude commitment host count by @nicbus in #35
- RgbInvoice: make contract optional by @zoedberg in #33
- make iface optional and add expiry by @nicbus in #37
- set opret/tapret host if needed by @nicbus in #46
- add invoice transport parsing by @nicbus in #43
- Update dependencies with fix of consecutive transfer by @dr-orlovsky in #45
Full Changelog: v0.10.0...v0.10.1
RGB Std Lib v0.10
This release is a major milestone which brings RGB further to being a production-ready system. It introduces the last consensus-breaking changes, aiming at keeping future RGB versions fully backward-compatible. It also unlocks the last features that were required for implementing fully-functional smart contracts which may be arbitrary customized by contract developers.
Key novelties
-
Contract interfaces
Interfaces, introduced in this version, represent a standard way of communicating a diverse range of smart contracts through well-defined APIs. Interfaces can be compared to contract ABIs and ERCs in Ethereum world, however, unlike in Ethereum, they require neither obligatory standardization (as ERCs) nor separate distribution, being always packed together with contracts. By using interfaces, wallets and other software can provide a semantic-aware UI for the users for working with the contracts - and contract developers may add more interfaces to their existing contracts over time without the need to update the immutable contract itself.
-
Writing contracts in Rust
Writing and compiling an RGB smart contracts in Rust. Thanks to the strict types, it is also possible to compile rust data types right into RGB contracts.
-
URL-based invoice format
Previously RGB was using Bech32m-encoded invoices, which were very long, not human-readable and couldn't be automatically opened with most of the software. The new format is much shorter, easier to verify by the user and can be opened automatically as a link with a preconfigured software.
-
WASM support
RGB standard library can run without I/O and file system access, i.e. can operate inside a web page or a browser plugin.
-
Simplified dependencies
RGB consensus layer is being shipped with fewer dependencies, improving the stability of API. With this release do not use rust-bitcoin and rust-miniscript at the level of standard library due to their overall API instability and recently discovered bugs; since RGB uses a very small subset of bitcoin functionality it is now implemented as a part of the library with no assumptions about bitcoin consensus layer (like those which halted rust-bitcoin powered software when Burak's hack had happened last year).
-
Simplified integration
Many operations that previously required multiple API calls, as well as cross-language encoding of complex data structures now work with a single API call. RGB contract state is represented as a JSON object and can be serialized across different languages without a hassle.
Migration notes
There is no migration from contracts issued on RGB v0.9 to the future versions. All assets have to be re-issued; asset holders can contact asset issuers to provide them with a newly re-issued contracts and assets matching the assets from v0.9.
RGB v0.10 can be downloaded and installed as described on [https://rgb.tech] (https://rgb.tech) website, which also contains a number of user and developer guidelines. RGB source code can be found on https://github.com/RGB-WG
Full Changelog: v0.9.0...v0.10.0
RGB Std Lib v0.10 RC
What's Changed
- Invoice payment implementation by @dr-orlovsky in #23
- Fix RGB Invoice FromStr by @crisdut in #24
Full Changelog: v0.10.0-beta.1...v0.10.0-rc.2
RGB Std Lib v0.10 Beta 1
What's Changed
- Consignment creation by @dr-orlovsky in #21
- Creating and accepting transfers; working with PSBT by @dr-orlovsky in #22
Full Changelog: v0.10.0-alpha.1...v0.10.0-beta.1
RGB Std Lib v0.10 Alpha 1
What's Changed
- Rewritten standard library to support interfaces and global state by @dr-orlovsky in #20
Full Changelog: v0.9.0...v0.10.0-alpha.1
RGB Std Lib v0.9
v0.9.0 RC1
Full Changelog: v0.8.2...v0.9.0-rc.1