> ## 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.

# Changelog

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

All notable changes to the Indie language project.

**07 Oct '26**

v5.19.0

Your data no longer has to be a file. This release connects indicators to live feeds: run a small WebSocket or SSE server, point `sources.DataFeed` at it, and records reach the chart as your server publishes them. Indicators can also draw their own candles next to the chart's, and the MCP server now works with your private scripts and alerts.

#### Added

* **Candles plots.** Indicators can draw independent OHLC candle series with `@plot.candles()` and `plot.Candles`, alongside the chart candles instead of replacing them. See [Data plotting](https://takeprofit.com/docs/indie/Plotting-and-drawing/Data-plotting-lines-columns-etc.md#candles).
* **Live data feeds.** `sources.DataFeed(url, stale_after=...)` streams typed records from your own server into `@data_context` callbacks and `request_series`, next to the CSV path that shipped in v5.18.0. The launch history settings warm the series up from recent records, reconnects after platform-side interruptions are healed from a recent-record buffer on a best-effort basis, and a launch with a date range computes over the window and finishes. See [Live data from a feed](https://takeprofit.com/docs/indie/External-data/Live-data-from-a-feed.md).
* **Colors from hex strings.** `color.hex()` builds a `Color` from a `#RRGGBB` string in either case; wrap it as `color.hex(...)(alpha)` for transparency. See [`color.hex()`](https://takeprofit.com/docs/indie/Library-reference/package-indie-color#func_hex).
* **Second-based timeframes in inputs.** `@param.time_frame` now accepts second-based timeframes.
* **Private scripts and alerts in MCP.** The MCP server now supports your private scripts and alerts. See [Your private scripts](https://takeprofit.com/docs/guide/platform/ai-assistant/Mcp-server-guide.md#your-private-scripts).
* **Codex sign-in.** The MCP setup for Codex now includes a `codex mcp login takeprofit` sign-in step, and Codex is listed among the supported MCP clients. See [Codex CLI integration](https://takeprofit.com/docs/guide/platform/ai-assistant/Mcp-server-guide.md#codex-cli-integration).

#### Fixed

* TPO and volume fixes in the script runner.
* Fixed updating an indicator from the update button on its pill.
* Fixed the **New script** button in the IDE.

#### Changed

* **Erasing a drawing that is not on the chart is now a no-op.** `self.chart.erase()` used to abort the indicator when the drawing had been detached by an intrabar rollback. It now does nothing, as it already did for a drawing that was never drawn or was erased before. Scripts no longer have to track whether a drawing is currently on the chart — see [Common drawing patterns](https://takeprofit.com/docs/indie/Code-examples/common-drawing-patterns.md).

**07 Aug '26**

v5.18.0

This release opens Indie to data it never had access to before — your own CSV feeds — and gives you dictionaries to organise what you collect along the way. You can chart macro figures, on-chain metrics or your own trading journal next to price, and keep per-level statistics, such as how often a price level was touched, in a single pass over the series.

#### Added

* **Dictionary containers.** `dict[K, V]` is now a built-in container type: assign, read, and delete items by key, get the item count with `len()`, and take snapshots of the contents with `keys()` and `values()`. Keys can be `str`, `int`, `bool`, or finite `float`, and containers can be nested — a dictionary value may hold another dictionary, a list, an `Optional`, or a tuple pair.
* **External data sources.** Use your own data in indicators: point `sources.Csv` at a public HTTPS CSV file and read it as candles with `@sec_context`, as typed rows with `@data_context`, or directly with `request_series`. Indicators that use external data cannot be published to the Marketplace. See [External data](https://takeprofit.com/docs/indie/External-data/External-data-overview.md).

**27 Jul '26**

v5.17.0

Tables turn an indicator into a readable summary: put session statistics, signal counts or risk numbers straight on the chart, instead of asking the reader to hover over a line to find them.

#### Added

* **Table drawings.** Build tables on charts with `Table`, `TableRow`, and `TableCell` from `indie.drawings`.

**15 Jun '26**

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.

**07 May '26**

v5.15.0

A calculation error in one indicator no longer takes the chart down with it — the indicator keeps the history it already has and offers you a refresh.

#### 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.

**17 Apr '26**

v5.14.0

Signals can now be calculated on a faster timeframe than the one you are watching: the logic runs on the minute chart while you keep the hourly view. And your AI assistant can search both the built-in library and the Marketplace, so it can point you at an existing indicator instead of writing one from scratch.

#### 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.

**23 Mar '26**

v5.13.0

Indicators can now draw the shapes analysts draw by hand — rectangles for zones, channels for trends — programmatically, on every bar that matches your rule.

#### Added

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

**02 Mar '26**

v5.12.0

The AI can now run a script against the real runtime before you paste it into the IDE, so the code it hands you is code that actually works.

#### Added

* New tool in MCP for runtime validation of scripts.

**18 Feb '26**

v5.11.0

Strategies can now be measured instead of argued about: run one over history and read the equity curve, the drawdown and the full trade log.

#### Added

* Backtesting functionality.

**17 Feb '26**

v5.10.0

An indicator can now recolour the candles themselves — highlight volume spikes, trend shifts or your own pattern directly on the price bars, without adding a separate pane.

#### Added

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

**10 Jan '26**

v5.10.0

This release makes Indie a strategy language, not only an indicator one: a script can place orders, manage a position and be tested on history with your own capital, commission and leverage settings.

#### 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.

**22 Dec '25**

v5.9.0

People using your indicator can now pick its colours in the settings panel, without touching the code.

#### 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.

**26 Sep '25**

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.

**22 Jul '25**

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.

**04 Jul '25**

v5.6.0

#### Added

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

**24 Jun '25**

v5.5.0

#### Added

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

**10 Jun '25**

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.

**21 Mar '25**

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.

**13 Mar '25**

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`

**03 Mar '25**

v5.1.0

#### Added

* Underlining of some errors in the Indie IDE.

**14 Feb '25**

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.

**26 Nov '24**

v4.5.0

#### Added

* Built-in indicator Correlation Coefficient.
* Algorithms `indie.algorithms.Corr` and `indie.algorithms.LinReg`.

**18 Nov '24**

v4.4.0

#### Added

* Introducing `indie.TradingSession` and `indie.schedule.Schedule` classes for trading sessions support.

**08 Nov '24**

v4.3.0

#### Added

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

**10 Oct '24**

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`.

**16 Sep '24**

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.

**27 Aug '24**

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.

**30 Jul '24**

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.

**29 May '24**

v2.3.0

#### Changed

* Replaced milliseconds with seconds in `Context.time` series.

**08 May '24**

v2.2.0

#### Added

* Built-in indicator Volume Weighted Average Price.

**24 Apr '24**

v2.1.0

#### Added

* `Context.is_last` and `Context.is_realtime`.
* `in` operator support.
* `lookahead` param to `Context.calc_on`.

**27 Feb '24**

v2.0.0

#### Added

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

#### Removed

* Indie language v1 support.

**30 Nov '23**

v1.14.0

#### Added

* Popup docstrings and autocompleter in the Indie IDE.

**09 Oct '23**

v1.13.0

#### Added

* `indie.Optional` type.

**15 Sep '23**

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.

**08 Sep '23**

v1.11.0

#### Changed

* Better generics support in Indie.

**29 Aug '23**

v1.10.0

#### Added

* Built-in indicator Volume Moving Average Weighted.

**23 Aug '23**

v1.9.0

#### Changed

* Renamed package `take_profit` -> `indie`.

**21 Aug '23**

v1.8.0

#### Added

* Built-in indicator Chaikin Oscillator.

**03 Aug '23**

v1.7.0

#### Added

* Better type inferring mechanism in the Indie compiler.

**27 Apr '23**

v1.6.0

#### Changed

* Significant speed-up of indicator calculation.

**11 Apr '23**

v1.5.0

#### Added

* Built-in indicators: Stochastic Oscillator, Stochastic RSI.

**06 Apr '23**

v1.4.0

#### Added

* Built-in indicator Bollinger Bands %B.

**14 Mar '23**

v1.3.0

#### Added

* Built-in indicator Supertrend.

**03 Mar '23**

v1.2.0

#### Added

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

**01 Feb '23**

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.

**24 Jan '23**

v1.0.0

#### Added

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

**11 Nov '22**

v0.3.0

#### Changed

* On this day the name 'Indie' for the new language was invented.

**05 Sep '22**

v0.2.0

#### Added

* Explicit typing in the language.

**09 Feb '22**

v0.1.0

#### Added

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.