Changelog
This page documents version updates for Mediator.
v0.32.2
2026-03-18
Fixes
- PDF to Images: Switch to PDF.js legacy build to fix conversion failure on older Chrome versions lacking ES2025 API support
v0.32.1
2026-03-13
Performance
- Search: Parallelize embedding API calls (up to 10 concurrent requests), significantly accelerating indexing for slides and other multi-image records
Fixes
- Search: Fix image index misalignment in multimodal embedding pipeline
- Search: Fix provider race conditions and concurrent local model loading in parallel embedding
- Search: Update indexing progress per API call instead of per record
v0.32.0
2026-03-12
New Features
- Search: Upgrade to Gemini Embedding 2 multimodal model, enabling text-to-image and image-to-image search
- Search: Add image match badge to search results, distinguishing text and image hits
Performance
- Search: Increase Gemini embedding chunk size from 400 to 800 chars for better semantic coherence
Refactor
- Search: Migrate Gemini API calls to @google/genai SDK for consistency with other modules
v0.31.6
2026-03-05
New Features
- History: Agent mode and slides narration storage sizes now display in the history list (legacy records backfilled on startup)
Improvements
- History: Move delete button to absolute-positioned overlay so the content area is no longer compressed, improving visual symmetry when not hovered
v0.31.5
2026-03-05
New Features
- Lightbox: Add generation info panel (ℹ️ button or I key) showing model, resolution, ratio, temperature, and other generation parameters, with drag and resize support
- History: Display model name tag in history list between status badge and file size
Refactor
- Lightbox: Extract drag/resize logic into
useDraggablePanelcomposable, shared by transcript and info panels
v0.31.4
2026-03-05
New Features
- Transcript: Add auto-scroll that syncs with audio playback progress every 3 seconds, with a toggle button in the panel header (setting persisted)
- Audio Player: Add 1.75x playback speed option
Improvements
- History: Automatically restore image model selection when loading from history
v0.31.3
2026-03-04
Security
- Dependencies: Fix serialize-javascript RCE vulnerability (GHSA-5c6j-r48x-rmvq) via overrides to 7.0.4
Improvements
- Dependencies: Upgrade 14 packages — Vue 3.5.29, Tailwind CSS 4.2.1, Fabric 7.2.0, ONNX Runtime Web 1.24.2, pdfjs-dist 5.5.207, Three.js 0.183.2, Plotly 3.4.0, and more
v0.31.2
2026-03-04
Improvements
- Slides: Page list height now adapts to viewport size, significantly increasing usable space on desktop
Performance
- Slides: Parallelize storage writes (OPFS + IndexedDB) after regeneration confirmation, and show success toast only after save completes
- Slides: Parallelize image and narration OPFS storage on initial generation, eliminating duplicate loadHistory calls, with a new "saved to history" confirmation toast
- Slides: Fix audio player appearing tens of seconds late by setting preview URLs before blocking OPFS image storage
v0.31.1
2026-03-03
New Features
- Mobile Debugging: Add Eruda mobile console via
?debugquery param, lazy-loaded to avoid impacting normal performance
Fixes
- OCR: Fix WebGPU OCR failure (
Buffer used in submit while destroyederror) caused by a buffer management regression in ONNX Runtime 1.24.1 asyncify WASM (onnxruntime#27068) — upgrade WebGPU WASM CDN to 1.24.2 - Slides: Fix snapshot/dirty fields not being stripped from localStorage sanitizer on restore
v0.31.0
2026-02-28
New Features
- Slide Page Editing: Add inline editing on page cards — edit a single page's content directly without scrolling back to the full textarea. Changes automatically sync back to the textarea (bidirectional binding)
- Change Detection: Each page now tracks content, style, and narration changes via snapshot comparison (not boolean flags), so reverting a change won't falsely mark the page as modified
- Selective Regeneration: New "Generate Modified Pages" button shows a detailed breakdown (e.g., "slides p.2, 5, audio p.3"), no need to regenerate everything
- Page Image Lightbox: Click page card thumbnails to open a full lightbox viewer, with narration audio playback and transcript panel support
- Enhanced History Restore: Loading slides from history now fully restores OPFS images and narration audio, enabling subsequent selective regeneration
Fixes
- Model Selection: Fix regeneratePageWithAudio not using user-selected image model, falling back to default model instead
- History Restore: Fix narration script page IDs not matching actual pages after restore
- History Restore: Fix stale dirty flags persisting through localStorage restore
Earlier Versions
v0.30.x - Image Model Selector, Major Bug Fixes & Code Quality
2026-02-27
- v0.30.1 (02-27): Fix 20+ bugs (PDF Worker, storage races, video Abort, character MIME, Blob leaks, OCR detection, etc.), remove 19 dead code items, extract binaryUtils shared module, add 20 unit tests
- v0.30.0 (02-27): Image model selector (Pro/Flash toggle), third PPTX text removal model, remove discontinued Gemini 3 Pro text model
v0.29.x - Lightbox Transcript Panel & Narration Speed Control
2026-02-21
- v0.29.2 (02-21): Fix dual-speaker narration splitting after CJK punctuation
- v0.29.1 (02-21): MP4 export narration speed control (1x–4x) with pitch-preserved WSOLA
- v0.29.0 (02-21): Lightbox floating transcript panel (drag, resize, T key toggle), fix accidental lightbox close on drag
v0.28.x - Smart Search Enhancements, Embedding 3D Explorer & Model Unification
2026-02-15 ~ 2026-02-21
- v0.28.4 (02-21): Gemini 3.1 Pro model option, Agent mode model fix, TEXT_MODELS constant unification
- v0.28.3 (02-16): Embedding Explorer mode filter, GENERATION_MODES constant unification
- v0.28.2 (02-16): Embedding Explorer "By Record" coloring mode, Plotly modebar fixes
- v0.28.1 (02-15): Smart Search Agent record indexing fixes, bilingual mode label search
- v0.28.0 (02-15): Dual embedding engines (Gemini API + Transformers.js), Embedding 3D Explorer, Free Tier privacy warning
v0.27.0 - RAG Hybrid Search System
2026-02-14
- History RAG hybrid search (BM25 + semantic vectors), three search strategies, mode filtering, real-time index sync
- search-core pure function tests (50+ test cases)
v0.26.x - Smart Search, Slide Narration & Agentic Vision
2026-01-28 ~ 2026-02-12
- v0.26.22 (02-12): Lightbox navigation overlap fix, View Transition animation improvements
- v0.26.21 (02-09): Agentic Vision ghost message and imageIndex alignment fixes, export/import thumbnail support
- v0.26.20 (02-09): Fix ghost API requests via AbortController cancellation
- v0.26.19 (02-09): Prevent duplicate generation from rapid clicks
- v0.26.18 (02-06): Vitest unit testing framework with 319 tests, ESLint cleanup
- v0.26.17 (02-06): Audio preview comparison, MP4 resolution selection (1080p/1440p/2160p), transition fixes
- v0.26.16 (02-04): Settings reset confirmation, auto-hiding audio player, narration settings persistence
- v0.26.15 (02-04): Playback speed control, auto-play, space bar shortcut, global audio exclusion
- v0.26.14 (02-03): Parallel image+audio generation, dropdown auto-scroll, useApi.js refactor
- v0.26.13 (02-03): Inline voice preview, WebM/Opus audio encoding
- v0.26.12 (02-03): Agentic Vision UX improvements, expandable slide content preview
- v0.26.11 (02-01): Fix font-size merge threshold, missing i18n keys
- v0.26.10 (02-01): Fix sticker cropper scroll in lightbox
- v0.26.9 (01-31): MP4 quality selection, agent auto-save during streaming
- v0.26.8 (01-30): Agent clear conversation, camera upload, lightbox viewing for user images
- v0.26.7 (01-30): Sticker cropper undo/redo, agent history thumbnail lightbox
- v0.26.6 (01-29): Manual split mode for sticker cropper, transparent padding trimming
- v0.26.5 (01-29): Agentic Vision mode with Think→Act→Observe loop and code execution
- v0.26.4 (01-29): Opus codec fallback for MP4, fix Schedar voice model ID
- v0.26.3 (01-29): Per-page regeneration, crossfade transitions, audio lightbox viewing
- v0.26.2 (01-28): Narration audio export/import and WebRTC transfer support (v3 format)
- v0.26.1 (01-28): Sticker edge erosion, 8-connected flood fill background removal
- v0.26.0 (01-28): Slide narration TTS (single/dual speaker), SearchableSelect component
v0.25.x - Documentation Site, Slide Conversion & Privacy-First
2026-01-23 ~ 2026-01-28
- v0.25.23 (01-28): Standalone sticker grid cutter tool, docs hero looping video
- v0.25.21 (01-27): 3D banana model drag-to-rotate with physics
- v0.25.20 (01-26): Remove GA4 tracking, aspect-ratio adaptive font sizing fix
- v0.25.19 (01-25): Add changelog pages
- v0.25.18 (01-25): Slide conversion leave confirmation
- v0.25.16 (01-25): Region editor keyboard shortcuts
- v0.25.15 (01-25): Trapezoid mode for slanted text regions
- v0.25.12 (01-24): 3D banana model in hero section
- v0.25.8 (01-24): Gemini reprocess confirmation dialog
- v0.25.7 (01-24): Deep linking, "Try It" buttons, API Key video tutorials
- v0.25.6 (01-24): Lazy load SketchCanvas component
- v0.25.0 (01-23): VitePress documentation site, story mode character continuity, sitemap index
v0.24.x - Sketch Canvas & Slide Conversion Enhancements
2026-01-20 ~ 2026-01-23
- v0.24.11 (01-23): Fix mock document for PDF.js in Web Worker, PPTX image aspect ratio
- v0.24.10 (01-22): Sketch UX improvements: navigation guards and color picker repositioning
- v0.24.9 (01-22): Add pan tool for canvas navigation
- v0.24.8 (01-22): Fix mobile layout overlap between reference images and characters
- v0.24.0 (01-20): Slide conversion settings behavior docs, Gemini confirmation modal, WYSIWYG settings, story mode partial success handling
v0.23.x - SEO & OCR Model Selection
2026-01-19
- v0.23.7: Fix sticker crop button SVG, accessibility labels, LCP optimization
- v0.23.6: Add static HTML generation with per-route SEO meta tags
- v0.23.5: PWA fixes, canonical URL for duplicate content prevention
- v0.23.4: Add JSON-LD structured data, SPA routing fixes
- v0.23.3: Toast swipe-to-dismiss, region selection tool, beforeunload protection
- v0.23.2: Lightbox edit regions button, OCR model size selection (Server/Mobile) with auto-fallback
- v0.23.1: Smart scroll (stop auto-scroll when user scrolls up), Free Tier API key routing
- v0.23.0: Extract and apply dynamic text colors in PPTX
v0.22.x - Region Editor & Unified OCR Architecture
2026-01-18 ~ 2026-01-19
- v0.22.3 (01-19): Region editor undo/redo functionality
- v0.22.2 (01-19): Separator line tool, resize magnifier
- v0.22.1 (01-18): Height-based font sizing
- v0.22.0 (01-18): Canvas-measured font sizing, unified CPU/GPU OCR architecture
v0.21.x - WebGPU OCR & Region Editing
2026-01-17 ~ 2026-01-18
- v0.21.5 (01-18): Auto fallback to CPU when GPU memory insufficient
- v0.21.4 (01-18): Pure XY-Cut layout analysis, fix BGR order
- v0.21.3 (01-17): Improved WebGPU detection
- v0.21.2 (01-17): Clear model cache, mobile WebGPU support
- v0.21.1 (01-17): Draggable region editor toolbar, auto-generate PPTX filenames
- v0.21.0 (01-17): Manual OCR region editing, Tesseract.js fallback, unified OCR interface
v0.20.x - Slide to PPTX Converter
2026-01-16
- v0.20.3: Exclude image data from localStorage persistence
- v0.20.2: Add PPTX converter banner in slides mode
- v0.20.1: File upload mode, processing timer, OCR JSON overlay
- v0.20.0: Slide to PPTX converter, dual API key manager, image comparison modal
v0.19.x - AI Content Splitter
2026-01-15
- v0.19.0: AI content splitter modal, per-page style guides, generation progress bar with ETA
v0.18.x - Slides Mode
2026-01-15
- v0.18.0: Slides presentation mode with reference images support
v0.17.x - Video Generation & Rebranding
2026-01-14 ~ 2026-01-15
- v0.17.3 (01-15): Refactor video metadata
- v0.17.2 (01-15): Migrate image generation to @google/genai SDK
- v0.17.1 (01-15): Remove generateAudio (not supported by Gemini API)
- v0.17.0 (01-14): Video generation mode (Veo 3.1 API), rebrand to Mediator
v0.16.x - Character Storage Migration
2026-01-14
- v0.16.0: Migrate character images to OPFS
v0.15.x - User Tour
2026-01-12 ~ 2026-01-13
- v0.15.5 (01-13): Prevent accidental data loss during sticker cropping
- v0.15.4 (01-13): Fix tour tooltip overlapping with generate button
- v0.15.3 (01-13): History filter by generation mode
- v0.15.2 (01-13): Allow download without full compliance
- v0.15.1 (01-12): Mobile responsive layout for tour and character info
- v0.15.0 (01-12): User tour for first-time visitors, theme type icons, auto-scroll theme dropdown
v0.14.x - Seasonal Themes
2026-01-12
- v0.14.0: Add seasonal themes (spring, summer, autumn, winter)
v0.13.x - More Themes
2026-01-11 ~ 2026-01-12
- v0.13.3 (01-12): Unify mode colors to brand color
- v0.13.2 (01-12): Use white text on dark overlay badges for light themes
- v0.13.1 (01-12): Add Matcha, Gruvbox, and Everforest themes
- v0.13.0 (01-11): Add Espresso, Mocha, and Nord themes
v0.12.x - Theme System Polish
2026-01-11
- v0.12.1: Eliminate flash at end of theme transition animation
- v0.12.0: Add warm theme and semantic color tokens
v0.11.x - Semantic Color Tokens
2026-01-11
- v0.11.1: Sticker tool light mode text visibility, theme system enhancements
- v0.11.0: Modularize theme system with semantic color tokens
v0.10.x - LINE Sticker Covers & Code Refactoring
2026-01-10 ~ 2026-01-11
- v0.10.4 (01-11): Extract HistoryTransfer into modular components
- v0.10.3 (01-11): Extract LineStickerToolView into modular components
- v0.10.2 (01-11): Extract ImageLightbox into modular composables
- v0.10.1 (01-11): Extract usePeerSync, StickerCropper into modular composables
- v0.10.0 (01-10): LINE sticker cover images, even dimension support
v0.9.x - Character Extraction & LINE Sticker Tool
2026-01-09
- v0.9.2: Preserve edit mode settings when switching stickers
- v0.9.1: WebRTC sync support for character data
- v0.9.0: Character extraction feature, LINE sticker compliance tool
v0.8.x - Dark Theme Redesign
2026-01-09
- v0.8.0: Slate Blue Pro dark theme
v0.7.x - WebRTC Sync & Batch Downloads
2026-01-07 ~ 2026-01-09
- v0.7.13 (01-09): Bundle size optimization with code splitting and lazy loading
- v0.7.12 (01-09): Sticker cropper secondary background removal enhancement
- v0.7.11 (01-08): Toast light mode high contrast design
- v0.7.10 (01-08): Unify checkbox colors in light mode, selective export/sync
- v0.7.9 (01-08): TURN toggle, auto-disconnect, theme fixes
- v0.7.8 (01-08): Fix transfer stats accuracy, per-record ACK, backpressure control
- v0.7.7 (01-07): Migrate TURN settings to Cloudflare API
- v0.7.6 (01-07): P2P cross-device sync with TURN support
- v0.7.5 (01-07): Unify lightbox download menu, theme fixes
- v0.7.4 (01-07): Remove IndexedDB settings store dead code
- v0.7.3 (01-07): History ZIP/PDF batch download, export/import functionality
- v0.7.2 (01-07): Full datetime tooltip on history timestamps
- v0.7.1 (01-07): Add CLAUDE.md, dayjs relative time
- v0.7.0 (01-07): PDF batch download (Web Worker), unique sticker filenames
v0.6.x - GA4 Tracking & PWA
2026-01-05 ~ 2026-01-06
- v0.6.7 (01-06): Back gesture support for sticker cropper
- v0.6.6 (01-06): Version number in update notification
- v0.6.5 (01-06): Revert to projection-based sticker segmentation (YAGNI)
- v0.6.4 (01-06): Dynamic PWA theme color, CCL filter optimization
- v0.6.3 (01-06): Sticker segmentation Web Worker + CCL algorithm optimization
- v0.6.2 (01-06): PWA support
- v0.6.1 (01-05): Google Analytics 4 tracking
- v0.6.0 (01-05): Major code refactoring and DRY improvements
v0.5.x - Sticker Mode & Internationalization
2026-01-04 ~ 2026-01-05
- v0.5.5 (01-05): SEO meta tags, GitHub Pages deployment
- v0.5.4 (01-05): Extract GitHubLink component
- v0.5.3 (01-04): Sticker processing overlay animation, BFS flood fill optimization
- v0.5.2 (01-04): Sticker cropper layout and scrolling improvements
- v0.5.1 (01-04): Sticker cropper mobile layout
- v0.5.0 (01-04): Sticker mode with cropping and advanced options
v0.4.x - OPFS Image Storage
2026-01-04
- v0.4.2: Ignore .gemini-clipboard directory
- v0.4.1: Generation history alignment and scrollbar spacing
- v0.4.0: OPFS image storage, WebP compression
v0.3.x - Touch Gestures
2026-01-03
- v0.3.0: Lightbox touch gesture support
v0.2.x - Hero Section
2026-01-03
- v0.2.0: Hero section animations and scroll snap
v0.1.x - Initial Release
2026-01-03
- v0.1.0: Initial release
- AI image generation (Gemini API)
- Multi-image upload, lightbox zoom/pan
- Thinking process display, toast notifications
- History storage
