Skip to content

Releases: vultuk/markdown-web

v2.5.0 - Selection-based AI editing with smart text selection

21 Aug 16:16

Choose a tag to compare

🎯 Selection-Based AI Editing

This release introduces selection-based AI editing, allowing users to apply AI prompts to specific text portions instead of entire documents. This provides unprecedented precision and control over AI-powered editing workflows.

✨ Key Features

Precise AI Control

  • Select any text in the editor and apply AI prompts only to that selection
  • Works with both "Adjust" and "Ask" modes for maximum flexibility
  • Smart merging logic preserves surrounding content while editing selections

Smart Selection Tracking

  • Real-time visual feedback showing when text is selected
  • "Using selection (X chars)" indicator in AI modal
  • Seamless integration with existing AI workflow

Enhanced User Experience

  • Intuitive text selection behavior with enhanced AI integration
  • Clear visual feedback so users know exactly what content will be processed
  • Non-disruptive selection that doesn't interfere with normal editing

🔧 Technical Improvements

  • Selection State Management: Robust tracking of selection positions with refs
  • Content Merging Algorithm: Smart merging of edited selections with original content
  • Error-Safe Selection: Graceful handling of selection edge cases
  • Accessibility: ARIA live regions for selection feedback

🚀 Use Cases

Perfect for:

  • Editing specific paragraphs without affecting the rest of the document
  • Improving individual code blocks or sections
  • Asking questions about specific content portions
  • Making targeted adjustments while preserving document structure

This feature transforms the AI editing experience from document-wide operations to precise, surgical edits that give users complete control over what gets modified.


Full Changelog: v2.4.0...v2.5.0

v2.4.0 - Enhanced Mobile Responsiveness and AI Modal UX

21 Aug 15:32

Choose a tag to compare

What's Changed

This minor release focuses on improving mobile responsiveness and enhancing the AI modal user experience with better interface design.

🚀 New Features

  • AI Modal Close Button: Added dedicated close button (×) to AI modal header for better accessibility
  • Responsive Status Bar: Mobile-optimized status bar with adaptive stat display based on screen size
  • Smart Sidebar Initialization: Enhanced sidebar state with context-aware defaults
  • Mobile-First Status Display: Optimized status information layout for different screen sizes

✨ User Experience Improvements

  • Better AI Modal UX: More intuitive close functionality with header-placed × button
  • Cleaner AI Interface: Streamlined AI modal design with dedicated close button instead of separate action
  • Mobile-Friendly Stats: Optimized information density for small screens showing only essential stats
  • Context-Aware Sidebar: Sidebar behavior adapts to user context and device capabilities

📱 Mobile Responsiveness

  • Adaptive Status Bar: Mobile shows compact stats (AI cost, words) while desktop shows full details
  • Responsive Design: UI elements automatically adapt to screen size with mobile/desktop-specific classes
  • Better Information Hierarchy: Most important stats prioritized and visible on smaller screens
  • Touch-Friendly Design: Enhanced touch targets and mobile interaction patterns

🔧 Technical Improvements

  • Enhanced Modal Design: Improved AI modal header layout with flex justify-between alignment
  • Responsive CSS: Added .mobileOnly, .desktopOnly, and .optionalStat classes for conditional display
  • Smart State Management: Context-aware sidebar initialization based on URL, device, and settings
  • Better Mobile Layout: Optimized spacing and information hierarchy for mobile devices

♿ Accessibility Enhancements

  • Dedicated Close Button: Clear, accessible close action in AI modal header with proper ARIA attributes
  • Better Navigation: More intuitive modal interaction patterns
  • Improved Touch Targets: Better touch targets for mobile users
  • Enhanced ARIA Support: Improved accessibility attributes for modal interactions

🎯 Mobile Optimizations

  • Status Bar Mobile Layout: Compact display showing "AI $X.XX" and "Words XXX" on mobile
  • Hidden Optional Stats: Lines and character counts hidden on mobile to reduce clutter
  • Smart Sidebar Behavior: Sidebar automatically closes when loading files on mobile or overlay mode
  • Better Mobile Experience: Overall improved mobile user experience with optimized layouts

This release significantly improves the mobile experience while maintaining full desktop functionality, making the editor more accessible and user-friendly across all devices.

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

v2.3.0 - Dual-Mode AI with Q&A Functionality

21 Aug 15:11

Choose a tag to compare

What's Changed

This minor release introduces a powerful dual-mode AI interface that lets users both modify content and ask questions about their markdown documents.

🚀 New Features

  • AI Ask Mode: New Q&A functionality to ask questions about markdown content without modification
  • Dual-Mode AI Interface: Enhanced AI modal with toggle between "Adjust" and "Ask" modes
  • Interactive Q&A: Ask questions about your markdown content and get formatted answers
  • Answer Display: Beautiful answer rendering with markdown support, copy, and clear actions

