Version 2.0.0.1 Released
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:
@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
Links
Repository: https://github.com/marketcalls/openalgo
Documentation: https://docs.openalgo.in
Discord: https://www.openalgo.in/discord
YouTube: https://www.youtube.com/@openalgo
Last updated