# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## 1.0.0-rc.7 - 2023-03-09 ### Changed - Update dependencies; - `{AliasOutputBuilder, BasicOutputBuilder, FoundryOutputBuilder, NftOutputBuilder}::{replace_unlock_condition, replace_feature, replace_immutable_feature}` now inserts the given element if it wasn't already present instead of returning an error; ### Removed - `Error::CannotReplaceMissingField`; ### Fixed - Duplicate chains in transaction outputs; ## 1.0.0-rc.6 - 2023-02-14 ### Changed - Core and participation api `Error`s don't use `thiserror` anymore for `no_std` support; ### Fixed - Invalid documentation links that break because of an ICE in the nightly rust compiler; ## 1.0.0-rc.5 - 2023-02-08 ### Added - `NativeTokens::{contains, get}`; - `OutputMetadata` moved from `iota-client`; - Derive `serde::{Serialize, Deserialize}` on `ChainId`; - `Input::{is_utxo, as_utxo, is_treasury, as_treasury}`; - Derive `Copy` on `UtxoInput`; - `Feature::{is_sender, as_sender, is_issuer, as_issuer, is_metadata, as_metadata, is_tag, as_tag}`; - `participation` and `indexer` plugin API types from `iota-client`; - `AliasTransition` enum; ### Changed - Updated dependencies; - `OutputMetadataResponse` renamed to `OutputMetadataDto` and moved from `api` to `block`; - Moved core API types into `core`; ### Removed - `inx` feature and modules; ## 1.0.0-rc.4 - 2022-12-20 ### Added - `Output::{as_treasury, as_basic, as_alias, as_foundry, as_nft}` methods; - `Address::{as_ed25519, as_alias, as_nft}` methods; - `Error::Pow` variant; - `BlockBuilder::{with_nonce, finish_nonce}` methods; ### Changed - Renamed `Error::CryptoError` to `Error::Crypto`; - Renamed `Error::HexError` to `Error::Hex`; ### Removed - `BlockBuilder::with_nonce_provider` method; ## 1.0.0-rc.3 - 2022-11-22 ### Added - `NftAddress::into_nft_id` method; - `AliasAddress::into_alias_id` method; - `Output::{is_treasury, is_basic, is_alias, is_foundry, is_nft}` methods; - `RentStructure::new` and getters; - serde aliases to `ProtocolParameters` and `RentStructure` fields for backwards compatibility; ### Changed - Replaced `RentStructureResponse` with `RentStructureDto`; - Replaced `ProtocolResponse` with `ProtocolParametersDto`; - `RentStructure` fields have been made private; - Renamed `RentStructure::key_factor` to `RentStructure::byte_factor_key`; - Renamed `RentStructure::data_factor` to `RentStructure::byte_factor_data`; ## 1.0.0-rc.2 - 2022-11-09 ### Added - `OutputResponse` enum with `Json` and `Raw` variants; - `AliasOutput::alias_id_non_null` and `NftOutput::nft_id_non_null` methods; ### Changed - Renamed `OutputResponse` to `OutputWithMetadataResponse`; - `OutputId::hash` now takes a `&self`; - `impl From for {AliasId, NftId}` now takes an `&OutputId`; - `{AliasId, NftId, ChainId}::or_from_output_id` now takes an `&OutputId`; - `AliasOutput::alias_address` now takes an `&OutputId`; - `NftOutput::nft_address` now takes an `&OutputId`; ### Fixed - Packing order of `v_byte_factor_data` and `v_byte_factor_key`; ## 1.0.0-rc.1 - 2022-10-25 First release based on `bee-api-types` and `bee-block`. ### Added - `alias_address()` to `AliasOutput`; - `nft_address()` to `NftOutput`; - `required_and_unlocked_address()` to `Output`; - `output_id()` to `OutputMetadataResponse`; - Independent `From`/`TryFrom` implementations for all unlock conditions DTOs; - `OutputId::null`; ### Changed - Reduced `DATA_LENGTH_RANGE` of `TaggedDataPayload`;