From a474eac8b5883f6be2ef4b6671cc540e02171bfd Mon Sep 17 00:00:00 2001
From: Piotr Macek <piotr.macek@iota.org>
Date: Wed, 22 Jun 2022 12:30:55 +0200
Subject: [PATCH] Release v0.9.1 (#2301)

* Bump versions

* Add changelog
---
 CHANGELOG.md                                | 148 +++++++++++---------
 plugins/autopeering/discovery/parameters.go |   2 +-
 plugins/banner/plugin.go                    |   2 +-
 plugins/database/versioning.go              |   2 +-
 4 files changed, 84 insertions(+), 70 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e001bf0ce3..c9f7476cd2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,24 @@
+# v0.9.1 - 2022-06-22
+
+> This release introduces the rate setter which allows nodes to estimate their fair rate of block creation and makes removing proof-of-work possible. Congestion is completely handled by the rate-setter and congestion control algorithms (capped at 30 BPS). Access mana is not decaying and is pledged to the node until it's re-pledged to another node. The release also includes new time concepts which make the network more resilient against mana going offline which in the past caused confirmations to stop permanently.
+
+The snapshot has been changed and thus the ledger state is fully reset.
+
+- Fix mount volume (#2300)
+- Remove pow in default config.json (#2299)
+- Update TSC to compare tangle time with time of confirmed message. (#2167)
+- Adds rate setter in data flow (#1557)
+- Update congestion control documentation (#2097)
+- AccessMana is now Mana1 (#2271)
+- Fix: faucet waits longer for messages to be booked (#2280)
+- Correct pre-devnet and devnet identities in snapshot generation tool (#2279)
+
 # v0.9.0 - 2022-06-16
 
 > This major release introduces concurrency throughout the node with asynchronous events and parallelized booking. This is achieved with serix, a generic deterministic serialization library, and through generic thread-safe data models. The ledger and conflictDAG and output processing (introduction of UTXO VM) have been completely rewritten. The Blockfactory received a total revamp as well and tip selection should show better behavior in resolving conflicts. In addition, a bunch of unused modules and code have been removed rendering the project overall more readable. The short identifier of a nodeID has been adjusted to show the first 8 characters of the full identity.
 
 The snapshot has been changed and thus the ledger state is fully reset.
+
 - Refactor MessageFactory, introduce ReferenceProvider and OrphanageManager (#2240)
 - Refactor models to be thread-safe with serix (#2248)
 - Remove future markers (#2241)
@@ -19,7 +35,6 @@ The snapshot has been changed and thus the ledger state is fully reset.
 - GoReleaser dryrun on PRs (#2213)
 - Update marker docs (#2146)
 
-
 # v0.8.14 - 2022-05-16
 
 > Minor revision introducing small docker changes.
@@ -38,7 +53,6 @@ The snapshot has been taken at 2022-05-04 15:05 UTC.
 - Feat/evil spammer improvements and fixes (#2191)
 - Fix bugs in evil spammer and tutorial (#2185)
 
-
 # v0.8.12 - 2022-04-25
 
 > This release introduces the evil wallet and a fix where nodes could not express their opinion on conflicts properly. 
@@ -786,10 +800,10 @@ Config key changes `config.default.json`:
 
 # v0.3.1 - 2020-11-13
 * Refactor message structure according to the new Tangle RFC: 
-    * add support for multiple parents
-    * update local dashboard
-    * new unit tests
-    * max payload size changed to 65157 bytes
+  * add support for multiple parents
+  * update local dashboard
+  * new unit tests
+  * max payload size changed to 65157 bytes
 * Add community-based entry node.
 * Add commit tag to version.
 * Add package for common sentinel errors.
@@ -832,39 +846,39 @@ Config key changes `config.default.json`:
 * Fixes synchronization issue where missing messages were not requested more than once
 * Fixes node's dashboard explorer crashing or not properly visualizing the payload of a given message
 * Improves Grafana local dashboard:
-    * Adds support for the sync-beacon payload type
-    * Displaying uptime and nodeID
+  * Adds support for the sync-beacon payload type
+  * Displaying uptime and nodeID
 * Fixed all linter issues to improve code quality
 * **Breaking**: bumps network and database versions
 
 # v0.2.2 - 2020-07-27
 * Improves message and transaction validation: 
-    * Adjust max transaction inputs count;
-    * Adds signature validation before issuance; 
-    * Enforce max message size in message factory.
+  * Adjust max transaction inputs count;
+  * Adds signature validation before issuance; 
+  * Enforce max message size in message factory.
 * Improves API:
-    * Changes granularity of spammer API to accept messages per minute;
-    * Adds API middleware and set CORS to allow from every origin;
-    * Adds sendTransactionByJSON to allow a client to issue transactions by providing them in a JSON format;
-    * Adds tool API endpoint to facilitate debugging of the solidification status;
-    * Removes old API documentation;
+  * Changes granularity of spammer API to accept messages per minute;
+  * Adds API middleware and set CORS to allow from every origin;
+  * Adds sendTransactionByJSON to allow a client to issue transactions by providing them in a JSON format;
+  * Adds tool API endpoint to facilitate debugging of the solidification status;
+  * Removes old API documentation;
 * Improves synchronization process:
-    * Refactors message requester to be more reliable;
-    * Improves solidification process;
-    * Refactors worker pool management;
-    * Replaces bootstrap plugin with the more secure and reliable beacon plugin.
+  * Refactors message requester to be more reliable;
+  * Improves solidification process;
+  * Refactors worker pool management;
+  * Replaces bootstrap plugin with the more secure and reliable beacon plugin.
 * Improves analysis-server dashboard:
-    * Adds the ability to distinguish between different GoShimmer node versions;
-    * Refactors the interaction between server side and dashboard;
-    * Improves consensus visualization;
-    * Improves dashboard tooling.
+  * Adds the ability to distinguish between different GoShimmer node versions;
+  * Refactors the interaction between server side and dashboard;
+  * Improves consensus visualization;
+  * Improves dashboard tooling.
 * Adds a new electron-based wallet.
 * Increases max gossip packet size.
 * Adds command to the CLI to override database dirty flag.
 * Grafana local dashboard
-    * Adds messages in database chart (solid, not solid, total)
-    * Adds average solidification time chart
-    * Adds Message Request Queue Size chart
+  * Adds messages in database chart (solid, not solid, total)
+  * Adds average solidification time chart
+  * Adds Message Request Queue Size chart
 * **Breaking**: bumps network and database versions
 
 # v0.2.1 - 2020-07-01
@@ -875,52 +889,52 @@ Config key changes `config.default.json`:
 
 # v0.2.0 - 2020-06-30
 * Adds the value transfer dApp:
-    * New binary transaction layout
-    * UTXO model 
-    * Support for transactions with Ed25519 and BLS signatures
-    * Parallel reality based ledger state
-    * Support for colored tokens
-    * Conflict resolution via FPC
-    * Applied FCoB rules
+  * New binary transaction layout
+  * UTXO model 
+  * Support for transactions with Ed25519 and BLS signatures
+  * Parallel reality based ledger state
+  * Support for colored tokens
+  * Conflict resolution via FPC
+  * Applied FCoB rules
 * Adds the network delay dApp which is used to gather the avg. network delay occurring in the network
 * Adds the faucet dApp giving the ability to request funds for testing via the dashboard or web API
 * Adds the DRNG dApp which is used to propagate random numbers produced by a dRand committee (this dApp is inactive)
 * Adds the base communication layer
 * Adds improved analysis server:
-    * Splits it into 3 separate plugins `analysis-client`/`analysis-dashboard`/`analysis-server`
-    * Applies heartbeat pattern for robustness on both client and server side
-    * Uses TLV denoted messages for communication
-    * Complete new dashboard with live visualisations of the network graph and ongoing conflicts
-    * Use short node IDs throughout the analysis dashboard
-    * Prometheus exporter to expose global network metrics
-    * Storage for conflicts inside a MongoDB for further processing
-    * Complete rewritten autopeering data retention
+  * Splits it into 3 separate plugins `analysis-client`/`analysis-dashboard`/`analysis-server`
+  * Applies heartbeat pattern for robustness on both client and server side
+  * Uses TLV denoted messages for communication
+  * Complete new dashboard with live visualisations of the network graph and ongoing conflicts
+  * Use short node IDs throughout the analysis dashboard
+  * Prometheus exporter to expose global network metrics
+  * Storage for conflicts inside a MongoDB for further processing
+  * Complete rewritten autopeering data retention
 * Adds additional HTTP API routes:
-    * "healtz" route to query the health of the node (for LBs)
-    * Query transaction attachment locations
-    * Query transactions by IDs
-    * Send transactions
-    * Get UTXOs on addresses
-    * Query info about the node
-    * Issue a faucet funding request
-    * Query dRNG committee
-    * Query dRNG random number
-    * Issue data payloads
+  * "healtz" route to query the health of the node (for LBs)
+  * Query transaction attachment locations
+  * Query transactions by IDs
+  * Send transactions
+  * Get UTXOs on addresses
+  * Query info about the node
+  * Issue a faucet funding request
+  * Query dRNG committee
+  * Query dRNG random number
+  * Issue data payloads
 * Adds dashboard improvements:
-    * Tips chart
-    * Communication layer visualizer
-    * Address and UTXOs view
-    * Message payload view
-    * DRNG live feed
-    * Faucet page to request funds
-    * Support different payload views (data, value, faucet, unknown)
+  * Tips chart
+  * Communication layer visualizer
+  * Address and UTXOs view
+  * Message payload view
+  * DRNG live feed
+  * Faucet page to request funds
+  * Support different payload views (data, value, faucet, unknown)
 * Adds integration test framework and corresponding tests:
-    * Autopeering/Network Split
-    * Message propagation 
-    * FPC 50/50 network split voting
-    * Faucet funding
-    * Value transfers
-    * Synchronization
+  * Autopeering/Network Split
+  * Message propagation 
+  * FPC 50/50 network split voting
+  * Faucet funding
+  * Value transfers
+  * Synchronization
 * Adds refactored communication layer code
 * Adds BLAKE2-based PoW for rate control
 * Adds rewritten FPC package
@@ -943,7 +957,7 @@ Config key changes `config.default.json`:
 * Fixes usage of WebSocket message rate limiter
 * Fixes disabled/enabled plugins list in info response
 * Fixes the `Graceful Shutdown` plugin not showing the actual background workers during shutdown. The node operator is now
-able to see pending background workers in the order in which they are supposed to be terminated
+  able to see pending background workers in the order in which they are supposed to be terminated
 * Refactors display of IDs to use Base58 throughout the entire codebase
 * Increases network and database versions
 * Removes usage of non std `errors` package
@@ -956,7 +970,7 @@ able to see pending background workers in the order in which they are supposed t
 * Update SPA plugin's JS dependencies
 * Upgrade `github.com/gobuffalo/packr` to v2.8.0
 * Resolves a security issue in the packr dependency, which would allow an unauthenticated attacker to read any
- file from the application's filesystem 
+  file from the application's filesystem
 
 # v0.1.2 - 2020-02-24
 
diff --git a/plugins/autopeering/discovery/parameters.go b/plugins/autopeering/discovery/parameters.go
index 7b31968298..6607b5da98 100644
--- a/plugins/autopeering/discovery/parameters.go
+++ b/plugins/autopeering/discovery/parameters.go
@@ -5,7 +5,7 @@ import "github.com/iotaledger/hive.go/configuration"
 // ParametersDefinitionDiscovery contains the definition of configuration parameters used by the autopeering peer discovery.
 type ParametersDefinitionDiscovery struct {
 	// NetworkVersion defines the config flag of the network version.
-	NetworkVersion uint32 `default:"57" usage:"autopeering network version"`
+	NetworkVersion uint32 `default:"59" usage:"autopeering network version"`
 
 	// EntryNodes defines the config flag of the entry nodes.
 	EntryNodes []string `default:"2PV5487xMw5rasGBXXWeqSi4hLz7r19YBt8Y1TGAsQbj@analysisentry-01.devnet.shimmer.iota.cafe:15626,5EDH4uY78EA6wrBkHHAVBWBMDt7EcksRq6pjzipoW15B@entry-0.devnet.tanglebay.com:14646,CAB87iQZR6BjBrCgEBupQJ4gpEBgvGKKv3uuGVRBKb4n@entry-1.devnet.tanglebay.com:14646" usage:"list of trusted entry nodes for auto peering"`
diff --git a/plugins/banner/plugin.go b/plugins/banner/plugin.go
index a25f936757..01319cece3 100644
--- a/plugins/banner/plugin.go
+++ b/plugins/banner/plugin.go
@@ -15,7 +15,7 @@ var (
 	Plugin = node.NewPlugin(PluginName, nil, node.Enabled, configure, run)
 
 	// AppVersion version number
-	AppVersion = "v0.9.0"
+	AppVersion = "v0.9.1"
 	// SimplifiedAppVersion is the version number without commit hash
 	SimplifiedAppVersion = simplifiedVersion(AppVersion)
 )
diff --git a/plugins/database/versioning.go b/plugins/database/versioning.go
index db23f54a24..5b09140646 100644
--- a/plugins/database/versioning.go
+++ b/plugins/database/versioning.go
@@ -11,7 +11,7 @@ import (
 const (
 	// DBVersion defines the version of the database schema this version of GoShimmer supports.
 	// Every time there's a breaking change regarding the stored data, this version flag should be adjusted.
-	DBVersion = 58
+	DBVersion = 59
 )
 
 var (