Releases: MinaProtocol/mina
Mainnet Beta Release 1.3.1beta1
The O(1) Labs team is proud to announce that 1.3.1beta1 is ready to test on Mainnet! This release includes a set of critical bugfixes and improvements that we have applied to 1.3.0 as hotfixes to ensure minimal changes between releases. Larger changes will come along with a slower process in an incoming 1.3.2alpha1 and future 1.3.2+ releases.
If you run into any issues, please include Release: 1.3.1beta1
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
Bug Fixes:
- Improve nonce edge case handling in rosetta #1060
- Fix integration tests to match the deployed infrastructure #10811
New Features:
- Improve error handling and retry logic in the foundation delegation uptime client #10789
- Make the new docker entrypoint script more flexible and lower disk used for logging #10841
- Support memos in rosetta responses #10538
Complete Changelog since 1.3.0:
Upgrading & Connecting to Mainnet
Debian Packages:
Debian Repository:
First, set up and update the beta
Debian Repository for your platform with the following commands:
sudo rm /etc/apt/sources.list.d/mina*.list
echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.1beta1-529bf17
Mina Archive: sudo apt-get install -y mina-archive=1.3.1beta1-529bf17
New Mina Archive Schema: create_schema.sql
Docker Images:
Every docker image is built for each of the supported platforms, replace CODENAME
in the images below with your choice of bionic
, focal
, stretch
, buster
, or bullseye
to select the base docker image.
Mina Daemon: minaprotocol/mina-daemon:1.3.1beta1-529bf17-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:1.3.1beta1-529bf17-CODENAME
New Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta:1.3.1beta1-529bf17-CODENAME
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.1beta1-529bf17-CODENAME-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet.
Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
to your .mina-env
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 529bf17eadca3d589d12ba6c9333b2edf13d308b
Mainnet Stable Release 1.3.0
The O(1) Labs team is proud to announce that 1.3.0 has graduated to Stable and is fully ready for production use! This final 1.3.0 release includes all of the extensive performance optimizations, bug fixes, and a variety of new features that are discussed in detail below, with a summary of some of the more critical changes and links to further information about the extensive changes since 1.2.2. Our testing indicates that 1.3.0 is
If you run into any issues, please include Release: 1.3.0
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
Bug Fixes:
- Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by #10190
- Remove verifier memory stats logging to save resources #10236
- Fix super catchup async loop to avoid busy waiting #10237
- Cache intermediate ledger hashes to improve bootstrap resource usage #10297
New Features:
- Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- New command
mina advanced runtime-config
and relatedruntimeConfig
graphQL query for returning the configuration the daemon is using #8648 - Upgrade to Ocaml 4.11.2 #8898
- Upgrade to Rust 1.52.1 #9076
- Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
- Housekeeping #10148 #10149 #10161
- Testing Improvements #10133 #10159 #10201 #10209 #10230
- Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
- Debian 9 Codename "stretch" (always supported)
- Debian 10 Codename "buster" (supported since 1.3.0alpha1)
- Debian 11 Codename "bullseye" NEW
- Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
- Ubuntu 20.04 Codename "focal" NEW
- To use the appropriate package for your platform:
- First uninstall mina-mainnet:
sudo apt-get remove mina-mainnet
- Then determine your release codename from the list above or by running
lsb_release -cs
- Use this name instead of
stretch
in the debian instructions below
- First uninstall mina-mainnet:
- New
--node-status-url
,--node-error-url
, and--contact-info
parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980- The first version of each backend is up for testing at:
--node-status-url https://us-central1-o1labs-192920.cloudfunctions.net/node-status-collection
--node-error-url https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection
- The first version of each backend is up for testing at:
- Support $PEER_LIST_URL, $LOG_LEVEL, $FILE_LOG_LEVEL, and a new flag $VERBOSE in the dockerfile entrypoint #10242 #10245
Archive Node:
- New archive node schema for optimized balance queries #9859
Rosetta Support:
- New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
- Replace pending status with null or empty #10219 #10257
- Index nonces with the replayer for fast archive retrieval #10258
- Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
- Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104
Complete Changelog since 1.2.2:
Upgrading & Connecting to Devnet
Debian Packages:
Debian Repository:
First, set up and update the stable
Debian Repository for your platform with the following commands:
sudo rm /etc/apt/sources.list.d/mina*.list
echo "deb [trusted=yes] http://packages.o1test.net $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0-9b0369c
Mina Archive: sudo apt-get install -y mina-archive=1.3.0-9b0369c
New Mina Archive Schema: create_schema.sql
Docker Images:
Every docker image is built for each of the supported platforms, replace CODENAME
in the images below with your choice of bionic
, focal
, stretch
, buster
, or bullseye
to select the base docker image.
Mina Daemon: minaprotocol/mina-daemon:1.3.0-9b0369c-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:1.3.0-9b0369c-CODENAME
New Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta:1.3.0-9b0369c-CODENAME
Or you can use the new latest
image tag for all of the above images (ex. minaprotocol/mina-daemon:latest
) which is equivalent to 1.3.0-9b0369c-bullseye-mainnet
and will be automatically updated for stable releases going forward.
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0-9b0369c-CODENAME-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet.
Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
or add PEER_LIST_URL=https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
to your .mina-env
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 9b0369c27bb85c8ab2f8725c6e977eb27b53b826
Mainnet Beta Release 1.3.0beta5
The O(1) Labs team is proud to announce that results from the latest beta tests have been great, but we have even more improvements available in beta5! This 1.3.0beta5 includes all of the extensive improvements from beta4 as well as improved performance when serving bootstrap requests (great for seed nodes!) and additional optimizations to rosetta and mina-archive for fast retrieval of historical account nonces. Below is a summary of some of the more critical changes, and links to further information about the extensive changes since 1.2.2.
If you run into any issues, please include Release: 1.3.0beta5
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
Bug Fixes:
- Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by#10190
- Remove verifier memory stats logging to save resources #10236
- Fix super catchup async loop to avoid busy waiting #10237
- Cache intermediate ledger hashes to improve bootstrap resource usage #10297
New Features:
- Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- New command
mina advanced runtime-config
and relatedruntimeConfig
graphQL query for returning the configuration the daemon is using #8648 - Upgrade to Ocaml 4.11.2 #8898
- Upgrade to Rust 1.52.1 #9076
- Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
- Housekeeping #10148 #10149 #10161
- Testing Improvements #10133 #10159 #10201 #10209 #10230
- Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
- Debian 9 Codename "stretch" (always supported)
- Debian 10 Codename "buster" (supported since 1.3.0alpha1)
- Debian 11 Codename "bullseye" NEW
- Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
- Ubuntu 20.04 Codename "focal" NEW
- To use the appropriate package for your platform:
- First uninstall mina-mainnet:
sudo apt-get remove mina-mainnet
- Then determine your release codename from the list above or by running
lsb_release -cs
- Use this name instead of
stretch
in the debian instructions below
- First uninstall mina-mainnet:
- New
--node-status-url
,--node-error-url
, and--contact-info
parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980- The first version of each backend is up for testing at:
--node-status-url https://us-central1-o1labs-192920.cloudfunctions.net/node-status-collection
--node-error-url https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection
- The first version of each backend is up for testing at:
- Support $PEER_LIST_URL, $LOG_LEVEL, $FILE_LOG_LEVEL, and a new flag $VERBOSE in the dockerfile entrypoint #10242 #10245
Archive Node:
- New archive node schema for optimized balance queries #9859
Rosetta Support:
- New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
- Replace pending status with null or empty #10219 #10257
- Index nonces with the replayer for fast archive retrieval #10258
- Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
- Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104
Complete Changelog since 1.2.2:
The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test.
1.2.2...1.3.0beta5
For more information about the changes included in more recent updates like 1.3.0beta4, see the previous release notes
Upgrading & Connecting to Mainnet
Debian Packages:
Debian Repository:
First, set up and update the beta
Debian Repository for your platform. Replace the word CODENAME
with the appropriate codename for your machine, one of bionic
, focal
, stretch
, buster
, or bullseye
and run:
echo "deb [trusted=yes] http://packages.o1test.net CODENAME beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta5-18ab1dc
Mina Archive: `sudo apt-get install -y mina-archive=1.3.0beta5-18ab1dc
New Mina Archive Schema: create_schema.sql
Docker Images:
Every docker image is built for each of the supported platforms, replace CODENAME
in the images below with your choice of bionic
, focal
, stretch
, buster
, or bullseye
to select the base docker image.
Mina Daemon: minaprotocol/mina-daemon:1.3.0beta5-18ab1dc-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:1.3.0beta5-18ab1dc-CODENAME
New Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta:1.3.0beta5-18ab1dc-CODENAME
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0beta5-18ab1dc-CODENAME-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 18ab1dc105bb6b0d5efa2ad97632f0fb676646bd
Mainnet Beta Release 1.3.0beta4
The O(1) Labs team is proud to announce that results from the latest beta tests have been great, but we have even more improvements available in beta4! This 1.3.0beta4 includes all of the extensive improvements from beta1 as well as a fix for the longstanding bug with mina accounts unlock
, support for many new platforms including Ubuntu 20.04, support for the same set of environment variables in mina.service and docker, and further optimizations for the async scheduler. Below is a summary of some of the more critical changes (more detailed documentation dating back to 1.2.2 coming soon).
If you run into any issues, please include Release: 1.3.0beta4
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
Bug Fixes:
- Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by#10190
- Remove verifier memory stats logging to save resources #10236
- Fix super catchup async loop to avoid busy waiting #10237
New Features:
- Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- New command
mina advanced runtime-config
and relatedruntimeConfig
graphQL query for returning the configuration the daemon is using #8648 - Upgrade to Ocaml 4.11.2 #8898
- Upgrade to Rust 1.52.1 #9076
- Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
- Housekeeping #10148 #10149 #10161
- Testing Improvements #10133 #10159 #10201 #10209 #10230
- Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
- Debian 9 Codename "stretch" (always supported)
- Debian 10 Codename "buster" (supported since 1.3.0alpha1)
- Debian 11 Codename "bullseye" NEW
- Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
- Ubuntu 20.04 Codename "focal" NEW
- To use the appropriate package for your platform:
- First uninstall mina-mainnet:
sudo apt-get remove mina-mainnet
- Then determine your release codename from the list above or by running
lsb_release -cs
- Use this name instead of
stretch
in the debian instructions below
- First uninstall mina-mainnet:
- New
--node-status-url
,--node-error-url
, and--contact-info
parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980- The first version of the backend is up for testing at
https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection
- The first version of the backend is up for testing at
- Support $PEER_LIST_URL, $LOG_LEVEL, $FILE_LOG_LEVEL, and a new flag $VERBOSE in the dockerfile entrypoint #10242
Archive Node:
- New archive node schema for optimized balance queries #9859
Rosetta Support:
- New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
- Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
- Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104
Complete Changelog since 1.2.2:
The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test.
1.2.2...1.3.0beta4
For more information about the changes included in more recent updates like 1.3.0beta2, see the previous release notes
Upgrading & Connecting to Devnet
Debian Packages:
Debian Repository:
First, set up and update the beta
Debian Repository for your platform. Replace the word CODENAME
with the appropriate codename for your machine, one of bionic
, focal
, stretch
, buster
, or bullseye
and run:
echo "deb [trusted=yes] http://packages.o1test.net CODENAME beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta4-202caa6
Mina Archive: sudo apt-get install -y mina-archive=1.3.0beta4-202caa6
New Mina Archive Schema: create_schema.sql
Docker Images:
Every docker image is built for each of the supported platforms, replace CODENAME
in the images below with your choice of bionic
, focal
, stretch
, buster
, or bullseye
to select the base docker image.
Mina Daemon: minaprotocol/mina-daemon:1.3.0beta4-202caa6-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:1.3.0beta4-202caa6-CODENAME
New Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta:1.3.0beta4-202caa6-CODENAME
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0beta4-202caa6-CODENAME-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 202caa6a090311d75cd35192d85dd77985921522
Mainnet Beta Release 1.3.0beta2
The O(1) Labs team is proud to announce that the initial beta1 release has been running well but we have even more improvements availible in beta2! This 1.3.0beta2 includes all of the extensive improvements from beta1 as well as a fix for the longstanding bug with mina accounts unlock
, as well as support for many new platforms including Ubuntu 20.04 as promised. Below is a summary of some of the more critical changes (more detailed documentation dating back to 1.2.2 coming soon).
If you run into any issues, please include Release: 1.3.0beta2
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
Bug Fixes:
- Fix account unlocking so that the password does not get rewritten when the key is unlocked #9720 fixed by#10190
New Features:
- Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- New command
mina advanced runtime-config
and relatedruntimeConfig
graphQL query for returning the configuration the daemon is using #8648 - Upgrade to Ocaml 4.11.2 #8898
- Upgrade to Rust 1.52.1 #9076
- Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
- Housekeeping #10148 #10149 #10161
- Testing Improvements #10133 #10159 #10201 #10209
- Support for a variety of Ubuntu and Debian platforms, with docker images for each of them #10213 #10194:
- Debian 9 Codename "stretch" (always supported)
- Debian 10 Codename "buster" (supported since 1.3.0alpha1)
- Debian 11 Codename "bullseye" NEW
- Ubuntu 18.04 Codename "bionic" (originally shared with stretch, now fully supported)
- Ubuntu 20.04 Codename "focal" NEW
- To use the appropriate package for your platform:
- First uninstall mina-mainnet:
sudo apt-get remove mina-mainnet
- Then determine your release codename from the list above or by running
lsb_release -cs
- Use this name instead of
stretch
in the debian instructions below
- First uninstall mina-mainnet:
- New
--node-status-url
,--node-error-url
, and--contact-info
parameters to enable pushing node status and crash logs to a backend url. The contact info parameter is optional but allows you to provide discord or email contact in case we need further information about a crash. #9980- The first version of the backend is up for testing at
https://us-central1-o1labs-192920.cloudfunctions.net/node-error-collection
- The first version of the backend is up for testing at
Archive Node:
- New archive node schema for optimized balance queries #9859
Rosetta Support:
- New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
- Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
- Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104
Complete Changelog since 1.2.2:
The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test.
1.2.2...1.3.0beta2
For more information about the changes included in more recent updates like 1.3.0beta1, see the previous release notes
Upgrading & Connecting to Devnet
Debian Packages:
Debian Repository:
First, set up and update the beta
Debian Repository for your platform. Replace the word CODENAME
with the appropriate codename for your machine, one of bionic
, focal
, stretch
, buster
, or bullseye
and run:
echo "deb [trusted=yes] http://packages.o1test.net CODENAME beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta2-9dec613
Mina Archive: sudo apt-get install -y mina-archive=1.3.0beta2-9dec613
New Mina Archive Schema: create_schema.sql
Docker Images:
Every docker image is built for each of the supported platforms, replace CODENAME
in the images below with your choice of bionic
, focal
, stretch
, buster
, or bullseye
to select the base docker image.
Mina Daemon: minaprotocol/mina-daemon:1.3.0beta2-9dec613-CODENAME-mainnet
Mina Archive: minaprotocol/mina-archive:1.3.0beta2-9dec613-CODENAME
New Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta:1.3.0beta2-9dec613-CODENAME
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0beta2-9dec613-CODENAME-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 9dec6138776f66275ac1401b6b8ea4f66e264bad
Mainnet Beta Release 1.3.0beta1
The O(1) Labs team is proud to announce that the 1.3.0 release has graduated to Beta! This 1.3.0beta1 includes a variety of changes back to even before mainnet launch like support for MINA_ environment variables, major changes across all of our testing and infrastructure, archive node optimizations, Rosetta support, and bugfixes and performance improvements across the codebase. Below is a summary of some of the more critical changes (more detailed documentation coming soon).
If you run into any issues, please include Release: 1.3.0beta1
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
New Features:
- Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace
stretch
withbuster
in either the docker image tag or the debian repository setup command. - New command
mina advanced runtime-config
and relatedruntimeConfig
graphQL query for returning the configuration the daemon is using #8648 - Upgrade to Ocaml 4.11.2 #8898
- Upgrade to Rust 1.52.1 #9076
- Remove deprecated feature for swapping block producer keys at runtime to simplify daemon startup and fix demo mode #10139
Archive Node:
- New archive node schema for optimized balance queries #9859
Rosetta Support:
- New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
- Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
- Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104
Complete Changelog since 1.2.2:
The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test.
1.2.2...1.3.0beta1
For more information about the changes included in more recent alphas like 1.3.0alpha3, see the previous release notes
Upgrading & Connecting to Devnet
Debian Packages:
Debian Repository:
First, set up and update the beta
Debian Repository for your platform (stretch
or buster
, ubuntu 20.04 focal
coming soon)
echo "deb [trusted=yes] http://packages.o1test.net stretch beta" | sudo tee /etc/apt/sources.list.d/mina-beta.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0beta1-087f715
Mina Archive: sudo apt-get install -y mina-archive=1.3.0beta1-087f715
New Mina Archive Schema: create_schema.sql
Docker Images:
Mina Daemon: minaprotocol/mina-daemon:1.3.0beta1-087f715-stretch-mainnet
or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0beta1-087f715-buster-mainnet
Mina Archive: minaprotocol/mina-archive:1.3.0beta1-087f715-buster
New Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta-ubuntu:1.3.0beta1-087f715-stretch
Do not worry that it is labeled "Stretch", this image is based on Ubuntu 20.04 Focal Fossa.
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0beta1-087f715-buster-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 087f71500820c335f1afef9a4bee9a92b5034c70
Devnet Pre-release 1.3.0alpha3
The O(1) Labs team is proud to announce that we have resolved the outstanding catchup and snark worker issues with 1.3.0alpha2. This alpha3 release includes some smaller fixes for our CI / infrastructure as well as updates for mina-archive and a new mina-rosetta docker image. Take a look at the changelog below to start testing 1.3.0alpha3!
Of the changes included in 1.3.0alpha3, we are most hopeful that the staged ledger diff optimization will help keep nodes in sync with the tip of the chain, even under higher transaction load, though investigations are ongoing for how to further improve block production and gossip performance.
If you run into any issues, please include Release: 1.3.0alpha3
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
New Features for alpha3:
- Simpler optimization for staged ledger diff application (and revert buggy PRs from alpha2) #10121
Testing Improvements:
Archive Node:
- New archive node schema for optimized balance queries
Rosetta Support:
- New docker image mina-rosetta-ubuntu which includes the mina daemon, mina-archive, and mina-rosetta along with entrypoint scripts to fill the archive database with blocks back to genesis and start all 3 daemons in tandem.
- Rosetta work has been ongoing for some time, and it has taken 26 pull requests to get all of the features supported and the kinks ironed out, but we are happy with the result. See the README for more about working with mina-rosetta.
- Those 26 PRs: #9797 #9802 #9811 #9839 #9841 #9848 #9859 #9871 #9880 #9881 #9884 #9890 #9896 #9899 #9904 #9908 #9911 #9885 #9954 #9967 #9969 #9965 #10019 #10044 #9932 #10104
Highlighted New Features introduced in alpha1:
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace
stretch
withbuster
in either the docker image tag or the debian repository setup command.
Complete Changelog since 1.3.0alpha1:
The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test.
1.3.0alpha1...1.3.0alpha3
For more information about the changes included in 1.3.0alpha1, see the previous release notes
Upgrading & Connecting to Devnet
Debian Packages:
Debian Repository:
First, set up and update the alpha
Debian Repository for your platform (stretch
or buster
, ubuntu 20.04 coming soon)
echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-devnet=1.3.0alpha3-f7b7dc9
Mina Archive: sudo apt-get install -y mina-archive=1.3.0alpha3-f7b7dc9
New Mina Archive Schema: create_schema.sql
Docker Images:
Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-stretch-devnet
or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-buster-devnet
Mina Archive: minaprotocol/mina-archive:1.3.0alpha3-f7b7dc9-buster
New Mina Archive Schema: create_schema.sql
Mina Rosetta: minaprotocol/mina-rosetta-ubuntu:1.3.0alpha3-f7b7dc9-stretch
Do not worry that it is labeled "Stretch", this image is based on Ubuntu 20.04. The default entrypoint connects to mainnet, use docker run --entrypoint ./docker-devnet-start.sh
for devnet.
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-buster-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Devnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/seed-lists/devnet_seeds.txt
.
If you are running the correct version on the correct network DEVNET, mina client status
will show:
Chain id: b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
Git SHA-1: f7b7dc9e55687d3906dd4176d782502f7495c83f
Upgrading & Connecting to Mainnet
As this release may improve block production on mainnet, we are releasing installation instructions for mainnet early. Use alpha releases on mainnet on one block producing node only, and with caution. Please report back your results, if testing goes well and the archive node changes are ready we would like to graduate 1.3.0 to beta status very soon.
Debian Repository:
First, set up and update the alpha
Debian Repository for your platform, via the same instructions shown above.
Then, install the mainnet mina daemon package:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0alpha3-f7b7dc9
Mainnet Docker Images:
Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-stretch-mainnet
or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha3-f7b7dc9-buster-mainnet
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: f7b7dc9e55687d3906dd4176d782502f7495c83f
Devnet Pre-Release 1.3.0alpha2
The O(1) Labs team is proud to announce that we have additional features from the compatible
branch ready for alpha testing on Devnet in the form of this 1.3.0alpha2 release. The scale of the changes since 1.2.2 is massive after months of work across many different parts of the application, and we have not yet fully documented those changes beyond what git will show. Look out for more thorough release notes in the next beta if not before. Below you can read the full scope of changes between 1.3.0alpha1 and 1.3.0alpha2.
Of the changes included in 1.3.0alpha2, we are most hopeful that the staged ledger diff optimizations in #9782 will help keep nodes in sync with the tip of the chain, even under higher transaction load.
KNOWN ISSUES
This release can get stuck in catchup and can crash the snark worker on certain types of transactions. See https://github.com/MinaProtocol/mina/releases/tag/1.3.0alpha3 for fixes to those issues.
If you run into any issues, please include Release: 1.3.0alpha2
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
New Features for alpha2:
- Initial support for bitswap in libp2p helper #9626
- Fix SetGatingConfig RPC banning behavior #9895
- Choose the best VRF evaluation for a given slot rather than the first #8327
- Optimized Staged Ledger Diff Application #9782 #10018
Testing Improvements:
- Catchup Failure Unit Tests #9889
- Utility File Integration Tests #9955
- Fix race condition in Integration Tests #10009
- Peer Graph Connectivity Integration Test #9977
- Remove verbose log #10007
- Unit test for SetGatingConfig #9895
- Unit test for sparse ledger subset extraction #9782
Archive Node:
Some important archive node changes, including a new database schema, are not yet included in this release, so we advise anyone that is waiting for the 1.3.0+ archive node to use Alpha3 instead which finally includes the 1.3.0 schema!
Highlighted New Features introduced in alpha1:
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace
stretch
withbuster
in either the docker image tag or the debian repository setup command.
Complete Changelog since 1.3.0alpha1:
The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test.
1.3.0alpha1...1.3.0alpha2
For more information about the changes included in 1.3.0alpha1, see the previous release notes
Upgrading & Connecting to Devnet
Debian Packages:
Debian Repository:
First, set up and update the alpha
Debian Repository for your platform (stretch
or buster
, ubuntu 20.04 coming soon)
echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-devnet=1.3.0alpha2-2717385
Mina Archive: NOT READY YET - see the note above for more details
Docker Images:
Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha2-2717385-stretch-devnet
or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha2-2717385-buster-devnet
Mina Archive: NOT READY YET - see the note above for more details
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0alpha2-2717385-buster-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Devnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/seed-lists/devnet_seeds.txt
.
If you are running the correct version on the correct network DEVNET, mina client status
will show:
Chain id: b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
Git SHA-1: 271738546ff38127772494949de5c23fb6336727
Upgrading & Connecting to Mainnet
As this release may improve block production on mainnet, we are releasing installation instructions for mainnet early. Use alpha releases on mainnet on one block producing node only, and with caution. Please report back your results, if testing goes well and the archive node changes are ready we would like to graduate 1.3.0 to beta status very soon.
Debian Repository:
First, set up and update the alpha
Debian Repository for your platform, via the same instructions shown above.
Then, install the mainnet mina daemon package:
Mina Daemon: sudo apt-get install -y mina-mainnet=1.3.0alpha2-2717385
Mainnet Docker Images:
Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha2-2717385-stretch-mainnet
or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha2-2717385-buster-mainnet
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network MAINNET, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: 271738546ff38127772494949de5c23fb6336727
Devnet Pre-Release 1.3.0alpha1
The O(1) Labs team is proud to announce that the compatible
branch is ready for alpha testing on Devnet in the form of this 1.3.0alpha1 release. The scale of the changes since 1.2.2 is massive after months of work across most of our tooling and many different parts of the application. The 1,424 Commits and 1,589 changed files is a testament to the amount of hard work the team at O(1) Labs, along with contractors and community contributors have put in since even before Mainnet launch. Our internal testing has been very positive, and a large amount of that work was to improve our ability to ship quality, well-tested, maintainable code. Obviously with that much change there are bound to be new bugs that we have yet to discover but we invite you to try this new alpha out on our Devnet network.
If you run into any issues, please include Release: 1.3.0alpha1
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
Highlighted New Features:
- This version supports both MINA_ environment variables and the old CODA_ prefix, but the 1.3.X will be the last releases to support CODA_. We recommend you take this opportunity to use MINA_ everywhere going forward (example: MINA_PRIVKEY_PASS, MINA_CLIENT_TRUSTLIST, etc.)
- Support for Debian Buster in addition to Ubuntu18.04/ Debian Stretch. Official support for 20.04 is coming soon, hopefully before 1.3.0 stable. To use the new buster-based package or images, replace
stretch
withbuster
in either the docker image tag or the debian repository setup command.
Archive Node:
Some important archive node changes, including a new database schema, are not yet included in this release, so we advise anyone that is waiting for the 1.3.0+ archive node to wait for a future alpha with the final database schema and more complete migration instructions.
Complete Changelog since 1.2.2:
The change set is far too large for github to display, but the github comparison still shows the immense scale of 1.3.0 and why we are so excited to get it out into your hands to test.
1.2.2...1.3.0alpha1
For more information about the changes included in 1.2.2, see the previous release notes
Upgrading & Connecting
Debian Packages:
Debian Repository:
First, Set up and update the alpha
Debian Repository for your platform (stretch
or buster
, ubuntu 20.04 coming soon)
echo "deb [trusted=yes] http://packages.o1test.net stretch alpha" | sudo tee /etc/apt/sources.list.d/mina-alpha.list
sudo apt-get update
Then, install the package(s) that you need:
Mina Daemon: sudo apt-get install -y mina-devnet=1.3.0alpha1-98ec1bb
Mina Archive: NOT READY YET - see the note above for more details
Docker Images:
Mina Daemon: minaprotocol/mina-daemon:1.3.0alpha1-98ec1bb-stretch-devnet
or for a Debian Buster image: minaprotocol/mina-daemon:1.3.0alpha1-98ec1bb-buster-devnet
Mina Archive: NOT READY YET - see the note above for more details
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.3.0alpha1-98ec1bb-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Devnet. Docker only Make sure to run with --peer-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: b6ee40d336f4cc3f33c1cc04dee7618eb8e556664c2b2d82ad4676b512a82418
Git SHA-1: 98ec1bb9f01856d79171d4b7f2689ad17b1b751d
Mainnet Stable Release 1.2.2
The O(1) Labs team is proud to announce that we're graduating the 1.2.1 Beta to Stable (as 1.2.2 with a new commit hash just to make sure apt consistently selects the correct package). This release includes the async VRF and responsiveness fixes, as well as some additional UX improvements and some retry logic for the uptime service. 1.2.2 includes the more comprehensive changes to improve graphQL/networking responsiveness as promised, as well as a new async VRF computation process to keep VRF evaluations off of the main thread (especially for block producers with many delegates). These changes have been very effective on Devnet and Mainnet and we feel confident urging all users to upgrade from 1.2.0.
If you run into any issues, please include Release: 1.2.2
in the name of any issues you create. Please report any issues you encounter here or join the Discussion!
Stability Improvements and Bug Fixes:
- Async scheduler changes to improve responsiveness #9416 and related metrics #9545
- Stop restarting the Verifier every 15 minutes #9565 #9568
New Features:
- Asynchronous VRF evaluation process #9409
- Change the docker entrypoint script so that the last few lines of log output are less likely to get cut off #9568
- Properly tag releases in CI and push them directly to minaprotocol/ #9566
- Deprecate the setStaking graphql endpoint and
mina client set-staking
command #9717 - 5 minutes of retries for sending snark work to the foundation delegation backend #9764
Archive Node:
- Update mina-extract-blocks to properly set the block_winner instead of always using creator_id #9567 (Thanks @kobigurk for making the change and @jrwashburn for bringing attention to this bug)
Complete Changelog since 1.2.0:
1.2.0...1.2.2
For more information about the changes included in 1.2.0, see the previous release notes
Upgrading & Connecting
Debian Repository:
First, Set up and update the stable
Debian Repository
echo "deb [trusted=yes] http://packages.o1test.net stretch stable" | sudo tee /etc/apt/sources.list.d/mina.list
sudo apt-get update
Then, install the package(s) that you need:
Daemon Package: sudo apt-get install -y mina-mainnet=1.2.2-feee67c
Archive Node Package: sudo apt-get install -y mina-archive=1.2.2-feee67c
Docker Images:
Daemon Image: minaprotocol/mina-daemon:1.2.2-feee67c-mainnet
Archive Image: minaprotocol/mina-archive:1.2.2-feee67c
Devnet:
This release does also improve the experience for nodes on devnet, simply replace mainnet
with devnet
in the package or docker image name above to use this release on devnet.
Sandbox Node: For testing in an isolated, single-node network without snarks
As of 1.2.0, the demo functionality is built into the standard daemon container, via the environment variable RUN_DEMO=true
.
Just docker run -it --name mina-demo -e RUN_DEMO=true minaprotocol/mina-daemon:1.2.2-feee67c-devnet
and go!
Step by Step Guide:
Check out our documentation for complete instructions on using this version to connect to Mainnet. Docker only Make sure to run with --peer-list-url https://storage.googleapis.com/mina-seed-lists/mainnet_seeds.txt
.
If you are running the correct version on the correct network, mina client status
will show:
Chain id: 5f704cc0c82e0ed70e873f0893d7e06f148524e3f0bdae2afb02e7819a0c24d1
Git SHA-1: feee67cc2836bf12e792510a2440f28a0275740e