Skip to content

v4.0.0

Choose a tag to compare

@Ashif4354 Ashif4354 released this 18 Jan 10:39
· 26 commits to master since this release

Changelog

[v4.0.0] - 2026-01-18

🚀 New Features

Real-time Dashboard

  • Live monitoring dashboard for active storm sessions with:
    • Storm status, active/dead instances, messages sent, duration tracking
    • Real-time message rate (per minute) display
    • Live log feed with color-coded log levels
    • Socket.IO-based real-time updates replacing polling mechanisms
  • Channel Status Modal - View and manage individual channel statuses with ability to kill specific instances
  • View Config Modal - Display storm configuration details
  • System metrics charts - CPU and RAM usage visualization using Recharts library

AI Integration

  • AI-powered message generation - Generate YouTube comments using AI with customizable prompts
  • AI-powered channel name generation - Create channel names via AI assistance
  • Multi-provider support - OpenAI, Anthropic (Claude), Google (Gemini), and custom providers
  • PydanticAI implementation - Structured AI outputs with async generation and type safety
  • Settings management - Configure and save API keys, models, and default providers locally

MCP (Model Context Protocol) Server

  • Full MCP server integration with FastMCP framework
  • MCP tools for storm operations: start, stop, pause, resume, kill instances
  • MCP tools for configuration: get settings, profiles, system metrics, storm context
  • MCP resources for monitoring: channels, logs, system data
  • HTTP transport for external LLM clients to control StreamStorm operations

Settings & Configuration

  • Unified Settings Modal with tabbed interface:
    • API Keys management for AI providers
    • Theme selection (Light/Dark modes)
    • Host configuration
    • General settings
  • Pydantic-based configuration - Type-safe settings with environment variable support
  • Settings API endpoints - RESTful API for managing all configurations

Cookie-Based Login

  • Default login method - More efficient and reliable than browser profiles
  • Login with Google (Recommended):
    • Opens browser window for Google authentication
    • Automatically saves cookies after successful login
    • Cookies used for authentication when starting storms
  • Login with Cookie Files:
    • Upload multiple cookie files (JSON or Netscape format)
    • Only youtube.com cookies are parsed and saved
    • Validates cookies before creating the base profile

Enhanced User Interface

  • Responsive navigation - Mobile-friendly header with drawer navigation
  • Improved light theme - New color palette using indigo accents
  • Instructions link - Easy access to documentation from navbar
  • Enhanced modals - Logs modal, channels status modal, manage profiles modal

Core Engine Improvements

  • Channel URL fetching - Subscribe on channel page using yt-dlp (not video page)
  • Brand account detection - Automatic detection and handling during channel selection
  • Profile directory management - Better tracking of assigned profiles per instance
  • Staggered channel resumption - Prevents simultaneous restarts after pause
  • Centralized storm context - Unified state management across engine and UI

Developer Experience

  • Makefile targets - make deps, make run-dev, make run-api, make pytest
  • Cross-OS build trigger - Repository dispatch workflow for on-demand builds
  • Enhanced logging - Real-time log emission via Socket.IO with improved verbosity control
  • Next.js 16 upgrade - Latest framework features and improvements

🔄 Major Changes & Refactoring

  • Migrated configuration to Pydantic Settings - Environment variable support with STREAMSTORM_ prefix
  • Replaced Langchain with PydanticAI - Async-first AI implementation with structured outputs
  • Centralized logger - Singleton custom_logger instance across all modules
  • Merged EachAccount into SeparateInstance - Simplified instance management
  • Combined lifespan management - Integrated FastAPI and MCP app lifecycles
  • API endpoint consolidation - /engine-status/config, /storm/start_time/storm/context
  • Storm context unification - Server-side tracking of storm data, channels, and status

🛠️ Breaking Changes

  • Configuration now uses Pydantic Settings - Update .env files with STREAMSTORM_ prefixed variables
  • Settings API uses snake_case fields - Client integrations must update field names
  • Socket.IO event renamed - system_infosystem_metrics
  • MCP API structure changed - Resources converted to tools
  • StormData parameter changes - StreamStorm class now accepts single StormData object
  • Next.js 16 - May require code adjustments for compatibility

📦 Dependencies Added

  • pydantic-ai-slim - AI framework with structured outputs
  • fastmcp - MCP server implementation
  • yt-dlp - YouTube metadata extraction
  • recharts (UI) - Charting library for system metrics
  • asyncer - Synchronous wrappers for async operations

🐛 Bug Fixes

  • Fixed instance counter accuracy in dashboard
  • Fixed delay retention after pause/resume
  • Corrected message counter scope for proper concurrency
  • Fixed active/dead instance tracking logic
  • Updated XPath selectors for improved channel creation reliability
  • Brand account handling - Skip OK button for regular accounts

📝 Documentation

  • Updated README with installation instructions, make commands, and environment variables
  • Added CREDITS.md with contributors and tools
  • Enhanced API documentation with operation IDs, summaries, and detailed docstrings
  • Socket.IO events documentation in sockets.md