NeoCharts

Release Notes

What's new in the NeoCharts SDK.

Unreleased

Fixes

  • Create alert button overlapping in alert list

  • Changed green color for put & red color for call in OI

  • Added virtual keyboard for alerts to prevent system keyboard overlap

  • Changed the color for oi profile

  • Removed precision value for strike from tooltip

  • Sending trigger price to the host-app for stop-loss order modification

0.0.34+16 - 2026-08-19

Features

  • Draggable limit-price line, quick buy/sell orders, and a non-modal order pad

  • Add highest/lowest visible-candle callout labels

Fixes

  • Show correct symbol when modifying alerts and stop clobbering a manually typed trigger price on symbol switch

  • Respect order preference when switching symbols in option chain

  • Stop enumFromName call sites from crashing on malformed settings data The enum-decode migration introduced raw as String? casts where the original code did untyped == comparisons that never threw. Narrow with is String first so a corrupted or wrongly-typed persisted value falls back instead of throwing a TypeError.

  • Widen enumFromName to Object? and drop redundant String narrowing at call sites

  • Informative ChartLocator crash messages, mounted guard on color picker, stale comment cleanup

  • Restore OHLCV tooltip's over-app-bar position, fix volume clipping and spacing

0.0.33+15 - 2026-08-17

Fixes

  • Don't crash on unparseable order timestamps in formatTime()

  • Restore original order-marker methods in ChartUIHelper until Task 8 cutover

  • Backfill missed candles into the live chart on app resume

0.0.32+14 - 2026-08-13

Features

  • Implemented alerts

Fixes

  • Use the OCO order's own symbol LTP for SL/TP validation, not the chart's active symbol

0.0.31+13 - 2026-08-12

Features

  • Give vertical grouped bar charts full diverging-value + reference-line parity with horizontal grouped bar charts

Fixes

  • Reset analysis charts and refetch OI on symbol switch, fix OI Change endpoint and session-open window

  • Catch ArgumentError from unrecognized trade event types in orders_bloc stream listener

  • Give OCO order pad a fixed width to stop jitter on live LTP/Chng updates

  • Derive OCO SL/TP validation side from the entry's own leg instead of a stale PositionsBloc lookup

  • Re-read the live position in the SL/TP drag-end handler instead of the stale marker-creation snapshot

  • Remove spurious MCX lot-size double-multiplication in position PnL/MTM

  • Show cursor on the on-screen keyboard-driven text/stepper fields

  • Recompute ATM index for new expiry before scrolling option chain

  • Confirm order cancel from chart tags and distinguish OCO cancel dialog

0.0.30+12 - 2026-08-11

Features

  • Implemented the order preference

  • Implemented analysis screen

Fixes

  • Use total pnl (not unrealized-only) for chart position tag

  • Show selected order's symbol and LTP in OCO order pad

  • Multiply modify-order qty by lot size for commodity symbols only, not remove the conversion entirely

  • Don't plot/extend candles from off-hours ticks

0.0.29+11 - 2026-08-07

Features

  • Make sub-chart indicator panels resizable

  • Add a cross-marker graph type

  • Add the Parabolic SAR indicator

  • Let the scalper open directly on a caller-chosen CE/PE side

  • Add the on-screen keyboard package with QwertyPad and NumPad keyboards

  • Wire QwertyPad into indicator search as a draggable floating keyboard

  • Wire NumPad into the OCO orderpad's price fields

  • Add NumPadFieldScope, with scope-aware readOnly/suppressSystemKeyboard on CustomStepperField and CustomTextField

  • Wire NumPad into indicator settings, position dialogs, and the OCO order pad

  • Wire QwertyPad into the create-template name field

  • Wire QwertyPad into symbol search, with landscape floater and portrait bottom sheet

  • Let CustomStepperField override its background color, fixing the lot field blending into its container in Adjust/GroupAdjust

  • Add a floating NumPad for GroupAdjust and disable custom keypads on web

  • Add chart loading/no-data states with retry, surface swallowed exceptions, and remove stale deriv TODOs

