Skip to content

Releases: FactomProject/distribution

Release v6.5.0 with Wallet update

13 Dec 18:38
Choose a tag to compare

There is no change to factomd, but factom-walletd and factom-cli have some long awaited updates that are now released.

Release notes for factom-walletd(2.2.16) & factom-cli(2.2.13)

Factom-walletd v2.2.16

  • [new] Allow factom-walletd to use a config file loaded from a configurable path.
  • [new] Added a new "sign-data" method to the wallet that takes an FA address and arbitrary byte data as parameters.
  • [fix] Allows factom-walletd discover if it is on a new blockchain
  • [fix] Improve and organize code in factom lib code base
    Factom-cli v2.2.13
  • [new] Added factom-cli commands for authorities,diagnostic, current-minute, network
  • [new] Added factom-cli commands for get ablock, ecblock, fblock, dblock, get tps
  • [new] Added factom-cli display options for get entry, get firstentry, get head
  • [new] Added command completion for factom-cli commands

People who contributed pull requests to this release:

Adam S Levy
Paul Bernier

Release v6.5.0

27 Nov 02:20
Choose a tag to compare

6.5.0 (Confetti)

  • [new] Included the grants from round 2019-4
  • [fix] Reduce CPU usage introduced with timing fix
  • [fix] Allow a 20 minute restart window instead of 1 hour

People who contributed pull requests to this release:

Nolan Bauer
Niels Klomp

6.4.5 (Rolling)

  • [fix] Allow use of port forwarders without specifying header information
  • [fix] Fixed an edge case on timing of Commits causing disagreements of transaction valididty

People who contributed pull requests to this release:

Who Soup

6.4.4 (Post-it)

  • [fix] Allow a node to ask for missing messages in more circumstances, helping with network restarts and helping followers stay in sync.

6.4.3 (Xuan-fix)

  • [fix] Relaxed restrictions to allow Federated servers minute boundries to stay synchronized

6.4.2 (Xuan)

  • [new] Lots of bugfixes and updates

Note: This version is based on 6.3.3 and includes earlier updates.

6.4.1 (Cotton)

  • [fix] Fixed a problem where balances were calculated incorrectly due to the some blocksbeing processed twice
  • [fix] Expanded window that block signatures would be considered valid to assist with network starts

Note: This version is based on 6.4.0 and did not include updates from 6.3.3

6.4.0 (Origami)

  • [new] Included the grants from round 2019-3

People who contributed pull requests to this release:

Tor Hogne Paulsen

Note: This version is based on 6.3.2 and did not include updates from 6.3.3

Historical Release v6.3.1

19 Aug 18:31
Choose a tag to compare

This set of binaries is running the 6.3.1 code, which is a much older codebase than the 6.3.2 codebase that proceeds it. It has been observed to do a better job keeping up with the network second pass after the blockchain has been downloaded.

ff4ae018e8a1563b3af8d0bb4b5b11842b825c5d8aa6f91fe3606fc00f18a970  factom-amd64.deb
c6660fd74f8f1ef12c8aab2c563cbc8bb8013f702b9f49d922a1ba914af418d4  factom-i386.deb
d198d1feed5aff5224719e6b795c34ab99e0a372b80088c15c671122a3a890f1  FactomInstall-amd64.msi
a55de25c1e40bbff9bd418695c785c506f26c579db6753f8d8324c658b6ffc04  FactomInstall-i386.msi

This also holds the v0.3.1 version of Enterprise Wallet

Release v6.3.3

15 Aug 22:24
Choose a tag to compare

