v6.9.0-rc1
Pre-release
Pre-release
Changelog v6.9.0-rc1
New Features:
- Entry sync ("2nd pass") rewritten to limit the number of concurrent requests made
- New version of FastBoot (14) that removes unused information
- Buildable with a Makefile (removes build.sh)
- Inclusion of the P2P2 rework
- ChainHeadFix reworked to be multithreaded and run faster to improve startup times
- Command line parameters removed: broadcastnum, journal, journaling, follower, leader, tormanage, torupload
- Command line parameters changed:
- "loglvl" default is now "info" (from "none")
- "debuglog" is now in the format "path/regex" where path points to the folder the logs should be saved, and regex is a regular expression of which files to save
- Cleanup of the root folder
API Changes:
- Raw data is now optional for the methods: admin-block, factoid-block, entrycredit-block, dblock-by-height, ecblock-by-height, fblock-by-height,ablock-by-height. To retrieve without raw data, add a parameter "noraw" of "true". Factom client support is in the current developer build.
Developer Changes:
- The repo now uses go.mod to manage dependencies instead of glide
- Introduction of the /modules/ folder to factor out independent logic
- A pub-sub mechanism to abstract communication between independent areas of the code (see modules/pubsub and modules/registry). These have been tightly integrated into many components and the changes are too numerous to list.
- Use of managed goroutines ("Workers") to track processes (see modules/worker and engine/factomd.go:Run())
- Removing the golang compile version check
- Automated circle test revamped to stop unnecessary checks on side branches and improve the flow
- Inbound messages pass through Basic Message Validation (modules/bmv), which introduces a WellFormed() function for IMsg
- A lot of grammatical changes and standardization of variable names
- Control Panel moved to modules/controlPanel
- Internal event service similar to the live feed. This is slated for removal since the live feed supersedes it. (see modules/internalevents)
- Prometheus calls have been abstracted to use modules/telemetry calls
- Introduction of a "Leader" module with partial functionality (see modules/leader)
- The unit test simulator and SimControl have moved to /simulation
- Addition of /peerTest which runs multiple tests at the same time over local network (testA + testB)
- Automated code generation from templates was added to generate some pub-sub queue types (see /factomgenerate)
Bugfixes:
- Phantom pending coinbase no longer shows up
- Several unit tests were broken or flaky that have been fixed. All tests pass.