gazbert/bxbot
A simple Bitcoin trading bot written in Java.
📋 What's Changed
- Deps updates by @gazbert in https://github.com/gazbert/bxbot/pull/170
- Full Changelog: https://github.com/gazbert/bxbot/compare/2.2.0...2.2.1
📋 What's Changed
- JDK 21 Updates by @gazbert in https://github.com/gazbert/bxbot/pull/166
- JDK 21 upgrade - code cleanup by @gazbert in https://github.com/gazbert/bxbot/pull/167
- Full Changelog: https://github.com/gazbert/bxbot/compare/2.1.0...2.2.0
📋 What's Changed
- Boot 3.1 upgrade by @gazbert in https://github.com/gazbert/bxbot/pull/163
- Full Changelog: https://github.com/gazbert/bxbot/compare/2.0.0...2.1.0
📋 What's Changed
- JDK 17 / Spring Boot 3 Upgrade by @gazbert in https://github.com/gazbert/bxbot/pull/157
- Full Changelog: https://github.com/gazbert/bxbot/compare/1.7.0...2.0.0
# Simulate Exchange Fees Release Updated Try Mode Exchange Adapter to use simulated buy/sell fees - #152 **Full Changelog**: https://github.com/gazbert/bxbot/compare/1.6.0...1.70
📋 What's Changed
- Feature/accquire order min by @MarcDahlem in https://github.com/gazbert/bxbot/pull/138
- Full Changelog: https://github.com/gazbert/bxbot/compare/1.5.0...1.6.0
# Dependencies Update Release Updated to Boot 2.7.2. Also bumped other prod + test deps. Now using latest Gradle wrapper and official Maven wrapper. Dropping the superfluous 'v' prefix for release name + tag going forwards. **Full Changelog**: https://github.com/gazbert/bxbot/compare/v1.4.0...1.5.0
📋 What's Changed
- Feature/try mode by @MarcDahlem in https://github.com/gazbert/bxbot/pull/136
✨ New Contributors
- @MarcDahlem made their first contribution in https://github.com/gazbert/bxbot/pull/136
- Full Changelog: https://github.com/gazbert/bxbot/compare/v1.3.0...v1.3.1
📋 What's Changed
- Merge tech-refresh branch to master by @gazbert in https://github.com/gazbert/bxbot/pull/147
- Full Changelog: https://github.com/gazbert/bxbot/compare/v1.2.0...v1.3.0
📦 Coinbase Pro Release
- Added a new Exchange Adapter for [Coinbase Pro](https://pro.coinbase.com/). This replaces the legacy GDAX adapter.
- Big thanks to @DavidHuertas for contributing the new adapter: #132 #120 #134
- Removed deprecated GDAX adapter.
- Removed deprecated OKCoin adapter.
📋 Changes
- #127 #129 - Fix broken nonce calculation. Big thanks to [roywasse](https://github.com/roywasse ) for reporting and @CrommVardek for fixing.
- #126 #131 - Fix order precision format. Big thanks to [roywasse](https://github.com/roywasse ) for reporting and @maiph for fixing.
📦 Dependency Update Release
- Updated dependencies for the bot. No new functionality.
📦 Dependency Updates
- Spring Boot - 2.1.18.RELEASE
- spring-tx - 5.1.19.RELEASE
- Spring Cloud Version - 2.1.6.RELEASE
- Google Guava - 30.1-jre
- Hibernate Validator - 6.2.0.Final
- H2 - 1.4.200
- Snake YAML - 1.27
- validation-api - 2.0.1.Final
- + 12 more
A patch release to correct some documentation in the README and sample config.
📦 REST API Release
- The first Production ready release of the bot.
- Delivery of the REST API #32 - see the section in the README for full details.
- Major updates to all dependencies.
- Deprecated GDAX Exchange Adapter. It has been superseded by Coinbase Pro - see #120
- Deprecated OKCoin Exchange Adapter. It needs upgrading to use latest exchange API - see #122
📦 Dependency Updates
- Spring Boot - 2.1.13-RELEASE
- spring-tx - 5.1.14.RELEASE
- Google guava - 28.2-jre
- Google gson - 2.8.6
- junit - 4.13
- powermock-module-junit4 - 2.0.6
- powermock-api-easymock - 2.0.6
- easymock - 4.2
- + 21 more
✨ Dependencies Added
- spring-cloud-starter - 2.1.5.RELEASE
- jjwt - 0.9.1
- h2 - 1.4.199
- springfox-swagger2 - 2.9.2
- springfox-swagger-ui - 2.9.2
- springfox-bean-validators - 2.9.2
- swagger-annotations - 1.6.0
- validation-api - 2.0.0.Final
- + 3 more
🗑️ Dependencies Removed
- jaxb-core
- jaxb-runtime
- Gradle com.gradle.build-scan
📋 Changes
- [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html) is now enforced as part of the build.
- JaCoCo coverage is enforced as part of the the build - we're striving for 80%+ line coverage where possible. Notable exceptions are the exchange adapters and repositories classes - there is no way to use [PowerMock with JaCoCo](https://github.com/powermock/powermock/wiki/Code-coverage-with-JaCoCo) on-the-fly instrumentation. These classes are excluded from the metrics despite them being extensively tested.
- [Sonarcloud](https://sonarcloud.io/dashboard?id=gazbert_bxbot) report is generated as part of the CI build.
- The [Cryptopia](https://www.cryptopia.co.nz/) exchange adapter has been removed in light of [recent events](https://www.coindesk.com/collapsed-crypto-exchange-cryptopia-owes-creditors-2-7-million-say-liquidators).
📦 YAML Datastore Release
- The XML config datastore has been replaced with a YAML implementation - this should make it simpler to configure the bot! The horrible XML parsing code has been removed - #99
- The XML datastore will continue to be supported on the [0.11.x](https://github.com/gazbert/bxbot/releases/tag/0.11.0) release stream (maintenance only) until January 2020.
- The codebase has had a general cleanup.
- The REST API is (still) not production ready - #32
📦 JDK 11 Release
- Major upgrade to get the bot running on JDK 11.
- JDK 11 is an [LTS Release](https://www.oracle.com/technetwork/java/java-se-support-roadmap.html) and will be supported until September 2023.
- Removed old deprecated Huobi exchange adapter. Another one (#83) needs building for integrating with the new [Huobi exchange](https://huobi.readme.io/docs/rest-api-reference).
- The REST API is (still) not production ready - #32
- Spring Boot - 2.1.4-RELEASE
- spring-tx - 5.1.4.RELEASE
- Google guava - 27.0-jre
- Google gson - 2.8.5
- + 24 more
📦 JDK 10 release
- JDK 8 + Spring Boot 1.5.x will be supported in the 0.8.x release stream - maintenance only until Jan 2019.
- JDK 8 + Spring Boot 2.0 will be supported in the 0.9.x release stream - maintenance only until Jan 2019.
- REST API is not production ready.
📦 Spring Boot 2.0 Release
- Upgraded bot to use Spring Boot 2.0 and Spring 5.0.
- Spring Boot 1.5.x will continue to be supported in the 0.8.x release stream - maintenance only.
- New features will only be developed on the 0.9.x release stream.
- REST API is not production ready.
📋 Changes
- #92 - new Cryptopia exchange adapter added by @nodueck - thanks!
- Updated to Spring Boot 1.5.13.RELEASE
- Updated spring-tx to 4.3.17.RELEASE
- Updated Google Guava to 25.0-jre
- Updated Google GSON to 2.8.4
- Updated powermock to 1.7.4
- Updated easymock to 3.6
- Updated cglib-nodep to 3.2.6
- + 6 more
📋 Changes
- #77 - Unit test timing expectation fix
- #89 - Fix to use DecimalFormatSymbols in adapter tests
- Updated Google Guava to 24.1-jre
- Updated Java Mail to 1.6.1
- Updated spring-boot-maven-plugin to 1.5.10.RELEASE
- Updated to Gradle wrapper to 4.6
- Updated com.gradle.build-scan to 1.12.1
- Updated to Maven wrapper to 3.5.3
📋 Changes
- #84 - support for Spring injection of Trading Strategies. Thanks to @kuceraf for this. The legacy mechanism for injecting strategies by class name is still supported.
- Updated to Spring Boot 1.5.10.RELEASE
- Updated spring-tx to 4.3.14.RELEASE
- Updated Google Guava to 24.0-jre
- Updated to Gradle 4.5
📋 Changes
- #81 - added basic Ticker support to [`TradingApi`](./bxbot-trading-api/src/main/java/com/gazbert/bxbot/trading/api/TradingApi.java). Thanks to @KrzychuJedi for helping to drive this.
- #77 - fixed some time dependent unit test failures. Thanks to @KosherBacon for spotting these on Windows.
- #30 - Boosted unit test coverage of public and authenticated exchange adapter tests.
- Moved all impl classes out of bxbot-trading-api project - a breaking change if you have written your own Exchange Adapter I'm afraid, but it had to be done. I've moved the impl classes to the bxbot-exchanges project where they belong.
- Deprecated the Huobi Exchange Adapter - due to regulatory requirements from Chinese authorities Huobi ceased trading activity on October 31 2017.
- Updated Spring Boot to 1.5.9.RELEASE
- Updated spring-tx to 4.3.13.RELEASE
- Updated Google Guava to 23.6-jre
- + 6 more
Fix (#73, #74) for all Exchange Adapters to mandate using a '.' (full stop) as the decimal point separator for formatting BigDecimal values. Many locales default to a '.' and you might not be affected by this bug. Other locales, e.g. Czech Republic, default to a ',' (comma). Exchanges always require a '.' Thanks to @kuceraf for fixing this.
Update to GDAX Exchange Adapter. GDAX API no longer returns order id in single order cancel response. https://docs.gdax.com/#cancel-an-order
📋 Changes
- Updated Spring Boot to 1.5.8.RELEASE.
- Updated spring-tx to 4.3.12.RELEASE.
- Updated Google GSON to 2.8.2.
- Updated Gradle to 4.2.1.
- Updated Powermock to 1.7.3.
- Updated EasyMock to 3.5.
- Fixed README section for installing the bot using Gradle.
- Merged more REST API implementation to master - *almost* ready for production.
📋 Changes
- Updated Spring Boot to latest 1.5.6.RELEASE.
- Updated Google Guava to latest 23.0.
- Updated Gradle to latest 4.1.
- Added extra bxbot-xml-datastore unit tests for invalid config.
- Misc README updates.
- Merged more REST API implementation to master - still not ready for production.
📋 Changes
- Renamed `<other-config>` to `<optional-config>` in `exchange.xml` and `strategy.xml` config files.
- Some README restructure and cleanup.
📋 Changes
- Removed BTC-e Exchange Adapter and associated sample config in light of
- Code cleanup/improvements after FindBugs and IntelliJ inspection run - nothing serious, just inefficient code, bad style etc.
- Pulled in latest from REST API branch, but it's still not ready for production.
📋 Changes
- Changed Test Exchange Adapter to use Bitstamp instead of BTC-e in light of recent events: https://www.coindesk.com/110-million-btc-e-fined-us-vows-crackdown-unregulated-exchanges -
- Disabled BTC-e Integration Tests until exchange comes back up.
- Updated config model in prep for integrating REST API with [BX-bot UI](https://github.com/gazbert/bxbot-ui) - this is a backwards compatibility breaking change, hence the full minor release version bump to 0.7.0.
