## Peatio 1.3.0 (March 5, 2018) ## ### Overview ### The release is focused on: 1. Migrating currencies config (config/currencies.yml) to database. 2. Adding support for Rippled. 3. Adding support for PostgreSQL. ### Breaking changes ### * [#488](https://github.com/rubykube/peatio/pull/488): Move currencies.yml to database. Migration steps (valid only if you respect `id` values in previous currencies.yml): 1. Move existing config/currencies.yml to config/seed/currencies.yml. 2. Edit config/seed/currencies.yml to match new structure: 1. Rename `quick_withdraw_max` => `quick_withdraw_limit`. 2. Rename `blockchain` => `transaction_url_template`. 3. Rename `address_url` => `wallet_url_template`. 4. Replace `coin: true` with `type: coin`. 5. Replace `coin: false` with `type: fiat`. 6. Move variables `json_rpc_endpoint`, `api_client`, `bitgo_test_net`, `bitgo_wallet_id`, `bitgo_wallet_address`, `bitgo_wallet_passphrase`, `bitgo_rest_api_root`, `bitgo_rest_api_access_token`, `wallet_url_template`, `transaction_url_template` to variable `options` (Ruby Hash). 7. Add variable `precision: 8` (for coins) & `precision: 2` (for fiats) where it is missing. 8. Add variable `visible: true` where it is missing. 9. Add variable `base_factor: 1` for fiats where it is missing. 10. Remove variables: `assets`. 3. Execute `bundle exec rake db:migrate db:seed`. ### New features ### * [#572](https://github.com/rubykube/peatio/pull/572): Add support for PostgreSQL. It is now possible to run Peatio with PostgreSQL instead of MySQL. Check docs/databases/postgresql.md for the guide. * [#602](https://github.com/rubykube/peatio/pull/602): Backport support for Rippled. `CoinAPI::XRP` is back. We refactored it to match specs of new cryptocurrency client (`CoinAPI::BaseAPI`), removed all calls to deprecated v1 REST API, updated configuration files, added specs for integration with Ripple, and refactored the client to respect the latest JSON RPC API. ### Enhancements ### * [#603](https://github.com/rubykube/peatio/pull/603): Add missing specs for auth via Barong OAuth server. * [#607](https://github.com/rubykube/peatio/pull/607): Add missing specs for ability to disable cabinet or markets UI. * [#605](https://github.com/rubykube/peatio/pull/605): Make UI handle long deposit addresses. UI is now ready to handle long deposit addresses at «Funds» page. This is necessary for Ripple addresses with destination tag included. * [#618](https://github.com/rubykube/peatio/pull/618): Add automatic validation for numeric and string database table fields. We included Gem `validates_lengths_from_database` which is able to validate limits for various database field types. * [#633](https://github.com/rubykube/peatio/pull/633): Add idempotency behavior for deposit address generation. The patch allows multiple calls to PaymentAddress#enqueue_address_generation which helps to ensure address is always single, and enqueued for generation, if it is blank. * [#635](https://github.com/rubykube/peatio/pull/635): Update MacOS setup instructions. * [#641](https://github.com/rubykube/peatio/pull/641): Reload page after canceling withdraw. The patch adds page reload after user cancels the withdraw. * [#639](https://github.com/rubykube/peatio/pull/639): Automatically update lib/peatio/version.rb from TravisCI. `Peatio::VERSION` will be now automatically updated by TravisCI builds (ci/bump.rb). * [#636](https://github.com/rubykube/peatio/pull/636): Replace Gem eco with ejs. We replaced eco with EJS since eco is much simpler and is maintained. * [#637](https://github.com/rubykube/peatio/pull/637): Remove obsolete deployment & pipeline stuff (scripts and configs). ### Fixes ### * [#611](https://github.com/rubykube/peatio/pull/611): Fix typo in app/models/member.rb related to update for OAuth token. The key `level` was used by a typo to fetch refreshed OAuth2 token for keeping member profile updated in the future. * [#617](https://github.com/rubykube/peatio/pull/617): Fix UI bug preventing from selecting timeranges at markets page. * [#610](https://github.com/rubykube/peatio/pull/610): Fix admin controller inheritance issue preventing from viewing deposit & withdraw details. The issue is related to invalid resolution of Ruby `BaseController` constant. * [#627](https://github.com/rubykube/peatio/pull/627): Require latest stable Chrome via .travis.yml & update chromedriver-helper to 1.2.0. Recent update of Chrome combined with missing requirement for latest stable Chrome in .travis.yml caused TravisCI build to fail. * [#630](https://github.com/rubykube/peatio/pull/630): Fix failing specs randomized with seed 6911. * [#631](https://github.com/rubykube/peatio/pull/631): Fix ReferenceError: log is not defined (JavaScript error at /documents/api_v2).