Highlights
- Increased Test Coverage: including adding NFT support for pingpong
- Logging: reduced verbosity
- TEAL: TEAL 3 Refactoring and new features in tealdbg
- Catchup and Catchpoint enhancements
- BugFixes: Update.sh script, GOPROXY, REST API, Nil Check, KMD for Windows, netgoal
Changelog
- General/Other
- New Feature
- Add support for Arch Linux
- Enhancement
- Expand /metrics to show per-message-tag stats on number of messages and amount of bytes moved.
- Cache docker images in Travis and re-load them
- Copy database files generation in create_and_deploy_recipe.sh to nodes
- Improve handling of ledger falling behind agreement
- Report algod panic in algoh
- BlockService will redirect when it does not have the round
- Efficiency Improvement: Avoid compact cert validation on non-validate/non-generate path
- BugFix
- Fix bug with updater not restarting services with systemctl
- Update GOPROXY: Deal with deprecated gocenter.io GOPROXY
- Pipeline - don't reset CHANNEL if defined
- skip printing the logs when program is in terminated state.
- nil check fix
- Push docker tag to betanet
- Fix requestNonce alignment on arm32
- rollback config v17 into v16
- Fixes for KMD on Windows
- New Feature
- Teal
- Enhancement
- Cleanup and re-factor of TEAL 3 code
- adding extra docs for pushbytes and pushint
- Tealdbg:
- Check compile and dryrun programs against consensus limits
- Better support for TEAL 3 in tealdbg
- Allow tealdbg to listen on specified address
- Removes program version assumption
- Enhancement
- REST API
- Bug Fix
- Add swagger response annotations so a valid swagger doc gets generated
- Fix parameter check in abort procedure
- Fixes for pending transaction endpoint
- Return an empty string instead of null when making a proof for transaction with no siblings.
- Bug Fix
- Tests
- Enhancement
- algofix - Allow struct field to be sync.Mutex if tagged algofix:"allow sync.Mutex"
- Add DisableLocalhostConnectionRateLimit configuration option
- Fix/improve kmd speed in test
- Add pingpong mode to create NFTs for testing
- script to watch algod heap
- Improve TestCompactCerts error testing
- Bandwidth watch
- Unit test demonstrating high memory consumption
- Catchup: Add deep block validation support
- Add performance metrics for account updates
- Add tests for ledger/compactcert.go
- test coverage for ledger/eval.go funcs
- Filter out verbosed output from automated testing
- Bug Fix
- Fix parameter check in abort procedure
- Fix testing bug : avoid datarace on a node crash during e2e test
- logfilter: exit with non-zero when test fails
- Node Controller: delete pid file on killing process
- Fix node shutdown on the wrong node directory
- Enhancement
- Catchup and Catchpoint
- Enhancement
- Support for catching up from http or ws fetchers
- Reduce memory utilization during accounts update init by reconstructing balances db from blocks
- Extend catchpointdump utility to verify merkle trie
- Fine tune catchup peer selection logic
- Add cross-verify for genesis.json hash
- Bug Fix
- catchpoint: truncate output file
- Enhancement
- Ledger
- Enhancement
- Preload account data in parallel on the evaluator
- Improve ConsensusVersion error messages
- Disable minimum balance check when not validating or generating
- Split committed round range by consensus protocol version
- Bug Fix
- Fix consensus version to flush correctly
- Enhancement
- Network
- Enhancement
- Improve ConsensusVersion error messages
- Add peer functions to network interface to associate data with a peer to be garbage collected when peer goes away
- Add networking infrastructure for cancelling sends
- Enhancement
- Goal
- Enhancement
- Add comments to disassembly of constant load lines to show constant
- add support for a single node private network
- Improve waitForCommit logic
- Refactor waitForCommit
- Bug Fix
- Fix goal node restart message when node already started
- Enhancement
- Transactions
- Enhancement
- Transaction Sync: Optimize bloom filter memory allocations
- Bug Fix
- txpool: Fix incorrect datatype checking in recomputeBlockEvaluator
- Enhancement
- Logger
- Enhancement
- Make deadlockLogger thread-safe
- Reduce verbosity of logged messages
- Print out intermediate decoding errors
- logfilter: provide proper handling for panicking unit tests
- Bug Fix
- logfilter bug when running test without -v
- Enhancement
- netgoal
- Enhancement
- Add pre-generated network support
- Bug Fix
- Fix insufficient account with preloaded db files
- Resolve netgoal errors when bootstrap files are missing
- Fixup small amounts of float64 roundoff
- Enhancement
- Participation Keys
- Enhancement
- Refactor participation keys management
- Add support for overlapping participation keys
- Ensure the participation key database is being correctly closed after being installed
- Add ParticipationKeysRefreshInterval to the node config
- Enhancement
Protocol Upgrade
This release does not contain a protocol upgrade.