Pine Script 2025 Year in Review

Fact checked by
Mike Christensen, CFOA
March 11, 2026
Every Pine Script update from 2025 ranked by impact, from footprint requests and dynamic for loops to active inputs and bid/ask variables.

Bottom Line

  • 2025 was Pine Script's most active year with 11 monthly updates adding major features to the v6 platform
  • The biggest additions were footprint requests for volume analysis dynamic for loops and active input parameters
  • Developer experience improved significantly with unlimited scopes 10x longer strings and the new side-panel editor
  • New symbol data variables like syminfo.isin and syminfo.current_contract expanded analysis capabilities

2025 was the most productive year in Pine Script's history. Starting with unlimited scopes and bid/ask variables in February and ending with relaxed line wrapping rules in December, TradingView shipped 11 monthly updates1 that transformed Pine Script v6 from a promising release into a genuinely powerful algorithmic trading language. Add the January 2026 footprint requests feature to the mix and the v6 platform looks radically different from what launched in November 20241.

This review ranks every 2025 update by its impact on the typical Pine Script developer. We grouped updates into four tiers: game-changers that unlock entirely new strategy categories, major improvements that meaningfully expand capabilities, solid additions that fill important gaps, and minor polish that improves day-to-day quality of life. Whether you have been tracking every release or are catching up after a break, this is your complete scorecard for Pine Script's biggest year.

How We Ranked These Updates

We evaluated each update on three criteria. First, how many Pine Script developers does it affect? A feature used by nearly everyone ranks higher than a niche capability. Second, does it enable something that was previously impossible, or does it improve something that already worked? New capabilities rank higher than refinements. Third, what is the practical impact on strategy development and trading automation? Features that change how people build and run strategies rank above visual or syntactic improvements.

With that framework, here is every 2025 Pine Script update ranked from most impactful to least.

Tier 1: Game-Changers

These updates unlocked entirely new categories of strategies and tools that were simply not possible before.

1. Footprint Requests (January 2026)

Technically a January 2026 release1, but it is the culmination of the v6 development cycle and deserves the top spot. The request.footprint() function introduced two new types (footprint and volume_row) and over a dozen built-in functions for accessing volume profile data directly in Pine Script3.

Developers can now retrieve the Point of Control, Value Area High/Low, per-row buy and sell volume, volume delta, and imbalance detection for every bar on the chart3. Before this update, approximating footprint data required request.security_lower_tf() workarounds that were slow, imprecise, and consumed multiple request calls.

This is the largest single feature addition since v6 launched, and it brings institutional-grade volume analysis natively into TradingView. The main limitation is that it requires a Premium or Ultimate plan3. See our footprint requests guide for detailed examples.

2. Dynamic For Loops (March 2025)

The March update1 changed how for loops evaluate their to_num boundary. Previously, the boundary was captured once before the first iteration and could not change during execution. Now it is evaluated dynamically before every iteration, meaning code inside the loop can grow or shrink the iteration count4.

//@version=6
indicator("Dynamic Loop")
int limit = 50
for i = 1 to limit
    if close[i] < ta.sma(close, 200)[i]
        limit := i  // Stop searching at first bar below SMA
        break

This enables adaptive lookback periods, variable-length pattern scanning, and self-adjusting algorithms. It brought for loops into alignment with while and for...in loops, which already had dynamic stopping conditions4. The March update also added box.set_xloc(), completing the drawing API's setter functions1.

3. Active Inputs (July 2025)

The active parameter was added to every input*() function1, letting developers conditionally enable or disable settings based on other input values. When active is false, the input appears grayed out in the Settings panel and cannot be modified3.

//@version=6
indicator("Active Input Demo", overlay = true)
bool showBands = input.bool(true, "Show Bollinger Bands")
float bbMult = input.float(2.0, "BB Multiplier", active = showBands)
int bbLen = input.int(20, "BB Length", active = showBands)

This is a game-changer for anyone publishing scripts or building strategies with many configuration options. Instead of showing every setting at all times, you can create professional, context-aware interfaces where irrelevant options are automatically disabled. July also introduced syminfo.current_contract for continuous futures1, which is essential for scripts that need to identify the front-month contract for order routing3.

Tier 2: Major Improvements

These updates meaningfully expanded Pine Script's capabilities and improved significant workflows.

4. Bid/Ask Variables (February 2025)

February introduced bid and ask built-in variables providing real-time best bid and ask prices on the 1T (one tick) timeframe1. While limited to tick charts, this was data that was completely unavailable in Pine Script before3. Developers can now build spread monitors, liquidity analysis tools, and execution quality trackers.

The spread between bid and ask is a fundamental measure of market liquidity and transaction costs. Being able to analyze it directly in Pine Script opens up market microstructure strategies that were previously exclusive to external platforms.

5. Unlimited Scopes (February 2025)

The same February update removed the 550 local scope limit1 that had constrained Pine Script since its early versions2. Every if, for, while, switch, and function call creates a scope, and complex strategies with elaborate conditional logic would frequently hit this ceiling.

Removing the limit unblocked multi-asset scanners, ensemble strategies, parameter grids, and any architecture requiring deep nesting. Combined with dynamic requests from the v6 launch, unlimited scopes mean Pine Script can now handle genuinely complex algorithmic logic without artificial restructuring.

6. Plot Linestyles (September 2025)

September added a linestyle parameter to plot() with three options: plot.linestyle_solid, plot.linestyle_dashed, and plot.linestyle_dotted1. Before this, all plotted lines were solid and could only be distinguished by color3.

For indicators that overlay multiple reference lines, thresholds, and signals on a single chart, dashed and dotted styles provide a second visual dimension that significantly improves readability. This is particularly important for published indicators where color-blind accessibility matters.