6.3.3 (Parchment)

  • [new] Optimized block loading from the network, to download more efficiently when initially getting the blockchain

  • [new] Introduced Dependent Holding to allow node to understand order of operations to increase performance as well as to prepare for sharding

  • [new] Started Optimistic Entry Writing, which spreads database writes over the entire block period which will reduce slowdowns at minute 1 under high load

  • [new] Batched dbstate downloads from the network to increase efficiency when downloading the blockchain

  • [new] Created anchors API to allow for insight into ethereum anchoring. Deprecated optional anchor field in recipts API

  • [new] Community Contribution - Use different muxes for various web services to not overlap the various web services factomd provides

  • [new] Community Contribution - Add configuration ability to the peer connection limit to allow users to increase or decrease the number of peers they connect to.

  • [new] Added ability to specify where log file outputs are written in the debugregex to ease collection of log data

  • [new] Made version and git commit settable from Goland to help with development

  • [fix] Resolved a bug where the state is calculated incorrectly which can cause identities and coinbase errors when factomd is stopped at blocks divisible by 1000

  • [fix] Fixed a problem where some blocks are processed twice when loading from the database, causing incorrect balances to be calculated

  • [fix] Community Contribution - Don't panic when brainswapping an Audit server

  • [fix] Community Contribution - Close local TCP handler when connection drops to better handle error conditions with transient p2p connections

  • [fix] Community Contribution - Added if booted from disk to diagnostics API to allow outside programs to know when the 1st pass has been fully processed from disk.

  • [fix] Community Contribution - Optimized performance when not debugging by letting Runtimelog respect its own enabled setting

  • [fix] Community Contribution - Fixed CrossBoot replay garbage collection which never ended to use less resources with cross boot replay filter

  • [fix] Community Contribution - Finished Election Sync fix to more effectively clean up sync message handling

  • [fix] Community Contribution - Made some legibility improvements

  • [fix] Prevented DBStateCatchup from asking for dbstates that don't exist

  • [fix] Fixed a bug in holding using the Ack messages that could uselessly cause faulting immediately after boot

  • [fix] Fixed Authority JSON unmarshalling for coinbase and efficiency fields

  • [fix] Now return message requests from nodes with all zeros loaded into their config file

  • [fix] Caught a new style of Pokemon bug found with MessageBase

  • [fix] Resolved race condition panic when loading the database and connected to mainnet

  • [fix] Repaired balance checking tool to determine if a local database is corrupted

  • [fix] Resolved race condition with DBStateCatchupList so there downloading the blockchain is now thread safe

  • [fix] Fixed null pointer exception when checking for commit payments, which was panicking when a null process list was created

  • [fix] Refactored sim testing to allow more reliable testing in automation

  • [fix] Refined some unit test code for local wallet simulations

  • [fix] Added more simulation testing scenarios for better testing of brain swap testing for checking for backwards-incompatible changes

  • [fix] Moved FilterAPI to the debug API to limit the scope of the testing tool

  • [fix] Made tests for the FilterAPI so that regression tests can run without race conditions

  • [fix] Stopped leaking memory when Dependant holding items are found when downloading a DBstate

  • [fix] Reduced CPU utilization when calling multiple times when handling p2p peers

  • [fix] Fixed some CircleCI simtests

  • [fix] Improved scripts for reading logs when diagnosing QA problems

People who contributed pull requests to this release:

Who Soup
Sander Postma
Thomas Meier

Release v6.3.2

24 Jul 23:09
Choose a tag to compare

6.3.2 (Bond)

  • [new] Refactored and reimplemented the 2nd pass download of the blockchain to work better with threading

  • [new] Allowed logging to save the full hash of Entries for better debugging

  • [fix] Resolved a bug that would pause the network where leaders would send confusing messages with duplicate acks at the same process list height

  • [fix] Limited a node from rebroadcasting invalid transactions to the network

  • [fix] Stopped deleting EOMs timestamped in the future so that they can can be available when they are needed

  • [fix] Ensure that reveals are validated before being sent to peers reducing denial of service potential

  • [fix] Keep leaders from getting into a mode where they are continually in Sync mode with poorly set clock on another Federated server, slowing down transaction processing

  • [fix] Community Contribution - fixed issue where control panel was showing a flagging progress bar on the 2nd pass blockchain download

  • [fix] Retained some messages that were recieved instead of deleting them shortly before needing them

  • [fix] Avoided panic with edge case where a process list has not yet been created

  • [fix] Fixed an issue where saving the blockchain was slow on machines with slow storage

  • [fix] Eliminated a deadlock potential which could cause a pause and smoothed out message processing

  • [fix] Waited on Commits before handling Reveals preventing a network pause

  • [fix] Allowed messages which are known in the holding queue to be sent out over the network under edge cases

  • [fix] Fixed an off-by-one error with DBSigs being removed from holding allowing factomd to start up more easily under load

  • [fix] Avoided situation where holding queue backup causing lack of EOM processing

  • [fix] Allowed for higher load simulation by moving load creation to its own thread

People who contributed pull requests to this release:

Sander Postma