Fixes

  • Pin ChartBloc to its first-resolved storage key across symbol switches

  • While exit the position we are not supposed to allow the user to enter the qty more than the actual available qty

  • Added the spacing between the ltp and change per

  • Added the price field in the orders response and consumed the price when the order status is open

  • Add the error msg when the user enter the qty more than the available qty

  • In the order book for commodity the qty was showing wrong for that added the extension to calculate the commodity qty

  • Added the divider inside the orders and positions under the tab

  • Added the applyCommodityDivisor extension to all applicable commodity quantities

  • Fixed the qty changes issue

  • Stop double-converting commodity qty across order/OCO/exit flows, fix add-qty validation, restore counter-button overflow guard, and OCO warning-dialog touch target

  • Preset range switches load their whole window in one shot instead of shrinking after a top-up

  • Suppress the system keyboard and polish the search QwertyPad

  • Group adjust panel no longer inset from sides, only from bottom

  • CustomStepperField retains the last valid value when cleared and blurred

0.0.28+10 - 2026-08-03

Features

  • Per-indicator settings and multi-instance moving averages

  • Customizable moving averages on a shared settings foundation

  • RSI settings

  • Stochastic settings

  • Allow multiple instances of panel indicators

  • Stochastic RSI indicator

  • Tabbed indicator settings with a shared Style tab

  • Style settings reach the chart and the lists

  • Up/down legend arrows reorder sub-panels

  • Let oscillator style section vary bands and fills

  • Support fractional, negative and annotated indicator counters

  • Add ROC indicator settings

  • Add SMA + Bollinger Bands smoothing type

  • Add CCI indicator settings

  • Shade CCI's Bollinger Bands background fill

  • Add SMMA and VWMA smoothing, allow multiple ROC and CCI

  • Add VWMA indicator, correct VMA and SMMA names

  • Show price scale labels for all indicators by default

  • Add Williams %R indicator settings

  • Add MFI indicator settings

  • Add CMO indicator settings

  • Add DPO indicator settings

  • Add ATR indicator settings

  • Add Standard Deviation and BB Width settings

  • Add ADX and Aroon indicator settings

  • Add AO, Gator, SMI and MACD indicator settings

  • Expose a page-scoped storage key on the chart locator

  • Add settings to the remaining overlay indicators

Fixes

  • Keep indicator columns and panels consistent as settings change

  • Settings dialog layout and controls

  • Derive panel and viewport ids from the indicator's own type

  • Left-align active-indicator rows, add per-instance edit button

  • Match indicator search against both names and loose letters

  • Constrain the indicator settings tooltip width

  • Replace an indicator graph when its plot type changes

  • Rebuild indicator graphs on a settings change instead of restyling

  • Give the scalper right panel its own chart preferences

  • Scope chart preferences per chart instead of per page

  • Show TP handle and allow leg swap when broker lacks OCO support

0.0.27+9 - 2026-07-30

Fixes

  • Use current index symbol as option-chain base, not stale widget.dataProvider

0.0.26+8 - 2026-07-29

Fixes

  • Default OI Profile to full-day interval and pre-select first expiry in settings dialog

  • Wire option-chain tap for scalper order pad symbol tap

0.0.25+7 - 2026-07-29

Features

  • OI profile indicator

  • OI Profile indicator - horizontal/vertical grouped bars, settings dialog, fully API-driven OI/change

  • OI Profile indicator - horizontal/vertical grouped bars, settings dialog, fully API-driven OI/change

  • Switch index symbols, toggle SPOT/FUT, and integrate symbol search

  • Gate Volume indicator off for index symbols

  • Share ChartPreferencesManager instance via chartLocator across blocs

Fixes

  • Open right-panel order pad on scalper left-chart tap The left chart shows the underlying/index, which is untradable (lotSize <= 0), so its graph-area tap silently no-opped. Redirect it to the right panel's tradable CE/PE symbol instead.

0.0.24+6 - 2026-07-17

Fixes

  • Removed exitAnyway button in OCOCancelOnExitDialog

  • Changed the color for close icon

  • Removed the cursor color for the price field and added unfocus when tapped outside the field

  • Changed the field text color when the field is disabled

  • Size OCO dialogs to their content in landscape instead of a fixed width

  • Remove manual position snackbars now duplicated by the trade-event listener

0.0.23+5 - 2026-07-15

Features

  • Add opt-in dialog to pair a standalone SL/TP order with an existing counter-order

  • Confirm cancelling a linked OCO pair before a full position exit

Fixes

  • Format top options volume as whole number with comma separators

  • Make interval button responsive in portrait and realign scalper app bar actions

  • Default option chain to the charted option's own expiry when applicable

  • Hide add/adjust/exit actions and selection checkbox for closed positions

  • Sync standalone TP trigger price and scope OCO conflict check to placed leg type

  • Stop silently merging standalone SL/TP placement into an OCO pair

  • Keep order-line at its dropped price while modifying, revert only if dismissed without confirming

  • Close overlays on Android back press instead of exiting the chart

  • Show snackbar for repeat trade events with identical payload

