Version History
See how Simple Media Encoder has evolved from a basic converter to a professional media processing tool.
Latest Version: 2.746
Version 2.746 (Build 2746)
February 2, 2026⏹️ Stop/Cancel Conversion:
New "Stop" button allows you to halt any ongoing conversion at any time.
⚠️ Overwrite Warning System:
- Safety First: When converting files that would overwrite the original source, a confirmation dialog now appears
- Clear Options: Choose to abort or proceed with confidence
- Safe Temp Workflow: Automatic temporary file handling ensures your originals are protected during conversion
🎚️ LUFS Enhancements:
- Extended Range: LUFS slider now supports -40 to -10 LUFS (previously -30 to -10)
- New Preset: Added "Talkover Bed" preset at -33 LUFS for background music mixing
📁 Per-File Source Directory:
- Improved Behavior: "Use source file directory" now saves each file to its respective original directory
- Batch Friendly: Files from multiple folders are saved back to their respective source locations
Previous Versions
Version 2.745 (Build 2745)
November 30, 2025🎚️ Enhanced CRF Quality Control:
Extended CRF range and dynamic quality descriptions for better encoding control.
✅ CRF Slider Improvements:
- Extended Range: CRF slider now supports 5-35 (previously 15-35)
- Dynamic Descriptions: Quality explanation updates based on slider position
- Continuous Bitrate: Linear interpolation ensures smooth quality/size progression per CRF step
- CRF 5-10: Almost no compression; human eye can't distinguish below ~10
- CRF 11-14: Extremely high quality; file size skyrockets; practically lossless
- CRF 15-17: Very high quality; large file; near visually lossless
- CRF 18-23: Visually transparent; indistinguishable from source to most viewers
- CRF 28-35: Lower quality; streaming-friendly; smaller files
📚 Documentation Updates:
- Help Pages: Added comprehensive CRF quality range explanations
- Preset Manager: Updated with dynamic CRF descriptions
- Web Documentation: CRF quality guide added to help pages
Version 2.744 (Build 2744)
November 30, 2025🔴 Critical Fixes:
Two major issues resolved for improved stability and quality control.
✅ Resolution Override Fix:
- Fixed Critical Issue: Resolution settings are now properly respected during frame rate conversion
- Unified Pipeline: All conversions now use AVAssetWriter for consistent, accurate encoding control
- Independent Control: Resolution, Framerate, and Quality (CRF) can now be set independently without conflicts
✅ Crash Fix:
- Fixed Crash: Resolved AVAssetWriter crash during frame rate conversion (upsampling 50fps → 60fps)
- Robust Processing: Implemented proper backpressure handling and state management
- Reliable Upsampling: Frame duplication now works correctly without flooding the encoder
✅ UI Improvements:
- Always-Visible Quality Controls: CRF/Bitrate settings now visible regardless of frame rate
- Removed Export Quality Presets: Simplified UI by removing obsolete Highest/High/Medium/Low picker
- Accurate Filename Preview: Shows actual CRF value (e.g., CRF23) instead of preset names
✅ Workflow Enhancements:
- Build Verification Rule: Added mandatory build check before finishing development stages
🔧 Technical Changes:
- Unified AVAssetWriter Pipeline: Removed AVAssetExportSession fallback entirely
- VideoProcessingState Class: Added for robust state preservation across callbacks
- Backpressure Handling: Strict isReadyForMoreMediaData checks before every frame append
Version 2.743 (Build 2743)
November 28, 2025🎯 Simplified Quality Controls:
Major UX improvement with context-aware quality settings that adapt to your workflow.
✅ Quality System Overhaul:
- Smart Quality UI: Shows CRF slider when no frame rate change, shows quality presets (Highest/High/Medium/Low) when converting frame rate
- Professional Descriptions: Quality presets show relative file size expectations (1.5×, 1×, 0.5×, 0.25× source size)
- Filename Preview: Correctly shows export quality or CRF based on settings
- Preset Manager: Full support for editing and saving export quality presets
✅ Simplified Interlacing:
- Streamlined UI: Removed complex deinterlacing options - now just "Make Progressive" or "Keep Original"
- Automatic Processing: AVAssetExportSession handles deinterlacing automatically when progressive output is selected
✅ Bug Fixes:
- Interlacing Detection: Fixed false positives where 1080p50/60 progressive content was incorrectly detected as interlaced
- Memory Management: Fixed double initialization of MemoryManager
- Picker Warnings: Fixed SwiftUI picker warnings for audio codec selection
Version 2.742 (Build 2742)
November 2025🔧 Frame Rate Conversion Quality:
- Export Quality Now Works: Frame rate conversions now respect the selected quality preset instead of always using "Highest Quality"
- Context-Aware UI: Quality controls adapt based on whether CRF is available
- Technical: Added VideoExportQuality enum to engine for export quality presets
Version 2.739-2.741
November 2025🔧 Frame Rate Conversion & Bug Fixes:
- Frame Rate Upsampling: Fixed bug where upsampling (e.g., 50fps → 60fps) wasn't working
- Simplified Architecture: Frame rate conversion now uses AVAssetExportSession with AVVideoComposition for reliable results
- CRF Mode: True CRF control when no frame rate change, approximated quality when frame rate conversion is needed
- Audio Codec Validation: Fixed picker warnings with proper format-based codec validation
Version 2.737-2.738
November 2025🔧 CRF Pipeline Fixes:
- ProRes File Type: ProRes conversions now correctly use .mov file type in CRF pipeline
- Metadata Preservation: User-edited metadata now properly applied during CRF conversions
- HEVC Export Presets: HEVC codec now uses proper HEVC-specific export presets
- Audio Preservation: Source audio channels and sample rate now preserved in CRF mode
Version 2.735 (Build 2735)
October 2025🎉 Major Achievement: CRF Conversion Pipeline Fully Functional
Complete overhaul of the CRF (Constant Rate Factor) conversion system with 13 critical fixes. The app is now stable, production-ready, and delivers professional-quality media conversion.
✅ CRF Conversion Fixes (10 fixes):
- Fixed CRF hanging at 25%: Removed duplicate AVAssetWriter session starts
- Fixed black video: Proper color space preservation (P3, Rec.709, Rec.601)
- Fixed color crash: Correct placement of color properties in video settings
- Fixed dimension mismatch: Use actual coded dimensions instead of clean aperture
- Fixed pixel format issues: Removed incompatible YCbCr properties from BGRA pipeline
- Fixed pipeline bottleneck: Direct sample buffer append (no adaptor)
- Fixed polling loop: Implemented Apple's requestMediaDataWhenReady API
- Fixed race condition: Synchronous session start before async callbacks
- Fixed GUI freeze: Async callback pattern for audio processing
- Fixed audio crash: Append first video sample before callback setup
✅ Type System Fixes (3 fixes):
- HE-AAC bitrates: Added missing 16-64 kbps options (fixes crash with DAB+ preset)
- ProRes variants: Split ProRes 422/4444 to preserve alpha channel support
- Resolution handling: Removed debug code, proper "Source" resolution support
🏗️ Technical Improvements:
- Zero-copy optimization for better memory efficiency
- Event-driven callback API (not polling loops)
- Thread-safe completion tracking
- Comprehensive error logging
- Professional code quality (no debug workarounds)
📊 What Works:
- Video: H.264/H.265 CRF, ProRes 422/4444 with alpha, all resolutions
- Audio: HE-AAC (16-64 kbps), AAC (128-320 kbps), ALAC, PCM
- Quality: Color space preservation, aspect ratio locked, responsive UI
⏸️ Deferred to v2.740:
- Deinterlacing processing (GUI exists, backend pending)
- Metadata to output files (currently applies to input)
- Custom preset persistence
- Audio level processing GUI verification
Status: ✅ Production Ready - All critical conversion functionality works reliably.
Version 2.730 (Build 2730)
January 2025🔧 UI Improvements & Bug Fixes:
- Preset Manager Alignment: Fixed metadata section label alignment to match other sections consistently
- Picker Validation: Resolved picker validation errors when applying presets with nil values
- Audio Format Support: Added missing CAF audio format option in preset manager
- Audio Bitrate Options: Added proper bitrate options for HE-AAC codecs (16-64 kbps range)
- Resolution Picker: Fixed "Source" resolution option positioning and validation
⚙️ Technical Improvements:
- All presets now default to using current date instead of preserving original file creation date
- Simplified metadata section with cleaner label presentation
- Enhanced picker validation and error handling
- Improved Swift 6 concurrency handling with proper warning documentation
Version 2.705 (Build 2705)
August 2025What's New:
- App Store Ready: Fixed document type configuration for App Store submission
- Better Icons: Added all required app icon sizes for professional appearance
- Improved UI: Added accent color support for better visual consistency
Technical Improvements:
- Fixed sandbox build issues that were causing build failures
- Updated project configuration for better Xcode compatibility
- Enhanced asset catalog with proper icon sizing
Recent Major Updates
Version 2.704 (Build 2704)
August 2025What's New:
- Professional Audio Processing: Added broadcast-quality LUFS normalization
- Enhanced File Handling: Improved drag & drop and "Open With" support
- Better UI: More intuitive interface with progress tracking
Audio Features:
- LUFS standards: -23, -18, -16, -14 LUFS (broadcast standards)
- dBFS peak normalization for consistent audio levels
- Professional K-weighting for accurate loudness measurement
Version 2.703 (Build 2703)
August 2025What's New:
- Smart File Validation: Only accepts supported media files
- Multi-file Support: Handle multiple files from Finder at once
- Enhanced Integration: Better Finder and system integration
User Experience:
- Improved drag & drop with visual feedback
- Better error messages for unsupported files
- Seamless "Open With" support from Finder
Version 2.6 (Build 2600)
August 2025What's New:
- Video Conversion: Added support for video files (MP4, MOV, M4V)
- Professional Codecs: H.264, H.265, and ProRes support
- Deinterlacing: Professional video deinterlacing options
Video Features:
- Multiple resolution options: 480p, 720p, 1080p, 4K
- Quality control: CRF, bitrate, and two-pass encoding
- Professional deinterlacing: YADIF, BWDIF, W3FDIF
Documented Versions
Version 2.5 (Build 2500)
July 2025Dark Mode Implementation:
- Complete Dark Mode: Full dark mode support across the interface
- Theme Switching: Automatic light/dark mode detection
- Enhanced UI: Improved visual consistency and accessibility
Version 2.4 (Build 2400)
July 2025Enhanced Features:
- Improved Stability: Better error handling and crash prevention
- UI Enhancements: More responsive interface and better user experience
- Performance: Optimized conversion engine and memory management
Version 2.3 (Build 2300)
July 2025Advanced Controls:
- CRF Quality Controls: Advanced quality settings for video conversion
- Dual Preset System: Both preset and custom options for flexibility
- Better Documentation: Comprehensive release documentation
What This Means for You
🎯 Getting Better All the Time
Each version adds new features and improvements based on user feedback and professional needs. The app started simple and has grown into a powerful tool.
🔧 More Reliable
Early versions had basic functionality. Now the app handles complex media files, provides professional audio processing, and offers advanced video conversion.
📱 Easier to Use
The interface has evolved from basic to intuitive. Drag & drop, smart file detection, and better error messages make the app easier to use every day.
⚡ Professional Features
What started as a simple converter now includes broadcast-quality audio processing, professional video codecs, and advanced file handling capabilities.
Looking Forward
Simple Media Encoder continues to evolve based on user feedback and professional media production needs. Each update brings new capabilities while maintaining the app's core philosophy: powerful features in a simple, intuitive interface.
Whether you're converting audio for a podcast, processing video for broadcast, or just need to change file formats, Simple Media Encoder grows with your needs.
Website Deployment Policy
Source of Truth: All website source files must reside in the
docs/ folder in this repository.
Deployment: The website is deployed manually to a private Raspberry Pi webserver. Do not auto-deploy or publish the site to any external service.
Restrictions: Do not add CI/CD steps, GitHub Pages, or third‑party hosting
for the site. Keep download links local to docs/releases/ unless explicitly
instructed otherwise.