diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a87ff0bc..ac67ae6d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 *It is strongly advised to perform an update of your tentacles after updating OctoBot. (start.py tentacles --install --all)* +## [2.0.15] - 2025-12-08 +### Breaking pip installation change +To install the full OctoBot (equivalent to previous versions), OctoBot needs to be installed with the [full] parameter: `pip install octobot[full]` +### Added +- [TradingModes] add cancel policies +- [DSL] add DSL and base keywords tentacles +### Updated +- Light installation: OctoBot can now be used with minimal dependencies when started with the USE_MINIMAL_LIBS=true environment variable +- Full installation: to use the full OctoBot (with user interface, etc), install octobot[full] +- [Exchanges] update to ccxt 4.5.22 +- [Hyperliquid] fix markets fetch and use uniform tickers +- Typing: add typing to most OctoBot-Trading objects +- [TradingView] deprecate email alerts +### Fixed +- [RaspberryPi]: Fix "Illegal instruction" crash +- [Exchanges] fix proxy error during markets loading +- [StaggeredOrders] fix rare orders error + ## [2.0.14] - 2025-10-29 ### Fixed - Made pyarrow dependency optionnal to prevent a rare .dll import error diff --git a/README.md b/README.md index a493d5655..d9241c26f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# OctoBot [2.0.14](https://github.com/Drakkar-Software/OctoBot/blob/master/CHANGELOG.md) +# OctoBot [2.0.15](https://github.com/Drakkar-Software/OctoBot/blob/master/CHANGELOG.md) [![PyPI](https://img.shields.io/pypi/v/OctoBot.svg?logo=pypi)](https://pypi.org/project/OctoBot) [![Downloads](https://pepy.tech/badge/octobot/month)](https://pepy.tech/project/octobot) [![Dockerhub](https://img.shields.io/docker/pulls/drakkarsoftware/octobot.svg?logo=docker)](https://hub.docker.com/r/drakkarsoftware/octobot) diff --git a/full_requirements.txt b/full_requirements.txt index b88967b03..dfe807335 100644 --- a/full_requirements.txt +++ b/full_requirements.txt @@ -1,6 +1,6 @@ # Drakkar-Software full requirements OctoBot-Commons[full]==1.9.91 -OctoBot-Trading[full]==2.4.235 +OctoBot-Trading[full]==2.4.236 OctoBot-Evaluators[full]==1.9.9 OctoBot-Tentacles-Manager[full]==2.9.19 OctoBot-Services[full]==1.6.30 diff --git a/octobot/__init__.py b/octobot/__init__.py index c5fe7f6d2..35476a029 100644 --- a/octobot/__init__.py +++ b/octobot/__init__.py @@ -16,5 +16,5 @@ PROJECT_NAME = "OctoBot" AUTHOR = "Drakkar-Software" -VERSION = "2.0.14" # major.minor.revision +VERSION = "2.0.15" # major.minor.revision LONG_VERSION = f"{VERSION}" diff --git a/octobot/logger.py b/octobot/logger.py index 7e34fe692..a30f578f7 100644 --- a/octobot/logger.py +++ b/octobot/logger.py @@ -34,6 +34,7 @@ import octobot_trading.exchange_channel as exchanges_channel import octobot_trading.enums as trading_enums import octobot_trading.api as trading_api +import octobot_trading.personal_data as personal_data import octobot.constants as constants import octobot.configuration_manager as configuration_manager @@ -294,6 +295,14 @@ def _filter_balance(balance: dict): } removed_count = len(balance) - len(filtered_balance) return trading_api.parse_decimal_portfolio(filtered_balance, False), removed_count + elif isinstance(first_value, personal_data.Asset): + filtered_balance = { + key: values + for key, values in balance.items() + if values.total + } + removed_count = len(balance) - len(filtered_balance) + return filtered_balance, removed_count return balance, 0 diff --git a/requirements.txt b/requirements.txt index 2d2d32e94..493ca96b2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ # Drakkar-Software requirements OctoBot-Commons==1.9.91 -OctoBot-Trading==2.4.235 +OctoBot-Trading==2.4.236 OctoBot-Evaluators==1.9.9 OctoBot-Tentacles-Manager==2.9.19 OctoBot-Services==1.6.30