diff --git a/.changelog/3156.breaking.md b/.changelog/3156.breaking.md deleted file mode 100644 index b9ac71dc8ce..00000000000 --- a/.changelog/3156.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/tendermint: Handle LIGHT_CLIENT_ATTACK evidence diff --git a/.changelog/3177.bugfix.md b/.changelog/3177.bugfix.md deleted file mode 100644 index a274b597e63..00000000000 --- a/.changelog/3177.bugfix.md +++ /dev/null @@ -1,8 +0,0 @@ -go/consensus: Include only top K validators at genesis time - -Previously, all the eligible validators were included in the -validator set at genesis time. -This has been fixed to include only the top `MaxValidators` -as specified in the scheduler consensus parameters. -Additionally, the `MaxValidatorsPerEntity` scheduler consensus -parameter is now enforced. diff --git a/.changelog/3180.breaking.md b/.changelog/3180.breaking.md deleted file mode 100644 index 1e126adb973..00000000000 --- a/.changelog/3180.breaking.md +++ /dev/null @@ -1,13 +0,0 @@ -go/beacon: Add a PVSS based beacon backend - -This commit adds a PVSS-based beacon backend that hopefully is a significant -improvement over the existing beacon, in that it at least attempts to be -secure. - -Note that certain nicer-to-have features/test cases not yet implemented: - -- Checkpoint/restore of node beacon state needs testing. -- Slashing based on non-participation needs fine-grained protocol phase - accounting to be secure. -- Performance with more than a handful of participants is attrocious, where - more than a handful is currently approximately 20. diff --git a/.changelog/3260.trivial.md b/.changelog/3260.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3262.doc.md b/.changelog/3262.doc.md deleted file mode 100644 index 68f0eb2759c..00000000000 --- a/.changelog/3262.doc.md +++ /dev/null @@ -1 +0,0 @@ -ADR 0003: Consensus/Runtime Token Transfer diff --git a/.changelog/3276.breaking.md b/.changelog/3276.breaking.md deleted file mode 100644 index a4917039ab2..00000000000 --- a/.changelog/3276.breaking.md +++ /dev/null @@ -1,29 +0,0 @@ -go: Use human readable identifiers for slashing reasons - -When serialized into JSON the slashing reason identifiers are now human -readable (double-signing instead of 0). - -Old: - -```json -"slashing": { - "0": { - "amount": "100", - "freeze_interval": 1 - } -} -``` - -New: - -```json -"slashing": { - "double-signing": { - "amount": "100", - "freeze_interval": 1 - } -} -``` - -Note: Existing deployments will need to alter the state dump and change the -`0` slashing reason to `double-signing`. diff --git a/.changelog/3284.doc.md b/.changelog/3284.doc.md deleted file mode 100644 index 54cfaee6d2e..00000000000 --- a/.changelog/3284.doc.md +++ /dev/null @@ -1 +0,0 @@ -ADR 0004: Runtime Governance diff --git a/.changelog/3301.internal.md b/.changelog/3301.internal.md deleted file mode 100644 index d1cb0b4a774..00000000000 --- a/.changelog/3301.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: Setup daily longterm tests with longer epoch periods diff --git a/.changelog/3308.breaking.md b/.changelog/3308.breaking.md deleted file mode 100644 index ab5d34593b2..00000000000 --- a/.changelog/3308.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -go: Improve error message when delegating less than MinDelegationAmount - -Previously, an `ErrInvalidArgument` was returned in this case, which -is not very descriptive, so a separate error was created: -`ErrUnderMinDelegationAmount`. diff --git a/.changelog/3311.breaking.md b/.changelog/3311.breaking.md deleted file mode 100644 index 8d95e85bbd0..00000000000 --- a/.changelog/3311.breaking.md +++ /dev/null @@ -1,3 +0,0 @@ -go/worker/p2p: include chain ID and remove patch version from topic IDs - -This is a breaking `RuntimeCommitteeProtocol` change. diff --git a/.changelog/3312.doc.md b/.changelog/3312.doc.md deleted file mode 100644 index 347043a7d65..00000000000 --- a/.changelog/3312.doc.md +++ /dev/null @@ -1,3 +0,0 @@ -Document [genesis document's hash] - -[genesis document's hash]: docs/consensus/genesis.md#genesis-documents-hash diff --git a/.changelog/3313.internal.md b/.changelog/3313.internal.md deleted file mode 100644 index e29b4e1b791..00000000000 --- a/.changelog/3313.internal.md +++ /dev/null @@ -1 +0,0 @@ -Omit node operator link from release notes diff --git a/.changelog/3314.internal.md b/.changelog/3314.internal.md deleted file mode 100644 index 7277f0767b0..00000000000 --- a/.changelog/3314.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/prometheus/procfs from 0.1.3 to 0.2.0 diff --git a/.changelog/3323.breaking.md b/.changelog/3323.breaking.md deleted file mode 100644 index 4a08adc3111..00000000000 --- a/.changelog/3323.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -go: Move storage backend initialization to storage worker - -Notably, this also means that node command line options for storage -configuration have been renamed and that the backend type option isn't -needed anymore unless the storage worker is enabled. diff --git a/.changelog/3323.cfg.md b/.changelog/3323.cfg.md deleted file mode 100644 index 434ccb31ecb..00000000000 --- a/.changelog/3323.cfg.md +++ /dev/null @@ -1,6 +0,0 @@ -go: Change storage backend configuration options - -All the `--storage.*` options have been renamed to `--worker.storage.*`. -Nodes that don't have the storage worker enabled don't need to configure -the storage backend anymore, since it will be chosen correctly -automatically. diff --git a/.changelog/3327.doc.md b/.changelog/3327.doc.md deleted file mode 100644 index df62532ee07..00000000000 --- a/.changelog/3327.doc.md +++ /dev/null @@ -1,3 +0,0 @@ -Update [Release Process] documentation - -[Release Process]: docs/release-process.md diff --git a/.changelog/3327.internal.1.md b/.changelog/3327.internal.1.md deleted file mode 100644 index f25e5d6eb02..00000000000 --- a/.changelog/3327.internal.1.md +++ /dev/null @@ -1 +0,0 @@ -Make: Output messages to stderr instead of stdout diff --git a/.changelog/3327.internal.2.md b/.changelog/3327.internal.2.md deleted file mode 100644 index 1841d86929a..00000000000 --- a/.changelog/3327.internal.2.md +++ /dev/null @@ -1,4 +0,0 @@ -internal: Refactor project's version handling - -Simplify version computation logic in Make files and start using Punch's -version file to track version. diff --git a/.changelog/3327.internal.3.md b/.changelog/3327.internal.3.md deleted file mode 100644 index d86ec5bc9cc..00000000000 --- a/.changelog/3327.internal.3.md +++ /dev/null @@ -1,6 +0,0 @@ -Make: Refactor release-related targets - -- Rename `tag-next-release` target to `release-tag`. -- Rename `release` target to `release-build`. -- Add `release-stable-branch` target that creates and pushes a stable branch - for the current release. diff --git a/.changelog/3327.internal.4.md b/.changelog/3327.internal.4.md deleted file mode 100644 index ced52d157b0..00000000000 --- a/.changelog/3327.internal.4.md +++ /dev/null @@ -1 +0,0 @@ -Make: Refactor Change Log handling diff --git a/.changelog/3327.internal.5.md b/.changelog/3327.internal.5.md deleted file mode 100644 index d40f2b6f064..00000000000 --- a/.changelog/3327.internal.5.md +++ /dev/null @@ -1 +0,0 @@ -github: Bump GoReleaser in ci-reproducibility and release workflows to 0.152.0 diff --git a/.changelog/3336.trivial.md b/.changelog/3336.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3338.internal.md b/.changelog/3338.internal.md deleted file mode 100644 index 5e20c454569..00000000000 --- a/.changelog/3338.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/e2e/workload-queries: allow historical `QueryTxs` to fail few times diff --git a/.changelog/3339.doc.md b/.changelog/3339.doc.md deleted file mode 100644 index 9c9c134a77d..00000000000 --- a/.changelog/3339.doc.md +++ /dev/null @@ -1 +0,0 @@ -ADR 0005: Runtime Compute Node Slashing diff --git a/.changelog/3340.internal.md b/.changelog/3340.internal.md deleted file mode 100644 index ce46a377137..00000000000 --- a/.changelog/3340.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/nancy: remove `golang.org/x/net` false positive ignores diff --git a/.changelog/3341.internal.md b/.changelog/3341.internal.md deleted file mode 100644 index dc762107745..00000000000 --- a/.changelog/3341.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/dependencies/etcd: update etcd with replace directive diff --git a/.changelog/3345.internal.md b/.changelog/3345.internal.md deleted file mode 100644 index 1841d86929a..00000000000 --- a/.changelog/3345.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -internal: Refactor project's version handling - -Simplify version computation logic in Make files and start using Punch's -version file to track version. diff --git a/.changelog/3349.internal.md b/.changelog/3349.internal.md deleted file mode 100644 index 808eed17eae..00000000000 --- a/.changelog/3349.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/setup-python from v2.1.2 to v2.1.3 diff --git a/.changelog/3353.internal.md b/.changelog/3353.internal.md deleted file mode 100644 index 437f3721d1f..00000000000 --- a/.changelog/3353.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump base64 from 0.12.3 to 0.13.0 diff --git a/.changelog/3354.internal.1.md b/.changelog/3354.internal.1.md deleted file mode 100644 index eb462ef64c8..00000000000 --- a/.changelog/3354.internal.1.md +++ /dev/null @@ -1,8 +0,0 @@ -go/storage: Support node prioritization in read requests - -The following new functions are added to the storage API package to help -storage backend implementations: - -- `WithNodePriorityHint` -- `WithNodePriorityHintFromSignatures` -- `NodePriorityHintFromContext` diff --git a/.changelog/3354.internal.2.md b/.changelog/3354.internal.2.md deleted file mode 100644 index ce8c73db532..00000000000 --- a/.changelog/3354.internal.2.md +++ /dev/null @@ -1,4 +0,0 @@ -Prioritize nodes that signed storage receipts - -The compute executor and tag indexer now prioritize reads from storage nodes -that signed the corresponding storage receipts. diff --git a/.changelog/3360.breaking.1.md b/.changelog/3360.breaking.1.md deleted file mode 100644 index 76acdf432ac..00000000000 --- a/.changelog/3360.breaking.1.md +++ /dev/null @@ -1,14 +0,0 @@ -Compare protocol versions according to SemVer 2.0.0 - -As described in our [Versioning] document, we bumped the protocol versions to -version 1.0.0 with the release of [Oasis Core 20.10]. - -Hence, we also need to modify how we compare and detect backward-incompatible -changes to follow SemVer 2.0.0 rules. - -From now onwards, only a change in a protocol's major version signifies -a backward-incompatible change. - -[Versioning]: docs/versioning.md#version-100 -[Oasis Core 20.10]: - https://github.com/oasisprotocol/oasis-core/blob/v20.10/CHANGELOG.md diff --git a/.changelog/3360.breaking.2.md b/.changelog/3360.breaking.2.md deleted file mode 100644 index b6662adc10f..00000000000 --- a/.changelog/3360.breaking.2.md +++ /dev/null @@ -1 +0,0 @@ -go/common/version: Remove `MajorMinor()` method from `Version` type diff --git a/.changelog/3360.doc.md b/.changelog/3360.doc.md deleted file mode 100644 index 96875d7b82d..00000000000 --- a/.changelog/3360.doc.md +++ /dev/null @@ -1 +0,0 @@ -Rename Versioning scheme document to Versioning and include it in the index diff --git a/.changelog/3360.feature.md b/.changelog/3360.feature.md deleted file mode 100644 index e31bd1db978..00000000000 --- a/.changelog/3360.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/common/version: Add `MaskNonMajor()` method to `Version` type diff --git a/.changelog/3364.internal.md b/.changelog/3364.internal.md deleted file mode 100644 index 11c6ecee14b..00000000000 --- a/.changelog/3364.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: Bump actions/setup-node from v2.1.1 to v2.1.2 diff --git a/.changelog/3365.internal.md b/.changelog/3365.internal.md deleted file mode 100644 index ae617552aaa..00000000000 --- a/.changelog/3365.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: Bump actions/setup-go from v2.1.2 to v2.1.3 diff --git a/.changelog/3367.internal.md b/.changelog/3367.internal.md deleted file mode 100644 index fe658aeedad..00000000000 --- a/.changelog/3367.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: Bump actions/upload-artifact from v2.1.4 to v2.2.0 diff --git a/.changelog/3368.internal.1.md b/.changelog/3368.internal.1.md deleted file mode 100644 index d40f2b6f064..00000000000 --- a/.changelog/3368.internal.1.md +++ /dev/null @@ -1 +0,0 @@ -github: Bump GoReleaser in ci-reproducibility and release workflows to 0.152.0 diff --git a/.changelog/3368.internal.2.md b/.changelog/3368.internal.2.md deleted file mode 100644 index d86ec5bc9cc..00000000000 --- a/.changelog/3368.internal.2.md +++ /dev/null @@ -1,6 +0,0 @@ -Make: Refactor release-related targets - -- Rename `tag-next-release` target to `release-tag`. -- Rename `release` target to `release-build`. -- Add `release-stable-branch` target that creates and pushes a stable branch - for the current release. diff --git a/.changelog/3369.internal.md b/.changelog/3369.internal.md deleted file mode 100644 index 916ee7babcd..00000000000 --- a/.changelog/3369.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-test-runner: Fix e2e/consensus-state-sync scenario (take two) - -Previous "fix" actually made the test silently skip actually performing state -sync because it used the wrong validator index. diff --git a/.changelog/3372.internal.md b/.changelog/3372.internal.md deleted file mode 100644 index b27dfe12003..00000000000 --- a/.changelog/3372.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/e2e/queries: correctly ignore UnexpectedEOF errors diff --git a/.changelog/3374.internal.md b/.changelog/3374.internal.md deleted file mode 100644 index 6fc13ff2355..00000000000 --- a/.changelog/3374.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: Make build-fuzz failures fatal now that upstream is fixed diff --git a/.changelog/3384.internal.md b/.changelog/3384.internal.md deleted file mode 100644 index 02f0454bd82..00000000000 --- a/.changelog/3384.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/blevesearch/bleve from 1.0.10 to 1.0.12 diff --git a/.changelog/3387.internal.md b/.changelog/3387.internal.md deleted file mode 100644 index 92eda4abd66..00000000000 --- a/.changelog/3387.internal.md +++ /dev/null @@ -1,5 +0,0 @@ -ci: Daily longterm test minor fixes - -- Don't fail on UnexpectedEOF during `GetTransactionsWithResults`. - -- Enable `"RecoverCorruptedWAL"` for all nodes. diff --git a/.changelog/3389.doc.md b/.changelog/3389.doc.md deleted file mode 100644 index 10ddfafcf6a..00000000000 --- a/.changelog/3389.doc.md +++ /dev/null @@ -1 +0,0 @@ -docs: Fix some links that break with gitbook diff --git a/.changelog/3391.breaking.md b/.changelog/3391.breaking.md deleted file mode 100644 index af46ee32b4a..00000000000 --- a/.changelog/3391.breaking.md +++ /dev/null @@ -1,8 +0,0 @@ -roothash: Add support for failure indicating commitments - -Failure-indicating executor commits are introduced in order to give the -compute nodes a possibility to vote for failure when they cannot execute the -given batch (e.g., due to unavailability of storage). Such commits will always -trigger a discrepancy during discrepancy detection and will vote for failing -the round in discrepancy resolution phase. - diff --git a/.changelog/3391.internal.md b/.changelog/3391.internal.md deleted file mode 100644 index 2dbd0eeb171..00000000000 --- a/.changelog/3391.internal.md +++ /dev/null @@ -1 +0,0 @@ -roothash: Add consistent hash test for ComputeResultsHeader diff --git a/.changelog/3392.internal.md b/.changelog/3392.internal.md deleted file mode 100644 index 7973509f65b..00000000000 --- a/.changelog/3392.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/libp2p/go-libp2p-pubsub from 0.3.5 to 0.3.6 diff --git a/.changelog/3404.internal.md b/.changelog/3404.internal.md deleted file mode 100644 index b055c1893d7..00000000000 --- a/.changelog/3404.internal.md +++ /dev/null @@ -1 +0,0 @@ -e2e/runtime/runtime-upgrade: Wait for old compute nodes to expire diff --git a/.changelog/3405.internal.md b/.changelog/3405.internal.md deleted file mode 100644 index ccdb2ed04ce..00000000000 --- a/.changelog/3405.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/setup-python from v2.1.3 to v2.1.4 diff --git a/.changelog/3408.internal.md b/.changelog/3408.internal.md deleted file mode 100644 index 606d68b581b..00000000000 --- a/.changelog/3408.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/golang/protobuf from 1.4.2 to 1.4.3 diff --git a/.changelog/3414.internal.md b/.changelog/3414.internal.md deleted file mode 100644 index 188a0d763d3..00000000000 --- a/.changelog/3414.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/e2e: Add storage byzantine E2E test cases diff --git a/.changelog/3415.breaking.md b/.changelog/3415.breaking.md deleted file mode 100644 index bde653f5ccd..00000000000 --- a/.changelog/3415.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -Introduce storage root types - -Each storage root now has an associated type (i.e. IO or state). In -particular, this impacts the Apply and ApplyBatch calls and also changes -the storage format of the Badger NodeDB. diff --git a/.changelog/3419.internal.md b/.changelog/3419.internal.md deleted file mode 100644 index d7b310beac1..00000000000 --- a/.changelog/3419.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/prometheus/client_golang diff --git a/.changelog/3423.doc.md b/.changelog/3423.doc.md deleted file mode 100644 index b44cb96bd41..00000000000 --- a/.changelog/3423.doc.md +++ /dev/null @@ -1 +0,0 @@ -ADR 0006: Consensus Governance diff --git a/.changelog/3427.internal.md b/.changelog/3427.internal.md deleted file mode 100644 index 9b7604fa627..00000000000 --- a/.changelog/3427.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/spf13/cobra from 1.0.0 to 1.1.1 in /go diff --git a/.changelog/3428.breaking.md b/.changelog/3428.breaking.md deleted file mode 100644 index 23a484c1993..00000000000 --- a/.changelog/3428.breaking.md +++ /dev/null @@ -1,6 +0,0 @@ -go/staking: Add support for beneficiary allowances - -The staking service now supports setting allowances on general account -balances as specified by [ADR 0003]. - -[ADR 0003]: docs/adr/0003-consensus-runtime-token-transfer.md diff --git a/.changelog/3429.breaking.md b/.changelog/3429.breaking.md deleted file mode 100644 index 48353a3319d..00000000000 --- a/.changelog/3429.breaking.md +++ /dev/null @@ -1,7 +0,0 @@ -Add runtime accounts in the consensus layer - -As described in [ADR 0003] this adds support for runtimes having accounts in -the consensus layer. Runtimes can manipulate those accounts by emitting newly -introduced transfer and withdraw runtime messages. - -[ADR 0003]: docs/adr/0003-consensus-runtime-token-transfer.md diff --git a/.changelog/3430.breaking.md b/.changelog/3430.breaking.md deleted file mode 100644 index 2d17ecd1b39..00000000000 --- a/.changelog/3430.breaking.md +++ /dev/null @@ -1,6 +0,0 @@ -go/roothash: Refactor runtime messages - -Several modifications are made to the runtime message representation and -processing as specified by [ADR 0003]. - -[ADR 0003]: docs/adr/0003-consensus-runtime-token-transfer.md diff --git a/.changelog/3437.internal.md b/.changelog/3437.internal.md deleted file mode 100644 index dd603e123d2..00000000000 --- a/.changelog/3437.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump google.golang.org/grpc from 1.32.0 to 1.33.1 diff --git a/.changelog/3439.doc.md b/.changelog/3439.doc.md deleted file mode 100644 index ca4ac3ddada..00000000000 --- a/.changelog/3439.doc.md +++ /dev/null @@ -1 +0,0 @@ -ADR 0007: Improved Random Beacon diff --git a/.changelog/3440.feature.md b/.changelog/3440.feature.md deleted file mode 100644 index 55637a96462..00000000000 --- a/.changelog/3440.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/worker/storage: Add validation for IO roots in Apply operations diff --git a/.changelog/3444.feature.md b/.changelog/3444.feature.md deleted file mode 100644 index 1f3f9d24dbc..00000000000 --- a/.changelog/3444.feature.md +++ /dev/null @@ -1,4 +0,0 @@ -go/runtime/client: add SubmitTxNoWait method - -SubmitTxNoWait method publishes the runtime transaction and doesn't wait for -results. diff --git a/.changelog/3446.internal.md b/.changelog/3446.internal.md deleted file mode 100644 index b4a54f3f0cb..00000000000 --- a/.changelog/3446.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -rust: bump rustracing - -- bump `rustracing` from 0.4.0 to 0.5.0 -- bump `rustracing_jaeger` from 0.5.0 to 0.6.0 diff --git a/.changelog/3448.breaking.md b/.changelog/3448.breaking.md deleted file mode 100644 index d30abd4e2a8..00000000000 --- a/.changelog/3448.breaking.md +++ /dev/null @@ -1,7 +0,0 @@ -go/roothash: Renamed `FinalizedEvent` field in `roothash.Event` - -The `FinalizedEvent` field in the `roothash.Event` structure has been renamed -to just `Finalized` in order to be consistent with other fields. - -Note that the serialization already used just `finalized` so that remains -unchanged. diff --git a/.changelog/3448.internal.1.md b/.changelog/3448.internal.1.md deleted file mode 100644 index c1cdce6073a..00000000000 --- a/.changelog/3448.internal.1.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/tendermint: Add message passing between mux applications diff --git a/.changelog/3448.internal.2.md b/.changelog/3448.internal.2.md deleted file mode 100644 index 34e4d5a57c8..00000000000 --- a/.changelog/3448.internal.2.md +++ /dev/null @@ -1,3 +0,0 @@ -go/consensus/tendermint: Remove ForeignExecuteTx - -Use recently introduced message passing between apps instead. diff --git a/.changelog/3449.internal.md b/.changelog/3449.internal.md deleted file mode 100644 index 7e941d90121..00000000000 --- a/.changelog/3449.internal.md +++ /dev/null @@ -1,6 +0,0 @@ -go/common/crash: Improvements to the debug crash framework - -- threadsafe global crasher -- ability to configure default probability for all crash points -- fix reported caller information on crash -- crash with a specific exit code diff --git a/.changelog/3450.breaking.2.md b/.changelog/3450.breaking.2.md deleted file mode 100644 index b13c6a814fb..00000000000 --- a/.changelog/3450.breaking.2.md +++ /dev/null @@ -1,10 +0,0 @@ -Remove `SignedRuntime` - -As part of the work on [ADR 0004], support for signed runtime descriptors -has been removed, since they are no longer required. -All methods that used to take signed runtime descriptors now take -non-signed runtime descriptors instead. -This also affects the genesis file, use the `oasis-node debug fix-genesis` -command to convert a genesis file from the old format to the new one. - -[ADR 0004]: docs/adr/0004-runtime-governance.md diff --git a/.changelog/3450.breaking.md b/.changelog/3450.breaking.md deleted file mode 100644 index 195b5075501..00000000000 --- a/.changelog/3450.breaking.md +++ /dev/null @@ -1,6 +0,0 @@ -Modify runtime descriptors to support ADR 0004 - -As described in [ADR 0004], the runtime descriptors are modified to -enable runtime governance. - -[ADR 0004]: docs/adr/0004-runtime-governance.md diff --git a/.changelog/3450.internal.md b/.changelog/3450.internal.md deleted file mode 100644 index 598b92df803..00000000000 --- a/.changelog/3450.internal.md +++ /dev/null @@ -1 +0,0 @@ -Add `GetEntityNodes()` query to registry state diff --git a/.changelog/3452.feature.md b/.changelog/3452.feature.md deleted file mode 100644 index 9af56d9d03f..00000000000 --- a/.changelog/3452.feature.md +++ /dev/null @@ -1 +0,0 @@ -Runtime client should fail `SubmitTx` calls until consensus is synced diff --git a/.changelog/3454.feature.md b/.changelog/3454.feature.md deleted file mode 100644 index 9deded25e21..00000000000 --- a/.changelog/3454.feature.md +++ /dev/null @@ -1,5 +0,0 @@ -Runtime storage sync should use any storage node - -Before storage node sync only used nodes from the current storage committee. -Now it also syncs (with lower priority) from other storage nodes registered -for the runtime. diff --git a/.changelog/3477.breaking.md b/.changelog/3477.breaking.md deleted file mode 100644 index cdd48dfae62..00000000000 --- a/.changelog/3477.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/tendermint: Use canonical chain context in InitChain diff --git a/.changelog/3477.bugfix.md b/.changelog/3477.bugfix.md deleted file mode 100644 index 7a3a9d08702..00000000000 --- a/.changelog/3477.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/genesis: Fix epoch-based sanity checks diff --git a/.changelog/3480.bugfix.md b/.changelog/3480.bugfix.md deleted file mode 100644 index 94c90f89f4e..00000000000 --- a/.changelog/3480.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/storage/mkvs/checkpoint: Fix handling of non-zero earliest version diff --git a/.changelog/3481.bugfix.md b/.changelog/3481.bugfix.md deleted file mode 100644 index f5fa9090845..00000000000 --- a/.changelog/3481.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/tendermint: Fix early `GetStatus()` with initial height > 1 diff --git a/.changelog/3484.breaking.md b/.changelog/3484.breaking.md deleted file mode 100644 index 7de4aa56126..00000000000 --- a/.changelog/3484.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -go/roothash/genesis: restore state from suspended runtimes - -Roothash state of suspended runtimes in genesis was previously not correctly -restored, causing the suspended runtime state to reset once the runtime was -resumed. diff --git a/.changelog/3486.trivial.md b/.changelog/3486.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3489.trivial.md b/.changelog/3489.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3490.trivial.md b/.changelog/3490.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3491.trivial.md b/.changelog/3491.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3492.internal.md b/.changelog/3492.internal.md deleted file mode 100644 index 1841d86929a..00000000000 --- a/.changelog/3492.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -internal: Refactor project's version handling - -Simplify version computation logic in Make files and start using Punch's -version file to track version. diff --git a/.changelog/3493.feature.md b/.changelog/3493.feature.md deleted file mode 100644 index 8d49f85b103..00000000000 --- a/.changelog/3493.feature.md +++ /dev/null @@ -1,3 +0,0 @@ -go/oasis-node/cmd: Add `oasis-node stake account validate_address` CLI command - -It can be used to validate a staking account's address. diff --git a/.changelog/3494.internal.md b/.changelog/3494.internal.md deleted file mode 100644 index 582228dbaf8..00000000000 --- a/.changelog/3494.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/hashicorp/go-plugin from 1.3.0 to 1.4.0 diff --git a/.changelog/3495.internal.md b/.changelog/3495.internal.md deleted file mode 100644 index c2c26f934c9..00000000000 --- a/.changelog/3495.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump google.golang.org/grpc from 1.33.1 to 1.33.2 in /go diff --git a/.changelog/3496.internal.md b/.changelog/3496.internal.md deleted file mode 100644 index 5a3fdbb734c..00000000000 --- a/.changelog/3496.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/hashicorp/go-hclog from 0.14.1 to 0.15.0 diff --git a/.changelog/3497.bugfix.md b/.changelog/3497.bugfix.md deleted file mode 100644 index 80802c1a74a..00000000000 --- a/.changelog/3497.bugfix.md +++ /dev/null @@ -1,5 +0,0 @@ -go: Add missing size checks to `UnmarshalBinary()` methods - -Note that in practice these will never currently be triggered as the -caller always checks the overall size before calling the more specific -`UnmarshalBinary()` method. diff --git a/.changelog/3499.bugfix.1.md b/.changelog/3499.bugfix.1.md deleted file mode 100644 index 888af396a1c..00000000000 --- a/.changelog/3499.bugfix.1.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Remove incorrect Sync impl on mkvs::Tree diff --git a/.changelog/3499.bugfix.2.md b/.changelog/3499.bugfix.2.md deleted file mode 100644 index 9dca3e4542c..00000000000 --- a/.changelog/3499.bugfix.2.md +++ /dev/null @@ -1 +0,0 @@ -go/storage/mkvs: Fix edge case in overlay iterator diff --git a/.changelog/3499.feature.1.md b/.changelog/3499.feature.1.md deleted file mode 100644 index a44f2820fd3..00000000000 --- a/.changelog/3499.feature.1.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Add `mkvs::Iterator` trait and `MKVS::iter` trait method diff --git a/.changelog/3499.feature.2.md b/.changelog/3499.feature.2.md deleted file mode 100644 index 43098b20758..00000000000 --- a/.changelog/3499.feature.2.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Add mkvs::OverlayTree similar to its Go counterpart diff --git a/.changelog/3499.feature.3.md b/.changelog/3499.feature.3.md deleted file mode 100644 index d1d5d5443d9..00000000000 --- a/.changelog/3499.feature.3.md +++ /dev/null @@ -1 +0,0 @@ -go/storage/mkvs: Generate proofs even if Tree.Position is not found diff --git a/.changelog/3502.breaking.md b/.changelog/3502.breaking.md deleted file mode 100644 index e9de0846575..00000000000 --- a/.changelog/3502.breaking.md +++ /dev/null @@ -1,8 +0,0 @@ -Implement Consensus Governance backend - -As described in [ADR 0006] this adds the consensus governance backend -implementation. See [ADR 0006] and [Governance backend documentation] for more -details. - -[ADR 0006]: docs/adr/0006-consensus-governance.md -[Governance backend documentation]: docs/consensus/governance.md diff --git a/.changelog/3504.trivial.md b/.changelog/3504.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3505.bugfix.md b/.changelog/3505.bugfix.md deleted file mode 100644 index 2d78c0f7f2a..00000000000 --- a/.changelog/3505.bugfix.md +++ /dev/null @@ -1,9 +0,0 @@ -go/oasis-node/cmd/registry/entity: Reuse signer instead of creating a new one - -The `oasis-node registry entity register` CLI command previously always -created two signer factories, one for signing the entity descriptor and one -for signing the entity registration transaction. - -Some signers assign exclusive access to an underlying resource (e.g., HSM) to -the given factory. In that case, all operations on the second signer factory -would fail. diff --git a/.changelog/3506.internal.md b/.changelog/3506.internal.md deleted file mode 100644 index db9fcebf298..00000000000 --- a/.changelog/3506.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-node/cmd/common/consensus: Augment `SignAndSaveTx()` with `signer` - -Add ability to pass a pre-existing `signature.Signer` as `signer` parameter to -the `SignAndSaveTx()` function. diff --git a/.changelog/3510.internal.md b/.changelog/3510.internal.md deleted file mode 100644 index 5b6154b1b0c..00000000000 --- a/.changelog/3510.internal.md +++ /dev/null @@ -1,5 +0,0 @@ -go: Update libp2p dependencies - -- github.com/libp2p/go-libp2p-core from 0.6.1 to 0.7.0 -- github.com/libp2p/go-libp2p from 0.11.0 to 0.12.0 -- github.com/libp2p/go-libp2p-pubsub from 0.3.6 to 0.4.0 diff --git a/.changelog/3511.breaking.2.md b/.changelog/3511.breaking.2.md deleted file mode 100644 index 4eacc8c2153..00000000000 --- a/.changelog/3511.breaking.2.md +++ /dev/null @@ -1,4 +0,0 @@ -runtime: Move consensus layer structures to its own module - -Everything under `common::{address, registry, roothash, staking}` in the -`oasis-core-runtime` crate has been moved under the `consensus` module. diff --git a/.changelog/3511.breaking.md b/.changelog/3511.breaking.md deleted file mode 100644 index 7f5a30a366f..00000000000 --- a/.changelog/3511.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/api: Change ConsensusVersion field in Status structure diff --git a/.changelog/3511.feature.2.md b/.changelog/3511.feature.2.md deleted file mode 100644 index 08af4501fd7..00000000000 --- a/.changelog/3511.feature.2.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-node/cmd/stake: Add gen_{allow,withdraw} subcommands diff --git a/.changelog/3511.feature.md b/.changelog/3511.feature.md deleted file mode 100644 index f695ff74ac6..00000000000 --- a/.changelog/3511.feature.md +++ /dev/null @@ -1,3 +0,0 @@ -go/consensus/api: Add `Registry()`/`Staking()`/`Scheduler()` to client backend - -This makes it more convenient to use the consensus client backend. diff --git a/.changelog/3511.internal.md b/.changelog/3511.internal.md deleted file mode 100644 index 631ab6d5f8b..00000000000 --- a/.changelog/3511.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump arc-swap to 0.4.8 diff --git a/.changelog/3512.bugfix.md b/.changelog/3512.bugfix.md deleted file mode 100644 index 07a87de5639..00000000000 --- a/.changelog/3512.bugfix.md +++ /dev/null @@ -1,4 +0,0 @@ -Bump Go to 1.15.5 - -This fixes a recently disclosed security vulnerability in the Go runtime -library. diff --git a/.changelog/3516.feature.md b/.changelog/3516.feature.md deleted file mode 100644 index ad0249a23cc..00000000000 --- a/.changelog/3516.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/tendermint: Also dump state when shutting down for upgrade diff --git a/.changelog/3519.internal.md b/.changelog/3519.internal.md deleted file mode 100644 index 36a8633e5a6..00000000000 --- a/.changelog/3519.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/download-artifact from v2.0.5 to v2.0.6 diff --git a/.changelog/3520.internal.md b/.changelog/3520.internal.md deleted file mode 100644 index b8eacaa329d..00000000000 --- a/.changelog/3520.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/upload-artifact from v2.2.0 to v2.2.1 diff --git a/.changelog/3522.internal.md b/.changelog/3522.internal.md deleted file mode 100644 index 7195cef6e90..00000000000 --- a/.changelog/3522.internal.md +++ /dev/null @@ -1 +0,0 @@ -github: Replace deprecated `set-env` workflow command with environment file diff --git a/.changelog/3524.bugfix.md b/.changelog/3524.bugfix.md deleted file mode 100644 index fa837357d75..00000000000 --- a/.changelog/3524.bugfix.md +++ /dev/null @@ -1,6 +0,0 @@ -go/worker/registration: Fix RequestShutdown for nodes with no registration - -In cases where the registration worker was started with a dummy -goroutine that just waits for the service to stop, deregistration -requests would hang, because the dummy wasn't watching the -deregistration channel. diff --git a/.changelog/3525.bugfix.md b/.changelog/3525.bugfix.md deleted file mode 100644 index c99633270cf..00000000000 --- a/.changelog/3525.bugfix.md +++ /dev/null @@ -1,6 +0,0 @@ -go/worker/storage: Fill in additional versions when restoring state - -When a storage database from one network is used in a new network (e.g. when -the consensus layer did a dump/restore upgrade) properly handle the case -where there were additional rounds after the runtime has stopped (e.g., due -to epoch transitions). diff --git a/.changelog/3530.internal.md b/.changelog/3530.internal.md deleted file mode 100644 index 232645925b6..00000000000 --- a/.changelog/3530.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/blevesearch/bleve from 1.0.12 to 1.0.13 diff --git a/.changelog/3534.bugfix.md b/.changelog/3534.bugfix.md deleted file mode 100644 index b5c1201e3d0..00000000000 --- a/.changelog/3534.bugfix.md +++ /dev/null @@ -1,5 +0,0 @@ -go/consensus/tendermint: Report peers and validator status only after started - -When accessing the node status in very early stages of initialization when a -Tendermint node structure is not available, the status RPC would make the node -panic. Leave the peers and validator status blank instead. diff --git a/.changelog/3536.breaking.md b/.changelog/3536.breaking.md deleted file mode 100644 index d6631ea57e7..00000000000 --- a/.changelog/3536.breaking.md +++ /dev/null @@ -1,11 +0,0 @@ -go/upgrade: Support multiple pending upgrades - -Upgrade module now supports submitting multiple upgrades. - -API changes: - -- `/oasis-core.NodeController/CancelUpgrade` now accepts a `name` argument -that specifies which pending upgrade should be canceled. - -- `/oasis-core.NodeController/GetStatus` now includes node pending upgrades -in the response diff --git a/.changelog/3538.bugfix.md b/.changelog/3538.bugfix.md deleted file mode 100644 index e25285311f5..00000000000 --- a/.changelog/3538.bugfix.md +++ /dev/null @@ -1,5 +0,0 @@ -go/worker/storage: Force checkpoint sync when replication is needed - -Previously a freshly initialized storage node with no genesis state would -fall back to incremental sync even though there was no chance of that -succeeding. diff --git a/.changelog/3538.internal.md b/.changelog/3538.internal.md deleted file mode 100644 index 3570654c263..00000000000 --- a/.changelog/3538.internal.md +++ /dev/null @@ -1,6 +0,0 @@ -go/storage/mkvs/checkpoint: Add initial version parameter - -Previously if the local database contained a version earlier than the genesis -version, the checkpointer would attempt to create a new checkpoint at that -earlier version (and fail). Now the version is clamped at the initial -version. diff --git a/.changelog/3539.breaking.md b/.changelog/3539.breaking.md deleted file mode 100644 index ed4cb84d0e2..00000000000 --- a/.changelog/3539.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -Allow more updates when updating an expired node - -Registering an expired (but not yet deleted) node was before subject to the -same update restriction rules as an active node being updated. However it -makes sense for expired nodes to be allowed to update various fields. diff --git a/.changelog/3542.trivial.md b/.changelog/3542.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3543.internal.md b/.changelog/3543.internal.md deleted file mode 100644 index 9e14a3f7e6f..00000000000 --- a/.changelog/3543.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump google.golang.org/grpc from 1.33.2 to 1.34.0 diff --git a/.changelog/3545.bugfix.md b/.changelog/3545.bugfix.md deleted file mode 100644 index 1121023e5e0..00000000000 --- a/.changelog/3545.bugfix.md +++ /dev/null @@ -1,3 +0,0 @@ -go/roothash/api/commitment: Return proposer commit in DR - -A subtle bug introduced in PR 3448 and discovered by daily long-term tests. diff --git a/.changelog/3546.feature.md b/.changelog/3546.feature.md deleted file mode 100644 index 4cb65c381b2..00000000000 --- a/.changelog/3546.feature.md +++ /dev/null @@ -1,7 +0,0 @@ -go/common/version: Add `ConvertGoModulesVersion()` function - -It can be used to convert a Go Modules compatible version defined in -[ADR 0002] (i.e. a Go Modules compatible Git tag without the `go/` prefix) to -the canonical Oasis Core version. - -[ADR 0002]: docs/adr/0002-go-modules-compatible-git-tags.md diff --git a/.changelog/3549.internal.md b/.changelog/3549.internal.md deleted file mode 100644 index d1fe3af34ba..00000000000 --- a/.changelog/3549.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump docker/build-push-action from v1 to v2.2.1 diff --git a/.changelog/3554.trivial.md b/.changelog/3554.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3555.trivial.md b/.changelog/3555.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3556.internal.md b/.changelog/3556.internal.md deleted file mode 100644 index 5135b95a307..00000000000 --- a/.changelog/3556.internal.md +++ /dev/null @@ -1,5 +0,0 @@ -go/oasis-node/cmd/common: Add `LoadEntitySigner()` helper - -Replace `LoadEntity()` helper with `LoadEntitySigner()` that requires no -arguments and loads the entity directory and obtains the signer backend by -itself. diff --git a/.changelog/3557.breaking.md b/.changelog/3557.breaking.md deleted file mode 100644 index 48ef2ab935f..00000000000 --- a/.changelog/3557.breaking.md +++ /dev/null @@ -1,10 +0,0 @@ -go/oasis-node/cmd/stake: Enhance `account info`'s output - -It now displays an account's: - -- total and available balance, -- incoming and outgoing active/debonding delegations, -- allowances, -- commission schedule, -- staking accumulator, -- nonce. diff --git a/.changelog/3558.internal.md b/.changelog/3558.internal.md deleted file mode 100644 index 7c49eaf8836..00000000000 --- a/.changelog/3558.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/blevesearch/bleve from 1.0.13 to 1.0.14 diff --git a/.changelog/3559.feature.md b/.changelog/3559.feature.md deleted file mode 100644 index 8ac921b5687..00000000000 --- a/.changelog/3559.feature.md +++ /dev/null @@ -1,3 +0,0 @@ -go/oasis-node/cmd: Add `oasis-node stake account nonce` CLI command - -It can be used to get a staking account's current nonce. diff --git a/.changelog/3563.internal.md b/.changelog/3563.internal.md deleted file mode 100644 index 1492a9af6f2..00000000000 --- a/.changelog/3563.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/setup-node from v2.1.2 to v2.1.3 diff --git a/.changelog/3565.breaking.md b/.changelog/3565.breaking.md deleted file mode 100644 index 506bbcfe492..00000000000 --- a/.changelog/3565.breaking.md +++ /dev/null @@ -1,4 +0,0 @@ -go/consensus: Include consensus genesis parameters in `GetParameters` - -Consensus `GetParameters` method response now includes the consensus genesis -parameters. diff --git a/.changelog/3565.bugfix.md b/.changelog/3565.bugfix.md deleted file mode 100644 index 5260d21e8cf..00000000000 --- a/.changelog/3565.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/tendermint: Fix GetLightBlock and GetParameters queries for latest height diff --git a/.changelog/3565.feature.2.md b/.changelog/3565.feature.2.md deleted file mode 100644 index bdf4a4c50fc..00000000000 --- a/.changelog/3565.feature.2.md +++ /dev/null @@ -1 +0,0 @@ -go/epochtime: Add ConsensusParameters method to epochtime backend diff --git a/.changelog/3565.feature.3.md b/.changelog/3565.feature.3.md deleted file mode 100644 index fa2334a3d38..00000000000 --- a/.changelog/3565.feature.3.md +++ /dev/null @@ -1,6 +0,0 @@ -go/consensus: Add EpochtimeConsensusParameters to the consensus backend - -Adds a method for querying epochtime consensus parameters to the consensus -backend. This is temporary since we currently do not provide an epochtime -gRPC service. The `ConsensusParameters` method on the new beacon backend -can replace this method. diff --git a/.changelog/3565.feature.md b/.changelog/3565.feature.md deleted file mode 100644 index e06b67ff991..00000000000 --- a/.changelog/3565.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/scheduler: Add ConsensusParameters method to scheduler backend diff --git a/.changelog/3568.internal.md b/.changelog/3568.internal.md deleted file mode 100644 index 5a4d7e5b8c0..00000000000 --- a/.changelog/3568.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-node/txsource: Increase submission timeout - -Sometimes it can take up to two minutes for a transaction to get included in a -block due to high load. diff --git a/.changelog/3569.bugfix.md b/.changelog/3569.bugfix.md deleted file mode 100644 index a1bc463eb62..00000000000 --- a/.changelog/3569.bugfix.md +++ /dev/null @@ -1,6 +0,0 @@ -go/runtime/scheduling: Consumer should pull from scheduler - -Previously the scheduler would push batches to the consumer (e.g. compute -node) which makes no sense as the consumer knows when it's ready to accept -new batches. This changes the model so that the consumer pulls batches from -the scheduler. diff --git a/.changelog/3571.internal.md b/.changelog/3571.internal.md deleted file mode 100644 index 09dbbc6d59c..00000000000 --- a/.changelog/3571.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/download-artifact from v2.0.6 to v2.0.7 diff --git a/.changelog/3573.breaking.1.md b/.changelog/3573.breaking.1.md deleted file mode 100644 index 5e4c9f52552..00000000000 --- a/.changelog/3573.breaking.1.md +++ /dev/null @@ -1,9 +0,0 @@ -runtime: Make CheckTx result more generic - -The previous definition made it hard for the runtime host to reason about the -returned status code of CheckTx unless it was tied to the result format -defined by the runtime. - -This is a breaking change to the Runtime Host Protocol as the -RuntimeCheckTxBatchResponse structure has changed. It also breaks the -transaction::Dispatcher API. diff --git a/.changelog/3573.feature.1.md b/.changelog/3573.feature.1.md deleted file mode 100644 index e6791812b9e..00000000000 --- a/.changelog/3573.feature.1.md +++ /dev/null @@ -1,3 +0,0 @@ -runtime/common/version: Make Version::new a const fn - -Also expose members publicly. diff --git a/.changelog/3573.feature.2.md b/.changelog/3573.feature.2.md deleted file mode 100644 index 3bcbd33cf17..00000000000 --- a/.changelog/3573.feature.2.md +++ /dev/null @@ -1 +0,0 @@ -go/runtime/client: Add GetEvents to fetch emitted runtime events diff --git a/.changelog/3575.internal.md b/.changelog/3575.internal.md deleted file mode 100644 index 2db4544c292..00000000000 --- a/.changelog/3575.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/setup-node from v2.1.3 to v2.1.4 diff --git a/.changelog/3576.internal.md b/.changelog/3576.internal.md deleted file mode 100644 index ec0ac693ad7..00000000000 --- a/.changelog/3576.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/prometheus/client_golang from 1.8.0 to 1.9.0 diff --git a/.changelog/3577.internal.md b/.changelog/3577.internal.md deleted file mode 100644 index 3a69f88dd9f..00000000000 --- a/.changelog/3577.internal.md +++ /dev/null @@ -1 +0,0 @@ -dependencies: update bubblewrap to 0.4.1 diff --git a/.changelog/3579.breaking.md b/.changelog/3579.breaking.md deleted file mode 100644 index 79bf32fa70c..00000000000 --- a/.changelog/3579.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -go/upgrade: Use ProtocolVersions as internal upgrade identifier - -Before this change the Internal upgrades used node binary hashes to ensure -upgrade version compatibility. To make it more practical use software versions -instead. diff --git a/.changelog/3582.internal.md b/.changelog/3582.internal.md deleted file mode 100644 index bc6c5832bbb..00000000000 --- a/.changelog/3582.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/setup-python from v2.1.4 to v2.2.1 diff --git a/.changelog/3588.internal.md b/.changelog/3588.internal.md deleted file mode 100644 index 734415eb18e..00000000000 --- a/.changelog/3588.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/libp2p/go-libp2p from 0.12.0 to 0.13.0 diff --git a/.changelog/3589.feature.md b/.changelog/3589.feature.md deleted file mode 100644 index 8d49f85b103..00000000000 --- a/.changelog/3589.feature.md +++ /dev/null @@ -1,3 +0,0 @@ -go/oasis-node/cmd: Add `oasis-node stake account validate_address` CLI command - -It can be used to validate a staking account's address. diff --git a/.changelog/3593.internal.md b/.changelog/3593.internal.md deleted file mode 100644 index 86d994c4749..00000000000 --- a/.changelog/3593.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-node/txsource: Fix event validation in queries workload - -A single transaction can now emit multiple identical events when performing -runtime message execution emitting events. diff --git a/.changelog/3594.bugfix.md b/.changelog/3594.bugfix.md deleted file mode 100644 index 03207476ac0..00000000000 --- a/.changelog/3594.bugfix.md +++ /dev/null @@ -1,9 +0,0 @@ -go/consensus/tendermint/roothash: Fix latest block reindexing - -Only commit the block in case it was not already committed during reindex. -This can happen when reindexing after a crash (e.g., the before_index crash -point) since the initial height at which the reindex happens does not -necessarily contain a round finalization event so reindexing up to height-1 -doesn't help. - -Discovered during long-term tests. diff --git a/.changelog/3595.internal.md b/.changelog/3595.internal.md deleted file mode 100644 index d9df280c627..00000000000 --- a/.changelog/3595.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/e2e/txsource: add txsource SGX scenario using fewer nodes diff --git a/.changelog/3596.internal.md b/.changelog/3596.internal.md deleted file mode 100644 index 72f764b6bea..00000000000 --- a/.changelog/3596.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/upload-artifact from v2.2.1 to v2.2.2 diff --git a/.changelog/3597.internal.md b/.changelog/3597.internal.md deleted file mode 100644 index bb82d4e0d60..00000000000 --- a/.changelog/3597.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump actions/download-artifact from v2.0.7 to v2.0.8 diff --git a/.changelog/3599.bugfix.md b/.changelog/3599.bugfix.md deleted file mode 100644 index 469e92ed319..00000000000 --- a/.changelog/3599.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/worker/common/committee: Wait for initial consensus sync diff --git a/.changelog/3600.trivial.md b/.changelog/3600.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3601.breaking.md b/.changelog/3601.breaking.md deleted file mode 100644 index 31804e0b4d9..00000000000 --- a/.changelog/3601.breaking.md +++ /dev/null @@ -1,9 +0,0 @@ -Add ability to set a non-zero initial commission schedule - -When setting the initial commission schedule for an account, the -`RateBoundLead` restriction is ignored. Therefore the initial bounds and rates -can be set for the first next epoch aligned with `RateChangeInterval`. - -This effectively means that accounts without a configured commission schedule -should be considered as having bounds: `0%-100%`, as the initial schedule can -be set at any next epoch. diff --git a/.changelog/3602.internal.md b/.changelog/3602.internal.md deleted file mode 100644 index d40f2b6f064..00000000000 --- a/.changelog/3602.internal.md +++ /dev/null @@ -1 +0,0 @@ -github: Bump GoReleaser in ci-reproducibility and release workflows to 0.152.0 diff --git a/.changelog/3603.internal.md b/.changelog/3603.internal.md deleted file mode 100644 index 468b719e7ec..00000000000 --- a/.changelog/3603.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-test-runner/txsource: Add governance workload diff --git a/.changelog/3604.internal.2.md b/.changelog/3604.internal.2.md deleted file mode 100644 index 4d4ddd63740..00000000000 --- a/.changelog/3604.internal.2.md +++ /dev/null @@ -1 +0,0 @@ -Update smallvec to 0.6.14 diff --git a/.changelog/3604.internal.md b/.changelog/3604.internal.md deleted file mode 100644 index 8276d3e1dfa..00000000000 --- a/.changelog/3604.internal.md +++ /dev/null @@ -1 +0,0 @@ -runtime/storage/mkvs: Add MKVS impl for &mut T diff --git a/.changelog/3605.internal.md b/.changelog/3605.internal.md deleted file mode 100644 index 0175443b063..00000000000 --- a/.changelog/3605.internal.md +++ /dev/null @@ -1 +0,0 @@ -ci: bump docker/build-push-action from v2.2.1 to v2.2.2 diff --git a/.changelog/3611.breaking.md b/.changelog/3611.breaking.md deleted file mode 100644 index f0bcf8a22d5..00000000000 --- a/.changelog/3611.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/scheduler: Check runtime versions for node eligibility diff --git a/.changelog/3612.trivial.md b/.changelog/3612.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3616.internal.md b/.changelog/3616.internal.md deleted file mode 100644 index 9e1f89f5ef6..00000000000 --- a/.changelog/3616.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/prometheus/procfs from 0.2.0 to 0.3.0 diff --git a/.changelog/3617.internal.md b/.changelog/3617.internal.md deleted file mode 100644 index a0ee028240a..00000000000 --- a/.changelog/3617.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump google.golang.org/grpc from 1.34.0 to 1.34.1 diff --git a/.changelog/3618.internal.md b/.changelog/3618.internal.md deleted file mode 100644 index a650c1cb985..00000000000 --- a/.changelog/3618.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/e2e/governance-upgrade: wait for compute nodes to be ready diff --git a/.changelog/3621.internal.md b/.changelog/3621.internal.md deleted file mode 100644 index 524f98351be..00000000000 --- a/.changelog/3621.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump honggfuzz from 0.5.51 to 0.5.52 diff --git a/.changelog/3622.internal.md b/.changelog/3622.internal.md deleted file mode 100644 index 031d46145f3..00000000000 --- a/.changelog/3622.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump slog-scope from 4.3.0 to 4.4.0 diff --git a/.changelog/3624.internal.md b/.changelog/3624.internal.md deleted file mode 100644 index acd55636d1a..00000000000 --- a/.changelog/3624.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/libp2p/go-libp2p-pubsub from 0.4.0 to 0.4.1 diff --git a/.changelog/3628.breaking.md b/.changelog/3628.breaking.md deleted file mode 100644 index 68d01e3f6f8..00000000000 --- a/.changelog/3628.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -Add `update_runtime` runtime message - -A new runtime message was added that enables runtimes to -submit updated runtime descriptors for their runtime to -the registry. diff --git a/.changelog/3630.internal.md b/.changelog/3630.internal.md deleted file mode 100644 index 4e81993fb4a..00000000000 --- a/.changelog/3630.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/common/cbor: Re-export Marshaler and Unmarshaler interfaces diff --git a/.changelog/3631.internal.md b/.changelog/3631.internal.md deleted file mode 100644 index 3bb6bd34f6c..00000000000 --- a/.changelog/3631.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump google.golang.org/grpc from 1.34.1 to 1.35.0 diff --git a/.changelog/3632.internal.md b/.changelog/3632.internal.md deleted file mode 100644 index 4aea6864489..00000000000 --- a/.changelog/3632.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/stretchr/testify from 1.6.1 to 1.7.0 diff --git a/.changelog/3633.breaking.md b/.changelog/3633.breaking.md deleted file mode 100644 index 72a18aed56c..00000000000 --- a/.changelog/3633.breaking.md +++ /dev/null @@ -1,4 +0,0 @@ -runtime: Remove common::runtime::RuntimeId - -The Go API has been using Namespace for a while so this makes it -consistent in the Rust runtime as well. diff --git a/.changelog/3633.internal.md b/.changelog/3633.internal.md deleted file mode 100644 index 71a44cb501b..00000000000 --- a/.changelog/3633.internal.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Validate block namespace against runtime ID diff --git a/.changelog/3636.internal.md b/.changelog/3636.internal.md deleted file mode 100644 index 9172f54b87d..00000000000 --- a/.changelog/3636.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-test-runner/txsource: Decrease MinPoolSize for restarts - -When restarts are enabled there can be one less node so we should make sure -to decrease the MinPoolSize in this case. diff --git a/.changelog/3640.breaking.md b/.changelog/3640.breaking.md deleted file mode 100644 index 38260227a9c..00000000000 --- a/.changelog/3640.breaking.md +++ /dev/null @@ -1,4 +0,0 @@ -go/roothash: Support slashing runtime compute nodes - -Runtimes can configure whether compute nodes should be slashed for submitting -incorrect results or equivocating. diff --git a/.changelog/3641.breaking.md b/.changelog/3641.breaking.md deleted file mode 100644 index eb2ca738657..00000000000 --- a/.changelog/3641.breaking.md +++ /dev/null @@ -1,4 +0,0 @@ -runtimes: Support for Add/ReclaimEscrow runtime messages - -Escrow runtime messages need to be explicitly enabled via the -`AllowEscrowMessages` consensus parameter. diff --git a/.changelog/3643.breaking.md b/.changelog/3643.breaking.md deleted file mode 100644 index debcefb31ce..00000000000 --- a/.changelog/3643.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/roothash: runtime domain separation context in executor commitments diff --git a/.changelog/3644.breaking.md b/.changelog/3644.breaking.md deleted file mode 100644 index f594c2b65f9..00000000000 --- a/.changelog/3644.breaking.md +++ /dev/null @@ -1,8 +0,0 @@ -Add runtime scheduling constraints - -Each runtime can now impose additional scheduling constraints for its -committee nodes (separately for primary/backup): - -- Validator set membership. -- Maximum number of nodes per entity. -- Minimum candidate node pool size. diff --git a/.changelog/3645.feature.md b/.changelog/3645.feature.md deleted file mode 100644 index 95037676969..00000000000 --- a/.changelog/3645.feature.md +++ /dev/null @@ -1,4 +0,0 @@ -go/worker/executor: Propose a new batch if there are message results - -The runtime executor now proposes a new batch if there are message results -from previous round even if there are no transactions. diff --git a/.changelog/3646.breaking.1.md b/.changelog/3646.breaking.1.md deleted file mode 100644 index e0741d08344..00000000000 --- a/.changelog/3646.breaking.1.md +++ /dev/null @@ -1 +0,0 @@ -go/slashing/api: change SlashReason type to `uint8` diff --git a/.changelog/3646.breaking.2.md b/.changelog/3646.breaking.2.md deleted file mode 100644 index d10a6359d06..00000000000 --- a/.changelog/3646.breaking.2.md +++ /dev/null @@ -1 +0,0 @@ -go/staking/api: Rename DoubleSigning to ConsensusEquivocation diff --git a/.changelog/3648.bugfix.md b/.changelog/3648.bugfix.md deleted file mode 100644 index 13200168384..00000000000 --- a/.changelog/3648.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/tendermint: Fix nil deref in EstimateGas diff --git a/.changelog/3650.trivial.md b/.changelog/3650.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3653.cfg.md b/.changelog/3653.cfg.md deleted file mode 100644 index 5b519e4026a..00000000000 --- a/.changelog/3653.cfg.md +++ /dev/null @@ -1,5 +0,0 @@ -Change compute worker runtime configuration flags - -All the flags under `worker.runtime.*` have been moved under just -`runtime.*`. For example the `worker.runtime.paths` flag needs to be renamed -to `runtime.paths`. diff --git a/.changelog/3653.feature.md b/.changelog/3653.feature.md deleted file mode 100644 index 68e5abce3e9..00000000000 --- a/.changelog/3653.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/runtime/client: Perform local CheckTx when a hosted runtime exists diff --git a/.changelog/3653.internal.2.md b/.changelog/3653.internal.2.md deleted file mode 100644 index 005bfb45aa8..00000000000 --- a/.changelog/3653.internal.2.md +++ /dev/null @@ -1,4 +0,0 @@ -go/runtime/host: Add helpers for common requests - -An additional interface `RichRuntime` is added which provides wrappers for -common requests (currently only `CheckTx`). diff --git a/.changelog/3653.internal.md b/.changelog/3653.internal.md deleted file mode 100644 index eeba80c8f73..00000000000 --- a/.changelog/3653.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/runtime: Move host configuration to runtime registry diff --git a/.changelog/3655.trivial.md b/.changelog/3655.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3657.internal.md b/.changelog/3657.internal.md deleted file mode 100644 index 3bfda7aafc5..00000000000 --- a/.changelog/3657.internal.md +++ /dev/null @@ -1,3 +0,0 @@ -go: Bump ed25519 for fixes on 32-bit architectures - -Note that 32-bit architectures are not supported by Oasis Core. diff --git a/.changelog/3660.breaking.md b/.changelog/3660.breaking.md deleted file mode 100644 index 51db543eb03..00000000000 --- a/.changelog/3660.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/registry: Fix node sanity checks diff --git a/.changelog/3661.breaking.md b/.changelog/3661.breaking.md deleted file mode 100644 index ae77d007a83..00000000000 --- a/.changelog/3661.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -Remove support for entity-signed node registrations - -Support for entity-signed node registrations has been removed, -as they were only used in tests and not on any real network. -Only node-signed node registrations are supported now. diff --git a/.changelog/3662.feature.2.md b/.changelog/3662.feature.2.md deleted file mode 100644 index 14850c9c9d8..00000000000 --- a/.changelog/3662.feature.2.md +++ /dev/null @@ -1,3 +0,0 @@ -go/runtime/client: Also expose CheckTx - -The `CheckTx` functionality is now also exposed via the runtime client API. diff --git a/.changelog/3662.feature.md b/.changelog/3662.feature.md deleted file mode 100644 index b56b37cdeb1..00000000000 --- a/.changelog/3662.feature.md +++ /dev/null @@ -1,5 +0,0 @@ -runtime: Add support for runtime-specific queries - -Runtimes can now implement a handler for `RuntimeQueryRequest` messages to -expose arbitrary queries to runtime clients. Query routing is performed using -method names. diff --git a/.changelog/3662.internal.md b/.changelog/3662.internal.md deleted file mode 100644 index cf9e6331d5b..00000000000 --- a/.changelog/3662.internal.md +++ /dev/null @@ -1,5 +0,0 @@ -runtime: Refactor the dispatcher - -Previously each request handler performed its own response submission which -repeated a lot of code. This has now been changed by all handlers returning -a proper result type and the main dispatch loop sending the responses. diff --git a/.changelog/3663.internal.md b/.changelog/3663.internal.md deleted file mode 100644 index 486c8ffb239..00000000000 --- a/.changelog/3663.internal.md +++ /dev/null @@ -1,3 +0,0 @@ -tests: Fix potential key clash in the confidential test KV runtime - -This was responsible for some E2E test flakiness. diff --git a/.changelog/3666.internal.md b/.changelog/3666.internal.md deleted file mode 100644 index c1fe560a433..00000000000 --- a/.changelog/3666.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -beacon: Add a minimal gRPC service - -I would put something more descriptive in here, but the change log -fragment CI linter continues to terrorize me. diff --git a/.changelog/3668.internal.md b/.changelog/3668.internal.md deleted file mode 100644 index 4337b66093a..00000000000 --- a/.changelog/3668.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/worker/beacon: Fix a state recovery edge case diff --git a/.changelog/3669.internal.md b/.changelog/3669.internal.md deleted file mode 100644 index 5e06e2c92b8..00000000000 --- a/.changelog/3669.internal.md +++ /dev/null @@ -1,4 +0,0 @@ -go/consensus/tendermint/abci/mux: Reject early EstimateGas calls - -With the new beacon, EstimateGas will not work till either InitChain or -BeginBlock have been called successfully at least once. diff --git a/.changelog/3675.internal.md b/.changelog/3675.internal.md deleted file mode 100644 index 267fd5224fe..00000000000 --- a/.changelog/3675.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus: Add support for method priority diff --git a/.changelog/3678.internal.md b/.changelog/3678.internal.md deleted file mode 100644 index 219f1aacc05..00000000000 --- a/.changelog/3678.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-node/cmd/common/metrics: Fix label escaping diff --git a/.changelog/3679.internal.md b/.changelog/3679.internal.md deleted file mode 100644 index 589bf029310..00000000000 --- a/.changelog/3679.internal.md +++ /dev/null @@ -1 +0,0 @@ -Make sure tracing is only enabled in debug mode diff --git a/.changelog/3682.breaking.md b/.changelog/3682.breaking.md deleted file mode 100644 index 4f20f0a7e70..00000000000 --- a/.changelog/3682.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/registry: Change minimum ProposerTimeout from 5 to 2 blocks diff --git a/.changelog/3692.trivial.md b/.changelog/3692.trivial.md deleted file mode 100644 index 923f3f8750d..00000000000 --- a/.changelog/3692.trivial.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump rustracing_jaeger from 0.6.0 to 0.6.1 diff --git a/.changelog/3693.trivial.md b/.changelog/3693.trivial.md deleted file mode 100644 index 46e2adf6069..00000000000 --- a/.changelog/3693.trivial.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/prometheus/procfs from 0.3.0 to 0.6.0 diff --git a/.changelog/3695.trivial.md b/.changelog/3695.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3696.feature.md b/.changelog/3696.feature.md deleted file mode 100644 index 2eeac00b90c..00000000000 --- a/.changelog/3696.feature.md +++ /dev/null @@ -1,8 +0,0 @@ -go/worker/storage: Add StorageRPC role and change access policy - -Getting checkpoints and diffs is now allowed for any connecting node, -which eliminates a race condition and initialization difficulty in the -storage committee node startup. - -State access is made gated but optionally public as before, depending on -command line parameters. diff --git a/.changelog/3699.internal.md b/.changelog/3699.internal.md deleted file mode 100644 index 4a94ccbba5a..00000000000 --- a/.changelog/3699.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump bech32 from 0.7.2 to 0.8.0 diff --git a/.changelog/3704.trivial.md b/.changelog/3704.trivial.md deleted file mode 100644 index 0b3a99b15bf..00000000000 --- a/.changelog/3704.trivial.md +++ /dev/null @@ -1 +0,0 @@ -rust: update rand_core to 0.6.2 diff --git a/.changelog/3709.breaking.md b/.changelog/3709.breaking.md deleted file mode 100644 index 5951392afc5..00000000000 --- a/.changelog/3709.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/genesis/api: Change canonical form of genesis file to end with a newline diff --git a/.changelog/3709.feature.1.md b/.changelog/3709.feature.1.md deleted file mode 100644 index 254cb18da01..00000000000 --- a/.changelog/3709.feature.1.md +++ /dev/null @@ -1,4 +0,0 @@ -go/genesis/api: Update `WriteFileJSON()` to create files in the canonical form - -Consequentially, all its users (most notably the dump genesis halt hook) now -produce genesis files in the canonical form. diff --git a/.changelog/3709.feature.2.md b/.changelog/3709.feature.2.md deleted file mode 100644 index 6b846559797..00000000000 --- a/.changelog/3709.feature.2.md +++ /dev/null @@ -1,3 +0,0 @@ -go/common/diff: Add package implementing helpers for comparing objects - -Add `UnifiedDiffString()` which returns unified diff between two strings. diff --git a/.changelog/3709.feature.md b/.changelog/3709.feature.md deleted file mode 100644 index e336f52a5d8..00000000000 --- a/.changelog/3709.feature.md +++ /dev/null @@ -1,4 +0,0 @@ -go/genesis/api: Add `CanonicalJSON()` method to `Document` type - -It can be used to obtain the canonical form of the genesis document -serialized into a file. diff --git a/.changelog/3711.internal.md b/.changelog/3711.internal.md deleted file mode 100644 index 75b241e6549..00000000000 --- a/.changelog/3711.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/libp2p/go-libp2p-core to 0.8.4 diff --git a/.changelog/3714.bugfix.md b/.changelog/3714.bugfix.md deleted file mode 100644 index d124ac2c90d..00000000000 --- a/.changelog/3714.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-node/cmd/node: Fix error handling when writing in `dumpGenesis()` diff --git a/.changelog/3717.breaking.md b/.changelog/3717.breaking.md deleted file mode 100644 index 1dde58b43a5..00000000000 --- a/.changelog/3717.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -go/staking/state: Remove nonce as the debonding delegations disambiguator - -Account nonce is removed from the debonding delegations state key. Instead -if there are multiple debonding delegations for the same account and debond -end epoch, those get merged into a single debonding delegation record. diff --git a/.changelog/3718.internal.md b/.changelog/3718.internal.md deleted file mode 100644 index 1e7ca407622..00000000000 --- a/.changelog/3718.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/libp2p/go-libp2p-core from 0.8.4 to 0.8.5 diff --git a/.changelog/3719.internal.1.md b/.changelog/3719.internal.1.md deleted file mode 100644 index b45f60df305..00000000000 --- a/.changelog/3719.internal.1.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-test-runner: Configurable supplementary sanity checker - -Before the supplementary sanity checker was always automatically started on -the validator-0. diff --git a/.changelog/3719.internal.2.md b/.changelog/3719.internal.2.md deleted file mode 100644 index 4dddb8be83a..00000000000 --- a/.changelog/3719.internal.2.md +++ /dev/null @@ -1,3 +0,0 @@ -go/oasis-test-runner: Add support for configuring `pprof` - -Adds support for configuring `pprof` on the test nodes. diff --git a/.changelog/3722.internal.1.md b/.changelog/3722.internal.1.md deleted file mode 100644 index 1fbc7cc7074..00000000000 --- a/.changelog/3722.internal.1.md +++ /dev/null @@ -1 +0,0 @@ -Make: Add `lint-go-mod-tidy` target diff --git a/.changelog/3722.internal.md b/.changelog/3722.internal.md deleted file mode 100644 index fda695b57d7..00000000000 --- a/.changelog/3722.internal.md +++ /dev/null @@ -1 +0,0 @@ -Make: Remove `build-go` target's `go` alias diff --git a/.changelog/3723.trivial.md b/.changelog/3723.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3725.feature.1.md b/.changelog/3725.feature.1.md deleted file mode 100644 index a6396b8f949..00000000000 --- a/.changelog/3725.feature.1.md +++ /dev/null @@ -1,4 +0,0 @@ -go/staking/api: Add `StakeForShares()` method to `SharePool` type - -It can be used to compute the amount of base units for the given amount of -shares. diff --git a/.changelog/3725.feature.2.md b/.changelog/3725.feature.2.md deleted file mode 100644 index 57b981540e3..00000000000 --- a/.changelog/3725.feature.2.md +++ /dev/null @@ -1 +0,0 @@ -go/common/prettyprint: Add `Quantity` type diff --git a/.changelog/3725.feature.3..md b/.changelog/3725.feature.3..md deleted file mode 100644 index 66637e8a4f6..00000000000 --- a/.changelog/3725.feature.3..md +++ /dev/null @@ -1,4 +0,0 @@ -go/staking/api/token: Generalize `PrettyPrintAmount()` - -Support passing the amount as either `quantity.Quantity` or -`prettyprint.Quantity`. diff --git a/.changelog/3726.breaking.1.md b/.changelog/3726.breaking.1.md deleted file mode 100644 index 716276fc8d0..00000000000 --- a/.changelog/3726.breaking.1.md +++ /dev/null @@ -1,5 +0,0 @@ -runtime: Introduce RoundResults to allow adding other information - -In addition to the existing runtime message execution results we want to -provide additional information about the last successful round to runtimes. -This introduces a RoundResults structure for this purpose. diff --git a/.changelog/3726.feature.md b/.changelog/3726.feature.md deleted file mode 100644 index cf7c7142e87..00000000000 --- a/.changelog/3726.feature.md +++ /dev/null @@ -1 +0,0 @@ -runtime: Provide sets of good and bad compute nodes in round results diff --git a/.changelog/3728.bugfix.md b/.changelog/3728.bugfix.md deleted file mode 100644 index 020368f2b13..00000000000 --- a/.changelog/3728.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/cmd/fixgenesis: Add default beacon and governance parameters diff --git a/.changelog/3730.internal.md b/.changelog/3730.internal.md deleted file mode 100644 index 74ec12dcad7..00000000000 --- a/.changelog/3730.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump google.golang.org/grpc from 1.35.0 to 1.36.0 diff --git a/.changelog/3735.internal.md b/.changelog/3735.internal.md deleted file mode 100644 index 5212561fd47..00000000000 --- a/.changelog/3735.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/golang/snappy from 0.0.2 to 0.0.3 diff --git a/.changelog/3736.trivial.md b/.changelog/3736.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3738.trivial.md b/.changelog/3738.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3742.internal.md b/.changelog/3742.internal.md deleted file mode 100644 index 8749b78de92..00000000000 --- a/.changelog/3742.internal.md +++ /dev/null @@ -1 +0,0 @@ -rust: bump aesm-client from 0.5.1 to 0.5.2 diff --git a/.changelog/3743.feature.md b/.changelog/3743.feature.md deleted file mode 100644 index 22f3f3f6219..00000000000 --- a/.changelog/3743.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/control/GetStatus: include the latest epoch diff --git a/.changelog/3744.internal.md b/.changelog/3744.internal.md deleted file mode 100644 index 893b4fe77a9..00000000000 --- a/.changelog/3744.internal.md +++ /dev/null @@ -1 +0,0 @@ -runtime/common/quantity: Add Mul/Div implementations diff --git a/.changelog/3751.trivial.md b/.changelog/3751.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3754.trivial.md b/.changelog/3754.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3755.bugfix.md b/.changelog/3755.bugfix.md deleted file mode 100644 index 432d3ea9b0c..00000000000 --- a/.changelog/3755.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus: Move upgrade logic to governance, gracefully handle halt diff --git a/.changelog/3757.internal.md b/.changelog/3757.internal.md deleted file mode 100644 index ad90b853637..00000000000 --- a/.changelog/3757.internal.md +++ /dev/null @@ -1,6 +0,0 @@ -go/nodes/grpc: tweak backoff timeouts - -Before, the default storage commit timeout was less than `grpcBackoffMaxDelay` -which made the storage commit request retries ineffective whenever the max -delay was reached (e.g. first few requests after a storage node was -restarted). diff --git a/.changelog/3758.trivial.md b/.changelog/3758.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3763.bugfix.md b/.changelog/3763.bugfix.md deleted file mode 100644 index 21c36ef31e9..00000000000 --- a/.changelog/3763.bugfix.md +++ /dev/null @@ -1,3 +0,0 @@ -go/consensus: Exclude expired nodes from validator set at genesis time - -The validator set selection algorithm now properly ignores expired nodes. diff --git a/.changelog/3764.trivial.md b/.changelog/3764.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3767.trivial.md b/.changelog/3767.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3768.bugfix.1.md b/.changelog/3768.bugfix.1.md deleted file mode 100644 index d2db6badf79..00000000000 --- a/.changelog/3768.bugfix.1.md +++ /dev/null @@ -1 +0,0 @@ -go/upgrade: ensure upgrade handler exists diff --git a/.changelog/3768.bugfix.2.md b/.changelog/3768.bugfix.2.md deleted file mode 100644 index e91c1165e2e..00000000000 --- a/.changelog/3768.bugfix.2.md +++ /dev/null @@ -1,5 +0,0 @@ -Allow switching binary while an upgrade is pending or in progress - -Removes `RunningVersion`/`SubmittingVersion` internal pending upgrade fields. -Binary can now be switched mid-upgrade as long as it remains compatible with -the in-progress upgrade. diff --git a/.changelog/3768.bugfix.3.md b/.changelog/3768.bugfix.3.md deleted file mode 100644 index 99f46c033d5..00000000000 --- a/.changelog/3768.bugfix.3.md +++ /dev/null @@ -1,5 +0,0 @@ -Progress the startup upgrade stage only after a successful startup step - -Before, the startup state was progressed before the startup stage was run, -therefore in case of a failed startup upgrade the stage would be skipped after -the node restart. diff --git a/.changelog/3771.bugfix.md b/.changelog/3771.bugfix.md deleted file mode 100644 index f1f1fed0f8b..00000000000 --- a/.changelog/3771.bugfix.md +++ /dev/null @@ -1,4 +0,0 @@ -runtime/scheduling: Fix `ordered_map.UpdateConfig` - -Before, UpdateConfig did not correctly update the list element reference -causing an inconsistency of the underlying map and queue. diff --git a/.changelog/3771.feature.md b/.changelog/3771.feature.md deleted file mode 100644 index 1fb7c5c1b0e..00000000000 --- a/.changelog/3771.feature.md +++ /dev/null @@ -1,5 +0,0 @@ -go/runtime/registry: add methods returning active runtime descriptors - -Runtime registry now includes methods returning the currently active runtime -descriptor. Active descriptor is the runtime descriptor valid for the current -epoch. diff --git a/.changelog/3773.feature.md b/.changelog/3773.feature.md deleted file mode 100644 index 9152f75e2c6..00000000000 --- a/.changelog/3773.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/beacon: Add GetFutureEpoch method to beacon API diff --git a/.changelog/3773.internal.md b/.changelog/3773.internal.md deleted file mode 100644 index eeefce87d84..00000000000 --- a/.changelog/3773.internal.md +++ /dev/null @@ -1,5 +0,0 @@ -go/consensus: Validate mode in SetContextParameters - -This makes sure consensus parameters can only be updated in InitChain and -EndBlock. Previously we only did this check for the core consensus parameters -but it makes sense to extend it to all of the parameters. diff --git a/.changelog/3774.breaking.1.md b/.changelog/3774.breaking.1.md deleted file mode 100644 index f3381532011..00000000000 --- a/.changelog/3774.breaking.1.md +++ /dev/null @@ -1 +0,0 @@ -go/staking/api: Rename `Delegations()` method to `DelegationsFor()` diff --git a/.changelog/3774.breaking.2.md b/.changelog/3774.breaking.2.md deleted file mode 100644 index dce020b7b52..00000000000 --- a/.changelog/3774.breaking.2.md +++ /dev/null @@ -1,3 +0,0 @@ -go/staking/api: Rename `DebondingDelegations()` method - -Rename it to `DebondingDelegationsFor()`. diff --git a/.changelog/3774.feature.1.md b/.changelog/3774.feature.1.md deleted file mode 100644 index 8111820a2cd..00000000000 --- a/.changelog/3774.feature.1.md +++ /dev/null @@ -1,4 +0,0 @@ -go/staking/api: Add `DelegationsTo()`/`DebondingDelegationsTo()` methods - -They can be used to obtain all incoming (debonding) delegations to the given -account. diff --git a/.changelog/3774.feature.2.md b/.changelog/3774.feature.2.md deleted file mode 100644 index a0c42d0de16..00000000000 --- a/.changelog/3774.feature.2.md +++ /dev/null @@ -1,4 +0,0 @@ -go/staking/api: Add `DelegationInfo` and `DebondingDelegationInfo` types - -They are (debonding) delegation descriptors with additional information about -the share pool they belong to. diff --git a/.changelog/3774.feature.3.md b/.changelog/3774.feature.3.md deleted file mode 100644 index ba6ada6770b..00000000000 --- a/.changelog/3774.feature.3.md +++ /dev/null @@ -1,4 +0,0 @@ -go/staking/api: Add `DelegationInfosFor()`/`DebondingDelegationInfosFor()` - -They can be used to obtain incoming (debonding) delegations with additional -information for the given account. diff --git a/.changelog/3774.feature.md b/.changelog/3774.feature.md deleted file mode 100644 index 1f66cadb9f5..00000000000 --- a/.changelog/3774.feature.md +++ /dev/null @@ -1,5 +0,0 @@ -go/consensus/tendermint/apps/staking/state: Add incoming delegation methods - -Add new methods to `ImmutableState` type for querying incoming (debonding) -delegations to an escrow account: `DelegationsTo()` and -`DebondingDelegationsTo()`. diff --git a/.changelog/3774.internal.2.md b/.changelog/3774.internal.2.md deleted file mode 100644 index 83c97218c11..00000000000 --- a/.changelog/3774.internal.2.md +++ /dev/null @@ -1 +0,0 @@ -go/staking/tests: Generalize account handling and add delegations diff --git a/.changelog/3774.internal.md b/.changelog/3774.internal.md deleted file mode 100644 index 24faf9eb3f3..00000000000 --- a/.changelog/3774.internal.md +++ /dev/null @@ -1 +0,0 @@ -go/staking/tests/debug: Move into go/staking/tests package diff --git a/.changelog/3775.trivial.md b/.changelog/3775.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3777.internal.md b/.changelog/3777.internal.md deleted file mode 100644 index 29e83629cdd..00000000000 --- a/.changelog/3777.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/hashicorp/go-multierror from 1.1.0 to 1.1.1 diff --git a/.changelog/3778.feature.2.md b/.changelog/3778.feature.2.md deleted file mode 100644 index ba24c136a4d..00000000000 --- a/.changelog/3778.feature.2.md +++ /dev/null @@ -1,6 +0,0 @@ -go/consensus: Add GetChainContext - -This makes it easier for clients to fetch the chain domain separation context -as previously they needed to fetch the genesis document and compute the chain -context from it. It also adds ChainContext to the node's consensus status -report. diff --git a/.changelog/3778.feature.md b/.changelog/3778.feature.md deleted file mode 100644 index 31d458d9026..00000000000 --- a/.changelog/3778.feature.md +++ /dev/null @@ -1,5 +0,0 @@ -runtime: Provide consensus layer chain domain separation context - -This adds a way for the runtime to be informed about the chain domain -separation context that the consensus layer is using. It can be used by the -runtime to perform domain separation for cryptographic signatures. diff --git a/.changelog/3779.internal.md b/.changelog/3779.internal.md deleted file mode 100644 index 8d92e396b79..00000000000 --- a/.changelog/3779.internal.md +++ /dev/null @@ -1 +0,0 @@ -go: bump github.com/prometheus/common to 0.19.0 diff --git a/.changelog/3780.feature.md b/.changelog/3780.feature.md deleted file mode 100644 index 120c3afb7ba..00000000000 --- a/.changelog/3780.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/staking/api/token: Add support for passing token's value sign via context diff --git a/.changelog/3781.breaking.md b/.changelog/3781.breaking.md deleted file mode 100644 index c0ac47cc526..00000000000 --- a/.changelog/3781.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/upgrade/api: Version upgrade Descriptors diff --git a/.changelog/3782.breaking.md b/.changelog/3782.breaking.md deleted file mode 100644 index 465ddf76ea8..00000000000 --- a/.changelog/3782.breaking.md +++ /dev/null @@ -1,5 +0,0 @@ -go/consensus: Store runtime state roots in a single key - -That makes it easier to construct proofs starting at the consensus state root -that prove what the state root of a specific runtime is. You can then chain -these proofs to prove something about runtime state. diff --git a/.changelog/3783.feature.md b/.changelog/3783.feature.md deleted file mode 100644 index 2cf7beedaab..00000000000 --- a/.changelog/3783.feature.md +++ /dev/null @@ -1 +0,0 @@ -go/control/api: Add node status to registration status response diff --git a/.changelog/3784.breaking.1.md b/.changelog/3784.breaking.1.md deleted file mode 100644 index 0fab5becf37..00000000000 --- a/.changelog/3784.breaking.1.md +++ /dev/null @@ -1,3 +0,0 @@ -go/staking/api/token: Print token's symbol after the amount - -This is more consistent with how others present token amounts. diff --git a/.changelog/3784.breaking.2.md b/.changelog/3784.breaking.2.md deleted file mode 100644 index a5faaae35e7..00000000000 --- a/.changelog/3784.breaking.2.md +++ /dev/null @@ -1,4 +0,0 @@ -go/consensus/api/transaction: Print txn's method and body before the rest - -This is more intuitive and enables people to discover the transaction's main -information quicker. diff --git a/.changelog/3786.breaking.md b/.changelog/3786.breaking.md deleted file mode 100644 index 1bd9def57b8..00000000000 --- a/.changelog/3786.breaking.md +++ /dev/null @@ -1 +0,0 @@ -go/consensus/tendermint: Bump Tendermint Core to v0.34.8-oasis1 diff --git a/.changelog/3787.trivial.md b/.changelog/3787.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3788.trivial.md b/.changelog/3788.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3789.doc.md b/.changelog/3789.doc.md deleted file mode 100644 index 162ffa46d3e..00000000000 --- a/.changelog/3789.doc.md +++ /dev/null @@ -1 +0,0 @@ -docs/setup/deploying-a-runtime: update example diff --git a/.changelog/3790.breaking.md b/.changelog/3790.breaking.md deleted file mode 100644 index 943e4f34861..00000000000 --- a/.changelog/3790.breaking.md +++ /dev/null @@ -1,6 +0,0 @@ -go/roothash: Finish commitment processing early when possible - -When the set of current commitments already determines the fate of the -process (e.g., when there is a discrepancy or a majority of votes indicate -success), proceed with the process instead of waiting for the remaining -commitments. diff --git a/.changelog/3791.bugfix.md b/.changelog/3791.bugfix.md deleted file mode 100644 index e1ff171380f..00000000000 --- a/.changelog/3791.bugfix.md +++ /dev/null @@ -1,4 +0,0 @@ -go/roothash/reindexBlocks: return latest known round if no new rounds indexed - -This fixes a case where a storage node would not register if restarted while -synced and there were no new runtime rounds (e.g. the runtime is suspended). diff --git a/.changelog/3792.feature.1.md b/.changelog/3792.feature.1.md deleted file mode 100644 index f3876eafd6a..00000000000 --- a/.changelog/3792.feature.1.md +++ /dev/null @@ -1,4 +0,0 @@ -go/oasis-node/cmd: Improve transaction preview when generating transactions - -Display amounts in tokens and display genesis document's hash when previewing -transactions with various `oasis-node * gen_*` CLI commands. diff --git a/.changelog/3792.feature.2.md b/.changelog/3792.feature.2.md deleted file mode 100644 index 4245bf25b4e..00000000000 --- a/.changelog/3792.feature.2.md +++ /dev/null @@ -1 +0,0 @@ -go/oasis-node/cmd/common/context: Add `GetCtxWithGenesisInfo()` helper diff --git a/.changelog/3793.bugfix.md b/.changelog/3793.bugfix.md deleted file mode 100644 index 6eddcce5eda..00000000000 --- a/.changelog/3793.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -go/upgrade/api: simplify upgrade descriptor diff --git a/.changelog/3796.trivial.md b/.changelog/3796.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3797.trivial.md b/.changelog/3797.trivial.md deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.changelog/3800.feature.1.md b/.changelog/3800.feature.1.md deleted file mode 100644 index c55b0518897..00000000000 --- a/.changelog/3800.feature.1.md +++ /dev/null @@ -1 +0,0 @@ -go/common/version: Implement `PrettyPrint` interface for `ProtocolVersions` diff --git a/.changelog/3800.feature.2.md b/.changelog/3800.feature.2.md deleted file mode 100644 index 47e21c4c891..00000000000 --- a/.changelog/3800.feature.2.md +++ /dev/null @@ -1,4 +0,0 @@ -go/governance: Implement `PrettyPrint` interface for various types - -Implement `PrettyPrinter` for `ProposalContent`, `UpgradeProposal`, -`CancelUpgradeProposal` and `ProposalVote` types. diff --git a/.changelog/3800.feature.3.md b/.changelog/3800.feature.3.md deleted file mode 100644 index 11afa5fd666..00000000000 --- a/.changelog/3800.feature.3.md +++ /dev/null @@ -1 +0,0 @@ -go/upgrade: Implement `PrettyPrint` interface for `Descriptor` diff --git a/.changelog/3801.bugfix.md b/.changelog/3801.bugfix.md deleted file mode 100644 index a30129df548..00000000000 --- a/.changelog/3801.bugfix.md +++ /dev/null @@ -1,4 +0,0 @@ -go/worker/executor: avoid holding lock while applying processed batch - -Before, the executor worker would hold the `CrossNode` lock, while doing -requests to storage. diff --git a/.punch_version.py b/.punch_version.py index a3e33ee6ab1..24bfe4728ed 100644 --- a/.punch_version.py +++ b/.punch_version.py @@ -1,3 +1,3 @@ -year = '20' -minor = 12 +year = '21' +minor = 0 micro = 0 diff --git a/CHANGELOG.md b/CHANGELOG.md index b2f45e4e464..6d996c0aabf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,1206 @@ The format is inspired by [Keep a Changelog]. +## 21.0 (2021-03-18) + +| Protocol | Version | +|:------------------|:---------:| +| Consensus | 3.0.0 | +| Runtime Host | 2.0.0 | +| Runtime Committee | 2.0.0 | + +### Removals and Breaking Changes + +- go/consensus/tendermint: Handle `LIGHT_CLIENT_ATTACK` evidence + ([#3156](https://github.com/oasisprotocol/oasis-core/issues/3156)) + +- go/beacon: Add a PVSS based beacon backend + ([#3180](https://github.com/oasisprotocol/oasis-core/issues/3180)) + + This is a significant improvement over the existing beacon, in that it at + least attempts to be secure. + + For more details, see [ADR 0007]. + + [ADR 0007]: docs/adr/0007-improved-random-beacon.md + +- go: Use human readable identifiers for slashing reasons + ([#3276](https://github.com/oasisprotocol/oasis-core/issues/3276), + [#3646](https://github.com/oasisprotocol/oasis-core/issues/3646)) + + When serialized into JSON the slashing reason identifiers are now human + readable (e.g. `consensus-equivocation` instead of `0`). + + Old: + + ```json + "slashing": { + "0": { + "amount": "100", + "freeze_interval": 1 + } + } + ``` + + New: + + ```json + "slashing": { + "consensus-equivocation": { + "amount": "100", + "freeze_interval": 1 + } + } + ``` + +- go: Improve error message when delegating less than `MinDelegationAmount` + ([#3308](https://github.com/oasisprotocol/oasis-core/issues/3308)) + + Previously, an `ErrInvalidArgument` was returned in this case, which + is not very descriptive, so a separate error was created: + `ErrUnderMinDelegationAmount`. + +- go/worker/p2p: Include chain ID and remove patch version from topic IDs + ([#3311](https://github.com/oasisprotocol/oasis-core/issues/3311)) + +- go: Move storage backend initialization to storage worker + ([#3323](https://github.com/oasisprotocol/oasis-core/issues/3323)) + + Notably, this also means that node command line options for storage + configuration have been renamed and that the backend type option isn't + needed anymore unless the storage worker is enabled. + +- Compare protocol versions according to SemVer 2.0.0 + ([#3360](https://github.com/oasisprotocol/oasis-core/issues/3360)) + + As described in our [Versioning] document, we bumped the protocol versions to + version 1.0.0 with the release of [Oasis Core 20.10]. + + Hence, we also need to modify how we compare and detect backward-incompatible + changes to follow SemVer 2.0.0 rules. + + From now onwards, only a change in a protocol's major version signifies + a backward-incompatible change. + + [Versioning]: docs/versioning.md#version-100 + [Oasis Core 20.10]: + https://github.com/oasisprotocol/oasis-core/blob/v20.10/CHANGELOG.md + +- go/common/version: Remove `MajorMinor()` method from `Version` type + ([#3360](https://github.com/oasisprotocol/oasis-core/issues/3360)) + +- roothash: Add support for failure indicating commitments + ([#3391](https://github.com/oasisprotocol/oasis-core/issues/3391)) + + Failure-indicating executor commits are introduced in order to give the + compute nodes a possibility to vote for failure when they cannot execute the + given batch (e.g., due to unavailability of storage). Such commits will always + trigger a discrepancy during discrepancy detection and will vote for failing + the round in discrepancy resolution phase. + + For more details, see [ADR 0005]. + + [ADR 0005]: docs/adr/0005-runtime-compute-slashing.md + +- Introduce storage root types + ([#3415](https://github.com/oasisprotocol/oasis-core/issues/3415)) + + Each storage root now has an associated type (i.e. IO or state). In + particular, this impacts the Apply and ApplyBatch calls and also changes + the storage format of the Badger NodeDB. + +- go/staking: Add support for beneficiary allowances + ([#3428](https://github.com/oasisprotocol/oasis-core/issues/3428)) + + The staking service now supports setting allowances on general account + balances as specified by [ADR 0003]. + + [ADR 0003]: docs/adr/0003-consensus-runtime-token-transfer.md + +- Add runtime accounts in the consensus layer + ([#3429](https://github.com/oasisprotocol/oasis-core/issues/3429)) + + As described in [ADR 0003] this adds support for runtimes having accounts in + the consensus layer. Runtimes can manipulate those accounts by emitting newly + introduced transfer and withdraw runtime messages. + + [ADR 0003]: docs/adr/0003-consensus-runtime-token-transfer.md + +- go/roothash: Refactor runtime messages + ([#3430](https://github.com/oasisprotocol/oasis-core/issues/3430)) + + Several modifications are made to the runtime message representation and + processing as specified by [ADR 0003]. + + [ADR 0003]: docs/adr/0003-consensus-runtime-token-transfer.md + +- go/roothash: Renamed `FinalizedEvent` field in `roothash.Event` + ([#3448](https://github.com/oasisprotocol/oasis-core/issues/3448)) + + The `FinalizedEvent` field in the `roothash.Event` structure has been renamed + to just `Finalized` in order to be consistent with other fields. + + Note that the serialization already used just `finalized` so that remains + unchanged. + +- Remove `SignedRuntime` + ([#3450](https://github.com/oasisprotocol/oasis-core/issues/3450)) + + As part of the work on [ADR 0004], support for signed runtime descriptors + has been removed, since they are no longer required. + All methods that used to take signed runtime descriptors now take + non-signed runtime descriptors instead. + + This also affects the genesis file. Use the `oasis-node debug fix-genesis` + command to convert a genesis file from the old format to the new one. + + [ADR 0004]: docs/adr/0004-runtime-governance.md + +- Modify runtime descriptors to support ADR 0004 + ([#3450](https://github.com/oasisprotocol/oasis-core/issues/3450)) + + As described in [ADR 0004], the runtime descriptors are modified to + enable runtime governance. + + [ADR 0004]: docs/adr/0004-runtime-governance.md + +- go/consensus/tendermint: Use canonical chain context in InitChain + ([#3477](https://github.com/oasisprotocol/oasis-core/issues/3477)) + +- go/roothash/genesis: Restore state from suspended runtimes + ([#3484](https://github.com/oasisprotocol/oasis-core/issues/3484)) + + Roothash state of suspended runtimes in genesis was previously not correctly + restored, causing the suspended runtime state to reset once the runtime was + resumed. + +- Implement Consensus Governance backend + ([#3502](https://github.com/oasisprotocol/oasis-core/issues/3502)) + + As described in [ADR 0006] this adds the consensus governance backend + implementation. + + See [ADR 0006] and [Governance backend documentation] for more + details. + + [ADR 0006]: docs/adr/0006-consensus-governance.md + [Governance backend documentation]: docs/consensus/governance.md + +- runtime: Move consensus layer structures to its own module + ([#3511](https://github.com/oasisprotocol/oasis-core/issues/3511)) + + Everything under `common::{address, registry, roothash, staking}` in the + `oasis-core-runtime` crate has been moved under the `consensus` module. + +- go/consensus/api: Rename `ConsensusVersion` to `Version` in `Status` type + ([#3511](https://github.com/oasisprotocol/oasis-core/issues/3511)) + +- go/upgrade: Support multiple pending upgrades + ([#3536](https://github.com/oasisprotocol/oasis-core/issues/3536)) + + Upgrade module now supports submitting multiple upgrades. + +- go/registry/api: Allow updating more fields when updating an expired node + ([#3539](https://github.com/oasisprotocol/oasis-core/issues/3539)) + + Before, registering an expired (but not yet deleted) node was subject to the + same update restrictions as an active node being updated. + +- go/oasis-node/cmd/stake: Enhance `account info`'s output + ([#3557](https://github.com/oasisprotocol/oasis-core/issues/3557)) + + It now also displays an account's incoming and outgoing active/debonding + delegations, total and available balance. + +- go/consensus: Include consensus genesis parameters in `GetParameters` + ([#3565](https://github.com/oasisprotocol/oasis-core/issues/3565)) + + Consensus `GetParameters` method response now includes the consensus genesis + parameters. + +- runtime: Make `CheckTx` result more generic + ([#3573](https://github.com/oasisprotocol/oasis-core/issues/3573)) + + The previous definition made it hard for the runtime host to reason about the + returned status code of `CheckTx` unless it was tied to the result format + defined by the runtime. + + This is a breaking change to the Runtime Host Protocol as the + `RuntimeCheckTxBatchResponse` structure has changed. It also breaks the + `transaction::Dispatcher API`. + +- go/upgrade: Use `ProtocolVersions` as internal upgrade identifier + ([#3579](https://github.com/oasisprotocol/oasis-core/issues/3579)) + + Before this change the internal upgrades used node binary hashes to ensure + upgrade version compatibility. To make it more practical use software versions + instead. + +- Add ability to set a non-zero initial commission schedule + ([#3601](https://github.com/oasisprotocol/oasis-core/issues/3601)) + + When setting the initial commission schedule for an account, the + `RateBoundLead` restriction is ignored. Therefore the initial bounds and rates + can be set for the first next epoch aligned with `RateChangeInterval`. + + This effectively means that accounts without a configured commission schedule + should be considered as having bounds: `0%-100%`, as the initial schedule can + be set at any next epoch. + +- go/scheduler: Check runtime versions for node eligibility + ([#3611](https://github.com/oasisprotocol/oasis-core/issues/3611)) + +- go/roothash/api/message: Add `RegistryMessage` runtime message + ([#3628](https://github.com/oasisprotocol/oasis-core/issues/3628)) + + A new runtime message was added that enables runtimes to submit updated + runtime descriptors for their runtime to the registry. + +- runtime: Remove `common::runtime::RuntimeId` + ([#3633](https://github.com/oasisprotocol/oasis-core/issues/3633)) + + The Go API has been using `Namespace` for a while so this makes it + consistent in the Rust runtime as well. + +- go/roothash: Support slashing runtime compute nodes + ([#3640](https://github.com/oasisprotocol/oasis-core/issues/3640)) + + Runtimes can configure whether compute nodes should be slashed for submitting + incorrect results or equivocating. + + For more details, see [ADR 0005]. + + [ADR 0005]: docs/adr/0005-runtime-compute-slashing.md + +- runtimes: Support for `Add/ReclaimEscrow` runtime messages + ([#3641](https://github.com/oasisprotocol/oasis-core/issues/3641)) + + Escrow runtime messages need to be explicitly enabled via the + `AllowEscrowMessages` consensus parameter. + +- go/roothash: Runtime domain separation context in executor commitments + ([#3643](https://github.com/oasisprotocol/oasis-core/issues/3643)) + +- Add runtime scheduling constraints + ([#3644](https://github.com/oasisprotocol/oasis-core/issues/3644)) + + Each runtime can now impose additional scheduling constraints for its + committee nodes (separately for primary/backup): + + - Validator set membership. + - Maximum number of nodes per entity. + - Minimum candidate node pool size. + +- go/slashing/api: Change `SlashReason` type to `uint8` + ([#3646](https://github.com/oasisprotocol/oasis-core/issues/3646)) + +- go/staking/api: Rename `DoubleSigning` to `ConsensusEquivocation` + ([#3646](https://github.com/oasisprotocol/oasis-core/issues/3646)) + +- go/registry: Fix node sanity checks + ([#3660](https://github.com/oasisprotocol/oasis-core/issues/3660)) + +- Remove support for entity-signed node registrations + ([#3661](https://github.com/oasisprotocol/oasis-core/issues/3661)) + + Support for entity-signed node registrations has been removed, + as they were only used in tests and not on any real network. + Only node-signed node registrations are supported now. + +- go/registry: Change minimum `ProposerTimeout` from 5 to 2 blocks + ([#3682](https://github.com/oasisprotocol/oasis-core/issues/3682)) + +- go/genesis/api: Change canonical form of genesis file to end with a newline + ([#3709](https://github.com/oasisprotocol/oasis-core/issues/3709)) + +- go/staking/state: Remove nonce as the debonding delegations disambiguator + ([#3717](https://github.com/oasisprotocol/oasis-core/issues/3717)) + + Account nonce is removed from the debonding delegations state key. Instead, + if there are multiple debonding delegations for the same account and debond + end epoch, those get merged into a single debonding delegation record. + +- runtime: Introduce `RoundResults` to allow adding other information + ([#3726](https://github.com/oasisprotocol/oasis-core/issues/3726)) + + In addition to the existing runtime message execution results we want to + provide additional information about the last successful round to runtimes. + This introduces a `RoundResults` structure for this purpose. + +- go/staking/api: Rename `Delegations()` method to `DelegationsFor()` + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + +- go/staking/api: Rename `DebondingDelegations()` method + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + + Rename it to `DebondingDelegationsFor()`. + +- go/upgrade/api: Version upgrade `Descriptor` + ([#3781](https://github.com/oasisprotocol/oasis-core/issues/3781)) + +- go/consensus: Store runtime state roots in a single key + ([#3782](https://github.com/oasisprotocol/oasis-core/issues/3782)) + + That makes it easier to construct proofs starting at the consensus state root + that prove what the state root of a specific runtime is. You can then chain + these proofs to prove something about runtime state. + +- go/staking/api/token: Print token's symbol after the amount + ([#3784](https://github.com/oasisprotocol/oasis-core/issues/3784)) + + This is more consistent with how others present token amounts. + +- go/consensus/api/transaction: Print txn's method and body before the rest + ([#3784](https://github.com/oasisprotocol/oasis-core/issues/3784)) + + This is more intuitive and enables people to discover the transaction's main + information quicker. + +- go/consensus/tendermint: Bump Tendermint Core to v0.34.8-oasis1 + ([#3786](https://github.com/oasisprotocol/oasis-core/issues/3786)) + +- go/roothash: Finish commitment processing early when possible + ([#3790](https://github.com/oasisprotocol/oasis-core/issues/3790)) + + When the set of current commitments already determines the fate of the + process (e.g., when there is a discrepancy or a majority of votes indicate + success), proceed with the process instead of waiting for the remaining + commitments. + +- go/upgrade/api: Simplify upgrade `Descriptor` + ([#3793](https://github.com/oasisprotocol/oasis-core/issues/3793)) + + Remove `UpgradeMethod` type and `Method` field, rename `Name` field to + `Handler` and replace `Identifier` field with `Target` field which corresponds + to an upgrade's target version. + +- go/common/version: Remove `Toolchain` field from `ProtocolVersions` + ([#3793](https://github.com/oasisprotocol/oasis-core/issues/3793)) + +### Configuration Changes + +- go: Change storage backend configuration options + ([#3323](https://github.com/oasisprotocol/oasis-core/issues/3323)) + + All the `--storage.*` options have been renamed to `--worker.storage.*`. + + Nodes that don't have the storage worker enabled don't need to configure + the storage backend anymore, since it will be chosen correctly + automatically. + +- Change compute worker runtime configuration flags + ([#3653](https://github.com/oasisprotocol/oasis-core/issues/3653)) + + All the flags under `worker.runtime.*` have been moved under just + `runtime.*`. + + For example the `worker.runtime.paths` flag needs to be renamed + to `runtime.paths`. + +### Features + +- go/common/version: Add `MaskNonMajor()` method to `Version` type + ([#3360](https://github.com/oasisprotocol/oasis-core/issues/3360)) + +- go/worker/storage: Add validation for IO roots in `Apply` operations + ([#3440](https://github.com/oasisprotocol/oasis-core/issues/3440)) + +- go/runtime/client: Add `SubmitTxNoWait` method + ([#3444](https://github.com/oasisprotocol/oasis-core/issues/3444)) + + `SubmitTxNoWait` method publishes the runtime transaction and doesn't wait + for results. + +- Runtime client should fail `SubmitTx` calls until consensus is synced + ([#3452](https://github.com/oasisprotocol/oasis-core/issues/3452)) + +- Runtime storage sync should use any storage node + ([#3454](https://github.com/oasisprotocol/oasis-core/issues/3454)) + + Before, storage node sync only used nodes from the current storage committee. + Now it also syncs (with lower priority) from other storage nodes registered + for the runtime. + +- go/oasis-node/cmd: Add `oasis-node stake account validate_address` CLI command + ([#3493](https://github.com/oasisprotocol/oasis-core/issues/3493), + [#3589](https://github.com/oasisprotocol/oasis-core/issues/3589)) + + It can be used to validate a staking account's address. + +- runtime: Add `mkvs::Iterator` trait and `MKVS::iter` trait method + ([#3499](https://github.com/oasisprotocol/oasis-core/issues/3499)) + +- runtime: Add `mkvs::OverlayTree` similar to its Go counterpart + ([#3499](https://github.com/oasisprotocol/oasis-core/issues/3499)) + +- go/storage/mkvs: Generate proofs even if `Tree.Position` is not found + ([#3499](https://github.com/oasisprotocol/oasis-core/issues/3499)) + +- go/consensus/api: Add `Registry()`/`Staking()`/`Scheduler()` to client backend + ([#3511](https://github.com/oasisprotocol/oasis-core/issues/3511)) + + This makes it more convenient to use the consensus client backend. + +- go/oasis-node/cmd/stake: Add commands for managing allowances + ([#3511](https://github.com/oasisprotocol/oasis-core/issues/3511)) + + Add `oasis-node stake account gen_allow` and + `oasis-node stake account gen_withdraw` CLI commands. + +- go/consensus/tendermint: Also dump state when shutting down for upgrade + ([#3516](https://github.com/oasisprotocol/oasis-core/issues/3516)) + +- go/common/version: Add `ConvertGoModulesVersion()` function + ([#3546](https://github.com/oasisprotocol/oasis-core/issues/3546)) + + It can be used to convert a Go Modules compatible version defined in + [ADR 0002] (i.e. a Go Modules compatible Git tag without the `go/` prefix) to + the canonical Oasis Core version. + + [ADR 0002]: docs/adr/0002-go-modules-compatible-git-tags.md + +- go/oasis-node/cmd: Add `oasis-node stake account nonce` CLI command + ([#3559](https://github.com/oasisprotocol/oasis-core/issues/3559)) + + It can be used to get a staking account's current nonce. + +- go/scheduler: Add `ConsensusParameters` method to scheduler backend + ([#3565](https://github.com/oasisprotocol/oasis-core/issues/3565)) + +- go/epochtime: Add `ConsensusParameters` method to epochtime backend + ([#3565](https://github.com/oasisprotocol/oasis-core/issues/3565)) + +- runtime/common/version: Make `Version::new` a `const` function + ([#3573](https://github.com/oasisprotocol/oasis-core/issues/3573)) + + Also expose members publicly. + +- go/runtime/client: Add `GetEvents` to fetch emitted runtime events + ([#3573](https://github.com/oasisprotocol/oasis-core/issues/3573)) + +- go/worker/executor: Propose a new batch if there are message results + ([#3645](https://github.com/oasisprotocol/oasis-core/issues/3645)) + + The runtime executor now proposes a new batch if there are message results + from previous round even if there are no transactions. + +- go/runtime/client: Perform local `CheckTx` when a hosted runtime exists + ([#3653](https://github.com/oasisprotocol/oasis-core/issues/3653)) + +- runtime: Add support for runtime-specific queries + ([#3662](https://github.com/oasisprotocol/oasis-core/issues/3662)) + + Runtimes can now implement a handler for `RuntimeQueryRequest` messages to + expose arbitrary queries to runtime clients. Query routing is performed using + method names. + +- go/runtime/client: Also expose `CheckTx` + ([#3662](https://github.com/oasisprotocol/oasis-core/issues/3662)) + + The `CheckTx` functionality is now also exposed via the runtime client API. + +- go/worker/storage: Add `StorageRPC` role and change access policy + ([#3696](https://github.com/oasisprotocol/oasis-core/issues/3696)) + + Getting checkpoints and diffs is now allowed for any connecting node, + which eliminates a race condition and initialization difficulty in the + storage committee node startup. + + State access is made gated but optionally public as before, depending on the + value of the `worker.storage.public_rpc.enabled` configuration option. + +- go/common/diff: Add package implementing helpers for comparing objects + ([#3709](https://github.com/oasisprotocol/oasis-core/issues/3709)) + + Add `UnifiedDiffString()` which returns unified diff between two strings. + +- go/genesis/api: Update `WriteFileJSON()` to create files in the canonical form + ([#3709](https://github.com/oasisprotocol/oasis-core/issues/3709)) + + Consequentially, all its users (most notably the dump genesis halt hook) now + produce genesis files in the canonical form. + +- go/genesis/api: Add `CanonicalJSON()` method to `Document` type + ([#3709](https://github.com/oasisprotocol/oasis-core/issues/3709)) + + It can be used to obtain the canonical form of the genesis document + serialized into a file. + +- go/staking/api/token: Generalize `PrettyPrintAmount()` + ([#3725](https://github.com/oasisprotocol/oasis-core/issues/3725)) + + Support passing the amount as either `quantity.Quantity` or + `prettyprint.Quantity`. + +- go/staking/api: Add `StakeForShares()` method to `SharePool` type + ([#3725](https://github.com/oasisprotocol/oasis-core/issues/3725)) + + It can be used to compute the amount of base units for the given amount of + shares. + +- go/common/prettyprint: Add `Quantity` type + ([#3725](https://github.com/oasisprotocol/oasis-core/issues/3725)) + +- runtime: Provide sets of good and bad compute nodes in round results + ([#3726](https://github.com/oasisprotocol/oasis-core/issues/3726)) + +- go/control/GetStatus: Include the latest epoch + ([#3743](https://github.com/oasisprotocol/oasis-core/issues/3743)) + +- go/runtime/registry: Add methods returning active runtime descriptors + ([#3771](https://github.com/oasisprotocol/oasis-core/issues/3771)) + + Runtime registry now includes methods returning the currently active runtime + descriptor. Active descriptor is the runtime descriptor valid for the current + epoch. + +- go/beacon: Add `GetFutureEpoch` method to beacon API + ([#3773](https://github.com/oasisprotocol/oasis-core/issues/3773)) + +- go/consensus/tendermint/apps/staking/state: Add incoming delegation methods + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + + Add new methods to `ImmutableState` type for querying incoming (debonding) + delegations to an escrow account: `DelegationsTo()` and + `DebondingDelegationsTo()`. + +- go/staking/api: Add `DelegationsTo()`/`DebondingDelegationsTo()` methods + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + + They can be used to obtain all incoming (debonding) delegations to the given + account. + +- go/staking/api: Add `DelegationInfo` and `DebondingDelegationInfo` types + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + + They are (debonding) delegation descriptors with additional information about + the share pool they belong to. + +- go/staking/api: Add `DelegationInfosFor()`/`DebondingDelegationInfosFor()` + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + + They can be used to obtain incoming (debonding) delegations with additional + information for the given account. + +- runtime: Provide consensus layer chain domain separation context + ([#3778](https://github.com/oasisprotocol/oasis-core/issues/3778)) + + This adds a way for the runtime to be informed about the chain domain + separation context that the consensus layer is using. It can be used by the + runtime to perform domain separation for cryptographic signatures. + +- go/consensus: Add `GetChainContext` + ([#3778](https://github.com/oasisprotocol/oasis-core/issues/3778)) + + This makes it easier for clients to fetch the chain domain separation context + as previously they needed to fetch the genesis document and compute the chain + context from it. It also adds ChainContext to the node's consensus status + report. + +- go/staking/api/token: Add support for passing token's value sign via context + ([#3780](https://github.com/oasisprotocol/oasis-core/issues/3780)) + +- go/control/api: Add node status to registration status response + ([#3783](https://github.com/oasisprotocol/oasis-core/issues/3783)) + +- go/oasis-node/cmd: Improve transaction preview when generating transactions + ([#3792](https://github.com/oasisprotocol/oasis-core/issues/3792)) + + Display amounts in tokens and display genesis document's hash when previewing + transactions with various `oasis-node * gen_*` CLI commands. + +- go/oasis-node/cmd/common/context: Add `GetCtxWithGenesisInfo()` helper + ([#3792](https://github.com/oasisprotocol/oasis-core/issues/3792)) + +- go/upgrade: Implement `PrettyPrint` interface for `Descriptor` + ([#3800](https://github.com/oasisprotocol/oasis-core/issues/3800)) + +- go/governance: Implement `PrettyPrint` interface for various types + ([#3800](https://github.com/oasisprotocol/oasis-core/issues/3800)) + + Implement `PrettyPrinter` for `ProposalContent`, `UpgradeProposal`, + `CancelUpgradeProposal` and `ProposalVote` types. + +- go/common/version: Implement `PrettyPrint` interface for `ProtocolVersions` + ([#3800](https://github.com/oasisprotocol/oasis-core/issues/3800)) + +### Bug Fixes + +- go/consensus: Include only top K validators at genesis time + ([#3177](https://github.com/oasisprotocol/oasis-core/issues/3177)) + + Previously, all the eligible validators were included in the validator set at + genesis time. + + This has been fixed to include only the top `MaxValidators` as specified in + the scheduler consensus parameters. + + Additionally, the `MaxValidatorsPerEntity` scheduler consensus parameter is + now enforced. + +- go/genesis: Fix epoch-based sanity checks + ([#3477](https://github.com/oasisprotocol/oasis-core/issues/3477)) + +- go/storage/mkvs/checkpoint: Fix handling of non-zero earliest version + ([#3480](https://github.com/oasisprotocol/oasis-core/issues/3480)) + +- go/consensus/tendermint: Fix early `GetStatus()` with initial height > 1 + ([#3481](https://github.com/oasisprotocol/oasis-core/issues/3481)) + +- go: Add missing size checks to `UnmarshalBinary()` methods + ([#3497](https://github.com/oasisprotocol/oasis-core/issues/3497)) + + Note that in practice these will never currently be triggered as the + caller always checks the overall size before calling the more specific + `UnmarshalBinary()` method. + +- go/storage/mkvs: Fix edge case in overlay iterator + ([#3499](https://github.com/oasisprotocol/oasis-core/issues/3499)) + +- runtime: Remove incorrect `Sync` impl on `mkvs::Tree` + ([#3499](https://github.com/oasisprotocol/oasis-core/issues/3499)) + +- go/oasis-node/cmd/registry/entity: Reuse signer instead of creating a new one + ([#3505](https://github.com/oasisprotocol/oasis-core/issues/3505)) + + The `oasis-node registry entity register` CLI command previously always + created two signer factories, one for signing the entity descriptor and one + for signing the entity registration transaction. + + Some signers assign exclusive access to an underlying resource (e.g., HSM) to + the given factory. In that case, all operations on the second signer factory + would fail. + +- Bump Go to 1.15.5 + ([#3512](https://github.com/oasisprotocol/oasis-core/issues/3512)) + + This fixes a recently disclosed security vulnerability in the Go runtime + library. + +- go/worker/registration: Fix `RequestShutdown` for nodes with no registration + ([#3524](https://github.com/oasisprotocol/oasis-core/issues/3524)) + + In cases where the registration worker was started with a dummy + goroutine that just waits for the service to stop, deregistration + requests would hang, because the dummy wasn't watching the + deregistration channel. + +- go/worker/storage: Fill in additional versions when restoring state + ([#3525](https://github.com/oasisprotocol/oasis-core/issues/3525)) + + When a storage database from one network is used in a new network (e.g. when + the consensus layer did a dump/restore upgrade) properly handle the case + where there were additional rounds after the runtime has stopped (e.g., due + to epoch transitions). + +- go/consensus/tendermint: Report peers and validator status only after started + ([#3534](https://github.com/oasisprotocol/oasis-core/issues/3534)) + + When accessing the node status in very early stages of initialization when a + Tendermint node structure is not available, the status RPC would make the node + panic. Leave the peers and validator status blank instead. + +- go/worker/storage: Force checkpoint sync when replication is needed + ([#3538](https://github.com/oasisprotocol/oasis-core/issues/3538)) + + Previously a freshly initialized storage node with no genesis state would + fall back to incremental sync even though there was no chance of that + succeeding. + +- go/roothash/api/commitment: Return proposer commit in DR + ([#3545](https://github.com/oasisprotocol/oasis-core/issues/3545)) + + A subtle bug introduced in [#3448] and discovered by daily long-term tests. + + [#3448]: https://github.com/oasisprotocol/oasis-core/issues/3448 + +- go/tendermint: Fix `GetLightBlock`,`GetParameters` queries for latest height + ([#3565](https://github.com/oasisprotocol/oasis-core/issues/3565)) + +- go/runtime/scheduling: Consumer should pull from scheduler + ([#3569](https://github.com/oasisprotocol/oasis-core/issues/3569)) + + Previously the scheduler would push batches to the consumer (e.g. compute + node) which makes no sense as the consumer knows when it's ready to accept + new batches. This changes the model so that the consumer pulls batches from + the scheduler. + +- go/consensus/tendermint/roothash: Fix latest block reindexing + ([#3594](https://github.com/oasisprotocol/oasis-core/issues/3594)) + + Only commit the block in case it was not already committed during reindex. + This can happen when reindexing after a crash (e.g., the `before_index` crash + point) since the initial height at which the reindex happens does not + necessarily contain a round finalization event so reindexing up to height-1 + doesn't help. + + Discovered during long-term tests. + +- go/worker/common/committee: Wait for initial consensus sync + ([#3599](https://github.com/oasisprotocol/oasis-core/issues/3599)) + +- go/consensus/tendermint: Fix `nil` dereference in `EstimateGas` + ([#3648](https://github.com/oasisprotocol/oasis-core/issues/3648)) + +- go/oasis-node/cmd/node: Fix error handling when writing in `dumpGenesis()` + ([#3714](https://github.com/oasisprotocol/oasis-core/issues/3714)) + +- go/cmd/fixgenesis: Add default beacon and governance parameters + ([#3728](https://github.com/oasisprotocol/oasis-core/issues/3728)) + +- go/consensus: Move upgrade logic to governance, gracefully handle halt + ([#3755](https://github.com/oasisprotocol/oasis-core/issues/3755)) + +- go/consensus: Exclude expired nodes from validator set at genesis time + ([#3763](https://github.com/oasisprotocol/oasis-core/issues/3763)) + + The validator set selection algorithm now properly ignores expired nodes. + +- go/upgrade: Ensure upgrade handler exists + ([#3768](https://github.com/oasisprotocol/oasis-core/issues/3768)) + +- Allow switching binary while an upgrade is pending or in progress + ([#3768](https://github.com/oasisprotocol/oasis-core/issues/3768)) + + Removes `RunningVersion`/`SubmittingVersion` internal pending upgrade fields. + Binary can now be switched mid-upgrade as long as it remains compatible with + the in-progress upgrade. + +- Progress the startup upgrade stage only after a successful startup step + ([#3768](https://github.com/oasisprotocol/oasis-core/issues/3768)) + + Before, the startup state was progressed before the startup stage was run, + therefore in case of a failed startup upgrade the stage would be skipped after + the node restart. + +- runtime/scheduling: Fix `ordered_map.UpdateConfig` + ([#3771](https://github.com/oasisprotocol/oasis-core/issues/3771)) + + Before, `UpdateConfig` did not correctly update the list element reference + causing an inconsistency of the underlying map and queue. + +- go/roothash/reindexBlocks: Return latest known round if no new rounds indexed + ([#3791](https://github.com/oasisprotocol/oasis-core/issues/3791)) + + This fixes a case where a storage node would not register if restarted while + synced and there were no new runtime rounds (e.g. the runtime is suspended). + +- go/worker/executor: Avoid holding lock while applying processed batch + ([#3801](https://github.com/oasisprotocol/oasis-core/issues/3801)) + + Before, the executor worker would hold the `CrossNode` lock, while doing + requests to storage. + +### Documentation Improvements + +- ADR 0003: Consensus/Runtime Token Transfer + ([#3262](https://github.com/oasisprotocol/oasis-core/issues/3262)) + +- ADR 0004: Runtime Governance + ([#3284](https://github.com/oasisprotocol/oasis-core/issues/3284)) + +- Document [genesis document's hash] + ([#3312](https://github.com/oasisprotocol/oasis-core/issues/3312)) + + [genesis document's hash]: docs/consensus/genesis.md#genesis-documents-hash + +- Update [Release Process] documentation + ([#3327](https://github.com/oasisprotocol/oasis-core/issues/3327)) + + [Release Process]: docs/release-process.md + +- ADR 0005: Runtime Compute Node Slashing + ([#3339](https://github.com/oasisprotocol/oasis-core/issues/3339)) + +- Rename Versioning scheme document to Versioning and include it in the index + ([#3360](https://github.com/oasisprotocol/oasis-core/issues/3360)) + +- docs: Fix some links that break with gitbook + ([#3389](https://github.com/oasisprotocol/oasis-core/issues/3389)) + +- ADR 0006: Consensus Governance + ([#3423](https://github.com/oasisprotocol/oasis-core/issues/3423)) + +- ADR 0007: Improved Random Beacon + ([#3439](https://github.com/oasisprotocol/oasis-core/issues/3439)) + +- Update Deploying a Runtime document's example + ([#3789](https://github.com/oasisprotocol/oasis-core/issues/3789)) + +### Internal Changes + +- ci: Setup daily longterm tests with longer epoch periods + ([#3301](https://github.com/oasisprotocol/oasis-core/issues/3301)) + +- Omit node operator link from release notes + ([#3313](https://github.com/oasisprotocol/oasis-core/issues/3313)) + +- go: Bump github.com/prometheus/procfs from 0.1.3 to 0.3.0 + ([#3314](https://github.com/oasisprotocol/oasis-core/issues/3314), + [#3616](https://github.com/oasisprotocol/oasis-core/issues/3616)) + +- Make: Output messages to stderr instead of stdout + ([#3327](https://github.com/oasisprotocol/oasis-core/issues/3327)) + +- Make: Refactor Change Log handling + ([#3327](https://github.com/oasisprotocol/oasis-core/issues/3327)) + +- internal: Refactor project's version handling + ([#3327](https://github.com/oasisprotocol/oasis-core/issues/3327), + [#3345](https://github.com/oasisprotocol/oasis-core/issues/3345), + [#3492](https://github.com/oasisprotocol/oasis-core/issues/3492)) + + Simplify version computation logic in Make files and start using Punch's + version file to track version. + +- Make: Refactor release-related targets + ([#3327](https://github.com/oasisprotocol/oasis-core/issues/3327), + [#3368](https://github.com/oasisprotocol/oasis-core/issues/3368)) + + - Rename `tag-next-release` target to `release-tag`. + - Rename `release` target to `release-build`. + - Add `release-stable-branch` target that creates and pushes a stable branch + for the current release. + +- github: Bump GoReleaser in ci-reproducibility and release workflows to 0.152.0 + ([#3327](https://github.com/oasisprotocol/oasis-core/issues/3327), + [#3368](https://github.com/oasisprotocol/oasis-core/issues/3368), + [#3602](https://github.com/oasisprotocol/oasis-core/issues/3602)) + +- go/e2e/workload-queries: Allow historical `QueryTxs` to fail few times + ([#3338](https://github.com/oasisprotocol/oasis-core/issues/3338)) + +- go/nancy: Remove `golang.org/x/net` false positive ignores + ([#3340](https://github.com/oasisprotocol/oasis-core/issues/3340)) + +- go/dependencies/etcd: Update etcd with replace directive + ([#3341](https://github.com/oasisprotocol/oasis-core/issues/3341)) + +- ci: Bump actions/setup-python from v2.1.2 to v2.2.1 + ([#3349](https://github.com/oasisprotocol/oasis-core/issues/3349), + [#3405](https://github.com/oasisprotocol/oasis-core/issues/3405), + [#3582](https://github.com/oasisprotocol/oasis-core/issues/3582)) + +- rust: Bump base64 from 0.12.3 to 0.13.0 + ([#3353](https://github.com/oasisprotocol/oasis-core/issues/3353)) + +- Prioritize nodes that signed storage receipts + ([#3354](https://github.com/oasisprotocol/oasis-core/issues/3354)) + + The compute executor and tag indexer now prioritize reads from storage nodes + that signed the corresponding storage receipts. + +- go/storage: Support node prioritization in read requests + ([#3354](https://github.com/oasisprotocol/oasis-core/issues/3354)) + + The following new functions are added to the storage API package to help + storage backend implementations: + + - `WithNodePriorityHint` + - `WithNodePriorityHintFromSignatures` + - `NodePriorityHintFromContext` + +- ci: Bump actions/setup-node from v2.1.1 to v2.1.4 + ([#3364](https://github.com/oasisprotocol/oasis-core/issues/3364), + [#3563](https://github.com/oasisprotocol/oasis-core/issues/3563), + [#3575](https://github.com/oasisprotocol/oasis-core/issues/3575)) + +- ci: Bump actions/setup-go from v2.1.2 to v2.1.3 + ([#3365](https://github.com/oasisprotocol/oasis-core/issues/3365)) + +- ci: Bump actions/upload-artifact from v2.1.4 to v2.2.2 + ([#3367](https://github.com/oasisprotocol/oasis-core/issues/3367), + [#3520](https://github.com/oasisprotocol/oasis-core/issues/3520), + [#3596](https://github.com/oasisprotocol/oasis-core/issues/3596)) + +- go/oasis-test-runner: Fix `e2e/consensus-state-sync` scenario (take two) + ([#3369](https://github.com/oasisprotocol/oasis-core/issues/3369)) + + Previous "fix" actually made the test silently skip actually performing state + sync because it used the wrong validator index. + +- go/e2e/queries: Correctly ignore `UnexpectedEOF` errors + ([#3372](https://github.com/oasisprotocol/oasis-core/issues/3372)) + +- ci: Make build-fuzz failures fatal now that upstream is fixed + ([#3374](https://github.com/oasisprotocol/oasis-core/issues/3374)) + +- go: Bump github.com/blevesearch/bleve from 1.0.10 to 1.0.14 + ([#3384](https://github.com/oasisprotocol/oasis-core/issues/3384), + [#3530](https://github.com/oasisprotocol/oasis-core/issues/3530), + [#3558](https://github.com/oasisprotocol/oasis-core/issues/3558)) + +- ci: Daily long-term test minor fixes + ([#3387](https://github.com/oasisprotocol/oasis-core/issues/3387)) + + - Don't fail on `UnexpectedEOF` during `GetTransactionsWithResults`. + + - Enable `"RecoverCorruptedWAL"` for all nodes. + +- go/roothash: Add consistent hash test for `ComputeResultsHeader` + ([#3391](https://github.com/oasisprotocol/oasis-core/issues/3391)) + +- go: Bump github.com/libp2p/go-libp2p-pubsub from 0.3.5 to 0.4.1 + ([#3392](https://github.com/oasisprotocol/oasis-core/issues/3392), + [#3510](https://github.com/oasisprotocol/oasis-core/issues/3510), + [#3624](https://github.com/oasisprotocol/oasis-core/issues/3624)) + +- go/e2e/runtime/runtime-upgrade: Wait for old compute nodes to expire + ([#3404](https://github.com/oasisprotocol/oasis-core/issues/3404)) + +- go: Bump github.com/golang/protobuf from 1.4.2 to 1.4.3 + ([#3408](https://github.com/oasisprotocol/oasis-core/issues/3408)) + +- go/e2e: Add storage byzantine E2E test cases + ([#3414](https://github.com/oasisprotocol/oasis-core/issues/3414)) + +- go: Bump github.com/prometheus/client_golang from 1.7.1 to 1.9.0 + ([#3419](https://github.com/oasisprotocol/oasis-core/issues/3419), + [#3576](https://github.com/oasisprotocol/oasis-core/issues/3576)) + +- go: Bump github.com/spf13/cobra from 1.0.0 to 1.1.1 + ([#3427](https://github.com/oasisprotocol/oasis-core/issues/3427)) + +- go: Bump google.golang.org/grpc from 1.32.0 to 1.36.0 + ([#3437](https://github.com/oasisprotocol/oasis-core/issues/3437), + [#3495](https://github.com/oasisprotocol/oasis-core/issues/3495), + [#3543](https://github.com/oasisprotocol/oasis-core/issues/3543), + [#3617](https://github.com/oasisprotocol/oasis-core/issues/3617), + [#3631](https://github.com/oasisprotocol/oasis-core/issues/3631), + [#3730](https://github.com/oasisprotocol/oasis-core/issues/3730)) + +- rust: Bump rustracing + ([#3446](https://github.com/oasisprotocol/oasis-core/issues/3446)) + + - Bump `rustracing` from 0.4.0 to 0.5.0. + - Bump `rustracing_jaeger` from 0.5.0 to 0.6.0. + +- go/consensus/tendermint: Remove `ForeignExecuteTx` + ([#3448](https://github.com/oasisprotocol/oasis-core/issues/3448)) + + Use recently introduced message passing between apps instead. + +- go/consensus/tendermint: Add message passing between mux applications + ([#3448](https://github.com/oasisprotocol/oasis-core/issues/3448)) + +- go/common/crash: Improvements to the debug crash framework + ([#3449](https://github.com/oasisprotocol/oasis-core/issues/3449)) + + - Threadsafe global crasher. + - Ability to configure default probability for all crash points. + - Fix reported caller information on crash. + - Crash with a specific exit code. + +- Add `GetEntityNodes()` query to registry state + ([#3450](https://github.com/oasisprotocol/oasis-core/issues/3450)) + +- go: Bump github.com/hashicorp/go-plugin from 1.3.0 to 1.4.0 + ([#3494](https://github.com/oasisprotocol/oasis-core/issues/3494)) + +- go: Bump github.com/hashicorp/go-hclog from 0.14.1 to 0.15.0 + ([#3496](https://github.com/oasisprotocol/oasis-core/issues/3496)) + +- go/oasis-node/cmd/common/consensus: Augment `SignAndSaveTx()` with `signer` + ([#3506](https://github.com/oasisprotocol/oasis-core/issues/3506)) + + Add ability to pass a pre-existing `signature.Signer` as `signer` parameter to + the `SignAndSaveTx()` function. + +- go: Bump github.com/libp2p/go-libp2p-core from 0.6.1 to 0.8.5 + ([#3510](https://github.com/oasisprotocol/oasis-core/issues/3510), + [#3711](https://github.com/oasisprotocol/oasis-core/issues/3711), + [#3718](https://github.com/oasisprotocol/oasis-core/issues/3718)) + +- go: Bump github.com/libp2p/go-libp2p from 0.11.0 to 0.13.0 + ([#3510](https://github.com/oasisprotocol/oasis-core/issues/3510), + [#3588](https://github.com/oasisprotocol/oasis-core/issues/3588)) + +- rust: Bump arc-swap to 0.4.8 + ([#3511](https://github.com/oasisprotocol/oasis-core/issues/3511)) + +- ci: Bump actions/download-artifact from v2.0.5 to v2.0.8 + ([#3519](https://github.com/oasisprotocol/oasis-core/issues/3519), + [#3571](https://github.com/oasisprotocol/oasis-core/issues/3571), + [#3597](https://github.com/oasisprotocol/oasis-core/issues/3597)) + +- github: Replace deprecated `set-env` workflow command with environment file + ([#3522](https://github.com/oasisprotocol/oasis-core/issues/3522)) + +- go/storage/mkvs/checkpoint: Add initial version parameter + ([#3538](https://github.com/oasisprotocol/oasis-core/issues/3538)) + + Previously, if the local database contained a version earlier than the genesis + version, the checkpointer would attempt to create a new checkpoint at that + earlier version (and fail). Now the version is clamped at the initial + version. + +- ci: Bump docker/build-push-action from v1 to v2.2.2 + ([#3549](https://github.com/oasisprotocol/oasis-core/issues/3549), + [#3605](https://github.com/oasisprotocol/oasis-core/issues/3605)) + +- go/oasis-node/cmd/common: Add `LoadEntitySigner()` helper + ([#3556](https://github.com/oasisprotocol/oasis-core/issues/3556)) + + Replace `LoadEntity()` helper with `LoadEntitySigner()` that requires no + arguments and loads the entity directory and obtains the signer backend by + itself. + +- go/oasis-node/txsource: Increase submission timeout + ([#3568](https://github.com/oasisprotocol/oasis-core/issues/3568)) + + Sometimes it can take up to two minutes for a transaction to get included in a + block due to high load. + +- dependencies: Update bubblewrap to 0.4.1 + ([#3577](https://github.com/oasisprotocol/oasis-core/issues/3577)) + +- go/oasis-node/txsource: Fix event validation in queries workload + ([#3593](https://github.com/oasisprotocol/oasis-core/issues/3593)) + + A single transaction can now emit multiple identical events when performing + runtime message execution emitting events. + +- go/e2e/txsource: Add txsource SGX scenario using fewer nodes + ([#3595](https://github.com/oasisprotocol/oasis-core/issues/3595)) + +- go/oasis-test-runner/txsource: Add governance workload + ([#3603](https://github.com/oasisprotocol/oasis-core/issues/3603)) + +- rust: Bump smallvec to 0.6.14 + ([#3604](https://github.com/oasisprotocol/oasis-core/issues/3604)) + +- runtime/storage/mkvs: Add MKVS impl for `&mut T` + ([#3604](https://github.com/oasisprotocol/oasis-core/issues/3604)) + +- go/e2e/governance-upgrade: Wait for compute nodes to be ready + ([#3618](https://github.com/oasisprotocol/oasis-core/issues/3618)) + +- rust: Bump honggfuzz from 0.5.51 to 0.5.52 + ([#3621](https://github.com/oasisprotocol/oasis-core/issues/3621)) + +- rust: Bump slog-scope from 4.3.0 to 4.4.0 + ([#3622](https://github.com/oasisprotocol/oasis-core/issues/3622)) + +- go/common/cbor: Re-export `Marshaler` and `Unmarshaler` interfaces + ([#3630](https://github.com/oasisprotocol/oasis-core/issues/3630)) + +- go: Bump github.com/stretchr/testify from 1.6.1 to 1.7.0 + ([#3632](https://github.com/oasisprotocol/oasis-core/issues/3632)) + +- runtime: Validate block namespace against runtime ID + ([#3633](https://github.com/oasisprotocol/oasis-core/issues/3633)) + +- go/oasis-test-runner/txsource: Decrease `MinPoolSize` for restarts + ([#3636](https://github.com/oasisprotocol/oasis-core/issues/3636)) + + When restarts are enabled there can be one less node so we should make sure + to decrease the `MinPoolSize` in this case. + +- go/runtime: Move host configuration to runtime registry + ([#3653](https://github.com/oasisprotocol/oasis-core/issues/3653)) + +- go/runtime/host: Add helpers for common requests + ([#3653](https://github.com/oasisprotocol/oasis-core/issues/3653)) + + An additional interface `RichRuntime` is added which provides wrappers for + common requests (currently only `CheckTx`). + +- go: Bump ed25519 for fixes on 32-bit architectures + ([#3657](https://github.com/oasisprotocol/oasis-core/issues/3657)) + + Note that 32-bit architectures are not supported by Oasis Core. + +- runtime: Refactor the dispatcher + ([#3662](https://github.com/oasisprotocol/oasis-core/issues/3662)) + + Previously, each request handler performed its own response submission which + repeated a lot of code. This has now been changed by all handlers returning + a proper result type and the main dispatch loop sending the responses. + +- tests: Fix potential key clash in the confidential test KV runtime + ([#3663](https://github.com/oasisprotocol/oasis-core/issues/3663)) + + This was responsible for some E2E test flakiness. + +- beacon: Add a minimal gRPC service + ([#3666](https://github.com/oasisprotocol/oasis-core/issues/3666)) + +- go/worker/beacon: Fix a state recovery edge case + ([#3668](https://github.com/oasisprotocol/oasis-core/issues/3668)) + +- go/consensus/tendermint/abci/mux: Reject early `EstimateGas` calls + ([#3669](https://github.com/oasisprotocol/oasis-core/issues/3669)) + + With the new beacon, `EstimateGas` will not work till either `InitChain` or + `BeginBlock` have been called successfully at least once. + +- go/consensus: Add support for method priority + ([#3675](https://github.com/oasisprotocol/oasis-core/issues/3675)) + +- go/oasis-node/cmd/common/metrics: Fix label escaping + ([#3678](https://github.com/oasisprotocol/oasis-core/issues/3678)) + +- Make sure tracing is only enabled in debug mode + ([#3679](https://github.com/oasisprotocol/oasis-core/issues/3679)) + +- rust: Bump bech32 from 0.7.2 to 0.8.0 + ([#3699](https://github.com/oasisprotocol/oasis-core/issues/3699)) + +- go/oasis-test-runner: Add support for configuring `pprof` + ([#3719](https://github.com/oasisprotocol/oasis-core/issues/3719)) + + Adds support for configuring `pprof` on the test nodes. + +- go/oasis-test-runner: Configurable supplementary sanity checker + ([#3719](https://github.com/oasisprotocol/oasis-core/issues/3719)) + + Previously, supplementary sanity checker was always automatically started on + the `validator-0`. + +- Make: Remove `build-go` target's `go` alias + ([#3722](https://github.com/oasisprotocol/oasis-core/issues/3722)) + +- Make: Add `lint-go-mod-tidy` target + ([#3722](https://github.com/oasisprotocol/oasis-core/issues/3722)) + +- go: Bump github.com/golang/snappy from 0.0.2 to 0.0.3 + ([#3735](https://github.com/oasisprotocol/oasis-core/issues/3735)) + +- rust: Bump aesm-client from 0.5.1 to 0.5.2 + ([#3742](https://github.com/oasisprotocol/oasis-core/issues/3742)) + +- runtime/common/quantity: Add `Mul/Div` implementations + ([#3744](https://github.com/oasisprotocol/oasis-core/issues/3744)) + +- go/nodes/grpc: Tweak backoff timeouts + ([#3757](https://github.com/oasisprotocol/oasis-core/issues/3757)) + + Before, the default storage commit timeout was less than `grpcBackoffMaxDelay` + which made the storage commit request retries ineffective whenever the max + delay was reached (e.g. first few requests after a storage node was + restarted). + +- go/consensus: Validate mode in `SetContextParameters` + ([#3773](https://github.com/oasisprotocol/oasis-core/issues/3773)) + + This makes sure consensus parameters can only be updated in `InitChain` and + `EndBlock`. + + Previously, we only did this check for the core consensus parameters + but it makes sense to extend it to all of the parameters. + +- go/staking/tests/debug: Move into go/staking/tests package + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + +- go/staking/tests: Generalize account handling and add delegations + ([#3774](https://github.com/oasisprotocol/oasis-core/issues/3774)) + +- go: Bump github.com/hashicorp/go-multierror from 1.1.0 to 1.1.1 + ([#3777](https://github.com/oasisprotocol/oasis-core/issues/3777)) + +- go: Bump github.com/prometheus/common to 0.19.0 + ([#3779](https://github.com/oasisprotocol/oasis-core/issues/3779)) + ## 20.12 (2020-11-03) | Protocol | Version |