Skip to content

Changelog

The canonical changelog lives in CHANGELOG.md at the repository root. Highlights below.

[0.3.0] - 2026-07-28

Added

  • Pattern DSL: {min,max} repetition quantifier for elastic pivot gaps.
  • # Positions metrics (distinct closed positions, partial closes merged) alongside # Trades (row-per-close). See Metrics.
  • bt.plot(header_text=, footer_text=) manual chart notes, superimpose= higher-timeframe overlay candles, and derender_on_pan= (plus per-indicator hide_on_pan) to keep pan/zoom fluid on marker-heavy charts.
  • Stats bar: Sharpe/Sortino/Calmar/Profit Factor/SQN always show 2 decimals.

Removed

  • The floating price tag has been removed from the chart; show_price_tag is now a deprecated no-op.

[0.2.5]

Added

  • Zoom-aware candle level-of-detail (LOD): large backtests (6000+ candles) draw a bucket-aggregated, extremes-preserving view that refines as you zoom in, so big charts stay light without losing autoscale accuracy.
  • CandlePatterns (statistical candlestick detector with causal efficacy tracking) and ManualMarks (strategy-driven marks/levels).
  • price_source='trade' on TickData.to_klines() / ticks_to_klines().
  • Configurable log-timestamp presentation zone (get_strategy_logger(display_tz=)) and an optional stats_warn= flag on BacktestEngine.run().

Changed

  • tradetropy.io split into focused internal submodules (public API unchanged).
  • bt.plot() defaults to the WebGL backend; show_price_tag now defaults to False.

[0.2.4]

Changed

  • Regenerated the badge logo at higher resolution: a larger icon and more right-side padding on the pill so the "Tradetropy" wordmark no longer crowds the rounded edge (reproducible via tools/gen_logo.py).
  • Plotting: large tick-backtest equity/drawdown curves are min/max decimated for drawing and overlay indicators join the price-panel autoscale for smoother pan/zoom; also fixes an ImportError in bt.plot().

[0.2.3]

Added

  • Interactive documentation demo embedded on the docs landing page and the Examples page, generated from a single canonical snippet (source, stats and chart can never drift from each other).
  • README static chart preview linking to the live interactive chart.
  • Backtesting.py-style P&L panel (sized circle markers, entry-to-exit segment, signed size in the hover tooltip), consistent between backtest and live.
  • New badge-style logo; README badges (Python versions, downloads, license, CI status) and docs landing page download buttons.

Fixed

  • bt.plot() Y-axis autoscale on pan/zoom in backtest, live and replay.

[0.2.2]

Added

  • Horizontal wordmark logo used in the README.

Fixed

  • README logo uses an absolute URL so it renders on PyPI as well as GitHub.

[0.2.1]

Added

  • tradetropy.__version__, resolved via importlib.metadata.

[0.2.0]

Added

  • Bundled sample datasets (tradetropy.datasets) with typed loaders for candles, ticks and a paired L2 order book.
  • MkDocs Material documentation site with an autogenerated API reference.
  • Real optional-dependency extras: mt5, ccxt, bybit, parquet, all, docs.

Fixed

  • drawdown_episodes no longer crashes on a non-unique equity index (produced by multi-symbol backtests).

[0.1.0]

Initial public release: BacktestEngine (tick and kline), PoolBacktestEngine, LiveEngine (CCXT Pro and MT5), TrainingEngine; the Strategy framework; the core technical-analysis library; Volume Profile and Rolling Volume Profile; Footprint; Large Trades (L1); market-structure indicators; optimization; statistics; static Bokeh plotting; and data IO for CSV, Parquet and HDF5.