Releases: stellar/stellar-core
Releases · stellar/stellar-core
v18.0.0
Release notes:
This is a major release of stellar-core that implements “protocol 18”. Older versions will break as soon as the network gets upgraded to the latest version of the protocol.
Protocol 18 contains the following protocol changes:
Stability improvements
- Improve performance of transaction processing
- Herder: cleanup trigger ledger mechanism
- Do not call bucket manager shutdown twice. Removes bogus logging.
- Bump tracy to take change that disables building with -flto
- Minor fixes for issues detected by static analyzer
- Adjust default automatic maintenance to run faster (every 6 minutes). This reduces the load on the SQL backend (in particular the need to reclaim pages).
- Improve performance of bucket apply for captive core. Increases the chance that captive-core can restart without having to talk to history archives.
New features
- Add --enable-tracy-csvexport. Allows capturing Tracy counters in csv form.
- Add a new command to gather information on any given bucket.
Breaking changes
- Bump overlay version to 18. Disconnect clients older than 17.0.0
v18.0.0rc1
Release notes:
This is a major release of stellar-core that implements “protocol 18”.
Protocol 18 contains the following protocol changes:
Stability improvements
- Improve performance of transaction processing
- Herder: cleanup trigger ledger mechanism
- Do not call bucket manager shutdown twice. Removes bogus logging.
- Bump tracy to take change that disables building with -flto
- Minor fixes for issues detected by static analyzer
- Adjust default automatic maintenance to run faster (every 6 minutes). This reduces the load on the SQL backend (in particular the need to reclaim pages).
- Improve performance of bucket apply for captive core. Increases the chance that captive-core can restart without having to talk to history archives.
New features
- Add --enable-tracy-csvexport. Allows capturing Tracy counters in csv form.
- Add a new command to gather information on any given bucket.
Breaking changes
- Bump protocol version to 18. Disconnect clients older than 17.0.0
v17.4.0
Release notes:
Stability improvements
- Work shouldn't be scheduled once WorkScheduler is done - fixes a potential crash on shutdown
- Add CONFIGURE_FLAGS argument to Dockerfile.testing to give better control when building ad-hoc containers
- Bring db-schema.md up to date
- Record and check TxMeta produced by tests. Strengthen testing.
- Create multi-operation transactions in LoadGen . Allows to better simulate network patterns in large scale simulations.
- Remove a confusing error message in
sendMessage
- replace use of "assert" by releaseAssert*. Hardening regardless of build flags.
- Improve invariance in Herder. Simplifies herder state machine in preparation for more changes.
- ApplyLedgerWork fails correctly
- Remove unnecessary protocol checks. Consolidates protocol 14 and 15 to avoid confusion.
- Add test for op source acc to claim sponsored non native balance
- Resize ccache in ci-build.sh. CI improvement
- reduce memory usage of asan in ci. CI improvement.
New features
None
Breaking changes
None
v17.4.0rc1
Release notes:
Stability improvements
- Work shouldn't be scheduled once WorkScheduler is done - fixes a potential crash on shutdown
- Add CONFIGURE_FLAGS argument to Dockerfile.testing to give better control when building ad-hoc containers
- Bring db-schema.md up to date
- Record and check TxMeta produced by tests. Strengthen testing.
- Create multi-operation transactions in LoadGen . Allows to better simulate network patterns in large scale simulations.
- Remove a confusing error message in
sendMessage
- replace use of "assert" by releaseAssert*. Hardening regardless of build flags.
- Improve invariance in Herder. Simplifies herder state machine in preparation for more changes.
- ApplyLedgerWork fails correctly
- Remove unnecessary protocol checks. Consolidates protocol 14 and 15 to avoid confusion.
- Add test for op source acc to claim sponsored non native balance
- Resize ccache in ci-build.sh. CI improvement
- reduce memory usage of asan in ci. CI improvement.
New features
None
Breaking changes
None
v17.3.0
Stability improvements
- Retry DNS resolution faster on startup. Speeds up connection establishment in certain scenarios (particularly Kubernetes automatic DNS provision).
- In memory mode wants SOCI transactions. Fixes a rare atomicity bug that can prevent successful crash-recovery of a captive core.
- Herder tracking cleanup and tests
- Additional startup checks
- SCP / Quorum utils: Minor fixes to reduce dependencies
- Add unit tests for application setup
- Minor logging changes:
New features
- Add
encode-asset
command for debugging - Groundwork for CAP-0038, not yet used:
Breaking changes
- Store LedgerEntry in trustline table. Marked as a breaking change for visibility: no code or configuration needs to change, but on upgrade stellar-core will perform an automatic SQL schema migration, and will be unavailable to sync with its peers until this migration completes. On a fast SSD running on SQLite, the migration may be as quick as 2 minutes; on a slow spinning disk running on postgres it may take a half hour or more. Nodes should therefore be upgraded gradually and individually to avoid disruption.
v17.3.0rc1
Stability improvements
- Retry DNS resolution faster on startup. Speeds up connection establishment in certain scenarios (particularly Kubernetes automatic DNS provision).
- In memory mode wants SOCI transactions. Fixes a rare atomicity bug that can prevent successful crash-recovery of a captive core.
- Herder tracking cleanup and tests
- Additional startup checks
- SCP / Quorum utils: Minor fixes to reduce dependencies
- Add unit tests for application setup
- Minor logging changes:
New features
- Add
encode-asset
command for debugging - Groundwork for CAP-0038, not yet used:
Breaking changes
- Store LedgerEntry in trustline table. Marked as a breaking change for visibility: no code or configuration needs to change, but on upgrade stellar-core will perform an automatic SQL schema migration, and will be unavailable to sync with its peers until this migration completes. On a fast SSD running on SQLite, the migration may be as quick as 2 minutes; on a slow spinning disk running on postgres it may take a half hour or more. Nodes should therefore be upgraded gradually and individually to avoid disruption.
v17.2.0
Stability improvements
- BucketManager: move garbage collection out of shutdown. Fixes potential crash on shutdown.
- Initialize CommandHandler last. Fixes a potential crash on startup.
- Herder: process old slots correctly
- Rebuild ledger tables on schema upgrade
- Strengthen seqnum validation
- make static arrays safe (old style doesn't enforce proper size at compile time)
- Visual C++ fixes and warnings
- SCP: Remove unused includes of crypto/SHA.h
- Only define gExplicitSeed when BUILD_TEST is
- Refactor BucketListGenerator to fix broken acceptance test
- SCP: Slightly reduce dependency on crypto/SecretKey.h
- Add variety to the fuzzer
- Fix BucketListIsConsistentWithDatabase. Update bucket consistency invariant to work with partial DB rebuild.
New features
- Diagnostic tools. Adds new metrics to monitor archives.
Breaking changes
- Probe working-ness of more aggressively. This improves detection of broken (6+ years old) toolchains when building.
- Remove deprecated --reply-in-memory command line option
- Change OperationID to use an AccountID instead of MuxedAccount . Marked as a breaking change for visibility.
v17.2.0rc2
Stability improvements
- BucketManager: move garbage collection out of shutdown. Fixes a potential crash on shutdown.
- Initialize CommandHandler last. Fixes a potential crash on startup.
- Herder: process old slots correctly
- Rebuild ledger tables on schema upgrade
- Strengthen seqnum validation
- make static arrays safe (old style doesn't enforce proper size at compile time)
- Visual C++ fixes and warnings
- SCP: Remove unused includes of crypto/SHA.h
- Only define gExplicitSeed when BUILD_TEST is
- Refactor BucketListGenerator to fix broken acceptance test
- SCP: Slightly reduce dependency on crypto/SecretKey.h
- Add variety to the fuzzer
- Fix BucketListIsConsistentWithDatabase. Update bucket consistency invariant to work with partial DB rebuild.
New features
- Diagnostic tools. Adds new metrics to monitor archives.
Breaking changes
- Probe working-ness of
<filesystem>
more aggressively. This improves detection of broken (6+ years old) toolchains when building. - Remove deprecated --reply-in-memory command line option
- Change OperationID to use an AccountID instead of MuxedAccount. Marked as a breaking change for visibility.
v17.2.0rc1
Stability improvements
- BucketManager: move garbage collection out of shutdown. Fixes a potential crash on shutdown.
- Initialize CommandHandler last. Fixes a potential crash on startup.
- Herder: process old slots correctly
- Rebuild ledger tables on schema upgrade
- Strengthen seqnum validation
- make static arrays safe (old style doesn't enforce proper size at compile time)
- Visual C++ fixes and warnings
- SCP: Remove unused includes of crypto/SHA.h
- Only define gExplicitSeed when BUILD_TEST is
- Refactor BucketListGenerator to fix broken acceptance test
- SCP: Slightly reduce dependency on crypto/SecretKey.h
- Add variety to the fuzzer
New features
- Diagnostic tools. Adds new metrics to monitor archives.
Breaking changes
- Probe working-ness of
<filesystem>
more aggressively. This improves detection of broken (6+ years old) toolchains when building. - Remove deprecated --reply-in-memory command line option
- Change OperationID to use an AccountID instead of MuxedAccount. Marked as a breaking change for visibility.
v17.1.0
This release makes several improvements to captive-core.
Stability improvements
- Enable in-memory LedgerTxn for in-memory mode this restores nominal performance for captive core (lost with the changes in 15.5.0 that was using in memory sqlite).
- Harden bucket apply path, fixes an edge case in captive-core
- Uint128 t misuse prevention . This makes it more difficult to introduce bugs when using uint128 (used when performing high precision calculations)
- Make ApplyBucketsWork independent of merges in progress
- Bump to gcc 8 and llvm10
- Refresh dependencies April 2021
New features
- Captive core fast startup. This change reduces the time for captive-core to rejoin the network on restart by rebuilding ledger state from buckets (stored on disk) as well as preserving peer information across restarts. Expected to reduce downtime from 5 minutes to 30 seconds.
- Add scripts/Dockerfile.testing for one-off test images
- add metric to track time spent writing into meta stream
Breaking changes
- Simulation: Improve transaction application simulation by allowing multiple durations with different weights. This change deprecates --simulate-apply-per-op flag, and replaces it with configs