✨ Enhanced AI Capabilities

  • Mode Toggle: Switch seamlessly between content modification (Adjust) and information retrieval (Ask)
  • Smart Interface: UI adapts based on selected mode with contextual prompts and actions
  • Answer Rendering: Full markdown rendering in answer display with ReactMarkdown
  • Answer Actions: Copy answers to clipboard and clear functionality with accessibility support

🔧 Technical Improvements

  • New API Endpoint: /api/ai/ask for question-answering without content modification
  • Improved Prompts: Cleaner prompt formatting for better AI responses (removed BEGIN/END markers)
  • Response Sanitization: Enhanced cleanup of AI responses to remove accidental code wrappers
  • Enhanced CSS: New styling for mode toggles, answer display, and action buttons

🎯 User Experience

  • Intuitive Workflow: Ask questions about content before or after making adjustments
  • Visual Distinction: Clear mode switching with proper visual feedback
  • Better Accessibility: ARIA attributes and role definitions for new interface elements
  • Contextual Help: Smart placeholders and UI that adapts to the selected mode

💡 Use Cases

  • Content Analysis: Ask questions about document structure, content, or meaning
  • Research Assistance: Get explanations about complex topics in your markdown
  • Content Review: Understand document sections before making modifications
  • Learning Tool: Ask questions to better understand your own content

🔧 Developer Experience

  • API Consistency: Both AI endpoints follow similar patterns and error handling
  • Better State Management: Enhanced component state for dual-mode functionality
  • Standardized Responses: Consistent response structures for both modify and ask operations

This release significantly expands the AI capabilities by adding a non-destructive way to interact with content through natural language questions.

Full Changelog: v2.2.0...v2.3.0

v2.2.0 - Always-On Mermaid with Enhanced Loading

21 Aug 14:52

Choose a tag to compare

What's Changed

This minor release makes Mermaid diagram rendering permanently enabled for all users and introduces enhanced loading capabilities.

🚀 Enhanced Features

  • Always-On Mermaid: Mermaid diagram rendering is now permanently enabled for all users
  • Smart Asset Loading: Enhanced loading strategy with local assets first, CDN fallback for better reliability
  • Simplified Settings: Removed Mermaid configuration toggle for a cleaner, more streamlined settings interface

✨ New Features

  • Local Asset Priority: Mermaid component now tries local bundled assets before falling back to CDN
  • Better Performance: Local asset loading reduces network dependency and improves rendering speed
  • Zero Configuration: Mermaid diagrams work out-of-the-box without user configuration

🎯 User Experience

  • Consistent Mermaid: All users now have access to Mermaid diagrams without needing to enable a setting
  • Cleaner Settings Modal: Removed experimental Mermaid toggle for simpler configuration
  • Improved Reliability: Enhanced loading strategy prevents Mermaid loading failures

🔧 Technical Improvements

  • Dual Loading Strategy: Local UMD assets with CDN fallback for maximum compatibility
  • Settings Cleanup: Removed mermaidEnabled from server settings interface and validation
  • Code Simplification: Eliminated conditional Mermaid rendering logic throughout the application
  • Better Error Handling: Enhanced error handling for both local and CDN loading scenarios

⚠️ Breaking Changes

  • Mermaid Always Enabled: Users can no longer disable Mermaid diagram rendering (now permanently enabled)
  • Settings Interface: Removed Mermaid toggle from settings modal (affects saved preferences)

📦 Migration Notes

  • Existing users with Mermaid disabled will now have it automatically enabled
  • Settings files will no longer store mermaidEnabled preferences
  • No action required - all Mermaid diagrams will render automatically

This release simplifies the user experience by making Mermaid diagrams a core feature while improving their reliability through enhanced loading strategies.

Full Changelog: v2.1.2...v2.2.0

v2.1.2 - Scroll Sync Cleanup

21 Aug 14:35

Choose a tag to compare

What's Changed

This patch release completes the removal of the scroll synchronization feature that was reverted in v2.1.1.

🧹 Cleanup

  • Remove remaining scroll sync props from SettingsModal interface
  • Clean up scroll sync references in App.tsx
  • Complete code simplification after scroll sync feature removal

🔧 Technical Details

  • Removed unused scrollSync and onChangeScrollSync props from SettingsModal interface
  • Cleaned up remaining scroll sync prop passing in App component
  • Ensures codebase is fully clean after scroll sync feature deprecation

This release ensures the codebase is completely free of scroll synchronization code after the feature was removed in v2.1.1 for simplicity.

Full Changelog: v2.1.1...v2.1.2

v2.1.1 - Simplified Editor (Removed Scroll Sync)

21 Aug 14:13

Choose a tag to compare

Removed

  • Scroll Sync Feature: Completely removed scroll synchronization between editor and preview panes
  • Settings Toggle: Removed scroll sync toggle from settings modal
  • Complex State Management: Eliminated scroll sync state management and event handlers

Simplified

  • Editor Component: Removed scroll sync related props and event handlers
  • App Component: Eliminated scroll sync refs, state, and synchronization logic
  • Settings Modal: Streamlined interface by removing scroll sync configuration

