Major: Full Port from Python to Node.js
The entire backend and all built-in nodes have been rewritten in TypeScript/Node.js. The Python server is gone — NodeTool now runs natively on Node.js with Fastify. Python nodes
(HuggingFace, MLX, etc.) are still supported via a stdio bridge that launches only when needed.
- Fastify HTTP + WebSocket server replacing the Python backend
- All built-in nodes rewritten in TypeScript — text, image, audio, video, LLM, agents, and more
- Drizzle ORM replacing the custom Python ORM
- Supabase authentication middleware
- esbuild hybrid bundler for Electron backend packaging
- Parallelized server startup — Python bridge only loaded when needed
New Features
Mobile
- Bottom sheet side panels replacing slide-overs
- Chain graph editor — Zapier-style workflow builder on mobile
- Improved UX across editor, chat, and asset browser
Agent System
- Parallel multi-task execution in agent planning
- Multi-agent team system with TeamLead + Agent architecture
- Graph-native agent planner that builds workflow DAGs directly
- Claude Code-style tools (Edit, Glob, Grep) for agents
- Agent mode selector in chat composer
- Multi-provider agent SDK with shared MCP tool server
- Claude Agent Provider for Claude subscription-based access
Nodes & Workflows
- Chain editor with search highlights, tab switching, and preview
- HTTP nodes: GetText, GetJSON, GetBytes, Post, Put, Patch, Delete
- Tier 2 nodes: Twilio, Notion, S3, GraphQL, NLP
- Gmail IMAP nodes
- Code node: auto-infer inputs/outputs, snippets library, streaming, binary output
- ConvertToMarkdown: accepts PDF, DOCX, bytes
- OpenAI Realtime rewritten for WebSocket API
- Model3D transform nodes with GLB processing
- List outputs on all streaming collection nodes
- ComfyUI integration: backend proxy, RunPod serverless support
- DSL workflow runner: nodetool run workflow.ts
- Workflow export as TypeScript DSL
Editor & UI
- Portal — minimal conversational home replacing the dashboard
- Output handle + button for quick node connections
- Result panel: floats above node, auto-show, preview strip, history
- Inspector: collapsible description, better density
- Node visuals: value-changed indicator, hover outline, connection glow
- Default model preferences — auto-applied on node creation
- Node test page at /node-test
- Trackpad pan and pinch zoom on macOS
- Execution tree UI in chat
- Alpha checkerboard for transparent image previews
Settings & Package Manager
- Settings consolidated from 6 tabs to 3 (General, API & Keys, About)
- Runtime install button directly on nodes
- Runtimes tab and uninstall support in Package Manager
CLI
- Interactive chat with provider/model autocomplete
- Agent mode with planning and parallel execution
Desktop
- Electron 35 / Node.js 22
- Dev mode via tsx — no build step
- Auto-discover TLS certificates
- Windows unpacked archive support
Improvements
- Replaced lodash, axios, luxon with date-fns and native fetch
- Replaced soundtouchjs with rubberband WASM
- Consolidated vector storage on sqlite-vec (removed faiss-node)
- Replaced pdfjs-dist with pandoc for document conversion
- 90+ UI primitives replacing raw MUI components
- Performance: memoized components, O(N) store operations, memory leak fixes
- Accessibility: ARIA labels, keyboard navigation, screen reader support
- 500+ new tests
Bug Fixes
- Graph-mode agent dropping inputs and not recording results
- Notion page creation hardcoding title property
- Twilio Lookup missing Fields param, S3 CopySource encoding
- SliceImageGrid extra tiles for non-divisible dimensions
- ExtractAudio, SaveVideo, SaveVideoAs empty output
- FrameToVideo not producing playable video
- Cross-workflow paste, realtime audio transcription
- Workspace file tree navigation
- Duplicate output display
- Supabase OAuth redirect, Cloudflare Pages deployment