Skip to content

v2.4.0

Choose a tag to compare

@williamzujkowski williamzujkowski released this 25 Jan 19:55
· 99 commits to main since this release
9fb0128

What's New in v2.4.0

New Features

Multi-Session Browser Support (#75)

  • SessionManager for concurrent Strudel sessions with browser context isolation
  • Max 5 concurrent sessions with 30-minute auto-cleanup timeout
  • New MCP tools: create_session, destroy_session, list_sessions, switch_session
  • Optional session_id parameter on existing tools for session targeting

MIDI Export (#74)

  • MIDIExportService for exporting Strudel patterns to standard MIDI files
  • export_midi tool with note name to MIDI number conversion
  • Chord expansion support (major, minor, 7th, maj7, m7, dim, aug, etc.)

Audio Capture (#71, #72)

  • AudioCaptureService with MediaRecorder integration
  • New MCP tools: start_audio_capture, stop_audio_capture, capture_audio_sample

AI-Powered Pattern Feedback (#67, #73, #76)

  • GeminiService for AI-powered music analysis via Google Gemini
  • get_pattern_feedback MCP tool with Gemini integration
  • get_feedback option added to compose workflow
  • Application Default Credentials (ADC) support for Google Cloud auth
  • Gemini CLI credential auto-detection from config files

Creative Tools

  • refine - Iteratively improve patterns with specific instructions
  • set_energy - Adjust pattern energy level (0-100)
  • jam_with - Collaborate with AI to evolve patterns
  • shift_mood - Transform pattern emotional character

New Music Genres (#52)

  • intelligent_dnb - Intelligent drum and bass patterns
  • trip_hop - Trip hop style patterns (Portishead, Massive Attack style)
  • boom_bap - Classic boom bap hip hop patterns (DJ Premier style)

Fixed

  • Gemini CLI credential paths now check correct locations
  • PerformanceMonitor falsy check bugs
  • CodeMirror timing race condition (#54)
  • StrudelController now uses window.strudelMirror API (strudel.cc compatibility fix)

Security

  • Removed executeInStrudelContext() - eliminated Function constructor injection vulnerability (#56)

Documentation

  • Updated all tool counts from 52 to 66
  • Updated test counts from 704 to 1521
  • Updated coverage from 69% to 78%
  • Fixed file structure documentation to match actual codebase
  • Updated CodeMirror API references to use strudelMirror

Tests

  • StrudelController coverage improved to 81.67% (#70)
  • Comprehensive PatternValidator tests (#69)
  • AudioAnalyzer algorithm validation tests
  • ErrorRecovery comprehensive test suite
  • Gemini integration and E2E tests
  • 46 new tests for session management

Dependencies

  • Bumped hono (security update) (#55)
  • Bumped @modelcontextprotocol/sdk (#53)
  • Bumped qs (security update) (#51)
  • Added @tonejs/midi for MIDI export
  • Added google-auth-library for ADC support

Full Changelog: v2.3.0...v2.4.0