Tier 3: Solid Additions

These features fill real gaps and improve specific workflows, even if they do not affect every developer.

7. String Limit Increase (August 2025)

The maximum string length jumped from 4,096 to 40,960 characters1. This removed a common bottleneck for scripts that build large text outputs, generate detailed tables, or construct complex JSON payloads for webhook alerts. For traders who automate with TradersPost5 or other webhook platforms, longer strings mean richer alert payloads with multi-symbol instructions and detailed position data.

8. Library Constant Exports (June 2025)

June added the ability for libraries to export constant variables using export const syntax1. Before this, libraries could only export functions. Sharing commonly used constants required wrapping them in getter functions, which added overhead and clutter.

//@version=6
library("TradingConstants")
export const float GOLDEN_RATIO = 1.618033988749895
export const int MAX_LOOKBACK = 500

Direct constant exports make shared libraries cleaner and enable configuration packages for common trading parameters, ratio tables, and threshold values.

9. syminfo.isin (November 2025)

November introduced syminfo.isin1, which returns the 12-character International Securities Identification Number for the current symbol3. Unlike ticker symbols that vary between exchanges, ISINs are globally unique. This is valuable for portfolio analysis scripts, cross-listed security detection, and compliance tools that need to match instruments across data sources.

10. timeframe_bars_back Parameter (October 2025)

October added a timeframe_bars_back parameter to time() and time_close()1. Previously, the bars_back parameter offset by bars on the chart's current timeframe. The new parameter offsets on the specified timeframe instead3, simplifying multi-timeframe timestamp calculations that previously required request.security() workarounds.

Tier 4: Quality of Life Polish

These updates improve the daily development experience without fundamentally changing what you can build.

11. Updated Line Wrapping (December 2025)

December relaxed indentation rules for lines wrapped inside parentheses1. Previously, continuation lines could not use indentation that was a multiple of four spaces, which caused unexpected compilation errors for developers who use four-space indentation as their standard. The December update removes this restriction for parenthesized expressions, aligning Pine Script with standard coding conventions.

12. PercentageLTP Box Sizing (April 2025)

April added a "PercentageLTP" style option to ticker.renko(), ticker.pointfigure(), and ticker.kagi()1. Box sizes are calculated as a percentage of the last trading price rather than a fixed absolute value, so the same setting works proportionally across instruments at different price levels3.

13. time_close Improvements (May 2025)

May fixed time_close behavior on non-standard chart types including Renko, line break, Kagi, point and figure, and range charts1. These chart types previously returned na for time_close on realtime bars. After the fix, closing timestamps become available immediately after a bar closes, enabling accurate time-based trade management on alternative chart types.

14. Pine Editor Side Panel (August 2025)

Alongside the string limit increase, August moved the Pine Editor to a side panel layout1, giving developers more vertical space for code editing while keeping the chart visible. A word wrap toggle via Alt+Z (or Option+Z on macOS) was also added. This is a pure workflow improvement, but for developers who spend hours in the editor, the additional screen real estate is welcome.

The Complete 2025 Timeline

Here is a month-by-month summary for quick reference:

  • February 2025: Unlimited local scopes and bid/ask variables on tick charts
  • March 2025: Dynamic for loop boundaries and box.set_xloc() setter
  • April 2025: PercentageLTP box sizing for Renko, point and figure, and Kagi charts
  • May 2025: time_close fixes for non-standard chart types
  • June 2025: Library constant exports with export const syntax
  • July 2025: Active input parameter and syminfo.current_contract
  • August 2025: 10x string length increase and Pine Editor side panel
  • September 2025: Plot linestyle parameter with solid, dashed, and dotted options
  • October 2025: timeframe_bars_back parameter for time() and time_close()
  • November 2025: syminfo.isin variable for global security identification
  • December 2025: Relaxed line wrapping indentation rules inside parentheses
  • January 2026: Footprint requests with request.footprint(), footprint type, and volume_row type

What to Expect in 2026

If 2025 is any indication, TradingView will continue shipping monthly updates that expand Pine Script v6's capabilities. Several areas seem ripe for further development.

The footprint system is new and likely to receive additional functions, particularly for historical aggregation and multi-bar volume profiles. The bid and ask variables are currently limited to tick charts, and extending them to other timeframes would dramatically expand their usefulness. Library improvements could continue with support for exporting more complex types.

On the developer experience side, the Pine Editor has already moved to a side panel, suggesting further IDE-like features could follow. Better autocomplete, inline documentation, and integrated debugging would continue the trajectory that runtime logging started.

Whatever TradingView ships next, the 2025 cycle established that Pine Script v6 is being actively developed with serious features, not just incremental maintenance patches.

Automate Your Updated Strategies

Every update in this list creates new possibilities for trading automation. Footprint data enables volume-based signal generation. Dynamic loops allow adaptive algorithms. Active inputs build more user-friendly strategy configurations. And the expanded string limits make it easier to construct detailed webhook alert messages.

If you are building Pine Script strategies that generate buy and sell signals, TradersPost connects your TradingView alerts directly to supported brokers for automated order execution5. Whether you are running multi-symbol scanners built with dynamic requests, footprint-based strategies, or simple moving average crossovers, TradersPost bridges the gap between your Pine Script signals and live or paper trading accounts across stocks, options, futures, and crypto.

For more on Pine Script v6 features, explore our related guides:

References

1 Pine Script Release Notes
2 Pine Script v5 to v6 Migration Guide
3 Pine Script v6 Language Reference
4 Pine Script User Manual
5 TradersPost - Automated Trading Platform

Ready to automate your trading? Try a free 7-day account:
Try it for free ->