0.0.22+4 - 2026-07-12

Features

  • Refresh chart data on app resume for scalper and single view

Fixes

  • Top options provider, empty state, and apply symbolInfo precision everywhere

  • Chart ui review points fixed

  • Show no data empty state for orders and positions lists

  • Apply commodity multiplier to MCX position PnL/MTM calculations

  • Make strike tap in option chain reload chart with new symbol

  • Make atmSymbols async so scalper right panel waits for data instead of giving up

  • Color value-axis price labels for contrast, align SL/TP tag drag handle and close button with order tag

  • Keep live price line in sync after session-close ticks and chart swaps

  • Show correct price-axis decimal precision and stop plus-icon overlap with axis label

  • Dismiss stale crosshair overlay when scalper split divider is dragged

0.0.21+3 - 2026-07-08

Features

  • Add scalper entry point and FlutterEngineGroup for native embedding - Add scalperMain() entrypoint in lib/main.dart (runApp ChartPage.scalper) - Switch example Android/iOS apps to FlutterEngineGroup with two pre-warmed engines (chart + scalper) - Update android.md and ios.md to document FlutterEngineGroup setup with registerChannels(messenger) pattern - Add second button/action in example apps for scalper navigation - Regenerate android-integration and ios-integration PNGs to reflect new flow

  • Implemented group adjust positions in chart

Fixes

  • Top options exchange/undID filter guard for empty fields

  • Replace ListTile/RadioListTile with custom rows to fix alignment ListTile and RadioListTile internal padding overrides had no visible effect; bypassing them with InkWell + Row + Expanded gives proper edge-to-edge alignment.

  • Added safearea to avoid overlaping the system bottom navigation bar

0.0.20+2 - 2026-06-28

Features

  • Implemented Top Options

Fixes

  • Chart oco order fixed and added fixed width for textfield

  • Chart changes

  • GTT leg tag bugs, option chain fixes, format and lint cleanup

  • Add missing OrderStatus and OrderType imports in oco_warning_dialog

  • Scalper right panel symbol name missing after option chain selection

0.0.19+1 - 2026-06-18

Fixes

  • Qa bug fixed for oco

0.0.19 - 2026-06-16

Features

  • Implemented OCO order pad in chart

  • Implemented Portrait mode

  • Implemented market clock in chart app bar

  • Scalper multi-chart view

Fixes

  • Option chain header ui issue fixed for portrait mode

0.0.18+1 - 2026-06-04

Fixes

  • Position tag invisible, HA series crash, AnimationController crash

0.0.18 - 2026-05-30

Features

  • Drawing tools

Fixes

  • Add position place order api the qty was passing as lotsize

0.0.17 - 2026-05-27

Fixes

  • Use chart-local navigator in showNxtDialog to resolve ChartLocalization lookup showGeneralDialog defaults to useRootNavigator: true, pushing the dialog onto the host app's root navigator which lacks ChartLocalization.delegate. Fixed by passing useRootNavigator: false so dialogs use the chart's own navigator where the delegate is registered. Also fix stray brace in add_position_screen.dart and indentation in exit_position_body.dart.

0.0.16 - 2026-05-27

Features

  • Chart type selection UI overhaul with persistence

0.0.15 - 2026-05-26

Features

  • Implemented adjust positions feature

  • Add order action and order type

  • Add lot size input

  • Listner changes

  • Ltp changes done and fixed the multiple place order

  • Option chain adjust position

  • Added the localization text

  • Added abs for qty

  • Intial setup done

  • Implemented the exist position feature

  • Renamed the class name CustomCounterButtonV3

  • Added the localization text

  • Created the screen for add position

  • Chart types selection implemented

Fixes

  • Address PR review comments

  • Fixed the ltp update issue in controller

  • PR comments fixed

  • Address PR review comments

  • Auto scroll issue fixed when atm changes in option chain

  • Ltp was not updated in exit position screen for market order

  • Addded abs() for lots

  • Changed the functionality for lot in counter

0.0.14 - 2026-05-07

Features

  • Trade notification implemented

  • Show rejected order reason in red with full tile tap

  • Simplify trade event model and centralise notifications

