Version 2.0.0.1 Released
Date: 24th Feb 2026
Maintenance Release: Option Chain Analytics, Nubra Broker Integration, WebSocket Stability & Infrastructure Hardening
This is a maintenance release featuring 314 commits (excluding auto-builds) from 16 contributors, focused on new analytical tools (Option Greeks, GEX Dashboard, Volatility Surface), full Nubra broker integration, comprehensive WebSocket stability fixes across all brokers, NSE/BSE index symbol normalization, Docker infrastructure improvements, and CI/CD pipeline establishment.
Highlights
- Option Chain & Analytics Suite - Option Chain page with PlaceOrder dialog, Option Greeks (IV/Delta/Theta/Vega/Gamma), GEX Dashboard, IV Smile, OI Profile, 3D Volatility Surface, ATM Straddle Chart, OI Tracker, Max Pain
- Nubra Broker Integration - Complete broker integration including orders, positions, holdings, funds, historical data, WebSocket streaming, and master contracts
- WebSocket Stability Overhaul - File descriptor leak fixes, health checks, reconnection logic, and resource cleanup across all broker streaming adapters
- NSE/BSE Index Symbol Normalization - Standardized index symbol mappings across Zerodha, Dhan, Fyers, Angel, Upstox, Shoonya, Flattrade, and Nubra
- System Health Monitor - Real-time health monitoring dashboard with process metrics and chart visualization
- CI/CD Pipeline - Comprehensive CI/CD with Ruff linting, Docker Hub builds, Dependabot, and automated frontend builds
- Docker & Installation - Multi-instance installer, Docker Desktop scripts (Windows/macOS/Linux), automatic migrations, SSL support
- Sandbox Enhancements - Realistic LIMIT/SL order fills, WebSocket auto-upgrade, P&L calculation fixes
- Batched Basket Orders - Concurrent basket order execution for all brokers with eventlet compatibility
New Features
Option Chain & Analytics Tools
- Add Option Chain page with real-time WebSocket LTP/Bid/Ask data
- Add PlaceOrder dialog with Buy/Sell buttons directly from Option Chain
- Add Option Greeks page with IV/Delta/Theta/Vega/Gamma charts and Tools hub
- Add GEX Dashboard, IV Smile, and OI Profile analytical tools
- Add 3D Volatility Surface analytical tool
- Add Dynamic ATM Straddle Chart analytical tool
- Add OI Tracker and Max Pain analytical tools
- Add Option Chain link to main navbar
- REST API fallback for market depth in PlaceOrderDialog
- Round WebSocket LTP/Bid/Ask to tick size in Option Chain
- Display bid/ask quantities in option chain page
System Health Monitor
- Add system health monitoring dashboard with real-time metrics
- Add migration for health metrics process details
- Enhance HealthMonitor with dynamic chart intervals and tab visibility handling
- Display IST time in Health Monitor chart crosshair and axis
Historify Enhancements
- Add scheduler for automated data downloads
- Add symbol validation and bidirectional incremental download
- Add time picker with AM/PM for daily schedules
- Add bulk delete for historical data and watchlist
- Default schedule type to Daily
- Clarify incremental download behavior in scheduler UI
Flow Editor Improvements
- Add Order Status node configuration and executor
- Add price type field to options order node
- Fetch options lot sizes from master contract database
- Cap exponent size in flow math expressions to prevent DoS
- Fix OptionSymbol, Multiquotes, and OpenPosition issues
- Fix Smart Order now supports negative position sizes
- Fix modify order not reading price/quantity fields
- Correct weekday selection in flow editor schedule node
- Correct parameter names for get_option_chain in flow editor
- Resolve handle jittering and add neon glow effects
- Improve node connection UX
WebSocket Enhancements
- Add 50-level depth support with correct symbol format
- Add broker-dependent depth level test pages
- Add bulk subscription support for WebSocket proxy
- Add REST API fallback for shared WebSocket provider
- Add centralized useLiveQuote hook for real-time market data
- Add greeks WebSocket channel for Nubra OI data
- Shared WebSocket provider frontend update
Sandbox Enhancements
- Realistic LIMIT order fill pricing in sandbox execution engine
- Marketable LIMIT orders fill at LTP with retry logic
- Immediate execution for SL/SL-M orders when trigger already met
- Make sandbox engine actively subscribe to WebSocket market data (headless)
- Auto-upgrade from polling to WebSocket when proxy becomes healthy
- Add CSV export functionality to sandbox My P&L page
- Add special session support with custom exchange timings
- Correct P&L calculation for positions to match Zerodha
Basket Orders
- Batched concurrent basket order execution for all brokers with eventlet compatibility
- Batched concurrent basket order execution for Shoonya broker
- Handle Shoonya failed orders and batch execution errors
Toast & Notification System
- Add toast notification control system with category-based filtering
- Add Top Center and Bottom Center toast positions
- Enhance position closing notifications with toast messages
Infrastructure & Docker
- Add comprehensive CI/CD pipeline with Ruff linting and Docker Hub builds
- Add multi-instance custom SSL installer and documentation
- Add Docker run scripts for Windows and macOS/Linux
- Make Docker scripts standalone (download and run)
- Add installation script with broker configuration and XTS validation
- Automate frontend build within Dockerfile
- Robust Docker healthcheck using backend-only endpoint
- Add automatic migrations on container startup
- Add strategies directory mount and log directory mount for Docker Desktop
- Show documentation URL after setup
- Add thread limiting to Docker Hub runner scripts and multi-instance installer
Other Features
- Add FAQ page with accordion-based Q&A sections
- Add carry-forward position PnL tracking in PnL tracker
- Smart master contract download with configurable cutoff time
- Show data subscription alert for Zerodha and Dhan on broker select page
- Enhance database path configuration for instance isolation
- Add backtesting and plotting scripts for RELIANCE 5-Minute data
- Refactor BrokerSelect component to filter and display only enabled brokers
- Accessibility: aria-label and title to icon-only buttons in admin pages
- Accessibility: aria-label to inline edit inputs
Broker-Specific Changes
Nubra (New Broker Integration)
- Full broker integration - Complete implementation from scratch
- Master Contract: Symbol format expiry fixed, common index symbol updated
- Orders: Place market order, limit order, smart order, modify order, cancel order, cancel all orders
- Position Book and Close All Position API
- Orderbook initial commit with SL and SL-M order support
- SL-M fix in orderbook
- Holdings: Average price fixed
- Tradebook and Holdings updated
- Quotes: NSE, NFO, BSE quotes and depth API updated
- Funds: Converted paise to rupees
- Margin Calculator API updated
- Multiquotes updated
- Historical API: Update, chunking method updated, F&O data updated, removed unsupported segments
- WebSocket: Full implementation with rate limit compliance (429 handling + throttling), resource management and thread safety hardening
- Greeks WebSocket channel for OI data
- Normalized NSE and BSE index symbols
- Plugin JSON updated
- Added to all broker lists across install scripts and docs
Zerodha
- File descriptor leak fix in WebSocket adapter
- Comprehensive NSE and BSE index symbol mappings added
- Redundant BSE index mappings removed
- Normalize NSE_INDEX and BSE_INDEX symbols
Dhan
- File descriptor leak fix in streaming module
- Centralize teardown logic in adapter
- Normalize NSE_INDEX and BSE_INDEX symbols to OpenAlgo standard format
- Error handling for inactive dataAPI subscription
- Show live LTP for closed positions
- Enrich positions with LTP from marketfeed API
- Use multiquotes service for position LTP enrichment
- Show symbol details in telegram alert for individual position close
- Add missing expiryCode to intraday and daily chart requests
- Correct WebSocket depth levels — only Dhan supports 20-depth
- Data subscription alert on broker select page
Fyers
- File descriptor leak fix in streaming adapters
- Add auto-reconnect to HSM WebSocket
- Add reconnection and health check to HSM WebSocket
- Normalize NSE_INDEX and BSE_INDEX symbols to OpenAlgo standard format
- Remove BSE prefix fallback for unmapped BSE_INDEX symbols
- Switch MCX and CDS master contracts from CSV to JSON format
- Fix NAN issue in Total P&L (numeric rounding instead of string formatting)
Angel
- File descriptor leak fix and health check for WebSocket
- Normalize NSE_INDEX and BSE_INDEX symbols from name column
- Common Index (NSE & BSE) symbols update
Flattrade
- File descriptor leak fix in streaming adapters
- Address race conditions and thread cleanup issues in streaming
- Comprehensive NSE_INDEX and BSE_INDEX symbol mappings added
Shoonya
- Batched concurrent basket order execution
- Handle failed orders and batch execution errors
- Comprehensive NSE_INDEX symbol mappings added
Upstox
- File descriptor leak prevention in streaming
- NSE_INDEX and BSE_INDEX symbol mappings added
Groww
- File descriptor leak fix in streaming module
- Optimize streaming and master contract download
- Update auth to use checksum-based flow instead of TOTP
Kotak
- Option chain LTP streaming fix — subscribe both depth and LTP streams
AliceBlue
- Prepend date to tradebook Filltime to fix Invalid Date display
Zebu
- Broker data issues fix (2 fixes)
Bug Fixes
WebSocket & Streaming
- Resolve critical file descriptor leaks in websocket_proxy
- Improve resource cleanup and monitoring in websocket_proxy
- Prevent event loop leak when WebSocket thread doesn't terminate
- Fix asyncio.run() error when running with eventlet in production
- Call _resubscribe_all() on PONG-based authentication
- Clear _has_index flag on index channel unsubscribe
- Prevent stale OHLCV quotes for index-only subscriptions
- Clean up quote subscription on unsubscribe and log subscription failures
- Prevent 429 rate limiting by using batch multiquotes instead of individual quote calls
- Resolve WebSocket market data not showing and reduce API polling
- Resolve stale auth cache causing 403 errors in WebSocket proxy
- Clear all caches in WebSocket proxy cache invalidation handler
- Remove noisy debug logging from WebSocket session helper
- Correct WebSocket depth levels — only Dhan supports 20-depth
Frontend & UI
- React #185 infinite loop fix in useOptionChainLive
- Remove usePageVisibility to prevent React error #185 infinite loop
- Option Chain table layout stability
- Option Chain performance and PlaceOrderDialog improvements
- PlaceOrderDialog: remove duplicate toast and symbol display
- PlaceOrder dialog: API endpoint, response handling, REST fallback
- Price field floating point precision issue
- Replace Radix Checkbox with custom visual to prevent infinite loop
- Update day selection UI for better accessibility and interaction
- Correct Latency Monitor link in dashboard Quick Access
- Permission status colors in analyzer mode (Profile page)
- Show real API key in TradingView and GoCharting webhook JSON
- Add error display in Search component for failed API calls
- Add toast category and HTTP status differentiation in Search error handling
- Use correct Holiday property in aria-label to fix TypeScript build
- Remove console.log from frontend
- Fix Console Error: 401 and "Invalid session" error
- Enhance P&L calculations for live price updates in useLivePrice hook
- Preserve greeks OI across orderbook updates
- Fix F&O filter performance by extracting underlying from OpenAlgo symbol format
Orders & Positions
- Count only positions with non-zero quantity as "open"
- Replace ThreadPoolExecutor with sequential processing in optionsmultiorder
- Auto-detect stuck master contract downloads and enable Force Download
- Master contract status API response format for React frontend
- Use correct exchange mapping for index vs stock underlyings
- Telegram alerts on close positions
- Show symbol details in telegram alert for individual position close
- Auto-initialize analyzer funds on order placement to prevent 'Funds not initialized' error
Backend & Server
- Prevent database errors on fresh installation startup
- Clear all auth caches on login to prevent stale token 401 errors
- Initialize Python strategy scheduler at app startup
- Use local time (IST) instead of UTC for flow execution logs
- Increase strategy memory limit from 512MB to 1GB
- Resolve route conflict between Flask and React (health endpoint)
- Handle potential exception when retrieving swap memory metrics
- Remove excessive debug logging in expiry service
- Implement rate limiting for broker history API requests
- Add rate limiting to straddle history calls (3 req/sec)
- Fix FAQ route to serve React app instead of missing Jinja2 template
- Python strategy editor keyboard save (Ctrl+S) losing recent edits
Docker & Installation
- Prevent RLIMIT_NPROC exhaustion in Docker and native installs
- Increase RLIMIT_NPROC from 64 to 256 for multi-container deployments
- Add LLVMLITE_TMPDIR to avoid noexec /tmp issues
- Auto-configure LLVMLITE/NUMBA paths for hardened Linux servers
- Resolve Gunicorn worker temp file error
- Add dynamic shm_size based on system RAM (Windows and Linux)
- Add tmp directory for master contract downloads
- Increase proxy buffer size (nginx) for large auth headers
- Preserve .env during updates to prevent password invalidation
- Preserve custom CORS and CSP domains during updates and in install-docker.sh
- Use comma-separated CORS origins as expected by Flask-CORS
- Fix Windows batch script infinite loop and curl alias
- Fix REDIRECT_URL broker placeholder replacement
- Replace fragile sed CSP_CONNECT_SRC logic with delete-and-append in Docker install scripts
- Add thread limiting env vars to multi-instance installer
- Add Docker support for numba/scipy dependencies in trading strategies
- Add numba/scipy support to production and remaining installation scripts
- Increase Gunicorn timeout for master contract database initialization and processing
- Increase systemd timeout and gunicorn worker timeout
- Proper TypeScript configuration for production and test environments
- Skip docker-build for fork PRs
- Use git add -f for ignored frontend/dist in CI
Security
- Upgrade Pillow to 12.1.1 (CVE security fix)
- Upgrade pip to 26.0.1 in uv.lock (CVE-2026-1703)
- Upgrade cryptography to 46.0.5 for ECDSA/ECDH subgroup validation vulnerability
- Upgrade axios to 1.13.5 (DoS via proto) and bump cffi to 2.0.0
- Upgrade protobuf to 6.33.5
- Override lodash-es to 4.17.23 for security patch
- Cap exponent size in flow math expressions to prevent DoS
- pyproject security fix
Performance
- Implement useMarketData options and prevent WebSocket zombie connections
- Reduce WebSocket execution engine startup log noise
- Reduce Python strategy startup log noise
- Change logging level from info to debug for various components
- Remove unnecessary logging for market holiday checks
- Increase httpx connection pool and Gunicorn workers (reverted to 1 worker for memory)
- Searchable underlying selector, filter test symbols, reduce log noise
Refactoring & Code Quality
- Remove Jinja2 frontend assets and legacy files
- Remove dead Jinja2 routes migrated to React
- Rename Flow Workflows to Flow Editor
- Apply Ruff formatting to Python codebase
- Stop tracking frontend/dist (CI/CD builds it)
- Replace logger.error with logger.exception in except blocks
- Add type hints to helper functions in restx_api/ticker.py
- Refine type hints for validate_and_adjust_date_range
- Remove algomirror folder
- Remove .claude/settings.local.json from tracking
Documentation
- Comprehensive new broker integration guide with WebSocket proxy registration
- Comprehensive cache architecture audit (28+ caches)
- Update design docs and PRDs to reflect codebase changes since Jan 2026
- Broker API compatibility audit report
- WebSocket depth level compatibility added to broker audit
- WebSocket frontend management audit and integration guidelines
- Strategy Risk Management & Position Tracking PRD
- CI/CD and security audit report
- Docker resource configuration for Python strategies
- Docker Hub README
- Multi-instance Docker guide and update mode documentation
- Desktop Docker installation instructions
- Add Plotly as an interactive charting library for options analytics
- NSE_INDEX and BSE_INDEX symbol normalization test script
- Update CLAUDE.md for frontend/dist CI/CD changes
- Update install scripts with informative build messages
Dependencies
Python
- Bump the python-minor group with 69 updates
- pytest 8.4.2 → 9.0.2
- Pillow → 12.1.1
- cryptography → 46.0.5
- axios → 1.13.5
- cffi → 2.0.0
- protobuf → 6.33.5
- pip → 26.0.1
- lodash-es → 4.17.23 (override)
- numpy pinned to >=2.0,<2.4 (numba compatibility)
- logistro → 2.0.1
- Docker: gunicorn eventlet version update
Frontend
- jsdom 24.1.3 → 27.4.0
- Frontend deps group bump
- npm-root group with 3 updates
CI/CD Actions
- actions/checkout 4 → 6
- actions/setup-node 4 → 6
- astral-sh/setup-uv 3 → 7
- github/codeql-action 3 → 4
- actions/upload-artifact 4 → 6
Infrastructure
- Comprehensive CI/CD pipeline with Ruff linting, Docker Hub push, frontend auto-build
- Backend-lint configured to pass with pre-existing warnings
- Repair CI after Jinja2 cleanup
- Docker Hub build triggers
- Auto-build frontend dist via GitHub Actions
- Add .claude settings files to .gitignore
Contributors
Special thanks to all contributors who made this release possible:
- @marketcalls (rajandran) - Option Chain, Analytics, Health Monitor, Sandbox, Infrastructure
- @Kalaiviswa (kalaivani) - WebSocket stability, Basket orders, Flow Editor, Index symbol normalization
- @RochRonaldo (roch ronaldo) - Nubra broker integration
- @aravindgandavadi - Docker installation, CORS fixes, TypeScript configs
- @uttamsingh - Python strategy editor fix
- @kiranjv - Zebu broker data fixes
- @jabez4jc - Gunicorn timeout fixes
- @subhaushsingh - Type hints improvements
- @Sadhanandhann - Expiry service and Dhan chart fixes
- @oriolmorros (Oriol Morros Vilaseca) - Accessibility and Search error handling
- @AlexZhonn - Frontend cleanup
- @slegarraga - Accessibility improvements
- @Premparkash - App.py update
- @harshprajapati - Logger refactoring
Previous Releases
[2.0.0.0] - 22nd Jan 2026
See Version 2.0.0.0 Changelog for the major React 19 frontend rewrite release.
Links
- Repository: https://github.com/marketcalls/openalgo
- Documentation: https://docs.openalgo.in
- Discord: https://www.openalgo.in/discord
- YouTube: https://www.youtube.com/@openalgo