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 Stringfirst 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