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: 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: 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: 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: Add missing specs for auth via Barong OAuth server.

  • #607: Add missing specs for ability to disable cabinet or markets UI.

  • #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: 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: 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: Update MacOS setup instructions.

  • #641: Reload page after canceling withdraw.

The patch adds page reload after user cancels the withdraw.

  • #639: Automatically update lib/peatio/version.rb from TravisCI.

Peatio::VERSION will be now automatically updated by TravisCI builds (ci/bump.rb).

  • #636: Replace Gem eco with ejs.

We replaced eco with EJS since eco is much simpler and is maintained.

  • #637: Remove obsolete deployment & pipeline stuff (scripts and configs).

Fixes

  • #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: Fix UI bug preventing from selecting timeranges at markets page.

  • #610: Fix admin controller inheritance issue preventing from viewing deposit & withdraw details.

The issue is related to invalid resolution of Ruby BaseController constant.

  • #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: Fix failing specs randomized with seed 6911.

  • #631: Fix ReferenceError: log is not defined (JavaScript error at /documents/api_v2).