From 9404c9160bc8f2e05816e708eaa0653df4ad7c21 Mon Sep 17 00:00:00 2001 From: Jernej Kos Date: Mon, 7 Jun 2021 14:54:44 +0200 Subject: [PATCH] changelog: Assemble changes for 21.2 release --- .changelog/3251.internal.md | 1 - .changelog/3564.feature.md | 1 - .changelog/3627.trivial.md | 0 .changelog/3656.doc.md | 1 - .changelog/3755.bugfix.2.md | 1 - .changelog/3760.breaking.md | 15 -- .changelog/3776.feature.md | 18 -- .changelog/3812.feature.md | 9 - .changelog/3823.breaking.md | 5 - .changelog/3827.feature.md | 1 - .changelog/3829.feature.1.md | 4 - .changelog/3829.feature.2.md | 4 - .changelog/3833.internal.md | 1 - .changelog/3834.internal.md | 1 - .changelog/3848.breaking.md | 1 - .changelog/3853.doc.md | 3 - .changelog/3855.trivial.md | 0 .changelog/3857.bugfix.md | 1 - .changelog/3858.feature.md | 1 - .changelog/3859.feature.md | 15 -- .changelog/3863.internal.1.md | 1 - .changelog/3863.internal.2.md | 1 - .changelog/3866.internal.md | 1 - .changelog/3870.bugfix.md | 4 - .changelog/3875.internal.md | 1 - .changelog/3877.internal.md | 1 - .changelog/3880.internal.md | 1 - .changelog/3886.internal.md | 1 - .changelog/3889.bugfix.md | 7 - .changelog/3891.doc.md | 3 - .changelog/3891.internal.md | 1 - .changelog/3892.breaking.md | 1 - .changelog/3894.feature.md | 1 - .changelog/3896.bugfix.md | 5 - .changelog/3897.feature.md | 4 - .changelog/3899.bugfix.md | 1 - .changelog/3903.breaking.md | 8 - .changelog/3906.internal.md | 1 - .changelog/3908.feature.md | 1 - .changelog/3913.trivial.md | 0 .changelog/3914.feature.1.md | 1 - .changelog/3914.feature.2.md | 1 - .changelog/3915.internal.md | 1 - .changelog/3916.trivial.md | 0 .changelog/3918.feature.md | 3 - .changelog/3918.internal.md | 3 - .changelog/3925.doc.md | 1 - .changelog/3927.internal.md | 1 - .changelog/3928.internal.md | 1 - .changelog/3929.trivial.md | 0 .changelog/3932.internal.md | 1 - .changelog/3934.internal.md | 1 - .changelog/3939.breaking.md | 1 - .changelog/3944.breaking.md | 13 -- .changelog/3945.internal.md | 5 - .changelog/3946.internal.md | 1 - .changelog/3948.trivial.md | 1 - .changelog/3949.internal.md | 1 - .changelog/3950.internal.md | 1 - .changelog/3951.internal.md | 1 - .changelog/3953.internal.md | 1 - .changelog/3954.trivial.md | 0 .changelog/3955.internal.md | 1 - .changelog/3958.cfg.md | 9 - .changelog/3959.internal.md | 1 - .changelog/3960.internal.md | 3 - .changelog/3965.cfg.md | 5 - .changelog/3965.internal.md | 4 - .changelog/3966.internal.md | 1 - .changelog/3968.internal.md | 1 - .changelog/3969.trivial.md | 0 .changelog/3970.trivial.md | 0 .changelog/3971.internal.md | 1 - .changelog/3973.bugfix.md | 1 - .changelog/3973.internal.md | 6 - .changelog/3977.internal.md | 1 - .changelog/3978.internal.md | 1 - .changelog/3979.internal.md | 1 - .changelog/3980.internal.md | 1 - .changelog/3981.internal.md | 1 - .changelog/3987.feature.md | 1 - .changelog/3990.internal.md | 1 - .changelog/3991.doc.md | 1 - .changelog/3993.doc.md | 3 - .changelog/3995.internal.md | 8 - .changelog/4001.internal.md | 1 - .punch_version.py | 2 +- CHANGELOG.md | 381 ++++++++++++++++++++++++++++++++++ 88 files changed, 382 insertions(+), 220 deletions(-) delete mode 100644 .changelog/3251.internal.md delete mode 100644 .changelog/3564.feature.md delete mode 100644 .changelog/3627.trivial.md delete mode 100644 .changelog/3656.doc.md delete mode 100644 .changelog/3755.bugfix.2.md delete mode 100644 .changelog/3760.breaking.md delete mode 100644 .changelog/3776.feature.md delete mode 100644 .changelog/3812.feature.md delete mode 100644 .changelog/3823.breaking.md delete mode 100644 .changelog/3827.feature.md delete mode 100644 .changelog/3829.feature.1.md delete mode 100644 .changelog/3829.feature.2.md delete mode 100644 .changelog/3833.internal.md delete mode 100644 .changelog/3834.internal.md delete mode 100644 .changelog/3848.breaking.md delete mode 100644 .changelog/3853.doc.md delete mode 100644 .changelog/3855.trivial.md delete mode 100644 .changelog/3857.bugfix.md delete mode 100644 .changelog/3858.feature.md delete mode 100644 .changelog/3859.feature.md delete mode 100644 .changelog/3863.internal.1.md delete mode 100644 .changelog/3863.internal.2.md delete mode 100644 .changelog/3866.internal.md delete mode 100644 .changelog/3870.bugfix.md delete mode 100644 .changelog/3875.internal.md delete mode 100644 .changelog/3877.internal.md delete mode 100644 .changelog/3880.internal.md delete mode 100644 .changelog/3886.internal.md delete mode 100644 .changelog/3889.bugfix.md delete mode 100644 .changelog/3891.doc.md delete mode 100644 .changelog/3891.internal.md delete mode 100644 .changelog/3892.breaking.md delete mode 100644 .changelog/3894.feature.md delete mode 100644 .changelog/3896.bugfix.md delete mode 100644 .changelog/3897.feature.md delete mode 100644 .changelog/3899.bugfix.md delete mode 100644 .changelog/3903.breaking.md delete mode 100644 .changelog/3906.internal.md delete mode 100644 .changelog/3908.feature.md delete mode 100644 .changelog/3913.trivial.md delete mode 100644 .changelog/3914.feature.1.md delete mode 100644 .changelog/3914.feature.2.md delete mode 100644 .changelog/3915.internal.md delete mode 100644 .changelog/3916.trivial.md delete mode 100644 .changelog/3918.feature.md delete mode 100644 .changelog/3918.internal.md delete mode 100644 .changelog/3925.doc.md delete mode 100644 .changelog/3927.internal.md delete mode 100644 .changelog/3928.internal.md delete mode 100644 .changelog/3929.trivial.md delete mode 100644 .changelog/3932.internal.md delete mode 100644 .changelog/3934.internal.md delete mode 100644 .changelog/3939.breaking.md delete mode 100644 .changelog/3944.breaking.md delete mode 100644 .changelog/3945.internal.md delete mode 100644 .changelog/3946.internal.md delete mode 100644 .changelog/3948.trivial.md delete mode 100644 .changelog/3949.internal.md delete mode 100644 .changelog/3950.internal.md delete mode 100644 .changelog/3951.internal.md delete mode 100644 .changelog/3953.internal.md delete mode 100644 .changelog/3954.trivial.md delete mode 100644 .changelog/3955.internal.md delete mode 100644 .changelog/3958.cfg.md delete mode 100644 .changelog/3959.internal.md delete mode 100644 .changelog/3960.internal.md delete mode 100644 .changelog/3965.cfg.md delete mode 100644 .changelog/3965.internal.md delete mode 100644 .changelog/3966.internal.md delete mode 100644 .changelog/3968.internal.md delete mode 100644 .changelog/3969.trivial.md delete mode 100644 .changelog/3970.trivial.md delete mode 100644 .changelog/3971.internal.md delete mode 100644 .changelog/3973.bugfix.md delete mode 100644 .changelog/3973.internal.md delete mode 100644 .changelog/3977.internal.md delete mode 100644 .changelog/3978.internal.md delete mode 100644 .changelog/3979.internal.md delete mode 100644 .changelog/3980.internal.md delete mode 100644 .changelog/3981.internal.md delete mode 100644 .changelog/3987.feature.md delete mode 100644 .changelog/3990.internal.md delete mode 100644 .changelog/3991.doc.md delete mode 100644 .changelog/3993.doc.md delete mode 100644 .changelog/3995.internal.md delete mode 100644 .changelog/4001.internal.md diff --git a/.changelog/3251.internal.md b/.changelog/3251.internal.md deleted file mode 100644 index 5c36fd4afe4..00000000000 --- a/.changelog/3251.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/worker: Make compute and client node use local storage if available diff --git a/.changelog/3564.feature.md b/.changelog/3564.feature.md deleted file mode 100644 index 06e5797049d..00000000000 --- a/.changelog/3564.feature.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Implement consensus staking layer state accessors diff --git a/.changelog/3627.trivial.md b/.changelog/3627.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3656.doc.md b/.changelog/3656.doc.md deleted file mode 100644 index bcfa995f3f4..00000000000 --- a/.changelog/3656.doc.md +++ /dev/null @@ -1 +0,0 @@ -ADR 0008: Standard Account Key Generation diff --git a/.changelog/3755.bugfix.2.md b/.changelog/3755.bugfix.2.md deleted file mode 100644 index 1a19955627d..00000000000 --- a/.changelog/3755.bugfix.2.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-node: Dump correct block height on halt diff --git a/.changelog/3760.breaking.md b/.changelog/3760.breaking.md deleted file mode 100644 index 22eab95f05a..00000000000 --- a/.changelog/3760.breaking.md +++ /dev/null @@ -1,15 +0,0 @@ -runtime: add support for transaction priority and weights - -Adds support for runtime transaction priority and weights that can be set by -runtime in `CheckTx` response. Transactions are scheduled by priority (higher -first). Transaction weights are used by scheduler when creating batches to -ensure no batch passes the per round weight limit. Supported limits are: - -- `count` - number of transactions - per round limit is a runtime parameter in - registry (already existed prior to this change). -- `size_bytes` - size of transactions in bytes - per round limit is a runtime - parameter in registry (already existed prior to this change). -- `consensus_messages` - number of emitted consensus messages - per round - limit is a consensus parameter (already existed prior to this change). -- Custom, runtime specific weights. `internal.BatchWeightLimits` method is - queried for custom batch weight limits on every round. diff --git a/.changelog/3776.feature.md b/.changelog/3776.feature.md deleted file mode 100644 index 8a79a11a4e6..00000000000 --- a/.changelog/3776.feature.md +++ /dev/null @@ -1,18 +0,0 @@ -Add support for local runtime-specific configuration - -Runtimes can now accept configuration local to the compute node that is -running them. This is possible via the following configuration schema (can -only be configured via a config file): - -```yaml -runtime: - config: - "8000000000000000000000000000000000000000000000000000000000000000": - core: - min_gas_price: 1 -``` - -This is useful to specify runtime-specific parameters like minimum gas price -accepted by the node. Note that this configuration can only be used during -non-deterministic transactions checks as it would otherwise result in a -discrepancy. diff --git a/.changelog/3812.feature.md b/.changelog/3812.feature.md deleted file mode 100644 index 9380959c25c..00000000000 --- a/.changelog/3812.feature.md +++ /dev/null @@ -1,9 +0,0 @@ -go/runtime/client: Add `GetTransactions` method, deprecate `GetTxs` - -A new method called `GetTransactions` has been added to replace the (now -deprecated) `GetTxs`. The new method does not require the caller to pass -the IO root as that is an internal detail. This makes it consistent with -the existing `GetEvents` API. - -Users of `GetTxs` should migrate to `GetTransactions` as the former may be -removed in a future release. diff --git a/.changelog/3823.breaking.md b/.changelog/3823.breaking.md deleted file mode 100644 index 3437f999d03..00000000000 --- a/.changelog/3823.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -runtime-host-protocol: Ensure compatible consensus versions - -Runtime now ensures host is running a compatible consensus version. -This is a breaking runtime host protocol change as the version types in -protocol are changed. diff --git a/.changelog/3827.feature.md b/.changelog/3827.feature.md deleted file mode 100644 index 1ee34b76a68..00000000000 --- a/.changelog/3827.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/roothash/api: Add gRPC service diff --git a/.changelog/3829.feature.1.md b/.changelog/3829.feature.1.md deleted file mode 100644 index b05c89e6cbb..00000000000 --- a/.changelog/3829.feature.1.md +++ /dev/null @@ -1,4 +0,0 @@ -common/crypto/signature: Use curve25519-voi - -This Ed25519/X25519 implementation is faster and more maintainable that -the previous in-house implementation. diff --git a/.changelog/3829.feature.2.md b/.changelog/3829.feature.2.md deleted file mode 100644 index f0b36dff1ec..00000000000 --- a/.changelog/3829.feature.2.md +++ /dev/null @@ -1,4 +0,0 @@ -common/crypto/slip10: Add a SLIP-0010 implementation - -Needed for some wallet stuff, and it is the least-awful hierarchical -derivation scheme for Ed25519. diff --git a/.changelog/3833.internal.md b/.changelog/3833.internal.md deleted file mode 100644 index a69c9e51fd8..00000000000 --- a/.changelog/3833.internal.md +++ /dev/null @@ -1 +0,0 @@ -Runtime consensus state interoperability tests diff --git a/.changelog/3834.internal.md b/.changelog/3834.internal.md deleted file mode 100644 index 9b888f78b61..00000000000 --- a/.changelog/3834.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/hashicorp/go-hclog from 0.15.0 to 0.16.0 diff --git a/.changelog/3848.breaking.md b/.changelog/3848.breaking.md deleted file mode 100644 index 1bf3584f3ea..00000000000 --- a/.changelog/3848.breaking.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Add support for block tags diff --git a/.changelog/3853.doc.md b/.changelog/3853.doc.md deleted file mode 100644 index 7c72f8fdf31..00000000000 --- a/.changelog/3853.doc.md +++ /dev/null @@ -1,3 +0,0 @@ -Update [Security] document - -[Security]: SECURITY.md diff --git a/.changelog/3855.trivial.md b/.changelog/3855.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3857.bugfix.md b/.changelog/3857.bugfix.md deleted file mode 100644 index e7d08027ab3..00000000000 --- a/.changelog/3857.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/storage/mkvs: Skip already pruned nodes in migration diff --git a/.changelog/3858.feature.md b/.changelog/3858.feature.md deleted file mode 100644 index c94b949ead5..00000000000 --- a/.changelog/3858.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-node/cmd/genesis: Display doc's hash and SHA256 checksum with `check` diff --git a/.changelog/3859.feature.md b/.changelog/3859.feature.md deleted file mode 100644 index 59890a50d67..00000000000 --- a/.changelog/3859.feature.md +++ /dev/null @@ -1,15 +0,0 @@ -Bump Badger database to v3 - -The old database will automatically be converted during the initial node -startup. For this reason the following should be taken into account when -upgrading: - -- Initial startup time will be longer as a full database migration needs to - be performed for each of the internal databases. The migration may take up - to an hour for large databases. - -- In order to ensure a backup exists in the unlikely case that anything goes - wrong with the migration, the old databases will be kept in the same - location but with a `.backup` suffix. *For this reason, make sure that you - have enough free disk space to accommodate a copy of the node's data - directory.* diff --git a/.changelog/3863.internal.1.md b/.changelog/3863.internal.1.md deleted file mode 100644 index e9aafb68662..00000000000 --- a/.changelog/3863.internal.1.md +++ /dev/null @@ -1 +0,0 @@ -go/storage: Remove unused ForceFinalize RPC call diff --git a/.changelog/3863.internal.2.md b/.changelog/3863.internal.2.md deleted file mode 100644 index c0e8b97ca45..00000000000 --- a/.changelog/3863.internal.2.md +++ /dev/null @@ -1 +0,0 @@ -e2e/runtime: Add test for storage sync after messy/incorrect cleanup diff --git a/.changelog/3866.internal.md b/.changelog/3866.internal.md deleted file mode 100644 index 72c61bb867e..00000000000 --- a/.changelog/3866.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump tendermint from 0.18.1 to 0.19.0 diff --git a/.changelog/3870.bugfix.md b/.changelog/3870.bugfix.md deleted file mode 100644 index 5c6fb004b12..00000000000 --- a/.changelog/3870.bugfix.md +++ /dev/null @@ -1,4 +0,0 @@ -Apply upgrade proposals directly from governance consensus application - -This should make it more robust in light of fast sync as otherwise the worker -could miss upgrade events in certain edge cases. diff --git a/.changelog/3875.internal.md b/.changelog/3875.internal.md deleted file mode 100644 index 141ea8b0629..00000000000 --- a/.changelog/3875.internal.md +++ /dev/null @@ -1 +0,0 @@ -Build and upload release artifacts on every master/stable merge diff --git a/.changelog/3877.internal.md b/.changelog/3877.internal.md deleted file mode 100644 index 68a4bb57c51..00000000000 --- a/.changelog/3877.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: Ignore jwt-go vulns since we're not using the features diff --git a/.changelog/3880.internal.md b/.changelog/3880.internal.md deleted file mode 100644 index 322f0bf21a1..00000000000 --- a/.changelog/3880.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/hashicorp/go-plugin from 1.4.0 to 1.4.2 diff --git a/.changelog/3886.internal.md b/.changelog/3886.internal.md deleted file mode 100644 index d44ea3fff7e..00000000000 --- a/.changelog/3886.internal.md +++ /dev/null @@ -1 +0,0 @@ -Bump Go to 1.16.3 diff --git a/.changelog/3889.bugfix.md b/.changelog/3889.bugfix.md deleted file mode 100644 index b9307ece697..00000000000 --- a/.changelog/3889.bugfix.md +++ /dev/null @@ -1,7 +0,0 @@ -Runtime workers should wait for history reindex - -If a node first syncs consensus without any runtimes configured and a runtime -is configured later, the workers should wait for historic runtime block -reindexing to complete before continuing with initialization. Otherwise -historic block queries may fail and prevent the worker from operating -normally. diff --git a/.changelog/3891.doc.md b/.changelog/3891.doc.md deleted file mode 100644 index 6e7d6afd149..00000000000 --- a/.changelog/3891.doc.md +++ /dev/null @@ -1,3 +0,0 @@ -Note that `RELEASE_BRANCH` variable needs to be exported in [Release Process] - -[Release Process]: docs/release-process.md diff --git a/.changelog/3891.internal.md b/.changelog/3891.internal.md deleted file mode 100644 index 392045e57ca..00000000000 --- a/.changelog/3891.internal.md +++ /dev/null @@ -1 +0,0 @@ -changelog: Automatically add protocol versions table diff --git a/.changelog/3892.breaking.md b/.changelog/3892.breaking.md deleted file mode 100644 index d51a48b5eb8..00000000000 --- a/.changelog/3892.breaking.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Add epoch to ExecuteTx/CheckTx/Query requests diff --git a/.changelog/3894.feature.md b/.changelog/3894.feature.md deleted file mode 100644 index d97af6b6091..00000000000 --- a/.changelog/3894.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/worker/compute: Propose block on runtime genesis diff --git a/.changelog/3896.bugfix.md b/.changelog/3896.bugfix.md deleted file mode 100644 index c588c7968f3..00000000000 --- a/.changelog/3896.bugfix.md +++ /dev/null @@ -1,5 +0,0 @@ -go/consensus/tendermint: Update nonce post-execution during CheckTx - -This now correctly handles multiple transactions from the same signer being -checked in the same block as previously subsequent transactions were -rejected. diff --git a/.changelog/3897.feature.md b/.changelog/3897.feature.md deleted file mode 100644 index cd26ee0ba5c..00000000000 --- a/.changelog/3897.feature.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-node/cmd/debug/beacon: Initial import - -Add a `debug beacon status` command which queries the current beacon and -PVSS backend state. diff --git a/.changelog/3899.bugfix.md b/.changelog/3899.bugfix.md deleted file mode 100644 index 6d39430ccc4..00000000000 --- a/.changelog/3899.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -worker/storage: Fix heartbeat stall diff --git a/.changelog/3903.breaking.md b/.changelog/3903.breaking.md deleted file mode 100644 index ea02a1f033b..00000000000 --- a/.changelog/3903.breaking.md +++ /dev/null @@ -1,8 +0,0 @@ -go/cmd/registry: simplify register runtime command - -The `registry runtime gen_register` command now accepts a JSON runtime -descriptor, which should simplify generating runtime registration -transactions. -The `registy runtime init_genesis` command is removed as runtime -descriptors in genesis are not singed since version 21.0+ making the command -obsolete. diff --git a/.changelog/3906.internal.md b/.changelog/3906.internal.md deleted file mode 100644 index 43897f18475..00000000000 --- a/.changelog/3906.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump hmac from 0.10.1 to 0.11.0 diff --git a/.changelog/3908.feature.md b/.changelog/3908.feature.md deleted file mode 100644 index ef3d8623d4b..00000000000 --- a/.changelog/3908.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-node: Add storage namespace rename subcommand diff --git a/.changelog/3913.trivial.md b/.changelog/3913.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3914.feature.1.md b/.changelog/3914.feature.1.md deleted file mode 100644 index 442f6b72af2..00000000000 --- a/.changelog/3914.feature.1.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-net-runner: support multiple runtimes in default fixture diff --git a/.changelog/3914.feature.2.md b/.changelog/3914.feature.2.md deleted file mode 100644 index bb7630a5ff7..00000000000 --- a/.changelog/3914.feature.2.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-net-runner: default fixture support staking genesis diff --git a/.changelog/3915.internal.md b/.changelog/3915.internal.md deleted file mode 100644 index 51c7bec631c..00000000000 --- a/.changelog/3915.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 diff --git a/.changelog/3916.trivial.md b/.changelog/3916.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3918.feature.md b/.changelog/3918.feature.md deleted file mode 100644 index 3a2285c35bf..00000000000 --- a/.changelog/3918.feature.md +++ /dev/null @@ -1,3 +0,0 @@ -go/common/crypto/sakg: Add [ADR 0008] implementation - -[ADR 0008]: docs/adr/0008-standard-account-key-generation.md diff --git a/.changelog/3918.internal.md b/.changelog/3918.internal.md deleted file mode 100644 index aa5716a15f2..00000000000 --- a/.changelog/3918.internal.md +++ /dev/null @@ -1,3 +0,0 @@ -go/staking/gen_account_vectors: Add [ADR 0008] test vectors - -[ADR 0008]: docs/adr/0008-standard-account-key-generation.md diff --git a/.changelog/3925.doc.md b/.changelog/3925.doc.md deleted file mode 100644 index c4236bb6611..00000000000 --- a/.changelog/3925.doc.md +++ /dev/null @@ -1 +0,0 @@ -ADR 0009: Ed25519 Signature Verification Semantics diff --git a/.changelog/3927.internal.md b/.changelog/3927.internal.md deleted file mode 100644 index c494590fc53..00000000000 --- a/.changelog/3927.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/hashicorp/go-hclog from 0.16.0 to 0.16.1 diff --git a/.changelog/3928.internal.md b/.changelog/3928.internal.md deleted file mode 100644 index 2913cf5f44c..00000000000 --- a/.changelog/3928.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/libp2p/go-libp2p from 0.13.0 to 0.14.0 diff --git a/.changelog/3929.trivial.md b/.changelog/3929.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3932.internal.md b/.changelog/3932.internal.md deleted file mode 100644 index a67a8076fe2..00000000000 --- a/.changelog/3932.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/upload-artifact to 2.2.3 diff --git a/.changelog/3934.internal.md b/.changelog/3934.internal.md deleted file mode 100644 index 124a84258bc..00000000000 --- a/.changelog/3934.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/download-artifact to 2.0.9 diff --git a/.changelog/3939.breaking.md b/.changelog/3939.breaking.md deleted file mode 100644 index 59b250d0f75..00000000000 --- a/.changelog/3939.breaking.md +++ /dev/null @@ -1 +0,0 @@ -staking: Include share amounts in `AddEscrow` and `ReclaimEscrow` events diff --git a/.changelog/3944.breaking.md b/.changelog/3944.breaking.md deleted file mode 100644 index 7fac9106c4c..00000000000 --- a/.changelog/3944.breaking.md +++ /dev/null @@ -1,13 +0,0 @@ -Update emitted events when disbursing rewards - -Before, a single `AddEscrow` event was emitted which did not correctly -represent the actual state changes when rewards were disbursed. - -Now the following events are emitted: - -- `Transfer(CommonPool -> Recipient, commissionAmount)` event for the - commissioned part of the reward -- `AddEscrow(Recipient -> Recipient, commissionAmount)` event for the - automatically escrowed commission reward -- `AddEscrow(CommonPool -> Recipient, restAmount)` for the non-commissioned - part of the reward (which only increases existing shares prices) diff --git a/.changelog/3945.internal.md b/.changelog/3945.internal.md deleted file mode 100644 index 3be2d93409d..00000000000 --- a/.changelog/3945.internal.md +++ /dev/null @@ -1,5 +0,0 @@ -common/crypto/slip-10: Relax the seed-length check - -The SLIP-0010 spec, was updated after approximately 5 years to be -coherent, so support `S` that range from 128-bits to 512-bits, and -add in the formerly nonsensical test vector. diff --git a/.changelog/3946.internal.md b/.changelog/3946.internal.md deleted file mode 100644 index c44803abcdf..00000000000 --- a/.changelog/3946.internal.md +++ /dev/null @@ -1 +0,0 @@ -runtime/common/crypto/signature: Switch Ed25519 to our consensus flavor diff --git a/.changelog/3948.trivial.md b/.changelog/3948.trivial.md deleted file mode 100644 index c5132d44ef1..00000000000 --- a/.changelog/3948.trivial.md +++ /dev/null @@ -1 +0,0 @@ -runtime/core/common/cbor: re-export `serde_cbor::error::Error` diff --git a/.changelog/3949.internal.md b/.changelog/3949.internal.md deleted file mode 100644 index cbcb7e352f8..00000000000 --- a/.changelog/3949.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump curve25519-dalek from 3.0.0 to 3.1.0 diff --git a/.changelog/3950.internal.md b/.changelog/3950.internal.md deleted file mode 100644 index 4aa7707597a..00000000000 --- a/.changelog/3950.internal.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Bump futures/tokio/grpcio diff --git a/.changelog/3951.internal.md b/.changelog/3951.internal.md deleted file mode 100644 index 9ff12d64a9f..00000000000 --- a/.changelog/3951.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/prometheus/common from 0.20.0 to 0.25.0 diff --git a/.changelog/3953.internal.md b/.changelog/3953.internal.md deleted file mode 100644 index f066ef932e7..00000000000 --- a/.changelog/3953.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump google.golang.org/grpc to 1.38.0 diff --git a/.changelog/3954.trivial.md b/.changelog/3954.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3955.internal.md b/.changelog/3955.internal.md deleted file mode 100644 index 5b6e52b0b8a..00000000000 --- a/.changelog/3955.internal.md +++ /dev/null @@ -1 +0,0 @@ -Bump Rust toolchain to 2021-05-20 diff --git a/.changelog/3958.cfg.md b/.changelog/3958.cfg.md deleted file mode 100644 index b7871741a0c..00000000000 --- a/.changelog/3958.cfg.md +++ /dev/null @@ -1,9 +0,0 @@ -Change IAS proxy client authentication configuration - -Previously the full TLS certificate needed to be passed when configuring the -IAS proxy client, but now only the public key needs to be included. - -The `ias.tls` configuration option is removed and `ias.proxy_addr` is -renamed to `ias.proxy.address`. One can now configure multiple proxy -addresses and each address needs to contain the Base64-encoded public key, -for example: `@ias.oasis.dev`. diff --git a/.changelog/3959.internal.md b/.changelog/3959.internal.md deleted file mode 100644 index 2d9068da03c..00000000000 --- a/.changelog/3959.internal.md +++ /dev/null @@ -1 +0,0 @@ -workload/governance: fix case with multiple equal active proposals diff --git a/.changelog/3960.internal.md b/.changelog/3960.internal.md deleted file mode 100644 index aa5716a15f2..00000000000 --- a/.changelog/3960.internal.md +++ /dev/null @@ -1,3 +0,0 @@ -go/staking/gen_account_vectors: Add [ADR 0008] test vectors - -[ADR 0008]: docs/adr/0008-standard-account-key-generation.md diff --git a/.changelog/3965.cfg.md b/.changelog/3965.cfg.md deleted file mode 100644 index 2726a003b4b..00000000000 --- a/.changelog/3965.cfg.md +++ /dev/null @@ -1,5 +0,0 @@ -go/worker/compute: remove `schedule_check_tx.enabled` flag - -Runtime executor workers now always call CheckTx before scheduling runtime -transactions. The option to disable CheckTx for runtime transactions is -removed. diff --git a/.changelog/3965.internal.md b/.changelog/3965.internal.md deleted file mode 100644 index f758f75da4f..00000000000 --- a/.changelog/3965.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -go/runtime/scheduling: priority queue txpool - -Priority queue transaction pool (based on B-Trees) is implemented to support -scheduling based on the newly added runtime transaction priorities. diff --git a/.changelog/3966.internal.md b/.changelog/3966.internal.md deleted file mode 100644 index 651fd017762..00000000000 --- a/.changelog/3966.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/uber/jaeger-client-go to 2.29.1+incompatible diff --git a/.changelog/3968.internal.md b/.changelog/3968.internal.md deleted file mode 100644 index 94c926eac4c..00000000000 --- a/.changelog/3968.internal.md +++ /dev/null @@ -1 +0,0 @@ -Bump grpcio to 0.9.0 diff --git a/.changelog/3969.trivial.md b/.changelog/3969.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3970.trivial.md b/.changelog/3970.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3971.internal.md b/.changelog/3971.internal.md deleted file mode 100644 index 1c6cf7e8a26..00000000000 --- a/.changelog/3971.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump docker/build-push-action to 2.5.0 diff --git a/.changelog/3973.bugfix.md b/.changelog/3973.bugfix.md deleted file mode 100644 index c9f76dd6456..00000000000 --- a/.changelog/3973.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/runtime/client: Properly propagate CheckTx error context diff --git a/.changelog/3973.internal.md b/.changelog/3973.internal.md deleted file mode 100644 index 4f5b96a0512..00000000000 --- a/.changelog/3973.internal.md +++ /dev/null @@ -1,6 +0,0 @@ -go/common/errors: Support context propagation - -This adds `WithContext` and `Context` in order to be able to add an error -context in a structured way. Such contexts are then correctly propagated -over gRPC and consensus layer transaction results in order to improve the -error messages. diff --git a/.changelog/3977.internal.md b/.changelog/3977.internal.md deleted file mode 100644 index ec8c7c28aff..00000000000 --- a/.changelog/3977.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump crossbeam from 0.8.0 to 0.8.1 diff --git a/.changelog/3978.internal.md b/.changelog/3978.internal.md deleted file mode 100644 index ab5b1495e97..00000000000 --- a/.changelog/3978.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/multiformats/go-multiaddr from 0.3.1 to 0.3.2 diff --git a/.changelog/3979.internal.md b/.changelog/3979.internal.md deleted file mode 100644 index d48ed617f27..00000000000 --- a/.changelog/3979.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/cenkalti/backoff/v4 from 4.1.0 to 4.1.1 diff --git a/.changelog/3980.internal.md b/.changelog/3980.internal.md deleted file mode 100644 index f6fb22a9c0a..00000000000 --- a/.changelog/3980.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/libp2p/go-libp2p from 0.14.0 to 0.14.1 diff --git a/.changelog/3981.internal.md b/.changelog/3981.internal.md deleted file mode 100644 index 9c561400782..00000000000 --- a/.changelog/3981.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust/Cargo.toml: specify exact ring depedency version diff --git a/.changelog/3987.feature.md b/.changelog/3987.feature.md deleted file mode 100644 index 60161714dca..00000000000 --- a/.changelog/3987.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/worker/compute: Propose block on new epoch diff --git a/.changelog/3990.internal.md b/.changelog/3990.internal.md deleted file mode 100644 index a32fbd054dc..00000000000 --- a/.changelog/3990.internal.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Stop using the ring backend for snow diff --git a/.changelog/3991.doc.md b/.changelog/3991.doc.md deleted file mode 100644 index 5e612645118..00000000000 --- a/.changelog/3991.doc.md +++ /dev/null @@ -1 +0,0 @@ -Add missing gRPC services and beacon service diff --git a/.changelog/3993.doc.md b/.changelog/3993.doc.md deleted file mode 100644 index 6e7d6afd149..00000000000 --- a/.changelog/3993.doc.md +++ /dev/null @@ -1,3 +0,0 @@ -Note that `RELEASE_BRANCH` variable needs to be exported in [Release Process] - -[Release Process]: docs/release-process.md diff --git a/.changelog/3995.internal.md b/.changelog/3995.internal.md deleted file mode 100644 index b6ebd0aa715..00000000000 --- a/.changelog/3995.internal.md +++ /dev/null @@ -1,8 +0,0 @@ -rust: use 0.0.0 as crate versions - -Crates are following [Oasis Core versioning scheme]. The crates are not -published and GitHub tags should be used as version definitions. Therefore -bumping versions on the crates themselves is omitted. Update crate authors. - -[oasis core versioning scheme]: - https://docs.oasis.dev/oasis-core/processes/versioning diff --git a/.changelog/4001.internal.md b/.changelog/4001.internal.md deleted file mode 100644 index be56498eadf..00000000000 --- a/.changelog/4001.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/worker/common: Wait for all child workers to initialize diff --git a/.punch_version.py b/.punch_version.py index bb57134c46e..17b8a8ab5d6 100644 --- a/.punch_version.py +++ b/.punch_version.py @@ -1,3 +1,3 @@ year = '21' -minor = 1 +minor = 2 micro = 0 diff --git a/CHANGELOG.md b/CHANGELOG.md index ff70265b212..4b25aad1bfc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,387 @@ The format is inspired by [Keep a Changelog]. +## 21.2 (2021-06-07) + +| Protocol | Version | +|:------------------|:---------:| +| Consensus | 4.0.0 | +| Runtime Host | 3.0.0 | +| Runtime Committee | 2.0.0 | + +### Upgrading From Previous Versions + +Due to a database backend upgrade introduced in this version (see below for +details), initial startup time will be longer as a full database migration needs +to be performed for each of the internal databases. *The migration may take +several minutes and requires enough free disk space to accommodate a copy of the +node's data directory.* + +### Removals and Breaking Changes + +- runtime: add support for transaction priority and weights + ([#3760](https://github.com/oasisprotocol/oasis-core/issues/3760)) + + Adds support for runtime transaction priority and weights that can be set by + runtime in `CheckTx` response. Transactions are scheduled by priority (higher + first). Transaction weights are used by scheduler when creating batches to + ensure no batch passes the per round weight limit. Supported limits are: + + - `count` - number of transactions - per round limit is a runtime parameter in + registry (already existed prior to this change). + - `size_bytes` - size of transactions in bytes - per round limit is a runtime + parameter in registry (already existed prior to this change). + - `consensus_messages` - number of emitted consensus messages - per round + limit is a consensus parameter (already existed prior to this change). + - Custom, runtime specific weights. `internal.BatchWeightLimits` method is + queried for custom batch weight limits on every round. + +- runtime: Ensure compatible consensus versions + ([#3823](https://github.com/oasisprotocol/oasis-core/issues/3823)) + + Runtime now ensures host is running a compatible consensus version. + This is a breaking runtime host protocol change as the version types in + protocol are changed. + +- runtime: Add support for block tags + ([#3848](https://github.com/oasisprotocol/oasis-core/issues/3848)) + +- runtime: Add epoch to ExecuteTx/CheckTx/Query requests + ([#3892](https://github.com/oasisprotocol/oasis-core/issues/3892)) + +- go/cmd/registry: simplify register runtime command + ([#3903](https://github.com/oasisprotocol/oasis-core/issues/3903)) + + The `registry runtime gen_register` command now accepts a JSON runtime + descriptor, which should simplify generating runtime registration + transactions. + The `registy runtime init_genesis` command is removed as runtime + descriptors in genesis are not singed since version 21.0+ making the command + obsolete. + +- staking: Include share amounts in `AddEscrow` and `ReclaimEscrow` events + ([#3939](https://github.com/oasisprotocol/oasis-core/issues/3939)) + +- Update emitted events when disbursing rewards + ([#3944](https://github.com/oasisprotocol/oasis-core/issues/3944)) + + Before, a single `AddEscrow` event was emitted which did not correctly + represent the actual state changes when rewards were disbursed. + + Now the following events are emitted: + + - `Transfer(CommonPool -> Recipient, commissionAmount)` event for the + commissioned part of the reward + - `AddEscrow(Recipient -> Recipient, commissionAmount)` event for the + automatically escrowed commission reward + - `AddEscrow(CommonPool -> Recipient, restAmount)` for the non-commissioned + part of the reward (which only increases existing shares prices) + +### Configuration Changes + +- Change IAS proxy client authentication configuration + ([#3958](https://github.com/oasisprotocol/oasis-core/issues/3958)) + + Previously the full TLS certificate needed to be passed when configuring the + IAS proxy client, but now only the public key needs to be included. + + The `ias.tls` configuration option is removed and `ias.proxy_addr` is + renamed to `ias.proxy.address`. One can now configure multiple proxy + addresses and each address needs to contain the Base64-encoded public key, + for example: `@ias.oasis.dev`. + +- go/worker/compute: remove `schedule_check_tx.enabled` flag + ([#3965](https://github.com/oasisprotocol/oasis-core/issues/3965)) + + Runtime executor workers now always call CheckTx before scheduling runtime + transactions. The option to disable CheckTx for runtime transactions is + removed. + +### Features + +- Bump Badger database to v3 + ([#3859](https://github.com/oasisprotocol/oasis-core/issues/3859)) + + The old database will automatically be converted during the initial node + startup. For this reason the following should be taken into account when + upgrading: + + - Initial startup time will be longer as a full database migration needs to + be performed for each of the internal databases. The migration may take + several minutes. + + - In order to ensure a backup exists in the unlikely case that anything goes + wrong with the migration, the old databases will be kept in the same + location but with a `.backup` suffix. *For this reason, make sure that you + have enough free disk space to accommodate a copy of the node's data + directory.* + +- runtime: Implement consensus staking layer state accessors + ([#3564](https://github.com/oasisprotocol/oasis-core/issues/3564)) + +- Add support for local runtime-specific configuration + ([#3776](https://github.com/oasisprotocol/oasis-core/issues/3776)) + + Runtimes can now accept configuration local to the compute node that is + running them. This is possible via the following configuration schema (can + only be configured via a config file): + + ```yaml + runtime: + config: + "8000000000000000000000000000000000000000000000000000000000000000": + core: + min_gas_price: 1 + ``` + + This is useful to specify runtime-specific parameters like minimum gas price + accepted by the node. Note that this configuration can only be used during + non-deterministic transactions checks as it would otherwise result in a + discrepancy. + +- go/runtime/client: Add `GetTransactions` method, deprecate `GetTxs` + ([#3812](https://github.com/oasisprotocol/oasis-core/issues/3812)) + + A new method called `GetTransactions` has been added to replace the (now + deprecated) `GetTxs`. The new method does not require the caller to pass + the IO root as that is an internal detail. This makes it consistent with + the existing `GetEvents` API. + + Users of `GetTxs` should migrate to `GetTransactions` as the former may be + removed in a future release. + +- go/roothash/api: Add gRPC service + ([#3827](https://github.com/oasisprotocol/oasis-core/issues/3827)) + +- common/crypto/signature: Use curve25519-voi + ([#3829](https://github.com/oasisprotocol/oasis-core/issues/3829)) + + This Ed25519/X25519 implementation is faster and more maintainable that + the previous in-house implementation. + +- common/crypto/slip10: Add a SLIP-0010 implementation + ([#3829](https://github.com/oasisprotocol/oasis-core/issues/3829)) + + Needed for some wallet stuff, and it is the least-awful hierarchical + derivation scheme for Ed25519. + +- go/oasis-node/cmd/genesis: Display doc's hash and SHA256 checksum with `check` + ([#3858](https://github.com/oasisprotocol/oasis-core/issues/3858)) + +- go/worker/compute: Propose block on runtime genesis + ([#3894](https://github.com/oasisprotocol/oasis-core/issues/3894)) + +- go/oasis-node: Add storage namespace rename subcommand + ([#3908](https://github.com/oasisprotocol/oasis-core/issues/3908)) + +- go/oasis-net-runner: default fixture support staking genesis + ([#3914](https://github.com/oasisprotocol/oasis-core/issues/3914)) + +- go/oasis-net-runner: support multiple runtimes in default fixture + ([#3914](https://github.com/oasisprotocol/oasis-core/issues/3914)) + +- go/common/crypto/sakg: Add [ADR 0008] implementation + ([#3918](https://github.com/oasisprotocol/oasis-core/issues/3918)) + + [ADR 0008]: docs/adr/0008-standard-account-key-generation.md + +- go/worker/compute: Propose block on new epoch + ([#3987](https://github.com/oasisprotocol/oasis-core/issues/3987)) + +- go/oasis-node/cmd/debug/beacon: Initial import + ([#3897](https://github.com/oasisprotocol/oasis-core/issues/3897)) + + Add a `debug beacon status` command which queries the current beacon and + PVSS backend state. + +### Bug Fixes + +- go/oasis-node: Dump correct block height on halt + ([#3755](https://github.com/oasisprotocol/oasis-core/issues/3755)) + +- go/storage/mkvs: Skip already pruned nodes in migration + ([#3857](https://github.com/oasisprotocol/oasis-core/issues/3857)) + +- Apply upgrade proposals directly from governance consensus application + ([#3870](https://github.com/oasisprotocol/oasis-core/issues/3870)) + + This should make it more robust in light of fast sync as otherwise the worker + could miss upgrade events in certain edge cases. + +- Runtime workers should wait for history reindex + ([#3889](https://github.com/oasisprotocol/oasis-core/issues/3889)) + + If a node first syncs consensus without any runtimes configured and a runtime + is configured later, the workers should wait for historic runtime block + reindexing to complete before continuing with initialization. Otherwise + historic block queries may fail and prevent the worker from operating + normally. + +- go/consensus/tendermint: Update nonce post-execution during CheckTx + ([#3896](https://github.com/oasisprotocol/oasis-core/issues/3896)) + + This now correctly handles multiple transactions from the same signer being + checked in the same block as previously subsequent transactions were + rejected. + +- worker/storage: Fix heartbeat stall + ([#3899](https://github.com/oasisprotocol/oasis-core/issues/3899)) + +- go/runtime/client: Properly propagate CheckTx error context + ([#3973](https://github.com/oasisprotocol/oasis-core/issues/3973)) + +### Documentation Improvements + +- ADR 0008: Standard Account Key Generation + ([#3656](https://github.com/oasisprotocol/oasis-core/issues/3656)) + +- Update [Security] document + ([#3853](https://github.com/oasisprotocol/oasis-core/issues/3853)) + + [Security]: SECURITY.md + +- Note that `RELEASE_BRANCH` variable needs to be exported in [Release Process] + ([#3891](https://github.com/oasisprotocol/oasis-core/issues/3891), + [#3993](https://github.com/oasisprotocol/oasis-core/issues/3993)) + + [Release Process]: docs/release-process.md + +- ADR 0009: Ed25519 Signature Verification Semantics + ([#3925](https://github.com/oasisprotocol/oasis-core/issues/3925)) + +- Add missing gRPC services and beacon service + ([#3991](https://github.com/oasisprotocol/oasis-core/issues/3991)) + +### Internal Changes + +- go/worker: Make compute and client node use local storage if available + ([#3251](https://github.com/oasisprotocol/oasis-core/issues/3251)) + +- Runtime consensus state interoperability tests + ([#3833](https://github.com/oasisprotocol/oasis-core/issues/3833)) + +- go: bump github.com/hashicorp/go-hclog from 0.15.0 to 0.16.1 + ([#3834](https://github.com/oasisprotocol/oasis-core/issues/3834), + [#3927](https://github.com/oasisprotocol/oasis-core/issues/3927)) + +- go/storage: Remove unused ForceFinalize RPC call + ([#3863](https://github.com/oasisprotocol/oasis-core/issues/3863)) + +- e2e/runtime: Add test for storage sync after messy/incorrect cleanup + ([#3863](https://github.com/oasisprotocol/oasis-core/issues/3863)) + +- rust: bump tendermint from 0.18.1 to 0.19.0 + ([#3866](https://github.com/oasisprotocol/oasis-core/issues/3866)) + +- Build and upload release artifacts on every master/stable merge + ([#3875](https://github.com/oasisprotocol/oasis-core/issues/3875)) + +- go: Ignore jwt-go vulns since we're not using the features + ([#3877](https://github.com/oasisprotocol/oasis-core/issues/3877)) + +- go: bump github.com/hashicorp/go-plugin from 1.4.0 to 1.4.2 + ([#3880](https://github.com/oasisprotocol/oasis-core/issues/3880)) + +- Bump Go to 1.16.3 + ([#3886](https://github.com/oasisprotocol/oasis-core/issues/3886)) + +- changelog: Automatically add protocol versions table + ([#3891](https://github.com/oasisprotocol/oasis-core/issues/3891)) + +- rust: bump hmac from 0.10.1 to 0.11.0 + ([#3906](https://github.com/oasisprotocol/oasis-core/issues/3906)) + +- go: bump github.com/grpc-ecosystem/go-grpc-middleware from 1.2.2 to 1.3.0 + ([#3915](https://github.com/oasisprotocol/oasis-core/issues/3915)) + +- go/staking/gen_account_vectors: Add [ADR 0008] test vectors + ([#3918](https://github.com/oasisprotocol/oasis-core/issues/3918), + [#3960](https://github.com/oasisprotocol/oasis-core/issues/3960)) + + [ADR 0008]: docs/adr/0008-standard-account-key-generation.md + +- go: bump github.com/libp2p/go-libp2p from 0.13.0 to 0.14.0 + ([#3928](https://github.com/oasisprotocol/oasis-core/issues/3928)) + +- common/crypto/slip-10: Relax the seed-length check + ([#3945](https://github.com/oasisprotocol/oasis-core/issues/3945)) + + The SLIP-0010 spec, was updated after approximately 5 years to be + coherent, so support `S` that range from 128-bits to 512-bits, and + add in the formerly nonsensical test vector. + +- runtime/common/crypto/signature: Switch Ed25519 to our consensus flavor + ([#3946](https://github.com/oasisprotocol/oasis-core/issues/3946)) + +- rust: bump curve25519-dalek from 3.0.0 to 3.1.0 + ([#3949](https://github.com/oasisprotocol/oasis-core/issues/3949)) + +- runtime: Bump futures/tokio/grpcio + ([#3950](https://github.com/oasisprotocol/oasis-core/issues/3950)) + +- go: bump github.com/prometheus/common from 0.20.0 to 0.25.0 + ([#3951](https://github.com/oasisprotocol/oasis-core/issues/3951)) + +- go: bump google.golang.org/grpc to 1.38.0 + ([#3953](https://github.com/oasisprotocol/oasis-core/issues/3953)) + +- Bump Rust toolchain to 2021-05-20 + ([#3955](https://github.com/oasisprotocol/oasis-core/issues/3955)) + +- workload/governance: fix case with multiple equal active proposals + ([#3959](https://github.com/oasisprotocol/oasis-core/issues/3959)) + +- go/runtime/scheduling: priority queue txpool + ([#3965](https://github.com/oasisprotocol/oasis-core/issues/3965)) + + Priority queue transaction pool (based on B-Trees) is implemented to support + scheduling based on the newly added runtime transaction priorities. + +- go: bump github.com/uber/jaeger-client-go to 2.29.1+incompatible + ([#3966](https://github.com/oasisprotocol/oasis-core/issues/3966)) + +- Bump grpcio to 0.9.0 + ([#3968](https://github.com/oasisprotocol/oasis-core/issues/3968)) + +- go/common/errors: Support context propagation + ([#3973](https://github.com/oasisprotocol/oasis-core/issues/3973)) + + This adds `WithContext` and `Context` in order to be able to add an error + context in a structured way. Such contexts are then correctly propagated + over gRPC and consensus layer transaction results in order to improve the + error messages. + +- rust: bump crossbeam from 0.8.0 to 0.8.1 + ([#3977](https://github.com/oasisprotocol/oasis-core/issues/3977)) + +- go: bump github.com/multiformats/go-multiaddr from 0.3.1 to 0.3.2 + ([#3978](https://github.com/oasisprotocol/oasis-core/issues/3978)) + +- go: bump github.com/cenkalti/backoff/v4 from 4.1.0 to 4.1.1 + ([#3979](https://github.com/oasisprotocol/oasis-core/issues/3979)) + +- go: bump github.com/libp2p/go-libp2p from 0.14.0 to 0.14.1 + ([#3980](https://github.com/oasisprotocol/oasis-core/issues/3980)) + +- rust/Cargo.toml: specify exact ring depedency version + ([#3981](https://github.com/oasisprotocol/oasis-core/issues/3981)) + +- runtime: Stop using the ring backend for snow + ([#3990](https://github.com/oasisprotocol/oasis-core/issues/3990)) + +- rust: use 0.0.0 as crate versions + ([#3995](https://github.com/oasisprotocol/oasis-core/issues/3995)) + + Crates are following [Oasis Core versioning scheme]. The crates are not + published and GitHub tags should be used as version definitions. Therefore + bumping versions on the crates themselves is omitted. Update crate authors. + + [oasis core versioning scheme]: + https://docs.oasis.dev/oasis-core/processes/versioning + +- go/worker/common: Wait for all child workers to initialize + ([#4001](https://github.com/oasisprotocol/oasis-core/issues/4001)) + ## 21.1 (2021-04-12) | Protocol | Version |