Skip to content

Releases: hyperledger/iroha

2.0.0-pre-rc.22.2

30 Aug 12:53
Compare
Choose a tag to compare

Added

  • bounded discrete time (#4928)
  • add missing mathematical operations to Numeric (#4976)

Changed

  • sign only block's header, not the whole payload (#5000)
  • use HashOf<BlockHeader> as the type of the block hash (#4998)
  • Don't validate transactions inside WASM (#4995)

Fixed

  • remove expired transaction from cache (#4922)
  • Serialize WASM code for snapshots (#5009)
  • correctly handle replace_top_block (#4870)
  • validate block sync messages (#4965)
  • prevent redundant blocksync block messages (#4909)
  • use GET for blocks stream (#4990)
  • Improve queue transactions handling (#4947)
  • display more error details (#4973)
  • prevent deadlock on simultaneous sending large message (#4948)

2.0.0-pre-rc.22.1

30 Jul 15:40
Compare
Choose a tag to compare

Fixed

  • added jq to the docker image

2.0.0-pre-rc.22.0

26 Jul 09:15
29f1a48
Compare
Choose a tag to compare

Added

  • specify on-chain parameters explicitly in genesis (#4812)
  • allow turbofish with multiple Instructions (#4805)
  • reimplement multisignature transactions (#4788)
  • implement built-in vs custom on-chain parameters (#4731)
  • improve custom instruction usage (#4778)
  • make the metadata dynamic via implementing JsonString (#4732)
  • allow multiple peers submit genesis block (#4775)
  • supply SignedBlock instead of SignedTransaction to peer (#4739)
  • custom instructions in executor (#4645)
  • extend client cli to request json queries (#4684)
  • add detect support for parity_scale_decoder (#4680)
  • generalize permissions schema to executor data model (#4658)
  • added register trigger permissions in the default executor (#4616)
  • support JSON in parity_scale_cli
  • deduplicate triggers with the same wasm code (#4434)
  • introduce p2p idle timeout

Changed

  • replace lol_alloc with dlmalloc (#4857)
  • rename type_ to type in schema (#4855)
  • replace Duration with u64 in schema (#4841)
  • use RUST_LOG-like EnvFilter for logging (#4837)
  • keep voting block when possible (#4828)
  • migrate from warp to axum (#4718)
  • split executor data model (#4791)
  • shallow data model (#4734) (#4792)
  • don't send public key with signature (#4518)
  • rename --outfile to --out-file (#4679)
  • rename iroha server and client (#4662)
  • rename PermissionToken to Permission (#4635)
  • reject BlockMessages eagerly (#4606)
  • make SignedBlock immutable (#4620)
  • rename TransactionValue into CommittedTransaction (#4610)
  • authenticate personal accounts by ID (#4411)
  • use multihash format for private keys (#4541)
  • rename parity_scale_decoder to parity_scale_cli
  • send blocks to observing peers
  • make Role transparent (#4886)
  • derive block hash from header (#4890)

Fixed

  • check that authority owns domain to transfer (#4807)
  • remove logger double initialization (#4800)
  • fix naming convention for assets and permissions (#4741)
  • upgrade executor in separate transaction in genesis block (#4757)
  • make iroha_smart_contract_utils log and dbg functions work outside of wasm (#4725)
  • correct default value for JsonString (#4692)
  • improve deserialization error message (#4659)
  • do not panic if the passed Ed25519Sha512 public key is of invalid length (#4650)
  • use proper view change index on init block load (#4612)
  • don't prematurely execute time-triggers before their start timestamp (#4333)
  • support https for torii_url (#4601) (#4617)
  • remove serde(flatten) from SetKeyValue/RemoveKeyValue (#4547)
  • trigger set is correctly serialized
  • revoke removed PermissionTokens on Upgrade<Executor> (#4503)
  • report correct view change index for current round
  • remove corresponding triggers on Unregister<Domain> (#4461)
  • check genesis pub key in genesis round
  • prevent registering genesis Domain or Account
  • remove permissions from roles on entity unregistration
  • trigger metadata is accessible in smart contracts
  • use rw lock to prevent inconsitent state view (#4867)
  • handle soft fork in snapshot (#4868)
  • fix MinSize for ChaCha20Poly1305
  • add limits to LiveQueryStore to prevent high memory usage (#4893)

Removed

  • remove public key from ed25519 private key (#4856)
  • remove kura.lock (#4849)
  • revert _ms and _bytes suffixes in config (#4667)
  • remove _id and _file suffix from genesis fields (#4724)
  • remove index Assets in AssetsMap by AssetDefinitionId (#4701)
  • remove domain from trigger identity (#4640)
  • remove genesis signing from Iroha (#4673)
  • remove Visit bound from Validate (#4642)
  • remove TriggeringEventFilterBox (#4866)
  • remove garbage in p2p handshake (#4889)
  • remove committed_topology from block (#4880)

Security

  • sign all query parameters, implement query filters in wasm
  • guard against secrets leakage

2.0.0-pre-rc.21.1

03 May 08:16
Compare
Choose a tag to compare
2.0.0-pre-rc.21.1 Pre-release
Pre-release

Fixed

  • add RawGenesisBlock to schema (#4538)
  • remove nested option on TransactionEventFilter::block_height (#4538)

2.0.0-pre-rc.21

19 Apr 11:04
d7e7cca
Compare
Choose a tag to compare
2.0.0-pre-rc.21 Pre-release
Pre-release

Added

  • include trigger id in trigger entrypoint (#4391)
  • expose event set as bitfields in schema (#4381)
  • introduce new wsv with granular access (#2664)
  • add event filters for PermissionTokenSchemaUpdate, Configuration and Executor events
  • introduce snapshot "mode" (#4365)
  • allow granting/revoking role's permissions (#4244)
  • introduce arbitrary-precision numeric type for assets (remove all other numeric types) (#3660)
  • different fuel limit for Executor (#3354)
  • integrate pprof profiler (#4250)
  • add asset subcommand in client CLI (#4200)
  • Register<AssetDefinition> permissions (#4049)
  • add chain_id to prevent replay attacks (#4185)
  • add subcommands to edit domain metadata in client CLI (#4175)
  • implement store set, remove, get operations in Client CLI (#4163)
  • count identical smart contracts for triggers (#4133)
  • add subcommand into client CLI to transfer domains (#3974)
  • support boxed slices in FFI (#4062)
  • git commit SHA to client CLI (#4042)
  • proc macro for default validator boilerplate (#3856)
  • build progress information to wasm_builder_cli (#3237)
  • introduced query request builder into Client API (#3124)
  • lazy queries inside smart contracts (#3929)
  • fetch_size query parameter (#3900)
  • asset store tranfer instruction (#4258)
  • guard against secrets leakage (#3240)
  • deduplicate triggers with the same source code (#4419)

Changed

  • bump rust toolchain to nightly-2024-04-18
  • send blocks to observing peers (#4387)
  • split pipeline events into block and transaction events (#4366)
  • rename [telemetry.dev] config section to [dev_telemetry] (#4377)
  • make Action and Filter non-generic types (#4375)
  • improve event filtering API with builder pattern (#3068)
  • unify various event filter APIs, introduce a fluent builder API
  • rename FilterBox into EventFilterBox
  • rename TriggeringFilterBox into TriggeringEventFilterBox
  • improve filter naming, e.g. AccountFilter -> AccountEventFilter
  • rewrite config according to the configuration RFC (#4239)
  • hide internal structure of the versioned structs from the public API (#3887)
  • temporarily introduce predictable ordering after too many failed view changes (#4263)
  • use concrete key types in iroha_crypto (#4181)
  • split view changes from normal messages (#4115)
  • make SignedTransaction immutable (#4162)
  • export iroha_config through iroha_client (#4147)
  • export iroha_crypto through iroha_client (#4149)
  • export data_model through iroha_client (#4081)
  • remove openssl-sys dependency from iroha_crypto and introduce configurable tls backends to iroha_client (#3422)
  • replace unmaintained EOF hyperledger/ursa with in-house solution iroha_crypto (#3422)
  • optimize executor performance (#4013)
  • topology peer update (#3995)

Fixed

  • remove corresponding triggers on Unregister<Domain> (#4461)
  • remove permissions from roles on entity unregistration (#4242)
  • assert that genesis tranasction is signed by genesis pub key (#4253)
  • introduce timeout for unresponsive peers in p2p (#4267)
  • prevent registering genesis Domain or Account (#4226)
  • MinSize for ChaCha20Poly1305 (#4395)
  • start console when tokio-console is enabled (#4377)
  • separate each item with \n and recursively create parent directories for dev-telemetry file logs
  • prevent account registration without signatures (#4212)
  • key pair generation is now infallible (#4283)
  • stop encoding X25519 keys as Ed25519 (#4174)
  • do signature validation in no_std (#4270)
  • calling blocking methods within async context (#4211)
  • revoke associated tokens on entity unregistretration (#3962)
  • async blocking bug when starting Sumeragi
  • fixed (get|set)_config 401 HTTP (#4177)
  • musl archiver name in Docker (#4193)
  • smart contract debug print (#4178)
  • topology update on restart (#4164)
  • registration of new peer (#4142)
  • on-chain predictable iteration order (#4130)
  • re-architect logger and dynamic configuration (#4100)
  • trigger atomicity (#4106)
  • query store message ordering issue (#4057)
  • set Content-Type: application/x-parity-scale for endpoints which reply using SCALE

Removed

  • logger.tokio_console_address configuration parameter (#4377)
  • NotificationEvent (#4377)
  • Value enum (#4305)
  • MST aggregation from iroha (#4229)
  • cloning for ISI and query execution in smart contracts (#4182)
  • bridge and dex features (#4152)
  • flattened events (#3068)
  • expressions (#4089)
  • auto-generated config reference
  • IROHA_SKIP_WASM_CHECKS env variable (#4096)
  • warp noise in logs (#4097)

Security

  • prevent pub key spoofing in p2p (#4065)
  • ensure the secp256k1 signatures coming out of OpenSSL are normalized (#4155)

1.6.0

05 Apr 11:16
8586246
Compare
Choose a tag to compare

Here are the changes compared to HL Iroha 1.5 (since 10th May 2022):

Features

  1. Added iroha-cpp library. This was done according to Hyperledger Mentorship 2022: Implement iroha-cpp library for Hyperledger Iroha 1: #2660 by @andprogrammer (mentors were: @baziorek and @Pawlak00)
  2. Extended commands AddAssetQuantity and SubtractAssetQuantity with optional parameter "description". This was done according to Hyperledger Mentorship 2023: Iroha 1: Enhance query functionality by introducing supplementary, optional parameters to extend the versatility and customization capabilities of queries within the Hyperledger Iroha 1 blockchain: #4003 by @dominious1 (mentors were: @baziorek , @andprogrammer, @6r1d and @appetrosyan)
  3. Feature/proposal batches: #2357 by @iceseer
  4. Feature/db cache multi layer: #2387 by @iceseer
  5. Feature/single pointer cache ref: #2364 by @iceseer
  6. Allow configuring max past time of transaction created_time #1776 by @baziorek

Fixes:

  1. Fix/rdb burrow storage tests #2243 by @iceseer
  2. Synchronizer fix to store not more than 1000 blocks #2269 by @iceseer
  3. No cache synchronization on round switch and Send/Recv packets size become 128 Mb #2218 by @iceseer
  4. Fix/transfer asset permitions #2720 by @iceseer
  5. Fix/unkai unexpected symbol check #2731 by @iceseer
  6. Fix/gRPC drop stream bugfix #2749 by @iceseer
  7. Many devops fixes of CI by @safinsaf : (17 Pull Requests or commits)
  8. Fix compilation: #2902 by @baziorek

Documentation changes:

  1. #2446 by @6r1d
  2. #2448 by @6r1d
  3. #2448 by @6r1d
  4. #2475 by @baziorek
  5. #2739 by @baziorek
  6. #2739 by @LiraLemur
  7. #2739 by @cavalryjim
  8. #1920 by @6r1d
  9. Added information how to built Iroha 1 on Raspberry Pi 4: #2948 by @baziorek
  10. Maintainer list update: #2957 by @6r1d
  11. #2579 by @6r1d
  12. #3034 by @6r1d
  13. #3057 by @omahs
  14. #3070 by @6r1d
  15. #3079 by @6r1d
  16. #3086 by @6r1d
  17. #4055 by @6r1d

What's Changed (all commits)


Read more

2.0.0-pre-rc.20 (LTS)

14 Nov 10:38
f9f5ede
Compare
Choose a tag to compare
2.0.0-pre-rc.20 (LTS) Pre-release
Pre-release

Below is the list of changes that were introduced in RC20 long term-supported release candidate of Iroha 2.

New Features

  • Soft fork recovery
  • Runtime-definable permissions
  • Executor and instruction visitor
  • WSV snapshots via the SnapshotMaker actor for a fast restart without the block replay
  • Domain ownership (domains now have the owned_by field)
  • Server-side cursor fetch_size for query batching (used to be defined in the client configuration)

Removed Features

  • Ursa support was discontinued in favor of iroha_crypto.
  • Expressions were removed as well as the simplified data model API that has become obsolete.

Improvements

  • Standardized the layout of blocks: introduced BlockBuilder and ProofBuilder, replaced VersionedCommittedBlock with SignedBlock, improved block lifecycle and state transitions.
  • Standardized the layout of transactions: removed the Versioned prefix from versioned containers.
  • Simplified the layout of Iroha 2 schema: every entry is now unique.

2.0.0-pre-rc.19 (lts-candidate)

15 Aug 08:07
Compare
Choose a tag to compare
Pre-release

The latest development in the private DLT.

Includes dynamic permission validators, an improved consensus engine, and various smaller improvements.

2.0.0-pre-rc.6 (LTS)

07 Jul 06:49
Compare
Choose a tag to compare
2.0.0-pre-rc.6 (LTS) Pre-release
Pre-release

Long term-supported release candidate. We have reached a level of feature completeness, but want to ensure that things are working properly. This is the first major development milestone and we expect a lot of feedback with the option to re-architect some bits later down the line.

What's Changed

Read more

1.5.0

10 May 12:18
0d22d11
Compare
Choose a tag to compare

Here are the changes compared to HL Iroha 1.4:

Features

RocksDB Storage Implementation for Burrow #2065

Removed proposal_delay timeout (now is set automatically as 2 * proposal_creation_timeout based on the calculations of the optimal value of the proposal delay) #1847

Performance Improvement

Removed separate MST endpoint: MST module is now located in the Ordering Service module to improve the performance #1927

Proposal request optimization #1869 #1971

Documentation

Documentation on Healthcheck Endpoint, Iroha Swarm, RocksDB and Postgres comparison and an example of good migration practice #1935
Documentation build fix #2069

Infrastructure

Removed Jenkins-related files as a part of moving CI to GitHub Actions #1921
More changes in CI can be seen here

Docker image existence flag fix #1901