> ## Documentation Index
> Fetch the complete documentation index at: https://takeprofit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Version history and migration guides for Indie programming language. Documents language changes, new features, and deprecations for Indie

# Changelog

All notable changes to the Indie language project.

<Update label="15 Jun '26" description="v5.16.0">
  This release turns your AI assistant into a hands-on co-pilot: through the MCP server it can now build and manage your Indie scripts and your alerts end-to-end, signing in with your TakeProfit account — no extra credentials to set up.

  #### Added

  * **Manage Indie scripts from AI.** New MCP tools let the AI create, read, update, and run your Indie scripts directly — so you can build and edit indicators from a chat instead of switching to the IDE.
  * **Manage alerts from AI.** New MCP tools give the AI full control over alerts — create, read, update, and delete them, turn them on or off, preview before saving, inspect their schema, and review trigger history — all from a conversation.
  * **Richer alert messages.** An alert message can now reference *any* plot of an indicator used in the alert, not just the series directly involved in the condition — so notifications can include more of what the indicator calculates.
  * **Simpler MCP sign-in.** The MCP server now authenticates with your existing TakeProfit platform account — no separate API keys or credentials required.
</Update>

<Update label="07 May '26" description="v5.15.0">
  #### Added

  * Light theme support in the IDE widget.
  * Indicator recovery: if a calculation error occurs, the indicator now recovers gracefully and shows available history with a refresh button, instead of crashing.

  #### Fixed

  * Fixed the save function in the IDE.
</Update>

<Update label="17 Apr '26" description="v5.14.0">
  #### Added

  * `Context.calc_on` now supports requesting data from *lower timeframes* than the current chart. Previously only higher timeframes were supported.
  * New MCP tools for indicator discovery:
    * `TakeProfit_SearchBuiltinsIndicators`: search built-in indicators by name, title, or abbreviation.
    * `TakeProfit_SearchMarketplaceIndicators`: search community indicators in the Marketplace — LLM can now recommend indicators by description.
  * MCP OAuth authentication through TakeProfit platform account.
  * MCP back-to-back endpoint enabling MCP tools to be used from the AI Chat without additional auth setup.
</Update>

<Update label="23 Mar '26" description="v5.13.0">
  #### Added

  * New types of drawing tools: rectangles, circles, triangles, channels
  * Canonical line-style enum for drawing APIs: `indie.line_style`
</Update>

<Update label="02 Mar '26" description="v5.12.0">
  #### Added

  * New tool in MCP for runtime validation of scripts.
</Update>

<Update label="18 Feb '26" description="v5.11.0">
  #### Added

  * Backtesting functionality.
</Update>

<Update label="17 Feb '26" description="v5.10.0">
  #### Added

  * New series-based plotting capability:
    * `@indie.plot.bar_color`: recolors the bars/candles on the chart.
</Update>

<Update label="10 Jan '26" description="v5.10.0">
  #### Added

  * Trading strategies and backtesting functionality:
    * `@indie.strategy` decorator for creating trading strategies with configurable parameters:
      * `initial_capital`
      * `commission`
      * `leverage`
      * `intrabar_order_filter`
      * `market_order_price`
      * `risk_free_rate`
    * `indie.MainStrategyContext` class extending `MainContext` with `trading` property for order management.
    * New package `indie.strategies` for trading and backtesting:
      * Classes:
        * `AmendOrderBuilder`
        * `Commission`
        * `ExitOrder`
        * `Order`
        * `PlaceOrderBuilder`
        * `Position`
        * `Stop`
        * `Trading`
      * Enums:
        * `commission_type`
        * `intrabar_order_filter`
        * `market_order_price`
        * `order_execution_type`
        * `order_side`
        * `order_status`
  * Built-in strategies: ADX Breakout Strategy, Consecutive Up/Down Strategy, InSide Bar Strategy, MACD Strategy, Momentum Strategy, MovingAvg Cross, OutSide Bar Strategy, Price Channel Strategy, Relative Strength Index Strategy.
</Update>

