Version 2.0.3.0 Released
Date: 29th October 2026
One charting engine for every chart, two new analysis tools and a new broker: every chart in OpenAlgo now draws with openalgo-charts 2.6.9, Sector Rotation and Strike Profile join the tools, and Sahi joins the brokers. This release also stops a sent order from being reported as failed when the broker's reply is lost, fixes sandbox order ids and margin, and carries a round of broker and security fixes.
36 commits since v2.0.2.9, excluding automated frontend build commits and
including this release. The platform version moves from 2.0.2.9 to 2.0.3.0.
The pinned openalgo Python SDK remains 2.0.5. This release adds no database
migration.
Highlights
- Every chart uses one engine (
936a7ef62,f618b6953,3c773e72a,
ab94ce707,0a35b00ac,965628d88,45e8b0d60,66582498d; #2297 to
#2304). The Scalping Terminal, Option Greeks (/ivchart), PnL Tracker,
Straddle Chart, Straddle PnL Simulator, Health Monitor and the chart test
page now draw with the same engine as/trading. They follow the light,
dark and analyzer looks, read times in IST, and keep your zoom when you
switch theme or toggle a series. The scalper charts gain the/trading
legend, a countdown to the candle close, and a hovered candle that stays put
while ticks arrive; the arrow keys and F6/F7 still trade, and the charting
engine is only downloaded when you turn charts on. The separate
lightweight-charts library is removed. - openalgo-charts 2.6.9 (
583852ba4). Volume studies such as On-Balance
Volume and VWAP now work on Renko, range bar, line break and point and
figure charts. A higher-timeframe study no longer shows "Insufficient
confirmed history" when the loaded history starts just after a weekend or a
holiday. OHLC and high-low bars thicken as you zoom in. Existing custom
indicators keep working. - Sector Rotation (
b7cdc028e,3e37288e0,91e35d9fb). A new tool at
/sector-rotationplaces every NSE sector index, or any stocks and indices
you add, on four quadrants (Leading, Weakening, Lagging, Improving) against
a benchmark, with a trail of daily or weekly bars. Prices come from Historify
or from your broker. Positions use weighted averages of relative strength. A
symbol needs 44 daily sessions or 20 weeks of shared history to appear. Four
sector indices that many brokers do not publish (Consumer Durables,
Healthcare, India Defence, Oil & Gas) are off the default map and can be
added from search. Also available asPOST /api/v1/sectorrotation. - Strike Profile (
2b2d73b5c). A new tool at/strikeprofileshows gamma
exposure (GEX) and delta exposure (DEX) in rupees crore for every strike of
up to twenty expiries at once, as a strike by expiry heatmap, with each
expiry's peaks marked, the gamma flip level, and the call and put walls.
Each expiry costs one option chain request. - Sahi broker (
a1adec367, #2320). Sign in with the API key and secret
from Sahi; there is no redirect or TOTP, but the key must be approved once
per trading day in Sahi's API Dashboard. Orders, smart orders, books,
funds, margin, quotes, depth, history and live streaming are supported on
NSE, BSE, NFO and BFO. MCX is listed by Sahi but not yet tradable there, so
it is not loaded. - A sent order is never reported as failed when the reply is lost
(34ce7ca33, #2305; reported in #2067 and #2293). On Windows the
connection to a broker could drop after the broker had accepted an order,
and OpenAlgo reported a plain failure, so a caller that retried placed the
order twice. Place order, smart order, basket order and split order now
answer: "The connection to the broker dropped after the order was sent, so
it may have been placed. Check the order book before placing it again."
Order sends are never repeated automatically; only reads are retried once. - Sandbox order ids and margin (
103df9fbb,0e18e8a7b). Two sandbox
orders on the same day could be given the same order id, which made the
second fail and left its margin blocked with no order behind it. Every order
now gets a unique id in the same format, and the margin is taken in the same
save as the order, so a failed order never reduces your funds. - Broker fixes.
- Angel: modifying an SL or SL-M order now changes its trigger at the broker
(df1073cc2, #2279); before, the modify answered success and the trigger
stayed where it was. Daily candles are dated on their own session, quotes
carry the bid and ask quantities, and non-tradable CDS bond and NCDEX
index rows are dropped from the master (79fe4cf18, #2290). - RMoney: smart exits on F&O positions find the open position again
(dbb608e06, #2292); before, every smart exit was refused with "No
OpenPosition Found" while the position stayed open. - Groww: the live feed no longer falls into an endless reconnect loop, and
reconnects no longer leak threads or memory (979d35cb5, #2312). - Dhan: index charts no longer break on 30 minutes after the close, because
the extra bar Dhan appends to index history after the close is dropped
(2c4f35d84, #2308). Every index symbol now uses the standard OpenAlgo
name, and equity and index rows carry no expiry (ab018044f, #2306). - Fyers: NSE debt, warrant and InvIT series now load into the symbol master
(79fe4cf18, #2290, fixes #2280). - Flattrade: an empty order, trade or position book no longer prints a
warning every five seconds (930bf89d3, #2249).
- Angel: modifying an SL or SL-M order now changes its trigger at the broker
- Credentials kept out of logs (
de03682a9, #2313;b06c14d29; #1853).
Seven XTS brokers and Samco no longer write any part of a session token to
the log, and a test now refuses any new log line that would. - CI and dependency hygiene (
61243a093,24d81412b). The browser tests
run on Ubuntu 24.04, and Dependabot waits seven days before proposing a new
version, while security fixes still arrive at once.
What to check after upgrading
- Fyers sovereign gold bonds are renamed to match Zerodha:
SGBAPR28I
becomesSGBAPR28I-GB, for all 44 bonds. Update any strategy, alert or
watchlist that uses the old name. - Dhan index symbols use the standard names. An NSE or BSE index that was
listed under Dhan's own name (for example "Nifty100 Alpha 30") is now
NIFTY100ALPHA30. Headline indices such as NIFTY and SENSEX are unchanged.
Update anything that used Dhan's raw name. - Index rows in the Dhan and Angel masters are typed
EQ, as Zerodha
types them; theNSE_INDEXorBSE_INDEXexchange is what marks an index.
A script that looked for anINDEXorAMXIDXtype should check the
exchange instead. - A new reply to watch for. An external platform or script that places
orders can now receive the "may have been placed" message above, with HTTP
status 502. Do not retry it automatically: check the order book first. - Install your operating system's certificate update when it is
published (on Ubuntu:sudo apt update && sudo apt upgrade). Broker
live-data feeds use the system certificate store, so the certifi update in
this release does not cover them. - Building the frontend yourself needs a patched Node.js: 22.23.4 or later
on 22, 24.22.1 or later on 24, or 26.12.1 or later. Node 20 is no longer
supported. Installed servers do not need Node.js; the frontend arrives
prebuilt.
Dependencies
openalgo-charts2.6.7 to 2.6.9.lightweight-chartsis removed.- Security updates, no behaviour change expected:
certifi2026.7.22 to
2026.10.19 (GHSA-6q48-6c7w-9gw2, critical),Pillow12.3.0 to 13.0.0 (28
advisories),aiohttp3.14.3 to 3.14.5 (now pinned in the requirements
files),dnspython2.8.0 to 2.9.0,msgpack1.2.2 to 1.2.3,setuptools
83.0.0 to 84.1.0, andfilelockto 4.2.4 through a uv override, since
LiteLLM still caps it below 4. - Optional
analysisgroup:streamlit1.66.1 (the first to accept Pillow
13) andGitPython3.2.1 (GHSA-83vg-56qc-22m7). - Frontend:
zod4.6.7,follow-redirects1.16.1,vite8.1.6 andvitest
4.1.12. The Node.js engines requirement is raised as above. - Not fixed:
braces, used only by the frontend test tools, has no patched
release for GHSA-vfj7-8cjw-p6xm. It never reaches a browser or the server. - The pinned
openalgoPython SDK remains 2.0.5.
Contributors
- @marketcalls - every chart moved to openalgo-charts (#2297 to #2304) and
the 2.6.9 upgrade, Sector Rotation, Strike Profile, sandbox order id and
margin fixes, credential logging follow-up, Flattrade log noise (#2249),
security dependency updates, CI and the release. - @Kalaiviswa - Sahi broker integration (#2320), lost-reply order safety
(#2305), Groww feed reconnects (#2312), Dhan index history and master
(#2306, #2308), Fyers and Angel master, history and quote fixes (#2290),
and Dependabot fixes (#2294, #2315). - @dmchandru (Chandru Dhanasekar) - Angel SL order modify trigger (#2279).
- @SatriaBagusNurhadianto (Chavaaa) - XTS token values kept out of logs
(#2313). - @dvygo (Deshik Narasimha) - RMoney smart exit position lookup (#2292).
Links