Version 2.0.0.0 Released
Date: 22th Jan 2026
Major Release: Complete Frontend Rewrite & Feature Expansion
This is a major release featuring a complete rewrite of the frontend from Flask/Jinja2 templates to a modern React 19 Single Page Application (SPA). This release includes 212 commits representing months of development work, introducing new features like Flow Visual Builder, Historify, and enhanced real-time capabilities.
Highlights
React 19 Frontend - Complete migration of 77 templates to modern React with TypeScript
Flow Visual Builder - Node-based visual workflow builder for trading automation
Historify - Historical market data management with DuckDB storage
Real-Time WebSocket - Native WebSocket integration for live market data
Sandbox Mode - Enhanced sandbox testing environment with sandbox capital
API Playground - Bruno-style API testing with WebSocket support
Python Strategies - Enhanced scheduler with real-time status and resource limits
Telegram Bot - Fixed callbacks and improved status display
Enhanced Security - Multiple security improvements and vulnerability fixes
New Features
React 19 Frontend Migration (77 Templates)
Phase 1 - Foundation
Initialized React frontend with Vite, TypeScript, TanStack Query
Added Flask blueprint to serve React frontend
Pre-built frontend dist included for community use
Phase 2 - Core Authentication & Trading
Login, Dashboard, Profile pages
Orders, Positions, Holdings pages
Order placement and management
Phase 3 - Search & Symbol Management
FNO Discovery with performance optimization
Symbol search and watchlist
Bulk watchlist operations
Phase 4 - Charts, WebSocket & Sandbox
TradingView charts integration
WebSocket Test Console
Sandbox/Analyzer mode interface
Phase 5 - Platform Integrations
TradingView webhook page
GoCharting integration
Amibroker integration
ChartInk integration
Phase 6 - Strategy & Automation
Python Strategies management
Strategy scheduler with SSE
Strategy logs viewer
Phase 7 - Monitoring & Administration
Logs, Latency Monitor, Traffic Logs
Profile & Security settings
Action Center for order approval
Admin & Telegram modules
Frontend Tech Stack
React 19 with TypeScript
Vite 6 build system with code splitting
TanStack Query v5 for server state
shadcn/ui + Tailwind CSS 4 + DaisyUI
Biome.js (replaced ESLint)
Vitest unit tests + Playwright E2E tests
Responsive mobile bottom navigation
Accessibility testing (jest-axe)
Flow Visual Builder
Node-based visual workflow builder for trading strategies
Order Nodes: Market Order, Limit Order, Smart Order, Basket Order
Options Order Node: ATM/ITM/OTM offset resolution for F&O
Modify Order Node: Live order management within workflows
Cancel Order Node: Cancel single or all orders
Close Position Node: Square off positions
WebSocket Streaming Nodes: Real-time data within workflows
Telegram Alert Node: Send notifications from workflows
Webhook Integration: Trigger flows from external systems
Multi-leg Options Strategy: Execute complex option strategies
Keyboard Shortcuts: Efficient workflow creation
Service integration for order execution
Historify - Historical Data Management
DuckDB-powered storage for historical market data
Multi-timeframe support: 1m, 5m, 15m, 30m, 1h, Daily
Computed timeframes: Weekly (W), Monthly (MO), Quarterly (Q), Yearly (Y)
Aggregation from daily data for higher timeframes
Bulk export with inline symbol selection
Multi-timeframe export in single operation
Parquet import support for external data sources
TradingView-style charts with IST timezone
Styled crosshair tooltips with IST timestamps
Job management: Pause, resume, cancel operations
Broker badge display and theme toggle
Date selector improvements with Calendar component
Exchange market open time alignment for candle boundaries
Real-Time WebSocket Integration
Native WebSocket for Holdings and Positions pages
Unified WebSocket proxy server on port 8765
ZeroMQ message bus for high-performance data distribution (port 5555)
Connection pooling: MAX_SYMBOLS_PER_WEBSOCKET (1000) x MAX_WEBSOCKET_CONNECTIONS (3)
MultiQuotes API fallback when WebSocket unavailable
Market timing awareness for automatic data source switching
Real-time P&L calculation using live LTP data
WebSocket templates in Playground with Bruno-style collections
Multi-client subscribe/unsubscribe support
Callback-based data retrieval for Flow nodes
Pong message display for manual ping testing
Sandbox Mode (Sandbox Testing)
Isolated sandbox trading with Rs. 1 Crore sandbox capital
Realistic margin system with leverage
Auto square-off at exchange timings for F&O contracts
Complete isolation from live trading
Separate database (sandbox.db) for sandbox trades
Real-time P&L using WebSocket data
Session-based position filtering for expired contracts
Expired F&O contract cleanup on app startup
Sandbox logs with date filter and Calendar icons
Wide dialog display (98vw) for better visibility
API Playground
Bruno-style API collection browser
WebSocket testing console with comprehensive controls
CodeMirror JSON editor with syntax highlighting
Theme support matching application theme
Manual ping/pong testing for WebSocket connections
Multiple tabs for endpoints with same path but different names
Nested braces handling in body:json parsing
Source parameter for History API collections
Python Strategies
Enhanced scheduler with mandatory scheduling
Real-time status updates via SSE (Server-Sent Events)
Resource limits to prevent runaway strategies
Python Strategy Guide page with comprehensive help
FAQ for installing libraries (TA-Lib, pandas-ta, etc.)
Log management with configurable retention
Reverse chronological logs with auto-scroll
Schedule box theme with opacity-based dark mode colors
Holiday enforcement for market-aware scheduling
Environment Variables feature removed (security)
Telegram Bot
Fixed /menu callbacks for command navigation
Fixed /status display for current position status
Flow Telegram alert integration using existing send_alert_sync
Admin & Telegram modules migrated to React
Email & SMTP
Fixed SMTP email delivery
Updated email templates
Email icon centering using table-based layout
Action Center
Order approval workflow for managed accounts
Semi-Auto mode for manual approval
Auto mode for direct execution
Complete migration to React interface
Documentation added (Module 42)
Improvements
User Interface
Profile menu with mode controls on all pages
Theme consistency across broker and public pages
Theme sensitivity for dark/light mode switching
Broker badge display across pages
Chart icons in watchlist for smart navigation
Responsive dialogs with optimized widths
Mobile bottom navigation
Accessible icon buttons with aria-labels
Performance
FNO Discovery performance optimization
Historify storage optimization
Code splitting and lazy loading
Bulk watchlist add optimization
Connection pooling for WebSocket
Order Management
P&L % calculation for flat positions using implied investment
Show dash for P&L % on closed positions
Preserved realized P&L for closed positions
Position filtering for session boundaries
Show closed positions that were traded today
Expired F&O contract cleanup on startup
Order field names aligned with OpenAlgo schema
Broker Integrations
AliceBlue holdings symbol field fix
OAuth broker redirect improvements (AJAX vs browser detection)
Broker login migrated to React JSON responses
Updated lot sizes and expiry dates in Bruno collections
Broker credentials GUI for easy configuration
Charts
TradingView-style x-axis labels for daily+ timeframes
IST timezone correction for W/MO/Q/Y timeframes
Dates instead of time for daily+ timeframes
CodeMirror JSON editor on TradingView and GoCharting pages
Security
Fixed critical frontend vulnerabilities
Removed environment variables feature from Python strategies
Added resource limits for strategy execution
Enhanced CSRF protection
Security audit documentation added
Dependency updates for known vulnerabilities
Documentation
User Guide (30 Modules)
What is OpenAlgo, Key Concepts, System Requirements
Installation Guide, First-Time Setup
Broker Connection, Dashboard Overview
Understanding Interface, API Key Management
Order Types, Smart Orders, Basket Orders
Positions & Holdings, Analyzer Mode
Symbol Format Guide
TradingView, Amibroker, ChartInk, GoCharting Integration
Python Strategies, Flow Visual Builder
Action Center, Telegram Bot
PnL Tracker, Latency Monitor, Traffic Logs
Security Settings, Two-Factor Authentication
Troubleshooting, FAQs
Architecture Documentation
Frontend and Backend Architecture
Login and Broker Login Flow (Module 03)
Cache Architecture (Module 04)
Security Architecture (Module 05)
WebSockets Architecture (Module 06)
Sandbox Architecture (Module 07)
REST API Documentation (Module 09)
Flow Architecture (Module 10)
MCP Architecture (Module 41)
Action Center (Module 42)
API Documentation
All REST endpoints documented
OpenAlgo symbol format reference
Manual testing guide
Bruno collections for all APIs
PRD Documents
Sandbox PRD
Python Strategies PRD
Historify PRD
Broker Factory Design
WebSocket Guide
Latency Audit
Other Documentation
Why Build with OpenAlgo guide
Ubuntu Server deployment
Docker deployment guide
Security Policy
Contributor guidelines for /frontend/dist
Infrastructure
Database Architecture (5 Databases)
db/openalgo.db- Main database (users, orders, settings)db/logs.db- Traffic and API logsdb/latency.db- Latency monitoring datadb/sandbox.db- Analyzer/sandbox mode (isolated)db/historify.duckdb- Historical market data (DuckDB)
Server Configuration
React frontend served via Flask blueprint
Pre-built frontend dist for community use
System permissions monitoring for db directories
Ngrok ERR_NGROK_108 fix in debug mode
Prevented duplicate startup messages
Password reset fixed for React migration
Startup log noise reduced (DEBUG level)
Docker
Updated .dockerignore for React frontend
Added db directory to permission commands
Frontend documentation included
Dependencies
Python
DuckDB 1.4.3
PyArrow 22.0.0
FastParquet 2025.12.0
simple-websocket 1.1.0
Python 3.12+ required
Frontend
React 19
TypeScript 5.6
Vite 6
TanStack Query v5
shadcn/ui components
Tailwind CSS 4 + DaisyUI
Biome.js
Vitest + Playwright
CodeMirror 6
Socket.IO Client
Breaking Changes
Frontend routes served from React SPA
Old Jinja2 templates removed completely
Static folder cleaned up (React has all assets)
API responses updated for React JSON format
Broker login returns JSON instead of HTML redirects
Environment variables feature removed from Python strategies
Migration Guide
For users upgrading from v1.0.0.41:
Backup your data
Export databases before upgrading
Backup .env configuration
Update environment
Python 3.12+ required
Node.js 20+ for frontend development
Install dependencies
Database migration
Existing databases are compatible
New sandbox.db created automatically
New historify.duckdb created automatically
Clear browser cache
React frontend requires fresh load
Clear all cookies and cache for the domain
Review breaking changes
Update any custom integrations using old template routes
Update broker login handling if using custom flows
Contributors
Special thanks to all contributors who made this release possible:
@Kalaiviswa - Flow Visual Builder, React migration
@akhandhediya - WebSocket Playground
Community contributors and testers (Deepanshu and Roch Ronaldo)
Previous Releases
[1.0.0.41] and earlier
See GitHub Releases for previous version history.
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