<Update label="22 Dec '25" description="v5.9.0">
  #### Added

  * `@param.color` to pass colors to indicators as input params with customization via UI.

  #### Changed

  * The line color setting has been added to the built-in ZigZag indicator.
</Update>

<Update label="26 Sep '25" description="v5.8.0">
  #### Added

  * Algorithms:
    * `indie.algorithms.Percentile`
    * `indie.algorithms.PivotHighLow`
  * New helper color `color.TRANSPARENT`.
  * Package `sortedcontainers` with class `SortedList`.
  * MCP (Model Context Protocol) server support for Claude integration via the Claude web interface.
</Update>

<Update label="22 Jul '25" description="v5.7.0">
  #### Added

  * Practical guide to common drawing patterns in Indie indicators.
  * New colors: `color.PINK`, `color.ORANGE` and `color.BROWN`.
  * Built-in indicator Linear Regression Channel.
</Update>

<Update label="04 Jul '25" description="v5.6.0">
  #### Added

  * New series-based plotting capability:
    * `@indie.plot.background`: recolors the background of the chart pane.
  * Built-in indicator Trading Sessions.
</Update>

<Update label="24 Jun '25" description="v5.5.0">
  #### Added

  * MCP (Model Context Protocol) server support for Claude Desktop integration.
  * Documentation guide for MCP server installation and configuration.
</Update>

<Update label="10 Jun '25" description="v5.4.0">
  #### Added

  * Non-series drawing objects support:
    * `indie.drawings.LabelAbs`, `indie.drawings.LabelRel`: text labels with absolute and relative positioning.
    * `indie.drawings.LineSegment`: customizable line segments with various styles and endpoints.
    * `indie.drawings.Chart`: class for managing drawing objects with `draw()`, `erase()`, and `clean()` methods.
  * Built-in indicators Pivot Points High/Low, Pivot Points Standard and Zig Zag.
</Update>

<Update label="21 Mar '25" description="v5.3.0">
  #### Added

  * `@indie.plot.marker`: plots circles, crosses and labels (with optional text) above/below candles on the chart.
  * Built-in indicators MA Cross and Parabolic Stop And Reverse.
</Update>

<Update label="13 Mar '25" description="v5.2.0">
  #### Added

  * Built-in indicator Least Squares Moving Average.
  * Algorithms:
    * `indie.algorithms.Macd`
    * `indie.algorithms.Mfi`
    * `indie.algorithms.Sar`
    * `indie.algorithms.SinceTrue`
    * `indie.algorithms.Uo`
  * Package `indie.math` with functions:
    * `cross`
    * `cross_over`
    * `cross_under`
    * `divide`
  * Methods of class `datetime.datetime`:
    * `strptime`
    * `timestamp`

  #### Changed

  * Updated return type of algorithms:
    * `indie.algorithms.SinceHighest`
    * `indie.algorithms.SinceLowest`
</Update>

<Update label="03 Mar '25" description="v5.1.0">
  #### Added

  * Underlining of some errors in the Indie IDE.
</Update>

<Update label="14 Feb '25" description="v5.0.0">
  #### Added

  * Indie language v5 support:
    * `indie.plot` is now a package, not a decorator.
    * Decorators renamed:
      ```java theme={null}
      @indie.fill() -> @indie.plot.fill()
      @indie.plot() -> @indie.plot.line()
      @indie.plot(style=plot_style.STEPS) -> @indie.plot.steps()
      @indie.plot(style=plot_style.HISTOGRAM) -> @indie.plot.histogram()
      @indie.plot(style=plot_style.COLUMNS) -> @indie.plot.columns()
      ```
  * Support of Indie v4 -> v5 migrations in Code Migrator.
  * `display_options` parameter for `@plot.*` decorators.

  #### Removed

  * Indie language v4 support.
  * Deprecated decorator `@param.string`, use `@param.str` instead.
  * Deprecated field `SymbolInfo.marketdata_timezone`, use `SymbolInfo.timezone` instead.
  * Deprecated function `tf`, use `TimeFrame.from_str` instead.
  * Deprecated enum `WeekDay`, use `week_day` instead.
</Update>