6.3.1 (Crayon)

  • [new] Included the grants from round 2019-2

People who contributed pull requests to this release:

Tor Hogne Paulsen

Note: This version is based on 6.2.0 and did not include updates from 6.2.2

6.2.2 (Filter)

  • [fix] Community Contribution - Resolved a vulnerability which would crash a node with a malformed Election Sync Message
  • [fix] Repopulated the Replay Filter on boot, to stop consensus failures among servers running for less than an hour
  • [fix] Stopped thrashing the CPU when items are in the holding queue
  • [fix] Community Contribution - Removed duplicate file causing package manager problems

People contributing to this release:
Adam S. Levy

6.2.1 (Kraft)

  • [new] Optimized in several ways to speed up loading from the database

  • [new] Updated to golang 1.12

  • [new] Added unit tests to ensure Brain Swapping worked effectively

  • [fix] Used the correct height when Brain Swapping to allow in place upgrades

  • [fix] Stopped continually evaluating entries form the last block, lowering CPU usage

  • [fix] Flushed the holding map that unnessicarily filled up while downloading 2nd pass, speeding up blockchain download

  • [fix] Community Contribution - Avoided a network pause with a malformed network message

  • [fix] Corrected a bug where booting a node that was behind in the blockchain would improperly filter messages out, preventing the node from downloading the 2nd pass

  • [fix] Allowed syncing by minutes to proceed without downloading a block first, which will allow followers to follow sooner after boot

People contributing to this release:

This release UI experience differs from previous releases so that it can't show how far progress is behind when initially syncing the first pass.

6.2.0 (Butter)

  • [new] Included the grants from round 2019-1

People who contributed pull requests to this release:

Niels Klomp

Note: This version is based on 6.1.0 and did not include updates from 6.1.1


  • [new] Community Contribution - Added CORS to API responses to allow cross site scripting in a browser.

  • [new] Community Contribution - Added hostname to control panel to allow more intuitive server monitoring

  • [new] Added code so factomd saves the blockchain state as it boots, speeding up reboots after long continuous runs.

  • [new] Added Diagnostics API to gain insights to a running node.

  • [new] Upgraded to golang 1.11.

  • [new] Modified factomd API call 'current-minute' to also return 'current-block-height'.

  • [new] Created a log debug API for providing better diagnostics during development.

  • [new] Added SimCtl API to the debug API to allow scripting to perform testing procedures

  • [new] Improved greatly the quality and level of log file details to facilitate debugging.

  • [new] Added ability to log the holding queue to investigate certain failure modes.

  • [new] Made logging reopen deleted log files during runtime to allow drive space reclamation without shutting down factomd.

  • [new] Added a wallet to the simulator to enable more complex tests

  • [new] Allowed for export of data for graphing internal data

  • [new] Increased the amount of features tested during development unit testing

  • [new] Added code to avoid crashing in some cases with pokemon bug

  • [new] Allowed the clean up of messages to better diagnose issues

  • [new] Added ability to limit the amount of time a simulation QA test can run before declaring it has failed.

  • [new] Updated the FastbootExport utility to better expose problems with the savestate process

  • [fix] Community Contribution - fixed error string out of scope for entryblock panic to print message with some types of errors

  • [fix] Fixed election in minute 9 which caused the leader who was voted out to only follow by blocks and never accept the updated authority set.

  • [fix] Coinbase cancel now takes a majority of Authority servers rather than the majority of Federated servers.

  • [fix] Updated the way savestate files are created to reduce consensus failures under certain conditions.

  • [fix] Fixed panic where factomd was crashing complaining about missing identity entry blocks while rebooting during the 2nd pass download.

  • [fix] Found bug where the internal state cloning function was creating an incomplete clone.

  • [fix] Allowed old dbsigs to be removed from process list

  • [fix] Fixed a stall condition that causes a panic on boot

  • [fix] Fixed a bug where under some circumstances a newtwork could not boot if the last block saved to the database is over an hour old

  • [fix] Fixed issue where on Windows in some configurations the config files were not found.

  • [fix] Fixed bug where GetVirtualServers call can falls in a period between block generation causing panics.

  • [fix] Updated EC purchase method in simulator because the earlier version didn't handle high loads

  • [fix] Fixed simulation tests that could fail due to not waiting long enough for peers to catch up

  • [fix] Made system Status Changes available to the control panel

  • [fix] Allowed execution of individual tests instead of just the entire suite.

  • [fix] Added logging for API level transactions

  • [fix] Fixed ProcessBlocks failure on long-running servers

  • [fix] Re-added the controlpanelsettings flag which had gotten lost in a bad merge.

  • [fix] Blocked old DBState messages, which can block forward progress in a stall situation.

  • [fix] Removed replay data from savestate, reducing memory allocation.

  • [fix] Changed default logging to faulting|badmsgs

  • [fix] Fixed bug in GetVirtualServers() in which would cause a panic in uncommon situations.

  • [fix] Fixed out of order execution of DBstates which could cause nodes to panic

  • [fix] Ignored useless depricated p2p messages entryblockresponse and missingentryblocks

  • [fix] Removed attack vector with unmarshalling, thanks to Peckshield for responsible disclosure.