Fixes

  • Stabilise SL/TP drag on position tag - Replace static keepWhenOffScreen bool with ValueNotifier so the position tag only clings to the graph edge while an SL/TP drag is active, not during normal chart scrolling - Hide the three static widgets (exit, label, inactive handle) via Visibility(maintainSize:true) when the entry is clamped at an edge during drag, preventing x-position jumps and gesture cancellation - Add KeyedSubtree on marker handle widgets so Flutter's element reconciliation is stable when other handles are added/removed - Remove duplicate _positionEdgeScroll (folded into _edgeScroll) - Move trigger order tag close button to appear after the drag handle

  • Reinit orders and positions blocs on option chain symbol switch

0.0.13 - 2026-05-05

Features

  • Order events and lines

  • Order pad implemented

  • Theme setup done

  • Indicators init

  • Indicators setup

  • Theme setup for colors and text

  • UI cleanup

  • Indicators added

  • Overlay tooltip

  • Indicators, vertical scroll and OHLCV tooltip

  • Indicator legends layer added

  • MFI and VWAP added

  • Order line dragging

  • Chart ranges added

  • Market hours and history countback

  • Localization and Streaming setup

  • Overlays, anchor popups, snackbar

  • Segmented_toggle.dart

  • Chart view reset button

  • Positions Bloc

  • Chart Menu created

  • Refactor crossline markers into OrderTag and PositionTag

  • Add SL/TP chart markers with expand/collapse position tags

  • Add all chart intervals with direct loadData callback and fix lint warnings

  • Indicators UI refactor, slide transitions, and 14 new indicators

  • Add 17 new indicators from the indicators engine

  • Add interval button to appbar that opens interval view in menu dialog

  • Add templates asset, delete/noIndicatorsFound l10n, divider theme, BB label

  • Refactor chart menu views, templates, active indicators, and legend layer

  • SL & TP orders

  • Add Make it default button to templates view

  • Persist chart preferences and add apply template action

  • Bump version to 0.0.12+12, place order via bloc, legend and snackbar fixes

  • Open chart from option chain symbol tap Add chartInterfaceForSymbol to MarketDataInterface so host apps can return a ChartInterface for any symbol. Tapping an option chain cell serializes the SymbolInfo to JSON, calls the hook, and if non-null closes the dialog and fires InitChart to reload the chart in-place. Also adds SymbolInfo.toJson() and exposes ChartBloc inside the option chain dialog context.

Fixes

  • Qty and precision fix

  • Live marker fix

  • Indicators streaming fix

  • Chng per precision fix

  • Tooltip label fix

  • Ui issues fix

  • Crash on resolution change fixed

  • Reset viewport on resolution change

  • Order placement qty fix

  • Tooltip position

  • Removed tooltips from indicators

  • Lint error fixed

  • Android padding issue,streaming issue

  • Volume indicator scroll fixed and OHLC color fix

  • Volume precision

  • Changed value axis precision

  • Drawer and popup UI updated

  • Updated market data streaming to list

  • Orderpad bug fix

  • UI fixes and option chain nav updates

  • Option chain streaming fixes

  • Orderpad type switch fix

  • Skip order pad for non-tradable symbols

  • Remove stale lint rules and fix transitive package imports

  • Indicator_legend_layer.dart crash fix

  • Fixed expiry tap outside issue

  • Paint only open orders

  • Position fields updated

  • Position fields parse fix

  • UI and bug fixes

  • Orders/positions list bugs and chart drawer badges

  • Filter orderlines by active symbol and extract indicator callback

  • Correct period mismatches in CCI, CMO, ROC, DPO - CCI: enum period 14 → 20 (industry standard; compute already used 20) - CMO: enum period 14 → 9 (compute already used 9) - ROC: compute hardcoded 9 → indicator.period (12); label now matches calc - DPO: SMA hardcoded 9 → period/2+1 per DPO formula (11 for period=21)

  • Adjust interval button padding

  • Cancel_order_dialog.dart and modify_order_pad.dart UI fixed

  • Cancel_order_dialog.dart UI

  • Update lot label and notifier in real-time while typing qty

  • Close interval/range popup on selection, reset vertical zoom on reset button

  • Use fixed height for legend rows to keep size consistent

  • Reactively rebuild order tag label on qty change

  • Hide indicator legend until chart data is loaded

  • Cancel_order_dialog.dart not closing

  • Indicator_legend_layer.dart button updated

On this page