<Update label="26 Nov '24" description="v4.5.0">
  #### Added

  * Built-in indicator Correlation Coefficient.
  * Algorithms `indie.algorithms.Corr` and `indie.algorithms.LinReg`.
</Update>

<Update label="18 Nov '24" description="v4.4.0">
  #### Added

  * Introducing `indie.TradingSession` and `indie.schedule.Schedule` classes for trading sessions support.
</Update>

<Update label="08 Nov '24" description="v4.3.0">
  #### Added

  * Support of `indie.Var[T]` container which is like a `indie.MutSeries[T]` but with history depth of 1.
</Update>

<Update label="10 Oct '24" description="v4.2.0">
  #### Added

  * Expanded OOP support: it is now possible to create custom classes with fields and methods, or to add methods to the
    descendants of `indie.Algorithm`, `indie.MainContext`, or `indie.SecContext`.
</Update>

<Update label="16 Sep '24" description="v4.1.0">
  #### Added

  * Generic data types `indie.Series[T]` and `indie.MutSeries[T]`. At the moment `T` can be any of `float`, `int`, `bool`, `str` types.
</Update>

<Update label="27 Aug '24" description="v4.0.0">
  #### Added

  * Indie language v4 support:
    * Classes syntax of algorithms and contexts declaration.
    * `Context.calc_on` call is required to be called only from context's `__init__` body.
  * Support of Indie v3 -> v4 migrations in Code Migrator.

  #### Removed

  * Indie language v3 support.
</Update>

<Update label="30 Jul '24" description="v3.0.0">
  #### Added

  * Indie language v3 support:
    * Package renamed `indie.algorithm` -> `indie.algorithms`.
    * Renamed all algorithms in `indie.algorithm` package to CamelCase, e.g. `std_dev` -> `StdDev`
    * `Algorithm.new()` syntactic sugar method was introduced.
    * Added `self` to every `@func`-decorated function as the first parameter.
    * Renamed decorator `@func` -> `@algorithm`. Introduced base class `indie.Algorithm`.
    * Renamed `def main(ctx)` -> `def Main(self)`. Introduced base class `indie.MainContext`.
    * Syntactic sugar function `mut_series` is replaced with `MutSeriesF.new()`.
    * Classes renamed: `MutSeries` -> `MutSeriesF`, `Series` -> `SeriesF`.
    * Renamed decorator `@ctx_func` -> `@sec_context`. Introduced base class `indie.SecContext`.
    * Renamed the first parameter of a secondary context `ctx` -> `self`.
    * Renamed parameter `ctx_func` -> `sec_context` of the function `Context.calc_on`.
    * Changed signatures of algorithms:
      * `indie.algorithm.since_lowest`, `indie.algorithm.since_highest`
      * `indie.algorithm.lowest`, `indie.algorithm.highest`
      * `indie.algorithm.adx`
      * `indie.algorithm.atr`
      * `indie.algorithm.donchian`
      * `indie.algorithm.ma`
      * `indie.algorithm.mfv`
      * `indie.algorithm.net_volume`
      * `indie.algorithm.supertrend`
      * `indie.algorithm.tr`
      * `indie.algorithm.vwap`
      * `indie.algorithm.vwma`
      * plus all algorithms now return `SeriesF` types instead of `MutSeriesF`.
  * Indie Code Migrator microservice for automatic migration of Indie source code from v2 to v3.

  #### Removed

  * Indie language v2 support.
</Update>

<Update label="29 May '24" description="v2.3.0">
  #### Changed

  * Replaced milliseconds with seconds in `Context.time` series.
</Update>

<Update label="08 May '24" description="v2.2.0">
  #### Added

  * Built-in indicator Volume Weighted Average Price.
</Update>

<Update label="24 Apr '24" description="v2.1.0">
  #### Added

  * `Context.is_last` and `Context.is_realtime`.
  * `in` operator support.
  * `lookahead` param to `Context.calc_on`.
</Update>

<Update label="27 Feb '24" description="v2.0.0">
  #### Added

  * Indie language v2 support:
    * Pass `ctx` object explicitly everywhere in Indie code.

  #### Removed

  * Indie language v1 support.
