Migrate dev-blog to Redocly (#2346)

* Step 1 to migrate the blog - Add blog pages from the dev-blog repo

* Add blog-specific sidebar (& update contents)

* Add new dev reflections blog post from 01-23-2024

* Blog migration: fix markdoc errors and broken links

* Remove community pages from the sidebar

---------

Co-authored-by: mDuo13 <mduo13@gmail.com>
This commit is contained in:
Amarantha Kulkarni
2024-01-24 12:32:55 -08:00
committed by mDuo13
parent 33cd1f54a5
commit b4489f8649
269 changed files with 13832 additions and 2 deletions

View File

@@ -0,0 +1,36 @@
# Updates Coming to Data API
The [Data API](https://developers.ripple.com/data-api.html), which provides data to [XRP Charts](https://xrpcharts.ripple.com/) and third-party tools, is scheduled to update to **version 2.4.0** in approximately two weeks, on **2018-11-07**. This version improves the way the Data API imports and summarizes data on XRP Ledger validators.
## Improvements
The Data API v2.4.0 changes provide the following benefits:
- Adds real-time tracking of validator agreement.
- Indicates when a validator is included in the network's recommended UNL.
- Reports validator agreement in 1-hour and 24-hour rolling windows, plus (non-rolling) daily summaries.
- Tracks whether validators follow the production network, the TestNet, or other ledger history chains.
See the "Action Required" section below for a summary of which methods these changes apply to.
## Action Required
This release contains the following breaking changes:
- **Removed methods.** The following methods are removed in v2.4.0 and will no longer be available after the release on **2018-11-07**:
- **Get Validations** (`/v2/network/validations`)
- **Get Validator Validations** (`/v2/network/validators/{pubkey}/validations`)
- **Format Changes.** The request and response formats of the following methods have changed.
- **[Get Validator](https://developers.ripple.com/data-api.html#get-validator)** (`/v2/network/validators/{pubkey}`)
- **[Get Validators](https://developers.ripple.com/data-api.html#get-validators)** (`/v2/network/validators`)
- **[Get Daily Validator Reports](https://developers.ripple.com/data-api.html#get-daily-validator-reports)** (`/v2/network/validator_reports`)
- **[Get Single Validator Daily Reports](https://developers.ripple.com/data-api.html#get-single-validator-reports)** (`/v2/network/validators/{pubkey}/validator_reports`)
If you use any of the above API methods, you may need to make changes to use the updated API.
### Preview on Staging
You can try out the new methods by using `http://data-staging.ripple.com` as your base URL.
The [API Reference documentation](https://developers.ripple.com/data-api.html) will be updated with the new formats soon.

View File

@@ -0,0 +1,43 @@
# The DepositAuth & fix1513 Amendments are Now Available
The [DepositAuth](https://ripple.com/build/deposit-authorization/) & fix1513 Amendments became available on the XRP Ledger in ledger sequence number 37,753,345 [(2018-04-06T01:44:42Z)](https://xrpcharts.ripple.com/#/transactions/902C51270B918B40CD23A622E18D48B4ABB86F0FF4E84D72D9E1907BF3BD4B25).
* The DepositAuth Amendment lets an account strictly reject any incoming money from transactions sent by other accounts.
* The fix1513 Amendment fixes an issue where calculation switchovers were not implemented in the fee escalation queue.
## Action Required
**If you operate a `rippled` server**, then you should upgrade to `rippled` version 0.90.1 immediately for service continuity.
## Impact of Not Upgrading
**If you operate a `rippled` server older than version 0.90.0**, your server is amendment blocked. A server that is amendment blocked:
* Cannot determine the validity of a ledger
* Cannot submit or process transactions
* Does not participate in the consensus process
* Does not vote on future amendments
* Could rely on potentially invalid data
If you are using `rippled` version 0.90.0, your server is not amendment blocked but you should upgrade to [`rippled` version **0.90.1**](https://developers.ripple.com/blog/2018/rippled-0.90.1.html) or higher to get important security fixes. `rippled` version 0.90.0 may stop or restart unexpectedly.
For instructions on updating rippled on supported platforms, see [Updating rippled on supported platforms](https://ripple.com/build/rippled-setup/#updating-rippled).
For other platforms, please compile version 0.90.1 from source. See [the `rippled` GitHub repo](https://github.com/ripple/rippled/tree/develop/Builds) for instructions by platform. For instructions building `rippled` from source on Ubuntu Linux, see [Build and Run `rippled` on Ubuntu](https://ripple.com/build/build-run-rippled-ubuntu/).
## Upcoming Features
The [previously announced](https://developers.ripple.com/blog/2018/rippled-0.90.0.html) Checks amendment has lost the support of a majority of trusted validators and is not expected to become enabled in the immediate future.
## Learn, ask questions, and discuss
Related documentation is available in the [Ripple Developer Portal](https://ripple.com/build/), including detailed example API calls and web tools for API testing.
To continue receiving updates about the `rippled` server, please subscribe to the Ripple Server Google Group: <https://groups.google.com/forum/#!forum/ripple-server>
Other resources:
- The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
- [The Ripple Dev Blog](https://developers.ripple.com/blog/)
- Ripple Technical Services: <support@ripple.com>
- [XRP Chat](http://www.xrpchat.com/)

View File

@@ -0,0 +1,53 @@
# DepositPreauth is Now Available
The [DepositPreauth](https://xrpcharts.ripple.com/#/transactions/AD27403CB840AE67CADDB084BC54249D7BD1B403885819B39CCF723DC671F927) and [fix1515](https://xrpcharts.ripple.com/#/transactions/6DF60D9EC8AF3C39B173840F4D1C57F8A8AB51E7C6571483B4A5F1AA0A9AAEBF) amendments, [added in `rippled` v1.1.0](https://developers.ripple.com/blog/2018/rippled-1.1.0.html), became enabled on the XRP Ledger today, 2018-10-09.
## Action Required
- If you operate a `rippled` server, you should upgrade to version 1.1.0 (or higher) immediately.
For instructions on upgrading `rippled` on supported platforms, see [Updating `rippled` on supported platforms](https://developers.ripple.com/update-rippled.html).
## Impact of Not Upgrading
If you operate a `rippled` server on a version older than 1.1.0, then your server is now amendment blocked, meaning that your server:
* Cannot determine the validity of a ledger
* Cannot submit or process transactions
* Does not participate in the consensus process
* Does not vote on future amendments
* Could rely on potentially invalid data
## DepositPreauth Summary
The DepositPreauth amendment provides users of [deposit authorization](https://developers.ripple.com/depositauth.html) with a way to preauthorize specific senders so those senders are allowed to send payments directly.
The amendment adds:
- A new transaction type, DepositPreauth, for adding or removing preauthorization.
- A DepositPreauth ledger object type for tracking preauthorizations from one account to another.
- A JSON-RPC command, `deposit_authorized`, to query whether an account is authorized to send payments directly to another.
This amendment also changes the behavior of cross-currency Payments from an account to itself when that account requires deposit authorization. Without this amendment, those payments always fail with the code tecNO_PERMISSION. With this amendment, those payments succeed as they would with Deposit Authorization disabled.
## fix1515 Summary
The fix1515 amendment changes how Payment transactions consume offers to remove a minor difference in how payment processing and offer processing consume liquidity.
Without the amendment, payment processing gives up on using a particular path if the transaction would consume over 2000 offers from the same order book at the same exchange rate. In this case, the payment does not use the liquidity from those offers, and does not consider that order book's remaining liquidity when attempting to complete the payment.
With this amendment, if any transaction processes over 1000 offers at the same exchange rate, the transaction consumes the liquidity from the first 1000 offers, then does not consider that order book's remaining liquidity when attempting to complete the payment.
In both cases, transaction processing can still complete by using liquidity from other paths or exchange rates.
## Learn More
Related documentation is available in the [XRP Ledger Dev Portal](https://developers.ripple.com/), including detailed example API calls and web tools for API testing.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)

View File

@@ -0,0 +1,35 @@
# fix1543, fix1571 & fix1623 Amendments Open for Voting
Previously [introduced in `rippled` version 1.0.0](https://developers.ripple.com/blog/2018/rippled-1.0.0.html), the [fix1543](https://developers.ripple.com/known-amendments.html#fix1543), [fix1571](https://developers.ripple.com/known-amendments.html#fix1571) and [fix1623](https://developers.ripple.com/known-amendments.html#fix1623) amendments are now open for voting.
* The `fix1543` amendment enforces reserved flag ranges on escrow, payment channel, and ticket transactions.
* The `fix1571` amendment changes the EscrowCreate transaction to require the Condition or FinishAfter field (or both) and also fixes a flaw that incorrectly prevents time-based Escrows from being finished in some circumstances.
* The `fix1623` amendment adds delivered amount metadata to CheckCash transactions that cash a check for a flexible amount.
## Action Required
**If you operate a `rippled` server**, then you should upgrade to version 1.0.0 by Tuesday, 2018-06-19 00:00:00 UTC, for service continuity.
## Impact of Not Upgrading
If you operate a `rippled` server but dont upgrade to version 1.0.0 by Tuesday, 2018-06-19, when the [fix1543](https://developers.ripple.com/known-amendments.html#fix1543), [fix1571](https://developers.ripple.com/known-amendments.html#fix1571) and [fix1623](https://developers.ripple.com/known-amendments.html#fix1623) amendments are expected to become enabled on the network, then your server will become [amendment blocked](https://developers.ripple.com/amendments.html#amendment-blocked), meaning that your server:
* Cannot determine the validity of a ledger
* Cannot submit or process transactions
* Does not participate in the consensus process
* Does not vote on future amendments
* Could rely on potentially invalid data
If the [fix1543](https://developers.ripple.com/known-amendments.html#fix1543), [fix1571](https://developers.ripple.com/known-amendments.html#fix1571) and [fix1623](https://developers.ripple.com/known-amendments.html#fix1623) amendments do not become enabled, then your server will not become amendment blocked and should continue to operate.
## Learn, ask questions, and discuss
Related documentation is available in the [XRP Ledger Dev Portal](https://developers.ripple.com/), including detailed example API calls and web tools for API testing.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)
To continue receiving updates about the `rippled` server, please subscribe to the Ripple Server Google Group: <https://groups.google.com/forum/#!forum/ripple-server>

View File

@@ -0,0 +1,36 @@
# fix1571 is Now Available
As previously announced, the fix1571 amendment [became enabled on the XRP Ledger](https://xrpcharts.ripple.com/#/transactions/920AA493E57D991414B614FB3C1D1E2F863211B48129D09BC8CB74C9813C38FC) on 2018-06-19. Furthermore, the fix1623 amendment is expected to become enabled on 2018-06-20, followed by the fix1543 amendment on 2018-06-21.
## Action Required
- If you operate a `rippled` server, you should upgrade to [version 1.0.1](https://developers.ripple.com/blog/2018/rippled-1.0.1.html) (or higher) immediately.
For instructions on upgrading `rippled` on supported platforms, see [Updating `rippled` on supported platforms](https://developers.ripple.com/update-rippled.html).
## Impact of Not Upgrading
If you operate a `rippled` server on a version older than 1.0.0, then your server is now amendment blocked, meaning that your server:
* Cannot determine the validity of a ledger
* Cannot submit or process transactions
* Does not participate in the consensus process
* Does not vote on future amendments
* Could rely on potentially invalid data
## fix1571 Summary
Changes Escrow to fix the following issues:
- Changes the [EscrowCreate transaction](https://developers.ripple.com/escrowcreate.html) to require the `Condition` or `FinishAfter` field (or both). Escrows with neither `Condition` nor `FinishAfter` that were created before this amendment can be finished by anyone at any time before their `CancelAfter` time.
- Fixes a flaw that incorrectly prevents time-based Escrows from being finished in some circumstances.
## Learn More
Related documentation is available in the [XRP Ledger Dev Portal](https://developers.ripple.com/), including detailed example API calls and web tools for API testing.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)

View File

@@ -0,0 +1,51 @@
# Introducing History Sharding
As `rippled` servers operate, they continually witness data appended onto an ever-growing blockchain. This data becomes the history that the network agrees upon and that constitutes everything about the XRP Ledger.
As with most blockchains, it is imperative that XRP Ledger historical data remain readily available to participating servers. Therefore, every `rippled` server shares the responsibility of storing some history. But what if keeping the full history of the XRP Ledger starts to exceed the storage facility of most participants? For example, as of this writing, the space required to store full history of the XRP Ledger is over 8 terabytes, a hefty flash sum.
The [history sharding](https://developers.ripple.com/history-sharding.html) feature, enabled in `rippled` version 0.90.0, addresses this issue by distributing history into segments called shards. A shard contains all of the data for a range of ledgers. Using the history sharding feature, individual `rippled` servers can contribute to storing historical data without needing to store the entire history.
<!-- BREAK -->
A shard store does not replace a ledger store, but implements a reliable path toward distributed ledger history across the XRP Ledger Network. The history of all ledgers is shared by servers agreeing to keep shards. This makes it possible for servers to confirm that they have all the data they agreed to maintain, and produce proof trees or ledger deltas.
Because servers that are configured with history sharding randomly select the shards that they store, the full history of all closed ledgers is stored in a normal distribution curve, increasing the probability that the XRP Ledger Network evenly maintains the history.
## Shard Store Validation
Beginning with `rippled` version 0.90.0, you can use the [`--validateShards`](https://developers.ripple.com/commandline-usage.html#daemon-mode-options) command to check that shard store data is valid and consistent with network history. For example:
./rippled --validateShards
This operation verifies that all objects stored for every ledger stored in each shard are valid and consistent with the network. Run this command only when you start the server and note that it may take a while to complete.
## Node Store to Shard Store
Beginning with `rippled` version 1.0.0, you can use the [`--nodetoshard'](https://developers.ripple.com/commandline-usage.html#daemon-mode-options) command to import the data from an existing ledger store into a shard store. For example:
./rippled --nodetoshard
This command enables you to create shards based on the history you already have. The command creates shards from complete ledger ranges in the ledger store.
The command creates a copy of the data, so your server must have the additional disk space required by the shard maximum disk space setting ([`max_size_gb`](https://developers.ripple.com/history-sharding.html#shard-store-configuration)) in the `rippled.cfg` configuration file.
## Downloadable Shard Archives
Beginning with `rippled` version 1.1.0, you can use the `download_shard` API method to download and import shard archives from an HTTPS web server. <!--{# TODO: once download_shard rippled API method is documented per https://ripplelabs.atlassian.net/browse/DOC-1907, the ticket instructs the writer to update this dev blog post to link to the method's doc. #}--> For example:
{
"command":"download_shard",
"shards":[
{
"index":1,
"url":"https://www.domain.com/1.tar.lz4"
}
]
}
A shard archive is a [tar](https://en.wikipedia.org/wiki/Tar_(computing)) of a complete shard directory compressed with LZ4. Downloaded archives are checked to be valid and consistent with network history before being imported.
For more information, see [History Sharding](https://developers.ripple.com/history-sharding.html).

View File

@@ -0,0 +1,74 @@
# ripple-lib version 1.0.0
We are pleased to announce the release of **[ripple-lib version 1.0.0](https://github.com/ripple/ripple-lib/releases/tag/1.0.0)**!
ripple-lib is a high-level JavaScript interface to the XRP Ledger. This version features a range of changes and improvements that make the library more capable and flexible. It includes new methods for accessing `rippled` APIs, including subscriptions.
When using this version with `rippled` for online functionality, we recommend using `rippled` version 1.0.1 or later.
Below is a summary of the changes since ripple-lib version 0.22.0 (the previous non-beta version).
## Release Notes
### New Features
* [Add `request()`, `hasNextPage()`, and `requestNextPage()` for accessing `rippled` APIs](https://github.com/ripple/ripple-lib/blob/09541dae86bc859bf5928ac65b2645dfaaf7f8b1/docs/index.md#rippled-apis).
* Add `prepareTransaction()` for preparing raw `txJSON`.
* XRP amounts can be specified in drops. Also, `xrpToDrops()` and `dropsToXrp()` are available to make conversions.
* `getTransaction()` responses can include a new `channelChanges` property that describes the details of a payment channel.
### Data Validation and Errors
* [Amounts in drops and XRP are checked for validity](https://github.com/ripple/ripple-lib/blob/develop/HISTORY.md#100-beta1-2018-05-24).
* [A maximum fee is now imposed](https://github.com/ripple/ripple-lib/blob/develop/HISTORY.md#100-beta2-2018-06-08). Exceeding it causes a `ValidationError` to be thrown.
* Errors are improved and more data validation was added.
* Bug fix: `getPaths` now filters paths correctly and works correctly when the destination currency is XRP.
### Breaking Changes
The following changes were introduced in 1.0.0.
* `getTransaction()` and `getTransactions()`
* The `specification.destination.amount` field has been removed from the parsed transaction response.
* To determine the amount that a transaction delivered, use `outcome.deliveredAmount`.
* If you require the provisional requested `Amount` from the original transaction:
* Use `getTransaction()`'s `includeRawTransaction` option, or
* Use `getTransactions()`'s `includeRawTransactions` option, or
* Use the `rippled` APIs directly with `request()`. For example, call the API methods `tx`, `account_tx`, etc.
* `getLedger()` response object
* The `rawTransactions` field has been removed (for consistency with `getTransaction()` and `getTransactions()`).
* Instead, within each transaction, use the new `rawTransaction` JSON string.
* The `metaData` field has been renamed to `meta` for consistency with `rippled`'s `tx` method.
* `ledger_index` has been added to each raw transaction.
## Learn, ask questions, and discuss
[ripple-lib Documentation](https://developers.ripple.com/rippleapi-reference.html) is available in the XRP Ledger Dev Portal.
Other resources:
* [Full Release History](https://github.com/ripple/ripple-lib/blob/develop/HISTORY.md)
* [GitHub Issues](https://github.com/ripple/ripple-lib/issues)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat Forum](http://www.xrpchat.com/)
## Other Information
### Bug Bounties and Responsible Disclosures
We welcome reviews of the codebase and urge reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit <https://ripple.com/bug-bounty/>.
### Acknowledgements
On behalf of the XRP Community, we would like the thank those who have contributed to the development of the ripple-lib open source code, whether they did so by writing code, using the library, reporting issues, discovering bugs or offering suggestions for improvements.
### Contributors
The following is the list of people who made code contributions, large and small, to ripple-lib prior to the release of 1.0.0:
Abraham Tom, Adrian Hope-Bailie, Alan Cohen, Alex Choi, amougel, Andreas Brekken, Andrey Fedorov, Arthur Britto, Ben Sharafian, Bo Chen, Brad Chase, Brandon Wilson, Brian Clifton, Cheng Wei, Chris Clark, Chris Yuen, cryptcoin-junkey, Daniel Davis, Dan Quirk, Daren Tuzi, darkmemo, David Schwartz, Edward Hennis, Elliot Lee, Evan Schwartz, Ewald Moitzi, Filip Andersson, Franziska Hinkelmann, Fred K. Schott, FrRichard, Geert Weening, Hovhannes Kuloghlyan, Ivan Tivonenko, jatchili, Jed McCaleb, Jks Liu, Justin Lynn, lid, Liucw, Luke Burns, Madeline Shortt, Manish Jethani, Matthew Fettig, Mehul Kar, Michael Elsdörfer, Moe Adham, Mo Morsi, Nicholas Dudfield, Nicolás López Jullian, Niraj Pant, professorhantzen, Reed Rosenbluth, ripplerm, Rome Reginelli, Ryan Young, sentientwaffle, Stefan Thomas, Steven Zeiler, Vahe Hovhannisyan, Vinnie Falco, Waldir Pimenta, wltsmrz and Yeechan Lu.
We look forward to more external contributions and are excited to see the broader XRP Ledger community grow and thrive.

View File

@@ -0,0 +1,82 @@
# rippled Version 0.81.0
Ripple has released `rippled` version 0.81.0, which introduces changes that improve the scalability of the XRP Ledger and transitions the recommended validator configuration to a new hosted site, as described in [Ripple's Decentralization Strategy Update](https://developers.ripple.com/blog/2017/decent-strategy-update.html) post.
Ripple strongly recommends upgrading to `rippled` version 0.81.0 immediately.
## Action Required
If you operate a `rippled` server, then you should upgrade to `rippled` version 0.81.0 immediately.
Ripple recommends that you:
* Edit your `rippled.cfg` to remove the `[validators]` section, if one is present.
* Replace the contents of any existing `validators.txt` file with the [version included with this release](https://github.com/ripple/rippled/blob/4e8c8deeaac83d18eb62c95b7425d96e11847a41/doc/validators-example.txt#L51-L55). If you are upgrading to `rippled` version 0.81.0 [using the rippled RPM package](https://ripple.com/build/rippled-setup/#updating-rippled), then your default `validators.txt` file may automatically be updated, in which case you will not need to modify the file. The `validators.txt` file is usually in the same directory as your `rippled.cfg` file.
* After starting your `rippled` server, confirm that it is configured to use the new defaults by executing:
`/opt/ripple/bin/rippled validators`
The result should include the following:
"local_static_keys" : [],
"publisher_lists" : [
{
"available" : true,
"expiration" : "2018-Jan-23 00:00:00",
"list" : [
"nHB1FqfBpNg7UTpiqEUkKcAiWqC2PFuoGY7FPWtCcXAxSkhpqDkm",
"nHUpwrafS45zmi6eT72XS5ijpkW5JwfL5mLdPhEibrqUvtRcMAjU",
"nHUBGitjsiaiMJBWKYsJBHU2shmYt9m29hRqoh8AS5bSAjXoHmdd",
"nHUXh1ELizQ5QLLqtNaVEbbbfMdq3wMkh14aJo5xi83xzzaatWWP",
"nHUgoJvpqXZMZwxh8ZoFseFJEVF8ryup9r2mFYchX7ftMdNn3jLT"
],
"pubkey_publisher" : "ED2677ABFFD1B33AC6FBC3062B71F1E8397C1505E1C42C64D11AD1B28FF73F4734",
"seq" : 2,
"version" : 1
}
],
## Impact of Not Upgrading
* **If you operate a `rippled` server**, but do not upgrade to `rippled` version 0.81.0, then your `rippled` server may periodically drop transactions and fall out of sync with the network.
* On Tuesday January 16, 2018, the current validator keys on all five Ripple-operated `rippled` validator servers will be replaced. **If you have been using the recommended default configuration** and do not reconfigure your `rippled` server before that time, then your `rippled` server will stop seeing validated ledgers.
For instructions on updating `rippled` on supported platforms, see [Updating `rippled` on supported platforms](https://ripple.com/build/rippled-setup/#updating-rippled).
The sha256 for the rpm is: 75acdf54e472875bff609fa2d1cc59524e4d8f8e885751b50aaeb85938ab3609
The sha256 for the source rpm is: fbc95f6168d015190b93b81f97c20979886fa2f6663e4dd15157409075db46e9
For other platforms, please [compile version 0.81.0 from source](https://github.com/ripple/rippled/tree/master/Builds).
The first log entry should be the change setting the version:
commit 4e8c8deeaac83d18eb62c95b7425d96e11847a41
Author: Nikolaos D. Bougalis <nikb@bougalis.net>
Date: Wed Jan 3 14:43:42 2018 -0800
Set version to 0.81.0
## Network Update
The Ripple technical operations team will deploy `rippled` version 0.81.0 to all `rippled` servers under its operational control, Tuesday, 01/09/2018.
## Learn, ask questions, and discuss
Related documentation is available in the [Ripple Developer Portal](https://ripple.com/build/), including detailed example API calls and web tools for API testing.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)
## 0.81.0 Change Log
* New hosted validator configuration
## Bug Fixes
* Filter SQL results in lieu of a search clause [(#2312)](https://github.com/ripple/rippled/pull/2312)

View File

@@ -0,0 +1,160 @@
# rippled Version 0.90.0
Ripple has released `rippled` version 0.90.0, which introduces several enhancements that improve the reliability, scalability and security of the XRP Ledger. Ripple recommends that all server operators upgrade to version 0.90.0 by Thursday, 2018-03-15, for service continuity.
Highlights of this release include:
- The **DepositAuth** Amendment, which lets an account strictly reject any incoming money from transactions sent by other accounts.
- The **Checks** Amendment, which allows users to create a deferred payment that can be canceled or cashed by its intended recipient.
- **History Sharding**, which allows `rippled` servers to distribute historical ledger data if they agree to dedicate storage for segments of ledger history.
- **Preferred Ledger by Branch**, which improves how a `rippled` server decides which ledger it should base future ledgers on when there are multiple candidates.
Ripple expects the `DepositAuth` and `Checks` amendments to be enabled on Thursday, 2018-03-15.
## Action Required
If you operate a `rippled` server, you should upgrade to `rippled` version 0.90.0 by Thursday, 2018-03-15, for service continuity.
## Impact of Not Upgrading
* **If you operate a `rippled` server**, but do not upgrade to `rippled` version 0.90.0 by **Thursday, 2018-03-15**, when DepositAuth and Checks are expected to be enabled via Amendment, then your rippled server will become [amendment blocked](https://ripple.com/build/amendments/#amendment-blocked), meaning that your server:
* Cannot determine the validity of a ledger
* Cannot submit or process transactions
* Does not participate in the consensus process
* Does not vote on future amendments
* Could rely on potentially invalid data
If the **DepositAuth** and **Checks** Amendments do not get approved, then your `rippled` server will not become Amendment blocked and should continue to operate.
For instructions on updating `rippled` on supported platforms, see [Updating `rippled` on supported platforms](https://ripple.com/build/rippled-setup/#updating-rippled).
The SHA-256 for the RPM is: `7d6c6d9908289edbf38660f0ab2a233b159ac7abfe502ae774bf9af579270613`
The SHA-256 for the source RPM is: `faf0d669a38b7f97acd2d4b95b48a8c50a9859a6235be2ed289d10c6c5f96a1f`
For other platforms, please compile version 0.90.0 from source. See the [`rippled` source tree](https://github.com/ripple/rippled/tree/develop/Builds) for instructions by platform. For instructions building `rippled` from source on Ubuntu Linux, see [Build and Run `rippled` on Ubuntu](https://ripple.com/build/build-run-rippled-ubuntu/).
The first log entry should be the change setting the version:
commit 6230204e425f6aef6ec1c0def0bdd1257e1c4c7f
Author: Nikolaos D. Bougalis <nikb@bougalis.net>
Date: Tue Feb 20 14:12:03 2018 -0800
Set version to 0.90.0
## Action Recommended: Configure History Shards
If you operate a `rippled` server and want to start storing history shards, you must add a `[shard_db]` stanza to your `rippled` configuration file. The following settings are required to configure your server. The **type** field determines the database backend for the shard store. Ripple recommends using NuDB because it uses less memory and fewer file descriptors than RocksDB. The **path** field determines the location to store the database and the **max_size_gb** field limits the maximum disk space the shard store can occupy.
Example snippet:
[shard_db]
type=NuDB
path=/var/lib/rippled/db/shards/nudb
max_size_gb=100
Ripple recommends storing history shards only on non-validator servers to reduce overhead for validators.
## Network Update
The Ripple operations team plans to deploy version 0.90.0 to all `rippled` servers under its operational control, including private clusters, starting at 2:00 PM PST on Wednesday, **2018-02-21**. The deployment is expected to complete within 4 hours. The network should continue to operate during deployment and no outage is expected.
## Other Information
### Acknowledgements
Ripple thanks Guido Vranken for responsibly disclosing a potential vulnerability in the parsing code handling nested JSON objects. The issue could be exploited under some circumstances to mount a denial of service attack. It was addressed with pull request [#2326](https://github.com/ripple/rippled/pull/2326).
### Bug Bounties and Responsible Disclosures
We welcome reviews of the `rippled` codebase and urge reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit <https://ripple.com/bug-bounty/>.
### Boost Compatibility
When compiling `rippled` from source, you must use a compatible version of the Boost library. Ripple recommends Boost 1.64.0 for all platforms.
Other compatible versions differ by platform. Boost 1.58.0 is compatible on Linux but not on Windows. On macOS, Boost 1.58.0 is not compatible with the Clang compiler version 4.0+. On all platforms, Boost 1.66.0 compatibility in rippled 0.90.0 is experimental.
## Learn, ask questions, and discuss
Related documentation is available in the [Ripple Developer Portal](https://ripple.com/build/), including detailed example API calls and web tools for API testing.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)
## Full Release Notes
### DepositAuth
The DepositAuth Amendment allows enterprise account holders to comply with strict regulations that require due diligence before receiving money from any source. When an account enables this flag, payment transactions fail if the account is the destination, regardless of whether the payment would have delivered XRP or an issued currency.
If an Escrow has a Destination with the DepositAuth flag set, then the corresponding EscrowFinish transaction can succeed only if that transaction is signed by the Destination. Similar rules apply to Payment Channels.
As an exception, accounts with DepositAuth enabled can receive XRP payment transactions for small amounts of XRP (equal or less than the minimum account reserve) if their current XRP balance is below the account reserve.
For more information, see <https://ripple.com/build/deposit-authorization/>
### Checks
The Checks Amendment works similarly to personal paper checks and introduces a new ledger object type ([Check](https://ripple.com/build/ledger-format/#check)), a new transaction result code ([tecEXPIRED](https://ripple.com/build/transactions/#tec-codes)) and three new transaction types ([CheckCreate](https://ripple.com/build/transactions/#checkcreate), [CheckCash](https://ripple.com/build/transactions/#checkcash), [CheckCancel](https://ripple.com/build/transactions/#checkcancel)) to the XRP Ledger.
The sender signs a CheckCreate transaction to create a Check for a specific maximum amount and specifies a destination account to receive the funds. Later, the destination account can sign a CheckCash transaction to cash the Check and receive up to the specified amount. The actual movement of money only occurs when the Check is cashed, so cashing the Check may fail depending on the sender's current balance and the available liquidity. An account with the DepositAuth flag set can receive funds using a CheckCash transaction.
If cashing the Check fails, the Check object remains in the ledger so it may be successfully cashed later. The sender or the receiver can sign a CheckCancel transaction to cancel a Check at any time before it is cashed. A Check can also have an expiration time, after which it cannot be cashed, and anyone can cancel it. tecEXPIRED occurs when trying to create a Check whose expiration time is in the past.
### History Sharding
History Sharding allows `rippled` servers to distribute historical ledger data if they agree to keep particular ranges of historical ledgers. This makes it very easy for servers to confirm that they have all the data that they're supposed to have. Further, History Sharding makes it simpler to produce proof trees or ledger deltas and challenge servers to demonstrate they actually hold the data they claim to have.
For more information, see <https://ripple.com/build/history-sharding/>
### Preferred Ledger by Branch
Preferred Ledger by Branch improves how a `rippled` server decides which ledger it should be working on during consensus. In previous versions, a `rippled` server always checks that it is working on what it believes is the most supported ledger, but does not using the common ancestry of validated ledgers as part of that decision. Determining the best working ledger is important during rare cases of network or server instability and improves a `rippled` server's ability to re-converge with the rest of the network.
Preferred Ledger by Branch leverages the ancestry information of branches to account for common support across validated ledgers and their ancestors, since a validation for some ledger is also a validation for all its ancestors. To find the preferred ledger, a `rippled` server starts at the most recent validated ledger and selects the child ledger with most support based on recent validations, but only selects it if an alternate sibling ledger does not possibly have more support. This process is then repeated starting from the newly chosen ledger until no better ledger exists. Preferred Ledger by Branch is designed to be conservative, only switching when the server sees enough peer validations to know another branch won't become preferred.
## Upcoming Features
The [previously announced](https://developers.ripple.com/blog/2017/rippled-0.70.0.html) **FlowCross** Amendment will be enabled on a future date (TBA).
Compiling `rippled` with scons is deprecated. Starting in rippled version 1.0, the only supported build will be using CMake.
An upcoming version of `rippled` will switch to using the Boost.Beast library instead of the Beast library from the `rippled` source code. As part of this change, the minimum supported version of Boost will change to be a version incorporating Boost.Beast.
Ripple does not expect to enable the **SHAMapV2**, **Tickets**, or **OwnerPaysFee** amendments before the next release of `rippled`. These amendments have been disabled in the source code so `rippled` 0.90.0 will not show them as available. Ripple plans to re-introduce some or all of these amendments in a future version of `rippled`.
## 0.90.0 Change Log
- Add support for Deposit Authorization account root flag ([#2239](https://github.com/ripple/rippled/pull/2239))
- Implement history shards ([#2258](https://github.com/ripple/rippled/pull/2258))
- Preferred ledger by branch ([#2300](https://github.com/ripple/rippled/pull/2300))
- Tune for higher transaction processing ([#2294](https://github.com/ripple/rippled/pull/2294))
- Redesign Consensus Simulation Framework ([#2209](https://github.com/ripple/rippled/pull/2209))
- Optimize queries for account_tx to work around SQLite query planner ([#2312](https://github.com/ripple/rippled/pull/2312))
- Allow Journal to be copied/moved ([#2292](https://github.com/ripple/rippled/pull/2292))
- Cleanly report invalid [server] settings ([#2305](https://github.com/ripple/rippled/pull/2305))
- Improve log scrubbing ([#2358](https://github.com/ripple/rippled/pull/2358))
- Update rippled-example.cfg ([#2307](https://github.com/ripple/rippled/pull/2307))
- Force json commands to be objects ([#2319](https://github.com/ripple/rippled/pull/2319))
- Fix cmake clang build for sanitizers ([#2325](https://github.com/ripple/rippled/pull/2325))
- Allow account_objects RPC to filter by “check” ([#2356](https://github.com/ripple/rippled/pull/2356))
- Limit nesting of json commands ([#2326](https://github.com/ripple/rippled/pull/2326))
- Update Visual Studio build instructions ([#2355](https://github.com/ripple/rippled/pull/2355))
- Unit test that sign_for returns a correct hash ([#2333](https://github.com/ripple/rippled/pull/2333))
- Force boost static linking for MacOS builds ([#2334](https://github.com/ripple/rippled/pull/2334))
- Update MacOS build instructions ([#2342](https://github.com/ripple/rippled/pull/2342))
- Add dev docs generation to Jenkins ([#2343](https://github.com/ripple/rippled/pull/2343))
- Poll if process is still alive in Test.py ([#2290](https://github.com/ripple/rippled/pull/2290))
- Remove unused beast::currentTimeMillis() ([#2345](https://github.com/ripple/rippled/pull/2345))
### Bug Fixes
- Improve error message on mistyped command ([#2283](https://github.com/ripple/rippled/pull/2283))
- Add missing includes ([#2368](https://github.com/ripple/rippled/pull/2368))
- Link boost statically only when requested ([#2291](https://github.com/ripple/rippled/pull/2291))
- Unit test logging fixes ([#2293](https://github.com/ripple/rippled/pull/2293))
- Fix Jenkins pipeline for branches ([#2289](https://github.com/ripple/rippled/pull/2289))
- Avoid AppVeyor stack overflow ([#2344](https://github.com/ripple/rippled/pull/2344))
- Reduce noise in log ([#2352](https://github.com/ripple/rippled/pull/2352))

View File

@@ -0,0 +1,92 @@
# rippled version 0.90.1
Ripple has released `rippled` version 0.90.1, which includes fixes for issues reported by external security researchers. These issues, when exploited, could cause a `rippled` instance to restart or, in some circumstances, stop executing.
While these issues can result in a denial of service attack, none affect the integrity of the XRP Ledger and no user funds, including XRP, are at risk.
## Action Required
**If you operate a `rippled` server, then you should upgrade to `rippled` version 0.90.1 as soon as possible.**
### Impact of Not Upgrading
If you operate a `rippled` server but do not upgrade to version 0.90.1, your server may experience restarts or outages.
### Upgrading
For instructions on updating `rippled` on supported platforms, see here: [Updating rippled](https://ripple.com/build/rippled-setup/#updating-rippled)
The SHA-256 for the rpm is: a22aff93d3de98ac3e1d775612e75e0e81aa7e6c18187db01efed485f854bab0
The SHA-256 for the source rpm is: abaaaba2039c8cd93218fd6a23c79b32bfb6eba92a465b7f9c0716b37fb45795
For other platforms, please compile version 0.90.1 from source. See [rippled Builds](https://github.com/ripple/rippled/tree/master/Builds) for instructions by platform. For instructions building `rippled` from source on Ubuntu Linux, see [Build and Run `rippled` on Ubuntu](https://ripple.com/build/build-run-rippled-ubuntu/).
The first log entry should be the change setting the version:
commit 067dbf299c297a8361e83e2ceaf7b0822ff9a3f5
Author: Nikolaos D. Bougalis <nikb@bougalis.net>
Date: Tue Mar 6 16:38:02 2018 -0800
Set version to 0.90.1
## Network Update
The Ripple operations team plans to deploy version 0.90.1 to all `rippled` servers under its operational control, including private clusters, starting at 5:00 PM PST on Thursday, 2018-03-22. The deployment is expected to complete within 4 hours. The network should continue to operate during deployment and no outage is expected.
## Other Information
### Acknowledgements
Ripple thanks Guido Vranken for responsibly disclosing a potential out-of-bounds memory access in the base58 encoder/decoder, a vulnerability in the parsing code handling nested serialized objects and a codepath where untrusted public input involving public keys was used without first being properly validated. These issues could be exploited to mount a denial of service attack.
### Bug Bounties and Responsible Disclosures
We welcome reviews of the `rippled` codebase and urge reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit <https://ripple.com/bug-bounty/>.
### Boost Compatibility
When compiling `rippled` from source, you must use a compatible version of the Boost library. Ripple recommends Boost 1.64.0 for all platforms.
Other compatible versions differ by platform. Boost 1.58.0 is compatible on Linux but not on Windows. On macOS, Boost 1.58.0 is not compatible with the Clang compiler version 4.0+. On all platforms, Boost 1.66.0 compatibility in `rippled` 0.90.1 is experimental.
## Learn, ask questions, and discuss
Related documentation is available in the [Ripple Developer Portal](https://ripple.com/build/), including detailed example API calls and web tools for API testing.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* The Ripple Dev Blog: <https://developers.ripple.com/blog/>
* Ripple Technical Services: <support@ripple.com>
* XRP Chat: <http://www.xrpchat.com/>
### Upcoming Features
The previously announced DepositAuth, Checks and fix1513 amendments are now open for voting on the XRP Ledger. The DepositAuth Amendment lets an account strictly reject any incoming money from transactions sent by other accounts. The Checks Amendment allows users to create a deferred payment that can be cancelled or cashed by its intended recipient. The fix1513 amendment fixes a minor bug in rounding calculations. Ripple expects the **DepositAuth**, **Checks**, and **fix1513** amendments to be enabled on Thursday, 2018-04-05.
The [previously announced](https://developers.ripple.com/blog/2017/rippled-0.70.0.html) **FlowCross** Amendment will be enabled on a future date (TBA).
Compiling `rippled` with scons is deprecated. Starting in `rippled` version 1.0, the only supported build will be using CMake.
An upcoming version of `rippled` will switch to using the Boost.Beast library instead of the Beast library from the `rippled` source code. As part of this change, the minimum supported version of Boost will change to be a version incorporating Boost.Beast.
Ripple does not expect to enable the **SHAMapV2**, **Tickets**, or **OwnerPaysFee** amendments before the next release of rippled. These amendments have been disabled in the source code so `rippled` 0.90.1 will not show them as available. Ripple plans to re-introduce some or all of these amendments in a future version of rippled.
## 0.90.1 Change Log
### Bug Fixes
* Address issues identified by external review
* Verify serialized public keys more strictly before using them (RIPD-1617, RIPD-1619, RIPD-1621)
* Eliminate a potential out-of-bounds memory access in the base58 encoding/decoder logic. (RIPD-1618)
* Avoid invoking undefined behavior in memcpy (RIPD-1616)
* Limit STVar recursion during deserialization (RIPD-1603)
* Use lock when creating a peer shard rangeset

View File

@@ -0,0 +1,164 @@
# rippled Version 1.0.0
Today, after almost 6 years of hard work, Ripple is very pleased to announce the release of `rippled` version 1.0.0.
The `rippled` v1.0.0 release includes incremental improvements to several previously released features. v1.0.0 also symbolizes the growing maturity of the software and the increased stability of the decentralized, growing network of nodes that are running the software all around the world. Moving forward, `rippled` will continue to use [semantic versioning](https://semver.org/) (MAJOR.MINOR.PATCH), to help organize and track future releases.
Ripple recommends that all server operators upgrade to `rippled` v1.0.0 by Thursday, 2018-06-14, for service continuity.
## Action Required
**If you operate a `rippled` server**, you should upgrade to `rippled` version 1.0.0 by Thursday, 2018-06-14, for service continuity.
## Impact of Not Upgrading
* **If you operate a `rippled` server**, but do not upgrade to version 1.0.0 by Thursday, 2018-06-14--when **[fix1543](https://developers.ripple.com/known-amendments.html#fix1543)**, **[fix1571](https://developers.ripple.com/known-amendments.html#fix1571)** and **[fix1623](https://developers.ripple.com/known-amendments.html#fix1623)** are expected to be enabled via Amendment——then your `rippled` server will become amendment blocked. A server that is amendment blocked:
* Cannot determine the validity of a ledger
* Cannot submit or process transactions
* Does not participate in the consensus process
* Does not vote on future amendments
* Cannot rely on potentially invalid data
If the **fix1543**, **fix1571** and **fix1623** Amendments are not enabled, then your `rippled` server will not become amendment blocked and should continue to operate.
## Upgrading
For instructions on updating `rippled` on supported platforms, see [Updating `rippled`](https://developers.ripple.com/update-rippled.html).
The SHA-256 for the RPM is: `100376fbbfdf540264097c333a76b562c742fa5800c65f3c555d16347e23cda3`
The SHA-256 for the source RPM is: `10f472979785db537c4d28bc5a9c71c642cfeac306557368e588d72797439eda`
For other platforms, please compile v1.0.0 from source. See the [`rippled` source tree](https://github.com/ripple/rippled/tree/develop/Builds) for instructions by platform. For instructions building `rippled` from source on Ubuntu Linux, see [Install `rippled` on Ubuntu](https://developers.ripple.com/install-rippled.html#installation-on-ubuntu-with-alien).
The first log entry should be the change setting the version:
commit f31ca2860fb5f045b618aa05d1e76c7e2e9494ec
Author: Nikolaos D. Bougalis <nikb@bougalis.net>
Date: Fri May 11 10:29:41 2018 -0700
Set version to 1.0.0
## Network Update
The Ripple technical operations team has deployed version 1.0.0 to all `rippled` servers under its operational control, including private clusters.
## Learn, ask questions, and discuss
Related documentation is available in the [XRP Ledger Developer Portal](https://developers.ripple.com/index.html), including detailed reference information, tutorials, and web tools.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)
## Other Information
**Bug Bounties and Responsible Disclosures**
Ripple welcomes reviews of the `rippled` codebase and urges reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit <https://ripple.com/bug-bounty/>.
**Boost Compatibility**
When compiling `rippled` from source, you must use a compatible version of the Boost library. Ripple recommends Boost v1.64.0 for all platforms.
For compatibility with other Boost versions, see the following table.
| Boost Version | Compatible Platforms | Incompatible Platforms |
|:-------------:|:--------:|:----------:|
| 1.67.0 | Experimental on all platforms | None |
| 1.64.0 | All platforms | None |
| 1.58.0. | Linux, macOS (with Clang compiler version 4.0+) | Windows |
## 1.0.0 Change Log
* Improve history sharding to now use the shard store to satisfy ledger requests
* Change permessage-deflate and compress defaults [(#2372)](https://github.com/ripple/rippled/pull/2372)
* Update validations on UNL change [(#2393)](https://github.com/ripple/rippled/pull/2393)
### Bug Fixes
* Clarify Escrow Semantics [(#2419)](https://github.com/ripple/rippled/pull/2419)
* Add check, escrow, and pay_chan to ledger_entry [(#2455)](https://github.com/ripple/rippled/pull/2455)
### `rippled` Retrospective
#### What is `rippled`?
`rippled` is the C++ reference implementation of the decentralized XRP Ledger. It is open source and permissively licensed under the ISC.
#### What is the XRP Ledger?
The **XRP Ledger** is a public decentralized cryptographic ledger powered by a global network of peer-to-peer servers. The XRP Ledger is the root ledger of XRP, a digital asset designed to bridge global currencies for payments. As a software company, Ripple contributes to the open source development of the XRP Ledger, in support of the Internet of Value: a world in which money moves the way information does today.
For more information, see [XRP Ledger Overview](https://developers.ripple.com/xrp-ledger-overview.html).
#### Consensus
Among the key benefits of the XRP Ledger is a fast and efficient consensus algorithm, which can settle transactions in 4 to 5 seconds, while processing at a throughput of up to 1,500 transactions per second.
The consensus algorithm is [censorship-resistant](https://developers.ripple.com/xrp-ledger-overview.html#censorship-resistant-transaction-processing). Because no single party decides which transactions succeed or fail, no one can "roll back" a transaction after it completes and no one has control over the consensus algorithm. Instead, individual server operators can select a list of validators that they choose to trust not to collude in an attempt to defraud the rest of the network.
For more information on how the XRP Ledger's consensus algorithm works, see [Consensus](https://developers.ripple.com/consensus.html). For background on why the XRP Ledger uses this consensus algorithm, see [Consensus Principles and Rules](https://developers.ripple.com/consensus-principles-and-rules.html).
#### Protocol Amendments
The XRP Ledger has integrated support for [amendments](https://developers.ripple.com/amendments.html), which allow for the introduction of new features to the decentralized XRP Ledger network without causing disruptions. Amendments work by utilizing the core consensus process of the network to approve any changes by showing continuous support before those changes go into effect.
#### Cryptography
The XRP Ledger relies on industry-standard digital signature systems like ECDSA using the [secp256k1 standard curve](http://www.secg.org/sec2-v2.pdf) (which is also used by Bitcoin). The XRP Ledger also supports modern, efficient algorithms like [Ed25519](https://ed25519.cr.yp.to/). The extensible nature of the XRP Ledger's software makes it possible to add and disable algorithms as the state of the art in cryptography advances.
For more information, see:
* [Cryptographic Keys](https://developers.ripple.com/cryptographic-keys.html)
* [Multi-signing](https://developers.ripple.com/multi-signing.html)
#### Advanced Features
In addition to multi-signing, the XRP Ledger supports other advanced features, such as:
* [Escrow](https://developers.ripple.com/escrow.html)
* [Checks](https://developers.ripple.com/checks.html)
* [Deposit Authorization](https://developers.ripple.com/depositauth.html)
* [Payment Channels](https://developers.ripple.com/payment-channels.html)
* [Crypto-Conditions](https://tools.ietf.org/html/draft-thomas-crypto-conditions-04)
These features make it possible to implement cutting-edge financial applications or interact with the [Interledger Protocol](https://interledger.org/). This toolbox of advanced features comes with a wide range safety checks that validate all transactions against a list of invariant constraints.
#### Decentralized Exchange
The XRP Ledger also has a fully-functional accounting system for publicly tracking and trading obligations denominated in any way users want, along with a decentralized exchange built into the ledger. The XRP Ledger can settle long, cross-currency [payment paths](https://developers.ripple.com/paths.html) and [exchanges](https://developers.ripple.com/decentralized-exchange.html) of multiple currencies in atomic transactions, bridging gaps of trust with XRP.
For more information on how the decentralized exchange works, see:
* [On-Ledger Decentralized Exchange](https://developers.ripple.com/xrp-ledger-overview.html#on-ledger-decentralized-exchange)
* [Decentralized Exchange](https://developers.ripple.com/decentralized-exchange.html)
* [Offers](https://developers.ripple.com/offers.html)
* [Become an XRP Ledger Gateway](https://developers.ripple.com/become-an-xrp-ledger-gateway.html)
#### Acknowledgements
On behalf of the XRP Community, Ripple would like the thank those who have contributed to the development of the XRP Ledger (rippled) open source code, whether they did so by writing code, running the software, reporting issues, discovering bugs or offering suggestions for improvements.
#### Contributors
The following is the list of people who made code contributions, large and small, to XRP Ledger prior to the release of 1.0.0:
Aishraj Dahal, Alex Chung, Alex Dupre, Andrey Fedorov, Arthur Britto, Bob Way, Brad Chase, Brandon Wilson, Bryce Lynch, Casey Bodley, Christian Ramseier, crazyquark, David Grogan, David Schwartz, Donovan Hide, Edward Hennis, Elliot Lee, Eric Lombrozo, Evan Hubinger, Frank Cash, Howard Hinnant, Jack Bond-Preston, jatchili, Jcar, Jed McCaleb, Jeff Trull, Jennifer Hasegawa, Joe Loser, Johanna Griffin, Josh Juran, Justin Lynn, Keaton Okkonen, Lieefu Way, Luke Cyca, Mark Travis, Markus Teufelberger, Miguel Portilla, Mike Ellery, MJK, Nicholas Dudfield, Nikolaos D. Bougalis, Niraj Pant, Patrick Dehne, Roberto Catini, Rome Reginelli, Scott Determan, Scott Schurr, S. Matthew English, Stefan Thomas, The Gitter Badger, Ties Jan Hefting, Tim Lewkow, Tom Ritchford, Torrie Fischer, Vahe Hovhannisyan, Vinnie Falco, Warren Paul Anderson, Will, wltsmrz, Wolfgang Spraul and Yana Novikova.
As `rippled` moves to the 1.x series, we look forward to more external contributions and are excited to see the broader XRP Ledger community grow and thrive.

View File

@@ -0,0 +1,80 @@
# rippled Version 1.0.1
Ripple has released `rippled` version 1.0.1, which includes fixes for issues identified by Ripple engineers and reported by external security researchers. These issues, when exploited, could cause a `rippled` instance to restart or, in some circumstances, stop executing.
While these issues can result in a denial of service attack, none affect the integrity of the XRP Ledger and no user funds, including XRP, are at risk.
## Action Required
**If you operate a `rippled` server**, then you should upgrade to `rippled` version 1.0.1 as soon as possible.
## Impact of Not Upgrading
* **If you operate a `rippled` server**, but do not upgrade to version 1.0.1 as soon as possible, then your server may experience restarts or outages.
## Upgrading
For instructions on updating `rippled` on supported platforms, see [Updating `rippled`](https://developers.ripple.com/update-rippled.html).
The SHA-256 for the RPM is: `4bfa27b0e1e1979f2bc042edb9dd11ae4119dac6be087813dadcc67572877189`
The SHA-256 for the source RPM is: `60279abc65476b0a96ddedcd23338ce1c6fb5481ab94fe8b8c856448044e3ebe`
For other platforms, please compile v1.0.1 from source. See the [`rippled` source tree](https://github.com/ripple/rippled/tree/develop/Builds) for instructions by platform. For instructions building `rippled` from source on Ubuntu Linux, see [Install `rippled` on Ubuntu](https://developers.ripple.com/install-rippled.html#installation-on-ubuntu-with-alien).
The first log entry should be the change setting the version:
commit 8429dd67e60ba360da591bfa905b58a35638fda1
Author: Nik Bougalis <nikb@bougalis.net>
Date: Mon Jun 4 16:36:22 2018 -0700
Set version to 1.0.1
## Network Update
The Ripple operations team plans to deploy version 1.0.1 to all `rippled` servers under its operational control, including private clusters, starting at 3:00 PM PST on Thursday, 2018-06-14. The deployment is expected to complete within 5 hours. The network should continue to operate during deployment and no outage is expected.
## Other Information
**Acknowledgements**
Ripple thanks Guido Vranken for discovering and responsibly disclosing an off-by-one error in the base64 decoder logic when handling malformed input.
**Bug Bounties and Responsible Disclosures**
Ripple welcomes reviews of the `rippled` codebase and urges reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit <https://ripple.com/bug-bounty/>.
**Boost Compatibility**
When compiling `rippled` from source, you must use a compatible version of the Boost library. Ripple recommends Boost 1.64.0 for all platforms.
Other compatible versions differ by platform. Boost 1.58.0 is compatible on Linux but not on Windows. On macOS, Boost 1.58.0 is not compatible with the Clang compiler version 4.0+.
## Learn, ask questions, and discuss
Related documentation is available in the [XRP Ledger Developer Portal](https://developers.ripple.com/index.html), including detailed reference information, tutorials, and web tools.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)
## Upcoming Features
The previously [introduced](https://developers.ripple.com/blog/2018/rippled-1.0.0.html) [fix1543](https://developers.ripple.com/known-amendments.html#fix1543), [fix1571](https://developers.ripple.com/known-amendments.html#fix1571) and [fix1623](https://developers.ripple.com/known-amendments.html#fix1623) Amendments in XRP Ledger version 1.0.0 are now open for voting. Ripple expects these amendments to become enabled on Tuesday, 2018-06-19.
An upcoming version of `rippled` will switch to using the **Boost.Beast** library instead of the **Beast** library from the `rippled` source code. As part of this change, the minimum supported version of Boost will change to be a version incorporating Boost.Beast.
Ripple does not expect to enable the **SHAMapV2**, **Tickets**, or **OwnerPaysFee** Amendments before the next release of `rippled`. These Amendments have been disabled in the source code so `rippled` version 1.0.1 will not show them as available. Ripple plans to re-introduce some or all of these amendments in a future version of `rippled`.
## 1.0.1 Change Log
### Bug Fixes
* Improve JSON exception handling
* Fix a corner case when decoding base64: Under some corner cases, the base64 decoder would not allocate enough memory, which could result in spurious errors.

View File

@@ -0,0 +1,136 @@
# Introducing XRP Ledger (rippled) version 1.1.0
Ripple is pleased to announce the release of **XRP Ledger (`rippled`) version 1.1.0.**
The XRP Ledger version 1.1.0 release includes the [DepositPreAuth](https://developers.ripple.com/known-amendments.html#depositpreauth) Amendment, which, combined with the previously released [DepositAuth](https://developers.ripple.com/known-amendments.html#depositauth) Amendment, allows users to pre-authorize incoming transactions to accounts, by whitelisting sender addresses. XRP Ledger version 1.1.0 release also includes incremental improvements to several previously released features ([fix1515](https://developers.ripple.com/known-amendments.html#fix1515) Amendment), deprecates support for the sign and sign_for commands from the rippled API and improves invariant checking for enhanced security.
Ripple recommends that all server operators upgrade to XRP Ledger version 1.1.0 by Thursday, 2018-09-27, to ensure service continuity.
## Action Required
**If you operate a XRP Ledger server, you should upgrade to XRP Ledger version 1.1.0 by Thursday, 2018-09-27, to ensure service continuity.**
### Impact of Not Upgrading
Ripple expects the **DepositPreAuth** or **fix1515** amendments to become enabled on or after Thursday, 2018-09-27. When this happens, if you are not running release 1.1.0 or greater, your server will become [amendment blocked](https://ripple.com/build/amendments/#amendment-blocked), meaning that it:
* Cannot determine the validity of a ledger;
* Cannot be able to submit or process transactions;
* Cannot participate in the consensus process;
* Cannot vote on future amendments; and
* Could rely on potentially invalid data.
If the **DepositPreAuth** and **fix1515** Amendments do not become enabled, then your XRP Ledger server will not become Amendment blocked and should continue to operate.
### Upgrading
For instructions on updating the XRP Ledger server on supported platforms, see here: [Updating `rippled` on Supported Platforms](https://developers.ripple.com/update-rippled.html).
- The SHA-256 for the RPM is: `ec50f3cec7dcbea8aaa2eb9d97c3c1fc02d44ce62203557b4cd213cf1b0fe4b5`
- The SHA-256 for the source RPM is: `936844990e70615183681c41884ea96804ee4130d6f9ec32242fb3a16120824f`
For other platforms, please compile version 1.1.0 from source. See [`rippled` build instructions by platform](https://github.com/ripple/rippled/tree/master/Builds), or [Build and Run `rippled` on Ubuntu Linux](https://ripple.com/build/build-run-rippled-ubuntu/) for further instructions.
The first log entry should be the change setting the version:
commit 3e22a1e9e8f2de450eded6ca4c2db6411e329b2a
Author: Nik Bougalis <nikb@bougalis.net>
Date: Wed Sep 5 18:34:43 2018 -0700
Set version to 1.1.0
## Network Update
The Ripple technical operations has deployed version 1.1.0 to all XRP Ledger servers under its operational control, including private clusters, as of Thursday, 2018-09-13.
## Learn, ask questions, and discuss
Related documentation is available in the XRP Ledger Dev Portal, including detailed example API calls and web tools for API testing: [https://developers.ripple.com/](https://developers.ripple.com/)
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* The Ripple Dev Blog: <https://developers.ripple.com/blog/>
* Ripple Technical Services: <support@ripple.com>
* XRP Chat: <http://www.xrpchat.com/>
## Other Information
### Bug Bounties and Responsible Disclosures
On behalf of the XRP Community, Ripple would like to thank Guido Vranken, for responsibly disclosing several issues related to some of the encoder / decoder logic in rippled. As always, Ripple welcomes reviews of the **XRP Ledger** open source codebase and urge reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit[ https://ripple.com/](https://ripple.com/bug-bounty/)[bug-bounty](https://ripple.com/bug-bounty/)[/](https://ripple.com/bug-bounty/).
### Boost Compatibility
When compiling XRP Ledger from source, you must use a compatible version of the Boost library. **As of XRP Ledger version 1.1.0, Boost 1.67.0 is required for all platforms.**
## 1.1.0 Change Log
* Add DepositPreAuth ledger type and transaction ([#2513](https://github.com/ripple/rippled/pull/2513))
* Increase fault tolerance and raise validation quorum to 80%, which fixes issue [2604](https://github.com/ripple/rippled/issues/2604) ([#2613](https://github.com/ripple/rippled/pull/2613))
* Support ipv6 for peer and RPC comms ([#2321](https://github.com/ripple/rippled/pull/2321))
* Refactor ledger replay logic ([#2477](https://github.com/ripple/rippled/pull/2477))
* Improve Invariant Checking ([#2532](https://github.com/ripple/rippled/pull/2532/commits/2ac1c2b433b8825b9a6f203f1ee65a126e20620c))
* Expand SQLite potential storage capacity ([#2650](https://github.com/ripple/rippled/pull/2650/commits/04745b11a888cea412f410d0036a0db23574d61c))
* Replace UptimeTimer with UptimeClock ([#2532](https://github.com/ripple/rippled/pull/2532/commits/7d163a45dcd2c5cca0fc45eb8775f169575995c1))
* Dont read Amount field if it is not present ([#2566](https://github.com/ripple/rippled/pull/2566/commits/34d3f93868b87f33fdf76a5b6c8b376956346a16))
* Remove Transactor:: mFeeDue member variable ([#2586](https://github.com/ripple/rippled/pull/2586/commits/5b733fb4857ff1076d2e106afeb9931fca198d51))
* Remove conditional check for using Boost.Process ([#2586](https://github.com/ripple/rippled/pull/2586/commits/06d0ff6e5281ca237d358e953fe8069d16a6926a))
* Improve charge handling in NoRippleCheckLimits test ([#2629](https://github.com/ripple/rippled/pull/2629/commits/49bcdda41881f6cac140879a236be6ac1a7a734d))
* Migrate more code into the chrono type system ([#2629](https://github.com/ripple/rippled/pull/2629/commits/d257d1b2c9e0a50f6cef2d1fc977573944408723))
* Supply ConsensusTimer with milliseconds for finer precision ([#2629](https://github.com/ripple/rippled/pull/2629/commits/d98c4992dd82090bb6d4f7593768624f6e109b32))
* Refactor / modernize Cmake ([#2629](https://github.com/ripple/rippled/pull/2629/commits/37d9544ef722730d34899754654b71e84d9f7851))
* Add delimiter when appending to cmake_cxx_flags ([#2650](https://github.com/ripple/rippled/pull/2650/commits/4aa0bc37c0fdfb871f5929e7bd544f787db412af))
* Remove using namespace declarations at namespace scope in headers ([#2650](https://github.com/ripple/rippled/pull/2650/commits/2901577be73fc2e6f2fd71d693258660c2f5f724))
### Bug Fixes
* Deprecate the sign and sign_for APIs ([#2657](https://github.com/ripple/rippled/pull/2657))
* Use liquidity from strands that consume too many offers, which will be enabled on [fix1515](https://developers.ripple.com/known-amendments.html#fix1515) Amendment ([#2546](https://github.com/ripple/rippled/pull/2546))
* Fix a corner case when decoding base64 ([#2605](https://github.com/ripple/rippled/pull/2605/commits/0439dcfa7a5215cc74a8e254a28eadace6a524b7))
* Trim space in Endpoint::from_string ([#2593](https://github.com/ripple/rippled/pull/2593))
* Correctly suppress sent messages ([#2564](https://github.com/ripple/rippled/pull/2564))
* Detect when a unit test child process crashes ([#2415](https://github.com/ripple/rippled/pull/2415))
* Add missing virtual destructors ([#2532](https://github.com/ripple/rippled/pull/2532/commits/717f874767f2a431294244c0b532b00e508705ca))
* Improve JSON exception handling ([#2605](https://github.com/ripple/rippled/pull/2605/commits/00df097e5f2f533b81038b2c350bb2d896febd2e))
* Handle WebSocket construction exceptions ([#2629](https://github.com/ripple/rippled/pull/2629/commits/d89ff1b63d6792a25af872746013387001ebb72b))
## Contributions
We welcome external contributions to the XRP Ledger codebase. Please submit a pull request with your proposed changes on the GitHub project page at [https://github.com/ripple/rippled](https://github.com/ripple/rippled).
On behalf of the XRP Community, Ripple would like to thank those who have contributed to the development of the XRP Ledger (rippled) open source code, whether they did so by writing code, running the software, reporting issues, discovering bugs or offering suggestions for improvements.
The following is the list of people who made code contributions, large and small, to XRP Ledger prior to the release of 1.1.0:
Aishraj Dahal, Alex Chung, Alex Dupre, Andrey Fedorov, Arthur Britto, Bob Way, Brad Chase, Brandon Wilson, Bryce Lynch, Casey Bodley, Christian Ramseier, crazyquark, David Grogan, David Schwartz, Donovan Hide, Edward Hennis, Elliot Lee, Eric Lombrozo, Evan Hubinger, Frank Cash, Howard Hinnant, Jack Bond-Preston, jatchili, Jcar, Jed McCaleb, Jeff Trull, Joe Loser, Johanna Griffin, Josh Juran, Justin Lynn, Keaton Okkonen, Lieefu Way, Luke Cyca, Mark Travis, Markus Teufelberger, Miguel Portilla, Mike Ellery, MJK, Nicholas Dudfield, Nikolaos D. Bougalis, Niraj Pant, Patrick Dehne, Roberto Catini, Rome Reginelli, Scott Determan, Scott Schurr, S. Matthew English, Stefan Thomas, The Gitter Badger, Ties Jan Hefting, Tim Lewkow, Tom Ritchford, Torrie Fischer, Vahe Hovhannisyan, Vinnie Falco, Warren Paul Anderson, Will, wltsmrz, Wolfgang Spraul and Yana Novikova.
As XRP Ledger moves to the 1.0 series, we look forward to more external contributions and are excited to see the broader XRP Ledger community grow and thrive.

View File

@@ -0,0 +1,65 @@
# rippled Version 1.1.1
Ripple has released `rippled` version 1.1.1, which improves handling of validator list sites. These changes improve retrieval of Ripple's recommended UNL for servers in restrictive network environments, and prevent incorrect behavior in cases where a server is unable to fetch a validator list update before the previous list expires.
## Action Required
**If you operate a `rippled` server**, then you should upgrade to `rippled` version 1.1.1 as soon as possible.
## Impact of Not Upgrading
* **If you operate a `rippled` server**, but do not upgrade to version 1.1.1, then your server may behave incorrectly if it is unable to fetch a new validator list before its current list expires. (If your network configuration causes `rippled` to encounter HTTP redirects when fetching the validator list, this can prevent `rippled` 1.1.0 and lower from correctly downloading the updated list in a timely manner.)
## Upgrading
For instructions on updating `rippled` on supported platforms, see [Updating `rippled`](https://developers.ripple.com/update-rippled.html).
The SHA-256 for the RPM is: `a833fbaf988d85c985f80ad4dfd46a391cce7e884fba62b2f9b1b87aa41c3cfa`
The SHA-256 for the source RPM is: `a88b538fc3ee0bb5cefe3e96622faebecebcc91e5c530f74283d49c9cfff41d4`
For other platforms, please compile v1.1.1 from source. See the [`rippled` source tree](https://github.com/ripple/rippled/tree/develop/Builds) for instructions by platform. For instructions building `rippled` from source on Ubuntu Linux, see [Install `rippled` on Ubuntu](https://developers.ripple.com/install-rippled.html#installation-on-ubuntu-with-alien).
The first log entry should be the change setting the version:
commit 72e6005f562a8f0818bc94803d222ac9345e1e40
Author: seelabs <scott.determan@yahoo.com>
Date: Fri Oct 19 13:12:40 2018 -0400
Set version to 1.1.1
## Network Update
The Ripple operations team plans to deploy version 1.1.1 to all `rippled` servers under its operational control, including private clusters, starting at 2:00 PM PDT on Tuesday, 2018-10-23. The deployment is expected to complete within 5 hours. The network should continue to operate during deployment and no outage is expected.
**Bug Bounties and Responsible Disclosures**
Ripple welcomes reviews of the `rippled` codebase and urges reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit <https://ripple.com/bug-bounty/>.
**Boost Compatibility**
When compiling `rippled` from source, you must use a compatible version of the Boost library. **For version 1.1.1, Boost 1.67.0 is required for all platforms.**
## Learn, ask questions, and discuss
Related documentation is available in the [XRP Ledger Developer Portal](https://developers.ripple.com/), including detailed reference information, tutorials, and web tools.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)
## 1.1.1 Change Log
### Bug Fixes
- Follow the `Location:` HTTP header when fetching a validator list results in a redirect status code such as **301 Moved Permanently**, **302 Found**, **307 Temporary Redirect**, or **308 Permanent Redirect**. (RIPD-1669)
- Improve behavior of `rippled` servers when their latest available validator list is past its expiration (RIPD-1661):
- Report the problem with an ERROR-level log message.
- Stop sending validation messages for new ledgers until a non-expired validator list is available.
- Report the validator list as `expired` in the [server_info method](https://developers.ripple.com/server_info.html) and [server_state method](https://developers.ripple.com/server_state.html).

View File

@@ -0,0 +1,84 @@
# Introducing XRP Ledger (rippled) version 1.1.2
Ripple is proud to announce the release of **XRP Ledger** (`rippled`) version 1.1.2.
The XRP Ledger version 1.1.2 release includes a fix for a technical issue in the consensus "preferred ledger by branch" code, which could cause a validator to fail to settle on a single preferred branch of unconfirmed ledger history. While this is not entirely unexpected and the code is designed to handle it, this issue exposed a corner case where the stringent safety guarantees of the consensus algorithm, as outlined in the recent [Analysis of the XRP Ledger Consensus Protocol](https://arxiv.org/abs/1802.07242) paper, make it difficult for the entire network to efficiently recover from this condition.
<!-- BREAK -->
## Action Required
**If you operate a XRP Ledger validator server,** then you should upgrade to XRP Ledger version 1.1.2 as soon as possible.
### Impact of Not Upgrading
If you are not running release 1.1.2 or greater, then your validator server can potentially fail to settle on a single preferred ledger branch during consensus and resort to issuing partial validations, until it can resync with the network.
### Upgrading
For instructions on updating `rippled` on supported platforms, see [Installing rippled](https://developers.ripple.com/install-rippled.html).
The SHA-256 for the RPM is: `989a679bef72e827f204b394abd3d385f1baae6ad7a94eaf9b759a032bcd0f7e`
The SHA-256 for the source RPM is: `091b60dcf38aea4f9ec252d7b1b72d95ca4f45b3a831fbe97ce8f806f2907cae`
For other platforms, please compile version 1.1.2 from source.
- [Build and Run `rippled` on Ubuntu Linux](https://developers.ripple.com/build-run-rippled-ubuntu.html)
- [Build and run `rippled` on macOS](https://developers.ripple.com/build-run-rippled-macos.html)
- See <https://github.com/ripple/rippled/tree/master/Builds> for instructions by platform.
The first log entry should be the change setting the version:
```text
commit 4f3a76dec00c0c7ea28e78e625c68499debbbbf3
Author: Nik Bougalis <nikb@bougalis.net>
Date: Thu Nov 29 21:49:10 2018 -0800
Set version to 1.1.2
```
## Network Update
Ripple plans to deploy version 1.1.2 to all XRP Ledger servers under its operational control, including private clusters, on Tuesday, 2018-12-11 at 22:00:00 UTC.
## Learn, ask questions, and discuss
Related documentation is available in the [XRP Ledger Dev Portal](https://developers.ripple.com/), including detailed example API calls and web tools for API testing: <https://developers.ripple.com/>
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat Forum](http://www.xrpchat.com/)
## Other Information
### Bug Bounties and Responsible Disclosures
On behalf of the XRP Community, Ripple welcomes reviews of the **XRP Ledger** open source codebase and urge reviewers to responsibly disclose any issues that they may find. For more on Ripple's Bug Bounty program, please visit <https://ripple.com/bug-bounty/>.
### Boost Compatibility
When compiling XRP Ledger from source, you must use a compatible version of the Boost library. **As of XRP Ledger version 1.1.2, Boost 1.67.0 is required for all platforms.**
## 1.1.2 Change Log
### Bug Fixes
* Improve preferred ledger calculation ([#2797](https://github.com/ripple/rippled/pull/2797/commits/bd2a38f5844ce824c02cce1ed97e9cf0cd04c019))
* Properly bypass connection limits for cluster peers ([#2795](https://github.com/ripple/rippled/pull/2797/commits/61f443e3bbf3bf1f6e13f3ef25bb5fc60fe85078))
## Contributions
**We welcome external contributions to the XRP Ledger codebase. Please submit a pull request with your proposed changes on the GitHub project page at <https://github.com/ripple/rippled>.**
On behalf of the XRP Community, Ripple would like to thank those who have contributed to the development of the XRP Ledger (`rippled`) open source code, whether they did so by writing code, running the software, reporting issues, discovering bugs or offering suggestions for improvements.
The following is the list of people who made code contributions, large and small, to rippled prior to the release of 1.1.2:
Aishraj Dahal, Alex Chung, Alex Dupre, Andrey Fedorov, Arthur Britto, Bob Way, Brad Chase, Brandon Wilson, Bryce Lynch, Casey Bodley, Christian Ramseier, crazyquark, David Grogan, David Schwartz, Donovan Hide, Edward Hennis, Elliot Lee, Eric Lombrozo, Evan Hubinger, Frank Cash, Howard Hinnant, Iroskam, Jack Bond-Preston, jatchili, Jcar, Jed McCaleb, Jeff Trull, Joe Loser, Johanna Griffin, Josh Juran, Justin Lynn, Keaton Okkonen, Lieefu Way, Luke Cyca, Mark Travis, Markus Teufelberger, Miguel Portilla, Mike Ellery, MJK, Nicholas Dudfield, Nikolaos D. Bougalis, Niraj Pant, Patrick Dehne, Roberto Catini, Rome Reginelli, Scott Determan, Scott Schurr, S. Matthew English, Stefan Thomas, The Gitter Badger, Ties Jan Hefting, Tim Lewkow, Tom Ritchford, Torrie Fischer, Vahe Hovhannisyan, Vinnie Falco, Warren Paul Anderson, Will, wltsmrz, Wolfgang Spraul and Yana Novikova.
As XRP Ledger progresses through the 1.0 series, we look forward to more external contributions and are excited to see the broader XRP Ledger community grow and thrive.

View File

@@ -0,0 +1,33 @@
# Boost 1.66 Not Supported for rippled 0.81.0
A warning to developers: `rippled` versions 0.81.0 and earlier do not compile with the recently-released Boost library version 1.66.0. To compile `rippled` yourself, Ripple recommends using **Boost version 1.65.1**. The minimum supported version of Boost is 1.58.0, which is included in the official repositories of Ubuntu 16.04 Xenial.
## Compiler Errors
If you try to compile `rippled` version 0.81.0 with Boost version 1.66.0 or higher, you get compiler errors such as the following:
```
In file included from src/beast/include/beast/core/detail/type_traits.hpp:13:0,
from src/beast/include/beast/core/impl/static_string.ipp:12,
from src/beast/include/beast/core/static_string.hpp:1106,
from src/beast/include/beast/core/string_param.hpp:13,
from src/beast/include/beast/http/fields.hpp:12,
from src/beast/include/beast/http/message.hpp:12,
from src/ripple/server/Handoff.h:24,
from src/ripple/overlay/Overlay.h:26,
from src/ripple/app/consensus/RCLConsensus.cpp:39,
from src/ripple/unity/app_consensus.cpp:21:
/usr/include/boost/asio/io_service.hpp:27:20: error: conflicting declaration
typedef class boost::asio::io_context boost::asio::io_service
typedef io_context io_service;
```
If you encounter this issue, please downgrade to Boost version 1.65.1.
## Background
Boost 1.66.0 [introduces the `Boost.Beast` library for HTTP and WebSocket connections](http://www.boost.org/doc/libs/1_66_0/libs/beast/doc/html/beast/introduction.html). The Beast library was built by [prolific coder and Ripple alum Vinnie Falco](https://github.com/vinniefalco) as an add-on to the `Boost.Asio` library, for use in `rippled` and other C++ software. Because Beast made its start in the `rippled` code base, the version already included in `rippled` conflicts with the version included as part of the Boost library in versions 1.66.0 and higher.
## Future Work
Ripple expects to make `rippled` compatible with Boost 1.66.0 and higher in a future release. At that time, `rippled` will no longer be compatible with Boost version 1.65.x and lower. Stay tuned to `rippled` release announcements for updates on this transition.

View File

@@ -0,0 +1,94 @@
# rippled Validator Key Replacement
On Wednesday, January 18, 2018, as described in the [0.81.0 release notes](https://github.com/ripple/rippled/blob/develop/RELEASENOTES.md), the current validator keys on all five Ripple-operated `rippled` validator servers will be replaced. **If you have been using the previous recommended default configuration** and do not reconfigure your `rippled` server to the new recommended default configuration before that time, then your `rippled` server will stop seeing validated ledgers.
Ripple strongly recommends upgrading to `rippled` version 0.81.0 immediately.
## Action Required
If you operate a `rippled` server, then you should upgrade to 0.81.0 immediately.
Ripple recommends that you:
* Edit your `rippled.cfg` to remove the `[validators]` section, if one is present
* Add a `[validators_file]` section if one is not present, and add the name of your `validators.txt` file.
* Replace the contents of any existing `validators.txt` file with the [version included with this release](https://github.com/ripple/rippled/blob/4e8c8deeaac83d18eb62c95b7425d96e11847a41/doc/validators-example.txt#L51-L55). If you are upgrading to `rippled` version 0.81.0 [using the `rippled` RPM package](https://ripple.com/build/rippled-setup/#updating-rippled), then your default `validators.txt` file may automatically be updated, in which case you will not need to modify the file. The `validators.txt` file is usually in the same directory as your `rippled.cfg` file.
* After starting your `rippled` server, confirm that it is configured to use the new defaults by executing:
/opt/ripple/bin/rippled validators
The result should include the following:
"local_static_keys" : [],
"publisher_lists" : [
{
"available" : true,
"expiration" : "2018-Jan-23 00:00:00",
"list" : [
"nHB1FqfBpNg7UTpiqEUkKcAiWqC2PFuoGY7FPWtCcXAxSkhpqDkm",
"nHUpwrafS45zmi6eT72XS5ijpkW5JwfL5mLdPhEibrqUvtRcMAjU",
"nHUBGitjsiaiMJBWKYsJBHU2shmYt9m29hRqoh8AS5bSAjXoHmdd",
"nHUXh1ELizQ5QLLqtNaVEbbbfMdq3wMkh14aJo5xi83xzzaatWWP",
"nHUgoJvpqXZMZwxh8ZoFseFJEVF8ryup9r2mFYchX7ftMdNn3jLT"
],
"pubkey_publisher" : "ED2677ABFFD1B33AC6FBC3062B71F1E8397C1505E1C42C64D11AD1B28FF73F4734",
"seq" : 2,
"version" : 1
}
],
## Impact of Not Upgrading
* **If you operate a `rippled` server**, but do not upgrade to `rippled` version 0.81.0, then your `rippled` server may periodically drop transactions and fall out of sync with the network.
* On Wednesday, January 17, 2018, as described in the 0.81.0 release notes, the current validator keys on all five Ripple-operated `rippled` validator servers will be replaced. **If you have been using the recommended default configuration **and do not reconfigure your `rippled` server before that time, then your `rippled` server will stop seeing validated ledgers.
For instructions on updating `rippled` on supported platforms, see [Updating `rippled` on supported platforms](https://ripple.com/build/rippled-setup/#updating-rippled).
The sha256 for the RPM is: 75acdf54e472875bff609fa2d1cc59524e4d8f8e885751b50aaeb85938ab3609
The sha256 for the source RPM is: fbc95f6168d015190b93b81f97c20979886fa2f6663e4dd15157409075db46e9
For other platforms, please [compile version 0.81.0 from source](https://github.com/ripple/rippled/tree/master/Builds).
The first log entry should be the change setting the version:
```
commit 4e8c8deeaac83d18eb62c95b7425d96e11847a41
Author: Nikolaos D. Bougalis <nikb@bougalis.net>
Date: Wed Jan 3 14:43:42 2018 -0800
Set version to 0.81.0
```
## 0.81.0 Change Log
* New hosted validator configuration
## Bug Fixes
* Optimize queries for `account_tx` to work around SQLite query planner ([#2312](https://github.com/ripple/rippled/pull/2312))
## Network Update
The Ripple technical operations team deployed `rippled` version 0.81.0 to all `rippled` validator servers under its operational control, on Tuesday, 2018-01-09.
## Learn, ask questions, and discuss
Related documentation is available in the [Ripple Developer Portal](https://ripple.com/build/), including detailed example API calls and web tools for API testing.
Other resources:
* The Ripple Forum (_Disabled._ Formerly `forum.ripple.com`)
* [The Ripple Dev Blog](https://developers.ripple.com/blog/)
* Ripple Technical Services: <support@ripple.com>
* [XRP Chat](http://www.xrpchat.com/)