Releases: MinaProtocol/mina
Devnet Relaunch v1.0.5
v1.0.5
To support a wider variety of development and testing needs, we are relaunching the Devnet with a new genesis ledger. The new ledger includes all of the stake and token distribution we have been using for finalfinal2 (and will use for mainnet) but all of the tokens are unlocked so that anyone with stake in genesis can test out sending transactions. Additionally, we preserved some partner keys and a selection of backup keys that were generated for Testworld, and added some block producers to our internal network with a lot of stake to ensure blocks and transactions are always flowing.
Alerting, Monitoring, and Testing:
- Watchdog support for checking libp2p responsiveness #8144
- Improved and expanded alerting #8159
- Fix the coinbase metric to only report the best tip when it is recent #8160
Regressions Resolved:
- Add timeouts to telemetry streams #8153
New Features:
- New advanced command for sending rosetta-formatted transactions (such as transactions constructed on a Ledger Nano S) #8167
- run
mina advanced send-rosetta-transactions -help
to get started with the new feature.
- run
- New tool for generating genesis ledgers based on a .tsv file #8168
- A new network means a new genesis ledger, PR #8174 adds the new devnet.json ledger file and #8157 fixes the formatting
See 1.0.2...1.0.5 for the complete set of changes since 1.0.2
Upgrading & Connecting
Daemon Release Artifacts:
Debian Package:
sudo apt-get install -y mina-testnet-postake-medium-curves=1.0.5-68200c7
Docker Image:
minaprotocol/mina-daemon-baked:1.0.5-68200c7
Archive Node Release Artifacts:
Debian Package:
sudo apt-get install -y mina-archive=1.0.5-68200c7
Docker Image:
minaprotocol/mina-archive:1.0.5-68200c7
Schema for initializing postgres:
create_schema.sql
Sandbox Node: For testing in an isolated, single-node network without snarks
Docker Image:
minaprotocol/mina-demo:1.0.5-68200c7
Just docker run -it --name mina-demo minaprotocol/mina-demo:1.0.5-68200c7
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to the relaunched Devnet network. Make sure to run with --peers-list-url https://storage.googleapis.com/seed-lists/devnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 8af43cf261ea10c761ec540f92aafb76aec56d8d74f77c836f3ab1de5ce4eac5
Git SHA-1: 68200c7b409e105d174f079c5c39f7926819784b
1.0.2 Final Final 2 (3) Release 2: Electric Boogaloo
v1.0.2
The team has been hard at work since the release of 1.0.0 working to address regressions and get the last new features in so that we can keep marching towards mainnet!
Regressions Resolved:
- Archive node releases are back to using the proper build profile, with the proper genesis constants PR #8091 fixes #8080 #8082
- GraphQL Liquid Balance calculations can no longer underflow PR #8115 fixes #8083
- Rosetta no longer uses a hardcoded fee of 1 mina, and now respects the compile-time configuration for default fee PR #8109 fixes #8100
- GraphQL
blocks
query now properly selects blocks from the canonical chain as opposed to an arbitrary block at the given height PR #8114 fixes #8111 ./scripts/testnet-keys.py
and any scripts/tools that rely on it now use a post-1.0.0 image with the mina name PR #8142- Even more Coda->Mina changes, now
mina client status
and other CLI outputs use the proper branding #8121
Breaking Changes:
Some new features that are included with this release have the potential to break existing GraphQL queries or scripts/configurations that use the --disable-telemetry
flag.
- Telemetry is now
Node Status
. The telemetry functionality we include has already been pared down to a minimal node status that (when enabled) reports this status to peers and other nodes. To reflect this, we have updated the CLI flag (--disable-telemetry
is now--disable-node-status
) and all uses of "telemetry" in the codebase have been renamed. PR #8118 with an additional patch in #8131 - PR #8113 extends the GraphQL output for the
new_block
subscription and theblock
andbest_chain
queries to include atype
for each fee transfer as requested in #8072 and in order to bring the graphql output in-line with the archive node schema.
The value of this field is eitherFee_transfer
orFee_transfer_via_coinbase
.
Fee_transfer_via_coinbase
is the fee transfer in a coinbase transaction. This corresponds to the snark worker fee deducted from the coinbase amount.
All other snark-work fee transfers are deducted from transaction fees and have the typeFee_Transfer
, including the fee transfer that pays transaction fee to the producer
See 1.0.0...1.0.2 for the complete set of changes since 1.0.0
Upgrading & Connecting
Daemon Release Artifacts:
/Debian Package:/
sudo apt-get install -y mina-testnet-postake-medium-curves=1.0.2-06f3c5c
/Docker Image:/
minaprotocol/mina-daemon-baked:1.0.2-06f3c5c
Archive Node Release Artifacts:
/Debian Package:/
sudo apt-get install -y mina-archive=1.0.2-06f3c5c
/Docker Image:/
minaprotocol/mina-archive:1.0.2-06f3c5c
Step by Step Guide:
Check out https://minaprotocol.com/docs/connecting for complete instructions on using this version to connect to the Final Final 2 (3) network.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 90b71f6f798dec88a1afc825cd0b358c6d8a3ff3c0b57a7fe97412ea5a639c2b
Git SHA-1: 06f3c5cdeb635b2564fcb2edac4f10db85b93c36
1.0.0 Final Final 2 (3) Release 1: The Final Network
As mentioned in the previous release notes and various announcements, the 1.0.0 release is here and it comes with another round of coda-> mina name changes that have been pending since our initial rebrand.
Notable Changes:
- Coda is now Mina! To invoke the daemon or any client commands, you must now use the
mina
command. Some lingering coda references are still lurking in the command line output but this command line interface matches how we expect the daemon to operate at mainnet launch. ~/.coda-config
is now~/.mina-config
and all log files are now mina-prefixed (likemina.log*
instead ofcoda.log*
). To override the default config directory, use the cli flag--config-dir
.mina version
on official builds in CI no longer shows a[DIRTY]
prefix on branch HEAD, the correct output for 1.0.0 isCommit fd3980820fb82c7355af49462ffefe6718800b77 on branch master
- Increased logging around blocks that fail to validate, as was seen in previous testnets where nodes appear to be synced but are stuck/offline. These logs should allow us to properly track down the source of the issue in time for mainnet.
- And many more! 1.0.0 is a huge leap forward for the infrastructure, automation, and helm charts as well to support the coda->mina change as well as more complex/modular deployments with support for many archive nodes and 0 block producers.
See 0.4.3...1.0.0 for the complete (massive) list of changes that brought us to 1.0.0 and beyond!
Devnet 0.4.3
The new devnet network was launched this week to ease development during the leadup to mainnet launch, and release 0.4.3 fixes some of the hiccups folks have encountered so far with manually providing a config.json to the 0.4.2 zenith daemon.
Notable Changes:
- Includes the devnet conifg.json in the debian package, so that it does not have to be manually downloaded and provided to the daemon
- Fixes a minor bug in scripts/release-docker.sh that required an additional value after the --no-upload flag
- Fixes the timeouts in our telemetry mechanism to ensure that telemetry requests are discarded if they are not performant
See #7979 for the full changeset since the launch of Devnet with 0.4.2.
WARNING: This is the final release that will use coda
as the executable filename and ~/.coda-config
as the configuration directory. The next release (1.0.0), future testnets, and all mainnet-compatible releases will only support the proper mina
name and ~/.mina-config
as the default configuration directory.
If you haven't done so already, this is also a good time to upgrade scripts and tooling to support command line flags with double dashes as opposed to the single hyphen. Both variants are supported right now (except for -help and -version) but the single-dash flags are deprecated and will be removed in a future release.
Since the last release notes in 0.4.0, we have also addressed:
- Improved edge case handling for the missing subchains tool #7914
- New tooling for generating genesis ledgers #7894
- Improved automation around integration tests #7743 #7936
- Improved automation documentation #7938
- Updated the chain quality grace period to 3 days #7937
- Fixes rosetta suggestedFee for transactions #7937
- Fixes the checks around passing in peers flags to support -peer-list-url #7937
See 0.4.0...0.4.3 for the complete change list.
Release Artifacts:
Debian Package Version: mina-testnet-postake-medium-curves=0.4.3-8dfa483
Docker Image: minaprotocol/mina-daemon-baked:0.4.3-8dfa483-devnet-ee24b4f
Zenith Network
- Realistic genesis ledger (around 80% full)
- Change transaction fee default (0.25 MINA) and snark fee default (0.1 MINA) and account creation fee (1 MINA) and block reward (720 MINA)
- Enable ability to pass peer-list-url so you don't need to manually pull the peer list file
- More efficient telemetry gathering on nodes
- Default to super-catchup
- Introduces new commands for tracking staking, delegating, and supercharging for accounts participating in consensus: see the
coda ledger
subcommand - Fixes a malformed query in archive node for blocks
- More detailed information about slots won with a
generatedFromConsensusAt
subfield ofnextBlockProduction
indaemonStatus
- Logging highest seen invalid block as well for better status understanding of being behind on the chain
Encore v0.3.3
This release includes a variety of fixes for:
- Regressions with the add-peers command and peer exchange introduced by the max-connections feature in 0.3.0 #7856 #7857 #7841
New Features:
- Introducing
--
style POSIX-compliant flags, not including -help and -version. For now both -- and - versions are supported. #7812 #7835 - Improved key validation tooling to validate .pub and privkey files #7787 #7767 #7817
- Testing and automation improvements #7810 #7831
Debian Package version: mina-testnet-postake-medium-curves=0.3.3-3ef8663
Docker Image: minaprotocol/mina-daemon-baked:0.3.3-3ef8663-encore-3b5824a
See 0.3.0...0.3.3 for the complete set of commits between releases
Encore 0.3.0
0.3.0 is the first release of Testworld after the hardfork (codename "Encore") on 2/4/2021.
The fork brings along a set of changes that are incompatible with the previous release, including but not limited to:
- Rejecting bad snark work from the pool instead of including bad transactions in blocks #7666
- A proper limit on maximum connections #7751
- A new grace period around minimum window density checks #7504
A variety of compatible bug fixes:
- Properly handle race conditions around ledger updates #7759
- Retry logic in archive node #7707
- Balance data in archive node #7735 #7766 #7680
And major improvements to the infrastructure and deployment:
- Static PeerIDs for O(1) Labs Nodes (this should mean a much more stable peers.txt file) #7789 #7608
- Helm chart changelogs are now on artifact hub (check them out for more details on how our charts have changed): https://artifacthub.io/packages/search?page=1&ts_query_web=mina
- Watchdog improvements #7752
- More Terraform modularity #7744
Known Issues:
- Refuses to exchange peers once max-connections is reached
- add-peers command and graphql are broken
- peer exchange dials invalid peers
All of the above fixed in https://github.com/MinaProtocol/mina/releases/tag/0.3.3
See 0.2.12...0.3.0 for the full list of commits between releases.
Testworld v0.2.12
This release includes some major new features requested by the community, and some more minor bug fixes.
New Features:
- Distinct signatures in "mainnet" builds vs. the testnet signatures we have been using up until now #7738
- New validate-transaction command for verifying test transactions signed via other tools (like the ledger app) #7698
- Retry logic for the archive-node #7707
- Asynchronous
best-chain
GraphQL endpoint #7717 - Terraform workspaces support #7710
- Prometheus metrics improvements #7685 #7677
Bug Fixes:
coda advanced dump-staking-ledger
now returns an error when the staking ledger is not available #7612
Testworld 0.2.11
All of the features and fixes from 0.2.10 ( https://github.com/MinaProtocol/mina/releases/tag/0.2.10 ) are included here, as well as the following:
- Fixed a crash when nodes try to process expired transactions #7705
- Fixed a segfault in
CamlPointer
library #7669 - Fixed a bug causing the snapps demo to crash #6133
New Features:
- Testnet deploy job for faster testing and iteration #7607
Testworld 0.2.10
These release adds a few features for handling keypairs and recovering archive node data, as well as improved messaging for log levels and crashes.
Features:
- ClientSDK feature for getting the Public Key for a given Private Key #7512
- Improved documentation around -log-levels #7635
- Commit SHA is now included in error and fatal logs #7693
- Improved messaging around crashes due to child process signals #7696
- Standalone tool in the archive-node package for recovering block data from alternate sources #7695
Fixed:
- Bugs in run_local_network.sh #7673
- Error/exception handling for commands in the transaction pool #7672
Known Issues:
- Prover crashes due to logic bug in #7672