rgb_node 0.9.0-rc.1

RGB node
Documentation
Change Log
==========

v0.4.x patches
--------------
- v0.4.1: Fixing broken electrum client connectivity on mobile devices where
          OS kills TCP connections once app gets into background
- v0.4.2: Fixing RGB20 transfers when there are non-asset inputs (like required
          for paying the fee)

v0.4.0
------
- Stash index, indexing anchors to transitions
- Support for transfers from multi-contract UTXOs
- Allocation change using disclosure procedure
- Accepting own disclosures (encosure procedure)
- Improved conceals for consignments
- Refactored RGB20 asset cache data
- Refactored RGB20 accept procedure
- Improved work with witness PSBTs
- Merge-revel procedure for accepting consignments and disclosures
- Fix to transition mutability problem
- Improved RGB20 RPC API
- Improved and fixed validation status reporting

v0.3.0
------
- Removing all duplicated code present in upstream repos
- Removing tokio, features & async-trait dependencies, switching to 
  microservices engine
- RGB-20, 21, 22, 23 data structures extracted to crates in RGB Core Lib
- Refactored directory structure into a simplier one
- Removed dependencies on regexp etc
- Improved use of features to minimize upstream dependencies and version 
  conflicts
- SQL and NoSQL storage engines made optional
- Migration on RGB Core library and v0.3 of LNP/BP libraries
- Using rust-bitcoin 0.26
- Internal directory structure refactoring
- Improved debugging output information with Bech32 data representation

v0.2.2
------
- Fix default build settings to produce all necessary binaries
- Fixing rgbd daemon process: make it wait for child prcesses to complete

v0.2.1
------
- Fix to PSBT tweaking key representation for `i9n` integration interface
- README improvements

v0.2.0
------

### Core features
- LNP Node and lightning network interoperability
- RPC commands to get allocations for assets and outpoints
- Asset `validate`, `accept`, `asset_allocations` and `outpoint_assets` methods
  in integration mod
- Sync operation supports multiple data formats
- Strict encoding for asset data. Adding strict encode-based import/export.

### Breaking changes
- Changed order and types of arguments in integration module, cli & RPC

### Changes since RC5
- Fixed issue #102 with wrong PSBT decoding when deserializing from in-memory 
  data
- Fixed fungible command-line argument name (stash -> cache)
- Fixing integration config parameters
- Fixed issue #101: error message on fungible CLI API consistent with the code
- Released some of the dependency version requirements in Cargo.toml

v0.2.0-rc.5
-----------
- Fixed secondary issue rights processing in integration module and folding of
  repeated outputs holding multiple secondary issuance rights

v0.2.0-rc.4
-----------
- Added asset import and export methods into I9N (integration) mod

v0.2.0-rc.3
-----------
- Updated to LNP/BP Core Lib v0.2 release

v0.2.0-rc.2
-----------
- Updated to LNP/BP Core Lib RC2
- Fixed broken semversioning of the upstream dependencies in tokio and other
  crates

v0.2.0-rc.1
-----------
- Updating issuance to match the latest RGB20 schema changes
- Internal optimizations for RGB20 processor mod
- Typos and dependency fixes
- Using f64 instead of f32 for internal accounting amounts representations

v0.2.0-beta.4
-------------

### Fixes:
- Fixes to configuration in integration mode
- Fixes default builds when serde is not used


v0.2.0-beta.3
-------------

### Features
- Asset `validate`, `accept`, `asset_allocations` and `outpoint_assets` methods
  in integration mod


v0.2.0-beta.2
-------------

### Features:
- RPC commands to get allocations for assets and outpoints
- Sync operation supports multiple data formats
- Strict encoding for asset data. Adding strict encode-based import/export.


### Fixes:
- Fixing problem with prune right in asset issuance


v0.2.0-beta.1
-------------
Migrated to the second version of LNP/BP Core Library (v0.2, currently beta-1).

### Fixes:
- Fixed `rgb-cli export` command (now it parses Bech32-formatted asset name)
- Updated feature structure, fixed feature interdependencies


v0.1.1
------

### Fixes
- Exposed `contracts::fungibled::data::invoice::Error` as `InvoiceError`
  <https://github.com/LNP-BP/rgb-node/pull/93>


v0.1.0
------

### Core features
- RGB Stash daemon operating client-validated data and managing their file 
  storage
- Fungible daemon operating RGB-20 assets and managing their storage (both file
  and SQLite)
- RGB-20 asset issuance, invoicing, trnasfer and transfer acceptance
- Command-line tool for daemons operations
- Itegration functions packed as a compiled library

### New features since RC2
- SQLite storage for assets cached data
- Storage of public key tweaking information in PSBT
- Support of Rust stable and old version up to 1.41.1
- Update to the latest public releases of upstream bitcoin and LNP/BP libraries
  (migration from self-maintained forks)

### Breaking changes
- Standard-compliant use of PSBT extension fields.
- Removed requirements to specify fee for the transaction (it is now computed 
  from PSBT data)


v0.1.0-rc.2
-----------

### Main updates
- FFI and demo apps are moved into a separate 
  [**RGB SDK**]https://github.com/LNP-BP/rgb-sdk project
- Big update and refactoring in RGB-20 schema (fungible assets)
  * Multiple inflation rights with better control over total inflation
  * Epoch-based burn and burn-and-replace procedures; enhanced with UTXO set and
    versioned proofs of burn data, supporting up to 15 burn proof variants 
    (+"no proofs" option)
  * Asset renomination procedure, for changing asset names or splitting stock 
    shares
  * Standardization of contract text URL and commitment format
  * Rights split procedure
  * Removed dust limit
- Proposal of RGB-21 schema after prolonged discussions (not available through
  API yet)
  * Unique tokens & token-specfic data
  * Issue control
  * Generic token data, internal or external, in different formats
  * Engravings (any why Schema subclassing is required)
  * LockUTXOs and descriptors for proof of reserves
  * Renominations
  * Rights splits
- New `rgb-cli` commands and `stash` daemon operations:
  * Listing available schemata
  * Exporting and inspecting schema in multiple formats (JSON, YAML, 
    StrictEncoding)
  * Listing known contracts
  * Exporting and inspecting contract genesis in multiple formats (JSON, YAML, 
    StrictEncoding)

### Breaking changes:
- Removal of dust limit parameter from command-line, RPC API calls and 
  FFI API integration points