Skip to content

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 useDraggablePanel composable, 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 ?debug query param, lazy-loaded to avoid impacting normal performance

Fixes

  • OCR: Fix WebGPU OCR failure (Buffer used in submit while destroyed error) 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

Built with VitePress