Technical Improvements

  • Code Cleanup: Removed over 50 lines of complex scroll synchronization code
  • Performance: Eliminated scroll event listeners and requestAnimationFrame usage
  • Maintainability: Simplified codebase by removing feature that was causing complexity
  • State Management: Reduced application state complexity

User Experience

  • Simplified Interface: Cleaner settings modal without experimental features
  • Focused Experience: Users can focus on core editing functionality
  • Reduced Complexity: Eliminated potential scroll sync conflicts and edge cases
  • Better Performance: Removed performance overhead from scroll event handling

Rationale

This change prioritizes simplicity and performance over experimental features. The scroll sync functionality added significant complexity for limited user benefit and had potential for conflicts and unexpected behavior.

🤖 Generated with Claude Code

v2.1.0 - Configurable Mermaid Diagram Rendering

21 Aug 13:46

Choose a tag to compare

Added

  • Configurable Mermaid Diagrams: New toggle in settings to enable/disable Mermaid diagram rendering
  • Mermaid Settings Persistence: Mermaid preference saved to server settings and localStorage
  • Granular Control: Users can now choose whether to render Mermaid diagrams or show them as code blocks

New Features

  • Settings Toggle: Added "Render Mermaid code blocks (experimental)" checkbox in settings modal
  • Fallback Behavior: When disabled, Mermaid code blocks display as regular code blocks
  • User Choice: Allow users to disable potentially resource-intensive diagram rendering if desired
  • Seamless Integration: Mermaid setting integrates with existing settings persistence system

Technical Improvements

  • Server API: Extended settings API to support mermaidEnabled boolean parameter
  • Default Values: Mermaid rendering defaults to false for better performance out-of-the-box
  • Type Safety: Added proper TypeScript interfaces for mermaidEnabled setting
  • Validation: Server-side validation for mermaidEnabled setting parameter

User Experience

  • Performance Control: Users can disable Mermaid rendering for better performance with large documents
  • Flexibility: Choose between diagram rendering or raw code display based on preference
  • Settings Organization: Mermaid toggle logically grouped in settings modal
  • Immediate Effect: Setting changes take effect immediately without page refresh

🤖 Generated with Claude Code

v2.0.3 - Enhanced Scroll Sync Performance

21 Aug 13:38

Choose a tag to compare

Improved

  • Scroll Sync Performance: Enhanced scroll synchronization with requestAnimationFrame for smoother performance
  • State Management: Added better state management for scroll ratios to prevent UI glitches
  • Animation Optimization: Implemented proper animation frame handling to reduce scroll event processing overhead

Technical Improvements

  • RAF Implementation: Used requestAnimationFrame to throttle scroll synchronization updates
  • State Persistence: Added refs for tracking scroll ratios and animation frames
  • Performance: Reduced potential for rapid scroll updates causing UI lag
  • Memory Management: Proper cleanup of animation frame requests

Performance Enhancements

  • Smoother Scrolling: Better coordination between editor and preview scroll events
  • Reduced Overhead: Optimized scroll event handling with frame-based updates
  • UI Responsiveness: Improved overall UI responsiveness during scroll synchronization

🤖 Generated with Claude Code

v2.0.2 - Scroll Sync Stability

21 Aug 13:32

Choose a tag to compare

Fixed

  • Scroll Sync Stability: Removed unused preview scroll handlers that could cause potential errors
  • Error Handling: Added try-catch protection for scroll synchronization to prevent crashes
  • Code Cleanup: Simplified scroll event handling by removing redundant preview-to-editor sync

Technical Improvements

  • Event Handler Optimization: Streamlined scroll synchronization to use unidirectional flow (editor-to-preview only)
  • Error Prevention: Added defensive programming patterns to handle edge cases in scroll calculations
  • Performance: Reduced unnecessary event listeners and potential memory leaks

🤖 Generated with Claude Code

v2.0.1 - Mermaid CDN Loading Fix

21 Aug 13:06

Choose a tag to compare

Fixed

  • Mermaid CDN Loading: Switched from local bundled Mermaid to CDN-based loading for better reliability
  • Build Compatibility: Eliminated potential bundling issues by using external CDN instead of local imports
  • Script Loading: Changed from async to defer for more predictable script loading behavior
  • Error Handling: Enhanced error messages for CDN loading failures with clearer feedback

Technical Improvements

  • CDN Integration: Uses https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js for consistent availability
  • Async Pattern: Improved Promise-based loading pattern with proper async/await handling
  • Deployment Reliability: Reduces build-time dependencies and potential bundling conflicts
  • Loading Performance: Better script loading strategy with deferred execution

Reliability Enhancements

  • External Dependencies: Eliminates local bundling issues that could affect Mermaid diagram rendering
  • Network Resilience: Provides fallback messaging when CDN is unavailable
  • Build Independence: Removes dependency on local Mermaid files during build process
  • Consistent Behavior: More predictable diagram rendering across different deployment scenarios

This patch release improves Mermaid diagram reliability by switching to CDN-based loading, eliminating potential build and deployment issues with local bundling.