Releases: stellar/stellar-core
v11.2.0rc1
Merge pull request #2103 from vogel/do-not-allow-gaps-in-history Do not allow gaps in history Reviewed-by: MonsieurNicolas
v11.1.0
Focus:
Routine stability and performance improvements
Release notes:
Stability improvements
- Better handling of bad history archives
- Properly deal with unknown log partitions
- Nomination metrics are now reported even for non validating nodes
- Change the way nodes join the network for the first time, making testnet resets less painful in general
- “Work” subsystem overhaul, improves the overall reliability when certain tasks fail
New features
- added a new option to upgrade the schema of the core database without starting stellar-core
- added a new option to the quorum endpoint to expose transitive quorum information to tool developers
fullkeys
is now properly supported by the quorum endpoint pr-2091
v11.1.0rc2
Focus:
Routine stability and performance improvements
Release notes:
Stability improvements
- Better handling of bad history archives
- Properly deal with unknown log partitions
- Nomination metrics are now reported even for non validating nodes
- Change the way nodes join the network for the first time, making testnet resets less painful in general
- “Work” subsystem overhaul, improves the overall reliability when certain tasks fail
New features
- added a new option to upgrade the schema of the core database without starting stellar-core
- added a new option to the quorum endpoint to expose transitive quorum information to tool developers
fullkeys
is now properly supported by the quorum endpoint pr-2091
v11.1.0rc1
Focus:
Routine stability and performance improvements
Release notes:
Stability improvements
- Better handling of bad history archives
- Properly deal with unknown log partitions
- Nomination metrics are now reported even for non validating nodes
- Change the way nodes join the network for the first time, making testnet resets less painful in general
- “Work” subsystem overhaul, improves the overall reliability when certain tasks fail
New features
- added a new option to the quorum endpoint to expose transitive quorum information to tool developers
fullkeys
is now properly supported by the quorum endpoint pr-2091
v11.0.0
This release is focused predominantly on the implementation of several outstanding Core Advancement Proposals (CAPs), including:
- CAP-0005 - Throttling and transaction pricing improvements
- CAP-0006 - Add ManageBuyOffer Operation
- CAP-0020 - Bucket Initial Entries
Along with these changes we have a host of stability and performance improvements across all of Stellar Core, including performance gains for SCP, in-memory caches, ledger close times, and connection times. We’ve also squashed quite a few bugs, and will continue to focus on making Stellar Core faster and more reliable in upcoming minor releases.
Release Notes
Protocol Changes (v11)
- CAP-0005 (Throttling and transaction pricing improvements)
- CAP-0006 (Add ManageBuyOffer Operation) - Invert Price PR
- CAP-0020 (Bucket Initial Entries)
- Adjusted some types, to make it less error prone in languages that don’t support uint64 (OfferID is now int64 instead)
- Fixed possible
txINTERNAL_ERROR
when applyingPaymentOp
that was caused by internally-returned codePATH_PAYMENT_MALFORMED
. See this issue and this PR. - Added new error codes when hitting internal limits.
- Additional validator information included during nomination (SCP)
Breaking Changes
- Removed HTTP Catchup Command. Using the command line catch up directly from history (without having to connect to the network) is preferred going forward.
- Fixed handling of transactions that didn’t make it to the ledger due to surge pricing for few sequential ledger closes. Those transactions could live in the network for a long time, being broadcasted from nodes to each other and making it to the queue again and again. Now limit of four tries per transaction is enforced stronger, requiring users to resubmit them (a new error code
TRY_AGAIN_LATER
is returned by thetx
endpoint when the transaction is temporarily blocked by a validator).
New Features
- Documented best practices and the reference design on how to integrate other systems with Stellar Core.
- Created new document regarding performance of Stellar Core, primarily around its sources of load and best configuration practices for optimal performance
Stability Improvements
- Improved filtering logic of SCP messages - you get both better performance and increased reliability when restarting a validator.
- Removed crypto dependency from SCP subsystem - creates better performance across Stellar Core.
- Fixed SQLite WAL checkpoint starvation regression introduced in 10.1.0. The symptom of this bug was unbounded growth in the WAL file attached to an SQLite database.
- Fixed priority-inversion issue for background merges occurring on machines with low core counts. The symptom of this was desynchronization from the network while awaiting a high-priority short merge blocking on a longer-running but lower-priority merge, on a machine with a small number of cores (e.g. 4 or 2).
- Improved performance of in-memory caches.
- Improved performance of ledger close time for some operations by prefetching necessary data in bulk.
- Improved stability of built-in endpoint for load testing,
generateload
. It is now less noisy under high loads. - Improved connection times by removing peers that are considered dead from the peers database.
Miscellaneous Improvements
- Improved log and error messages, giving useful hints for fixing issues.
- Lowered verbosity of overlay partition logging.
v11.0.0rc1
Stellar Core 11.0.0
This release is focused predominantly on the implementations of several outstanding Core Advancement Proposals (CAPs), including:
- CAP-0005 - Throttling and transaction pricing improvements
- CAP-0006 - Add ManageBuyOffer Operation
- CAP-0020 - Bucket Initial Entries
Along with these changes we have a host of stability and performance improvements across all of Stellar Core, including performance gains for SCP, in-memory caches, ledger close times, and connection times. We’ve also squashed quite a few bugs, and will continue to focus on making Stellar Core faster and more reliable in upcoming minor releases.
Release Notes
Protocol Changes (v11)
- CAP-0005 (Throttling and transaction pricing improvements)
- CAP-0006 (Add ManageBuyOffer Operation) - Invert Price PR
- CAP-0020 (Bucket Initial Entries)
- Adjusted some types, to make it less error prone in languages that don’t support uint64 (OfferID is now int64 instead)
- Fixed possible
txINTERNAL_ERROR
when applyingPaymentOp
that was caused by internally-returned codePATH_PAYMENT_MALFORMED
. See this issue and this PR. - Added new error codes when hitting internal limits.
- Additional validator information included during nomination (SCP)
Breaking Changes
- Removed HTTP Catchup Command. Using the command line catch up directly from history (without having to connect to the network) is preferred going forward.
New Features
- Documented best practices and the reference design on how to integrate other systems with Stellar Core.
- Created new document regarding performance of Stellar Core, primarily around its sources of load and best configuration practices for optimal performance
Stability Improvements
- Improved filtering logic of SCP messages - you get both better performance and increased reliability when restarting a validator.
- Removed crypto dependency from SCP subsystem - creates better performance across Stellar Core.
- Fixed SQLite WAL checkpoint starvation regression introduced in 10.1.0. The symptom of this bug was unbounded growth in the WAL file attached to an SQLite database.
- Fixed priority-inversion issue for background merges occurring on machines with low core counts. The symptom of this was desynchronization from the network while awaiting a high-priority short merge blocking on a longer-running but lower-priority merge, on a machine with a small number of cores (e.g. 4 or 2).
- Improved performance of in-memory caches.
- Improved performance of ledger close time for some operations by prefetching necessary data in bulk.
- Improved stability of built-in endpoint for load testing,
generateload
. It is now less noisy under high loads. - Improved connection times by removing peers that are considered dead from the peers database.
Miscellaneous Improvements
- Improved log and error messages, giving useful hints for fixing issues.
- Lowered verbosity of overlay partition logging.
- Fixed handling of transactions that didn’t make it to the ledger due to surge pricing for few sequential ledger closes. Those transactions could live in the network for a long time, being broadcasted from nodes to each other and making it to the queue again and again. Now limit of four tries per transaction is enforced stronger, requiring users to resubmit them.
v10.3.0
Stellar Core 10.3.0
10.3.0 is a minor release with no changes to the Stellar protocol. With this release comes major improvements when nodes join the network — we’ve seen a speedup of up to 10x when applying buckets on our low end hardware.
Compatibility Warning: This version has some breaking changes (see below). If you're using Horizon you must use a version of Horizon that is > 0.17.4.
Stability Improvements
- Increased performance for database access via batched queries and commands.
- Added several improvements that enable better communication between peers.
- Fixed a crash when replaying history during catchup, which could be triggered by flaky connectivity to the network.
- Fixed a crash when merging buckets and running out of disk space.
- SCP: Updated nomination to remember previous round leaders which reduces the chances of timeouts and a longer consensus time.
- Windows: Fix random failures when adopting buckets
- Stop using memory for peers that are too slow by dropping them
New Features
- Peers referenced by name in the configuration file have their IP refreshed periodically to help with peer discovery during DNS updates.
- Added a configuration value to drop peers that are too slow.
Breaking changes
- Stellar Core now depends on PostgreSQL of > 9.5 (was 9.4)
- As part of our recent performance improvements, Stellar Core's database schema changed for certain kinds of ledger entries. For more details, see docs/db-schema.md for details. Any software uses core’s database directly (such as Horizon) must support schema version 9 or above.
- Old style CLI options will be deprecated in a post 11.X.X release. See docs/software/commands.md for the list of currently supported command line options.
Additional Details: https://github.com/stellar/stellar-core/projects/9
v10.3.0rc2
This is a minor release (no protocol changes) with major impact on the performance of a node when joining the network: we’ve seen a speedup of up to 10x to apply buckets on our low end hardware.
Stability improvements
- database access improvements: batching calls to avoid too many round trips to the database.
- improved communication between peers
- fixed a crash when replaying history during catchup triggered by flaky connectivity to the network
- fixed a crash when merging buckets and running out of disk space
- SCP: nomination now remembers previous round leaders, this reduces the chances of timeouts (and longer consensus time)
- Windows: fix random failures when adopting buckets
New features
- peers referenced by name in the configuration file have their IP refreshed periodically to help with peer discovery during DNS updates.
- added a configuration to drop peers that are too slow (also lowers memory usage)
Breaking changes
- Stellar-core now depends on Postgresql of at least 9.5 (was 9.4)
- as part of the performance improvements, core’s database schema changed for some ledger entries. See docs/db-schema.md for details. This means that software that uses core’s database directly (such as Horizon) must support schema version 9 or above.
- old style command line will be deprecated post 11.0 release. See docs/software/commands.md for the list of supported command line options
v10.3.0rc1
This is a minor release (no protocol changes) with major impact on the performance of a node when joining the network: we’ve seen a speedup of up to 10x to apply buckets on our low end hardware.
Stability improvements
- database access improvements: batching calls to avoid too many round trips to the database.
- improved communication between peers
- fixed a crash when replaying history during catchup triggered by flaky connectivity to the network
- fixed a crash when merging buckets and running out of disk space
- SCP: nomination now remembers previous round leaders, this reduces the chances of timeouts (and longer consensus time)
- Windows: fix random failures when adopting buckets
New features
- peers referenced by name in the configuration file have their IP refreshed periodically to help with peer discovery during DNS updates.
- slow peers that cannot keep up are dropped (also lowers memory usage)
Breaking changes
- Stellar-core now depends on Postgresql of at least 9.5 (was 9.4)
- as part of the performance improvements, core’s database schema changed for some ledger entries. See docs/db-schema.md for details. This means that software that uses core’s database directly (such as Horizon) must support schema version 9 or above.
- old style command line will be deprecated post 11.0 release. See docs/software/commands.md for the list of supported command line options
v10.2.0
This release addresses stability issues.
Stability improvements:
- We now distinguish peers that we’ve never heard of from peers that we have been able to connect to. This should increase the overall quality of peers that are being used by the network.
- SCP: there was a minor issue in the SCP code (nomination protocol) that could cause excessive timeouts in some cases.
- archive nodes would sometimes fail to publish, causing retries and delays in publishing new snapshots
- fix issue where the
COMMANDS
config was not working properly on startup - improved performance when processing failed trades in order book
- fix crash when starting two stellar-core processes sharing the same buckets folder
- improved performance and reliability when downloading files during catchup
- performance: avoid creating too many files in the same folder during catchup
- performance: avoid forwarding too many messages when peers connect to each other
- updated to latest asio release
New features:
- metrics have been simplified and documented
- added progress meter when catching up (applying bucket)
- ability to log (debug/trace) transactions and their results
- SCP status includes delayed validator information to help identify slow validators in quorum
- new command line format now accepts global switches anywhere (ie before or after sub-command name)
Breaking changes:
- Removed deprecated config element
MAX_PEER_CONNECTIONS
- useMAX_ADDITIONAL_PEER_CONNECTIONS
instead (reviewdocs/stellar-core_example.cfg
for more detail) - Removed built-in NTP client to warn operators that their machine has a drifting clock. Use operating system NTP client instead.
- “info” endpoint got simplified (removed detailed information on archives)
- “peer” endpoint got expanded to include outbound/inbound information