Highlights
This is a maintenance release focused around many test improvements and other optimizations. Additionally there are some added improvements, such as:
- Local private network devMode for rapid transaction testing
- Improved support for non-utf-8 data in asset parameter name, unit name, and url fields, through the addition of base64 fields
- Support for CentOS 8 Stream in RPM
- Changes to support future AVM 1.0
Changes
- REST API
- New Feature - add handling for non-utf 8 asset names
- Enhancements
- Use byte format for asset b64 fields
- Use dashes in v2 API.
- Bug Fix - initialize past side effects with correct length during dryrun requests
- TEAL
- New Features
- Selector pseudo-op in support of ABI
- vFuture: creator access and app_params_get
- Enhancements
- Infrastructure to check AVM stack manipulation opcodes better
- Specs and unit test to avoid forgetting in the future
- Bug Fixes
- Addressing panic in assembler
- Minor change to rename helper function in Extract ops
- New Features
- Catchup
- Enhancement - avoid requesting unsupported blocks by the ensure digest catchup path
- Bug Fixes
- Fixes to peer selector and TestBasicCatchpointCatchup
- Fix potential nil dereferencing
- Ledger
- Enhancements
- Lruaccts write speedup
- optimize txtail memory consumption
- Enhancements
- Network
- Enhancement - reduce unneeded contention around checking the peers connectivity
- Node
- New Feature - add initial devMode support
- Bug Fixes
- Allow to parse ipv6 localhost "[::]:4601"
- Fix regex for matching charset of valid DNS hosts, add test
- Logging
- Enhancement - re-use host ID if present
- Tests
- Enhancements
- Add enums to player permutation tests
- Add ledger coverage for onlineacct roundlru txtail
- Implement hello circleci yaml
- Improve TestMetricSegment test reliability
- Restore TestPeriodicSync and TestBasicCatchpointCatchup tests.
- Added benchmark to lruAccounts write function
- Enable TestPartkeyOnlyRewards on macos
- Add unit tests for ledger BlockQueue
- Enable previously disabled TestConfigMigrate unit test
- Enable unit tests on travis mac build
- Improve lruaccts benchmark
- Improve msgp codec testing
- Improve testing of alloc bounded slices
- Make TestPeersDownloadFailed and TestHistoricData predictable
- Move extra page test to e2e_subs
- Move travis_retry to skip rebuilding
- Remove deprecated transaction pool e2e tests
- Use periodicSyncLogger for cleaner test runs
- Bug Fixes
- Avoid division by zero during TestBasicCatchpointWriter
- Fix 10 minute timeout in travis
- Fix and enable TestNewAccountCanGoOnlineAndParticipate
- Build: fix travis nightly build failure
- Fix random failure in TestWebsocketNetworkPrioLimit
- Fix random failures in TestPeriodicSync
- Avoid running TestAgreementSynchronous10 on nightly build
- Ensure deploy_linux_version generates a linux/amd64 binaries for algonet usage
- Fix gotestsum install
- Fix telemetry unit tests
- Lookup in no-GOPATH locations for packages in gocodec testing
- Enhancements
- Other
- New Features
- Add Fedora support into install_linux_deps.sh
- Test conditional slack alert for build status
- Use golangci-lint
- Enhancements
- Update Github engineering template
- Replace yum-cron with dnf-automatic to support centos 8
- Run misspell linter with -w flag
- Specify truncated division is used in TEAL in documentation
- Typos, grammar, inconsistencies
- Bug Fixes
- Add missing txna allowed args to doc and langspec
- Fix darwin-arm64 builds
- Fix docker repo update
- New Features
Protocol Upgrade
This release does not contain a protocol upgrade.