Releases: FactomProject/distribution
Release v6.5.0 with Wallet update
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
WhoSoup
Release v6.5.0
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
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
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 time.now() 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
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:
WhoSoup
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:
WhoSoup
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
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. https://peckshield.com/about.html?lang=en
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
6.1.0
- [new] Included the round 2 grants from Nov 14, 2018.
6.0.1
- [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
6.0.0
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
5.4.3
- [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
5.4.2
- [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
- [new] Add hardcoded grants that were approved on June 9, 2018.