</Update>

<Update label="30 Nov '23" description="v1.14.0">
  #### Added

  * Popup docstrings and autocompleter in the Indie IDE.
</Update>

<Update label="09 Oct '23" description="v1.13.0">
  #### Added

  * `indie.Optional` type.
</Update>

<Update label="15 Sep '23" description="v1.12.0">
  #### Added

  * Built-in indicators: Accumulation/Distribution, Advance/Decline Ratio (Bars), Average Directional Index, Arnaud Legoux Moving Average, Bull Bear Power, Bollinger Bands Width, Commodity Channel Index, Chande Momentum Oscillator, Choppiness Index, Chop Zone, Chande Kroll Stop, Chaikin Money Flow, Coppock Curve, Connors RSI, Donchian Channels, Directional Movement Index, Detrended Price Oscillator, Elders Force Index, Ease of Movement, Fisher Transform, Hull Moving Average, Keltner Channels, Klinger Oscillator, Know Sure Thing, Moving Average Ribbon, Mass Index, McGinley Dynamic, Median, Net Volume, On Balance Volume, Price Oscillator, Price Volume Trend, Rate Of Change, Relative Vigor Index, Relative Volatility Index, SMI Ergodic Indicator, SMI Ergodic Oscillator, Smoothed Moving Average, Triple EMA, TRIX, True Strength Indicator, Ultimate Oscillator, Volume Oscillator, Vortex Indicator, Williams Percent Range, Woodies CCI.
</Update>

<Update label="08 Sep '23" description="v1.11.0">
  #### Changed

  * Better generics support in Indie.
</Update>

<Update label="29 Aug '23" description="v1.10.0">
  #### Added

  * Built-in indicator Volume Moving Average Weighted.
</Update>

<Update label="23 Aug '23" description="v1.9.0">
  #### Changed

  * Renamed package `take_profit` -> `indie`.
</Update>

<Update label="21 Aug '23" description="v1.8.0">
  #### Added

  * Built-in indicator Chaikin Oscillator.
</Update>

<Update label="03 Aug '23" description="v1.7.0">
  #### Added

  * Better type inferring mechanism in the Indie compiler.
</Update>

<Update label="27 Apr '23" description="v1.6.0">
  #### Changed

  * Significant speed-up of indicator calculation.
</Update>

<Update label="11 Apr '23" description="v1.5.0">
  #### Added

  * Built-in indicators: Stochastic Oscillator, Stochastic RSI.
</Update>

<Update label="06 Apr '23" description="v1.4.0">
  #### Added

  * Built-in indicator Bollinger Bands %B.
</Update>

<Update label="14 Mar '23" description="v1.3.0">
  #### Added

  * Built-in indicator Supertrend.
</Update>

<Update label="03 Mar '23" description="v1.2.0">
  #### Added

  * The first chapters of Indie documentation were published on `https://takeprofit.com/docs/indie/`.
</Update>

<Update label="01 Feb '23" description="v1.1.0">
  #### Added

  * Built-in indicators: Average Day Range, Aroon, Average True Range, Awesome Oscillator, Bollinger Bands, Balance of
    Power, Double EMA, Exponential Moving Average, Envelope, Ichimoku Cloud, Moving Average Convergence Divergence,
    Momentum, Money Flow Index, Relative Strength Index, Simple Moving Average, Williams Alligator, Moving
    Average Weighted.
</Update>

<Update label="24 Jan '23" description="v1.0.0">
  #### Added

  * 'Indicators Code Editor' widget was added to the TakeProfit platform. This can be considered as Indie language v1
    release.
</Update>

<Update label="11 Nov '22" description="v0.3.0">
  #### Changed

  * On this day the name 'Indie' for the new language was invented.
</Update>

<Update label="05 Sep '22" description="v0.2.0">
  #### Added

  * Explicit typing in the language.
</Update>

<Update label="09 Feb '22" description="v0.1.0">
  #### Added

  * Approximate development start of a new *technical analysis*-oriented language for the TakeProfit platform.
</Update>
