Bor v0.3.9 Mainnet and Mumbai Release

Hello All,

We are releasing a new version of Bor - v0.3.9 for Mainnet and Testnet

Instructions to Upgrade

Before proceeding, please create a backup of your bor config.toml file as well as password.txt and keystore folder.

  1. Stop bor service

    sudo service bor stop
  2. Install Bor with a version tag, network name (mainnet or mumbai), and node type (sentry, validator, or archive).

    # Replace the node type
    curl -L | bash -s -- v0.3.9 <network> <node_type>
  3. Check bor version

    /usr/bin/bor version
    # It should print 
    # 0.3.9
  4. Restart bor service

    sudo service bor start

Change log

This version introduces several new features compared to previous stable version v0.3.7

  • core: improve locks in txpool by @manav2401 in #807
  • Merge qa to master by @manav2401 in #808, including:
  • Setting up bor to use hosted 18.04 runner as ubuntu provided 18.04 runner is end of life by @cffls in #812
  • mardizzone/merge-qa-to-master by @marcello33 in #856, including:
    • fix : go-routine leak in commitInterrupt channel by @0xsharma in #851
    • rm : disable interruptCommit on txsCh select case by @0xsharma in #848
    • eth/fetcher: if peers never respond, drop them (#837) by @0xsharma in #844
    • dev: chg: bump version to beta-2 for v0.3.9 by @marcello33 in #845
    • add commit logs
  • Security fixes and upgrades by merging master to qa in #813
  • merge v0.3.9-alpha to qa in #824 which introduces:
    • optimisation of the devnet setup in the CI in #599
    • add snyk and govuln integration in #578
    • add logs for transactions while committing a block in #546
    • add tolerance of multiple keystore files error in #640*
    • add flags to run heimdall as child process in #597
    • add sonarqube integration in #658
    • fix the misconfiguration of triesInMemory flag in #677
    • add --bor.devfakeauthor flag to run bor as a validator without the requirement of initial validator-set or heimdall in #697
    • add flag skiptrace in the bor debug pprof subcommand in #715
    • add optional flag (-w) to the bor status command, which waits for at max 10 seconds if the backend is not ready in #708
    • add checks for empty lists in txpool in #704
    • add verbosity flag in #722
    • use env for tracing instead of block during mining in #728
    • add mutex profile generation using pprof in #731
    • move commit tx logs to debug level in #673
    • add commit details to bor version in #730
    • add two new RPC methods to setMaxPeers and getMaxPeers in #726
    • update wiki link in #762
    • heimdall app implementation in #646
    • add rpc.allow-unprotected-txs flag to facilitate replaying of transactions from a different network to a shadow node in #705
    • add support for miner.recommit flag in #743
    • add interrupting commit experiment in #556 and its tests in #792
    • default to rpc gas cap when gas limit isn’t provided in the transaction args instead of re-estimating for every list in #791
    • add missing flags to cli in #744
    • skip future chain validation in #796

and some small improvements/fixes

Docker Images

You can find the latest docker images here:



Polygon Team