Factom-walletd v2.2.15

  • [new] Added encryption to the wallet database to allow security for wallet files on disk.
  • [new] Added Identity handling to wallet
  • [new] Added CORS to API responses to allow cross site scripting in a browser.
  • [fix] Community Contribution - Fixed non authenticated calls to factomd in method 'wallet-balances'
  • [fix] Community Contribution - Allowed remote https factomd
  • [fix] Community Contribution - Increased efficiency when getting transactions in a range of blocks

Factom-cli v2.2.12

  • [new] Added more display options for displaying height, for better scripting
  • [new] Added support to unlock an encrypted factom-walletd
  • [new] Added ability to handle Identities in wallet

People who contributed pull requests to this release:

Paul Bernier
Adam S Levy
Who Soup

Note: Factomd release 6.1.1 was not released for general use. Version 6.3.2 was the first general release to include these updates.

Release v6.1.0

05 Dec 22:50
Choose a tag to compare


  • [new] Included the round 2 grants from Nov 14, 2018.


  • [fix] Secured against an attack vector where a mis-timed transaction can force a network wide upgrade
  • [fix] Updated the Community Testnet to allow testing of procedures

Release v6.0.0

04 Oct 05:15
Choose a tag to compare

This is a required update. Versions of factomd prior to 6.0.0 will not keep up with the blockchain.

  • [fix] Fixed problem where blockchain was stuck at block 160180
  • [fix] Considered blocks saved to database as having been signed
  • [fix] Filtered past process list messages on boot

Release v5.4.3

13 Sep 00:11
Choose a tag to compare


  • [fix] Fixed bug where Audit servers fail to replace a missing Federated server, potentially causing a network stall
  • [fix] Stopped asking peers for missing messages when loading from the database or are in Ignore mode because factomd won't process them
  • [fix] Logged more dbsig info for failure analysis. Also fix bug for caching serialization of dbsig messages
  • [fix] Eliminated race condition when starting networking
  • [fix] Fixed intermittent bug where followers do not keep up with the process list

Factom-walletd v2.2.14

  • [fix] Stopped printing RPC username + password to console

Factom-cli v2.2.11

  • [new] Added balancetotals command exposed by factom-walletd v2.2.13

Release v5.4.2

21 Aug 17:08
Choose a tag to compare


  • [new] Added API to return multiple FCT and EC balances in one call
  • [new] Refactored p2p network connection management to better handle multiple connections
  • [new] Added ability to toggle log levels if permission enabled in config file/ command line via the control panel
  • [new] Save latest 10 DBstates to disk for debugging, plus added a utility to read them
  • [new] Created a utility to verify balances on individual nodes
  • [fix] Corrected a boundary condition when the EC usage and purchase rate are near equal and near zero EC balances
  • [fix] Improved performance in handling the height of process list. Code will not fall into recovery mode as frequently, improving performance
  • [fix] Handle repeat p2p connections from the same IP more gracefully
  • [fix] Reduced stalling by allowing replacement of corrupted block signatures
  • [fix] Removed printout every 10 minutes when lacking a config file
  • [fix] Fixed API that gets Entry Commits by TxID to only return processed transactions instead of potentially invalid ones

Factom-walletd v2.2.13

  • [new] Created new API call to aggregate all wallet balances
  • [new] Added ability to import mnemonic backup to LevelDB wallet

Release v5.4.1

08 Aug 20:21
Choose a tag to compare
  • [new] Add hardcoded grants that were approved on June 9, 2018.