Initial commit
This commit is contained in:
133
docs/releases/2.2.0.md
Normal file
133
docs/releases/2.2.0.md
Normal file
@@ -0,0 +1,133 @@
|
||||
## Peatio 2.2.0 (June 3, 2019) ##
|
||||
|
||||
### Overview ###
|
||||
|
||||
We are pleased to present Peatio Open Source 2.2.0.
|
||||
|
||||
This release concentrated on Plugable Coins API development new features and enhancements:
|
||||
|
||||
1. New admin roles integration.
|
||||
2. Admin panel RBAC.
|
||||
3. Daemons stability and performance improvements.
|
||||
3. Foundation for third party trading engine integration.
|
||||
|
||||
This release notes is must-read for migrating from older versions.
|
||||
|
||||
### Breaking changes ###
|
||||
|
||||
- [#2168](https://github.com/rubykube/peatio/pull/2168): Plugable Coins API
|
||||
|
||||
This PR is gives ability gives ability to extend Peatio with new coins implementation.
|
||||
|
||||
Such a big architecture improvements usually brings breaking changes.
|
||||
|
||||
Core Peatio supports Ethereum, Bitcoin and Litecoin(as a plugin) blockchains.
|
||||
It means that you need to build custom image if you want to integrate other coins.
|
||||
For guide of how to build custom docker image check [documentation](../plugins.md).
|
||||
For coin integration guide check **doc/integration.md** of appropriate coin e.g([litecoin](https://github.com/rubykube/peatio-litecoin/blob/master/docs/integration.md)).
|
||||
You will find the list of approved coin plugins [here](../coins/plugins.md).
|
||||
|
||||
- [#2242](https://github.com/rubykube/peatio/pull/2242): Reorganization ruby and amqp workers.
|
||||
|
||||
Raw ruby daemons starting script was unified in the same way as we do for AMQP daemons.
|
||||
|
||||
So now to start ruby daemon you need to run the next command:
|
||||
```bash
|
||||
bundle exec ruby lib/daemons/daemons.rb daemon_name
|
||||
```
|
||||
|
||||
- [#2241](https://github.com/rubykube/peatio/pull/2241): Major Market model rework.
|
||||
|
||||
This patch makes bunch of changes in Market model and related APIs, controllers and configuration.
|
||||
|
||||
Here is the full list of braking changes for more info check [PR](https://github.com/rubykube/peatio/pull/2241):
|
||||
|
||||
* Replace Market `enabled` with `state` and list new states (without
|
||||
logic implementation)
|
||||
* Rework public/market API response structure
|
||||
* Rename Market API error name `market.market.doesnt_exist` -> `market.market.doesnt_exist_or_not_enabled`
|
||||
* Add ability to disable all markets
|
||||
* Remove precision equivalence validation (now amount and price precision could be different)
|
||||
* Add precisions sum validation (amount + price precision < 12)
|
||||
* Merge min_bid_amount & min_ask_amount to min_amount
|
||||
* Update Market seeds
|
||||
* Rename ask_precision -> amount_precision, bid_precision -> price_precision
|
||||
* Rename min_ask_price -> min_price, max_bid_price -> max_price
|
||||
* Rename ask_unit -> base_unit, bid_unit -> quote_unit
|
||||
|
||||
- [#2267](https://github.com/rubykube/peatio/pull/2267): Move slave book from amqp to ruby daemons.
|
||||
|
||||
This PR changes slave book daemon type from AMQP daemon to raw ruby one.
|
||||
|
||||
Now to start slave book you need to run `bundle exec ruby lib/daemons/daemons.rb slave_book`.
|
||||
|
||||
- [#2257](https://github.com/rubykube/peatio/pull/2257): Refactor blockchain daemon.
|
||||
|
||||
Now Blockchain daemon doesn't scaling and BLOCKCHAINS env variable.
|
||||
|
||||
Current version of Blockchain daemon starts separate thread per blockchain which works simultaneously and doesn't depend on each other.
|
||||
So it doesn't need scaling to multiple process and BLOCKCHAINS env variable.
|
||||
|
||||
- [#2258](https://github.com/rubykube/peatio/pull/2258): Major trading engine and logic rework with precision, rounding and matching flow improvements.
|
||||
|
||||
Trading engine rework includes bunch of flow enhancements:
|
||||
* Remove rounding on order creation
|
||||
* Validate volume and price precision on order creation
|
||||
* Return invalid_price_or_volume error in case of fractional part overflow
|
||||
* Validate Market min_price, max_price and min_amount depending on amount and price precision
|
||||
* Market amount_precision + price_precision < FUNDS_PRECISION = 12
|
||||
* Set Market FEE_PRECISION to 4
|
||||
* Round estimated funds on market order creation
|
||||
* Rewrite Matching::Engine from scratch without recursion
|
||||
* Update markets.yml.erb with new min_price, min_amount
|
||||
|
||||
### New Features ###
|
||||
|
||||
- Admin panel RBAC. New admin roles support [#2217](https://github.com/rubykube/peatio/pull/2217) ([chumaknadya](https://github.com/chumaknadya))
|
||||
|
||||
Now we support the next list of admin privileged roles:
|
||||
* Super admin
|
||||
* Admin
|
||||
* Accountant
|
||||
* Compliance
|
||||
* Technical
|
||||
* Support
|
||||
|
||||
For the list of permissions for each role check [PR](https://github.com/rubykube/peatio/pull/2217)
|
||||
|
||||
- AMQP messages for third party trading engine integration [\#2215](https://github.com/rubykube/peatio/pull/2215) ([ysv](https://github.com/ysv))
|
||||
|
||||
Our plan is to support third party trading engine, so we can replace all peatio trading daemons without breaking compatibility.
|
||||
This PR adds functionality of publishing Order submit and cancel, Liability create events to RMQ.
|
||||
|
||||
- Add management API endpoint for listing trades [\#2182](https://github.com/rubykube/peatio/pull/2182) ([ymasiuk](https://github.com/ymasiuk))
|
||||
- Change order 'state' to int for order\_processor [\#2205](https://github.com/rubykube/peatio/pull/2205) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- AMQP messages for third party trading engine integration [\#2215](https://github.com/rubykube/peatio/pull/2215) ([ysv](https://github.com/ysv))
|
||||
- Use json format for logs [\#2232](https://github.com/rubykube/peatio/pull/2232) ([denisfd](https://github.com/denisfd))
|
||||
- Retry withdraw on failure [\#2233](https://github.com/rubykube/peatio/pull/2233) ([shal](https://github.com/shal))
|
||||
- Change: config/database.yml – use port value from ENV [\#2254](https://github.com/rubykube/peatio/pull/2254) ([matass](https://github.com/matass))
|
||||
- Add min\_confirmations field to Currency model entity [\#2276](https://github.com/rubykube/peatio/pull/2276) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Add bitcoincash and ripple [\#2284](https://github.com/rubykube/peatio/pull/2286)([ymasiuk](https://github.com/ymasiuk))
|
||||
|
||||
### Enhancements ###
|
||||
|
||||
- Skip withdrawal in case of insufficient balance on hot wallet [\#2179](https://github.com/rubykube/peatio/pull/2179) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Update RBAC roles [\#2237](https://github.com/rubykube/peatio/pull/2237) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Add WS message for market order executed event [\#2208](https://github.com/rubykube/peatio/pull/2208) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Replace Passgen gem with new password generator [\#2245](https://github.com/rubykube/peatio/pull/2245) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Update Readme [\#2250](https://github.com/rubykube/peatio/pull/2250) ([liutenko](https://github.com/liutenko))
|
||||
- Improve sentry-raven error reporting [\#2236](https://github.com/rubykube/peatio/pull/2236) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Update logs in withdraw\_coin worker [\#2234](https://github.com/rubykube/peatio/pull/2234) ([denisfd](https://github.com/denisfd))
|
||||
- Update ruby version and gems [\#2263](https://github.com/rubykube/peatio/pull/2263) ([mod](https://github.com/mod))
|
||||
- Multi coin support for altcoins [\#2243](https://github.com/rubykube/peatio/pull/2243) ([Xicy](https://github.com/Xicy))
|
||||
|
||||
### Bug Fixes ###
|
||||
|
||||
- Remove JWT token from response payload [\#2265](https://github.com/rubykube/peatio/pull/2265) ([shal](https://github.com/shal))
|
||||
- Remove http request for confirmations method [\#2262](https://github.com/rubykube/peatio/pull/2262) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Reload blockchain from DB before sync [\#2269](https://github.com/rubykube/peatio/pull/2269) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Fix bin/gendocs [\#2272](https://github.com/rubykube/peatio/pull/2272) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Fix issue with rake task release.rake in travis [\#2275](https://github.com/rubykube/peatio/pull/2275) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Fix GET /withdraws to include both fiat and crypto [\#2222](https://github.com/rubykube/peatio/pull/2222) ([msembinelli](https://github.com/msembinelli))
|
||||
- Remove withdrawal attempts [\#2280](https://github.com/rubykube/peatio/pull/2280) ([mnaichuk](https://github.com/mnaichuk))
|
||||
- Fix double spending issue on withdraw [\#2280](https://github.com/rubykube/peatio/pull/2280) ([mnaichuk](https://github.com/mnaichuk))
|
||||
Reference in New Issue
Block a user