Skip to content

Releases: tharunbirla/LibreCuts

v1.0-beta7

Choose a tag to compare

@tharunbirla tharunbirla released this 17 Aug 16:54

🚀 LibreCuts Beta (Seventh Release)

Welcome to the latest official beta build of LibreCuts free, open source, and built for limitless creativity.

⚠️ Note: This is the Seventh Beta Release (1.0-beta7). This release brings powerful new workflow capabilities to the editor including non-destructive project serialization, custom fonts, freehand drawing overlays, fullscreen preview controls, and enhanced diagnostics alongside critical export stability and rendering fixes. As always, please report any bugs or unexpected behavior you encounter.


✨ Major Improvements & Fixes

💾 Project Save & Import

  • Added the Project Save & Import (.lcprj) file format.
  • Enable non-destructive project serialization to easily save, back up, and resume your editing sessions.

✒️ Freehand Drawing & Handwriting

  • Added a new freehand handwriting and drawing overlay feature.
  • Sketch custom annotations, doodles, and handwritten notes directly onto your video timeline.

🔤 Custom Font Import

  • Introduced a custom font import and management system for text overlays.
  • Import and use your own custom typography to match your branding and creative style.

📺 Fullscreen Video Preview

  • Implemented a new fullscreen video preview mode.
  • Enjoy an immersive viewing experience paired with expanded timeline controls for precise editing.

🎛️ Transition Duration Slider

  • Added a transition duration slider for granular timing control.
  • Fine-tune transition speeds precisely to match the rhythm of your edits.

🟢 Android 13+ Monochrome Themed Icon

  • Added support for Android 13+ monochrome themed app icons.
  • Seamlessly match your device's Material You dynamic theming and aesthetic.

🛠 Minor Improvements & Maintenance

📳 Haptic Feedback Toggle

  • Added an in-app haptic feedback toggle in settings for customizable tactile responses.

📝 Subtitle & Rendering Parity

  • Improved subtitle render parity and automatic word wrapping consistency between the preview player and final exports.

⏳ Real-Time Media Loading Progress

  • Added a real-time percentage progress indicator during media loading for better clarity.

📊 Enhanced Crash Diagnostics

  • Enhanced crash and error diagnostics with per-session log buffering to streamline troubleshooting.

⚡ Export Stream & Pixel Format Fixes

  • Fixed export stream negotiation and pixel format compatibility issues across various devices.

🌍 Updated Language Translations

  • Updated and expanded community translations through Weblate for German, Estonian, Slovak, and Brazilian Portuguese.

🤝 Community Spotlight

A huge thank you to everyone who reported bugs, translated LibreCuts through Weblate, opened feature requests, and contributed valuable feedback. Every report and suggestion helps make LibreCuts faster, more stable, and more enjoyable for everyone.


🐛 Known Limitations

If a crash occurs during processing, LibreCuts will display a custom error dialog containing an authorization code to assist with troubleshooting.

LC-101 / LC-301

Heavy 4K timelines or extremely high-bitrate exports may still encounter memory limitations on devices with limited RAM or lower-end processors.

Timeline Scrolling Black Screen (#29)

On certain devices, aggressively scrolling through large timelines may still temporarily cause the preview surface to become black due to Android hardware decoder limitations.

This issue has been significantly improved through memory management refactoring, but a complete fix is still being worked on.

Preview Synchronization

The preview player prioritizes smooth real-time editing over perfect rendering accuracy.

During playback you may notice:

  • Minor audio desynchronization
  • Small frame drops
  • Brief stutters
  • Some transitions appearing as hard cuts
  • Overlay animations appearing less smooth than the final render

These limitations affect preview playback only. Exported videos remain fully rendered, frame-accurate, and correctly synchronized.


📖 Error Codes & Troubleshooting

Detailed explanations for error codes and troubleshooting steps are available in the GitHub Wiki:

https://github.com/tharunbirla/LibreCuts/wiki/Error-Codes-&-Troubleshooting

v1.0-beta6

Choose a tag to compare

@tharunbirla tharunbirla released this 24 Jul 06:38
8c29b02

🚀 LibreCuts Beta (Sixth Release)

Welcome to the latest official beta build of LibreCuts free, open source, and built for limitless creativity.

⚠️ Note: This is the Sixth Beta Release (1.0-beta6). This release brings powerful new creative controls to the editor including keyframe animations, overlay masking, chroma keying, and canvas background customization alongside critical export stability fixes and rendering improvements. As always, please report any bugs or unexpected behavior you encounter.


✨ Major Improvements & Fixes

🎭 Overlay Masking

  • Added a new overlay masking feature.
  • Crop and shape overlay media to create complex compositions and custom layouts.

📍 Keyframe Animations

  • Introduced keyframe animation support for overlay layers.
  • Animate key parameters over time, currently supporting speed, position, and opacity adjustments for dynamic motion effects.

🎨 Canvas Background & Aspect Ratio Corrections

  • Added a new canvas background feature with flexible styling options.
  • Improved real-time aspect ratio corrections to make adapting videos for different screen formats much smoother.

🟢 Chroma Key for Overlays

  • Added chroma key (green screen) support for overlays.
  • Remove solid background colors from images and videos and graphics effortlessly.

👻 Overlay Opacity Controls

  • Added fine-tuned opacity controls for all overlay layers.
  • Adjust transparency levels to blend layers, add subtle watermarks, or create transparency effects.

🪞 Mirroring Controls

  • Added a mirror functionality for both the main video track and overlay elements.
  • Quickly flip video clips and overlay graphics horizontally or vertically.

🛠 Minor Improvements & Maintenance

✍️ Improved Text Overlays

  • Refactored the text overlay tool with expanded formatting options for better styling, layout control, and readability.

🖼️ Redesigned Empty Project State

  • Redesigned the empty project state UI for a cleaner and more intuitive initial workflow when creating a new project.

🔄 Rotation-Safe Exports

  • Fixed export crashes caused by screen orientation changes during rendering.

⚡ Speed Modifier & Aspect Ratio Rendering Fixes

  • Resolved bugs affecting the speed modifier logic.
  • Improved media frame scaling and aspect ratio rendering during previews and final exports.

🤝 Community Spotlight

A huge thank you to everyone who reported bugs, translated LibreCuts through Weblate, opened feature requests, and contributed valuable feedback. Every report and suggestion helps make LibreCuts faster, more stable, and more enjoyable for everyone.


🐛 Known Limitations

If a crash occurs during processing, LibreCuts will display a custom error dialog containing an authorization code to assist with troubleshooting.

LC-101 / LC-301

Heavy 4K timelines or extremely high-bitrate exports may still encounter memory limitations on devices with limited RAM or lower-end processors.

Timeline Scrolling Black Screen (#29)

On certain devices, aggressively scrolling through large timelines may still temporarily cause the preview surface to become black due to Android hardware decoder limitations.

This issue has been significantly improved through memory management refactoring, but a complete fix is still being worked on.

Preview Synchronization

The preview player prioritizes smooth real-time editing over perfect rendering accuracy.

During playback you may notice:

  • Minor audio desynchronization
  • Small frame drops
  • Brief stutters
  • Some transitions appearing as hard cuts
  • Overlay animations appearing less smooth than the final render

These limitations affect preview playback only. Exported videos remain fully rendered, frame-accurate, and correctly synchronized.


📖 Error Codes & Troubleshooting

Detailed explanations for error codes and troubleshooting steps are available in the GitHub Wiki:

https://github.com/tharunbirla/LibreCuts/wiki/Error-Codes-&-Troubleshooting

v1.0-beta5

Choose a tag to compare

@tharunbirla tharunbirla released this 18 Jul 11:36

🚀 LibreCuts Beta (Fifth Release)

Welcome to the latest official beta build of LibreCuts — free, open source, and built for limitless creativity.

⚠️ Note: This is the Fifth Beta Release (1.0-beta5). This release focuses on major editor improvements, export enhancements, memory optimizations, and privacy improvements. Also added several highly requested features and resolved numerous issues reported by the community. As always, please report any bugs or unexpected behavior you encounter.


✨ Major Improvements & Fixes

🌐 App Language Selector

  • Added a native Material BottomSheet language selector in Settings.
  • Switch the application language dynamically without reinstalling the app.

🎵 Audio-Only MP3 Export

  • Added a new MP3 export option.
  • Export only the audio track from your project without rendering a video.

📸 Snapshot / Frame Grab

  • Added the ability to capture the current video frame directly from the editor.
  • Easily save high-quality still images from any point in your timeline.

⚡ Custom Playback Speed

  • Replaced preset speed options with a smooth speed slider.
  • Fine-tune clip playback speed with greater precision.

🔁 Overlay Looping

  • GIF and video overlays can now loop continuously throughout their duration on the timeline.

🚀 Smarter FFmpeg Rendering

  • Added an automatic hardware encoding fallback.
  • If h264_mediacodec fails on a device, LibreCuts will seamlessly switch to libx264 software encoding instead, preventing export failures on unsupported hardware.

🧹 Leaner Application Architecture

  • Removed all remaining Jetpack Compose dependencies.
  • LibreCuts now fully relies on the traditional XML View system, reducing build size and simplifying the dependency tree.

💾 Memory & Stability Improvements

  • Fixed several memory leaks during editing and preview playback.
  • Improved frame extraction and decoder lifecycle management.
  • Better resource cleanup significantly reduces crashes on long editing sessions.

⏳ Improved Loading Experience

  • Refactored loading state management throughout the editor.
  • Loading indicators are now smoother and more reliable during project operations.

🛠 Minor Improvements & Maintenance

🌍 Localization

  • Updated numerous translations through Weblate, including significant improvements for German and Estonian.
  • Removed incomplete Hindi and Tamil translations until they are fully translated.

🗑️ Safer Deletion

  • Added confirmation dialogs before deleting clips or overlay layers to help prevent accidental data loss.

🔒 Better Privacy

  • Removed the Android INTERNET permission.
  • The Check for Updates button now simply opens the GitHub Releases page in your browser, allowing LibreCuts to remain fully offline.

🎨 Better Export Compatibility

  • Standard video exports now enforce the yuv420p pixel format for improved compatibility across media players and devices.

📦 F-Droid Compliance

  • Updated the wording and behavior of the Check for Updates button to fully comply with F-Droid guidelines.

🤖 CI/CD Improvements

  • Added GitHub Actions workflows to automatically synchronize GitHub issues with Discord forum channels.
  • Improved issue labeling and automation payloads for project maintenance.

🤝 Community Spotlight

A huge thank you to everyone who reported bugs, translated LibreCuts through Weblate, opened feature requests, and contributed valuable feedback. Every report and suggestion helps make LibreCuts faster, more stable, and more enjoyable for everyone.


🐛 Known Limitations

If a crash occurs during processing, LibreCuts will display a custom error dialog containing an authorization code to assist with troubleshooting.

LC-101 / LC-301

Heavy 4K timelines or extremely high-bitrate exports may still encounter memory limitations on devices with limited RAM or lower-end processors.

Timeline Scrolling Black Screen (#29)

On certain devices, aggressively scrolling through large timelines may still temporarily cause the preview surface to become black due to Android hardware decoder limitations.

This issue has been significantly improved through memory management refactoring, but a complete fix is still being worked on.

Preview Synchronization

The preview player prioritizes smooth real-time editing over perfect rendering accuracy.

During playback you may notice:

  • Minor audio desynchronization
  • Small frame drops
  • Brief stutters
  • Some transitions appearing as hard cuts
  • Overlay animations appearing less smooth than the final render

These limitations affect preview playback only. Exported videos remain fully rendered, frame-accurate, and correctly synchronized.


📖 Error Codes & Troubleshooting

Detailed explanations for error codes and troubleshooting steps are available in the GitHub Wiki:

https://github.com/tharunbirla/LibreCuts/wiki/Error-Codes-&-Troubleshooting

v1.0-beta4

Choose a tag to compare

@tharunbirla tharunbirla released this 12 Jul 06:06

🚀 LibreCuts Beta (Fourth Release)

Welcome to the next official beta build of LibreCuts! Free. Open source. Limitless. Creativity.

⚠️ Note: This is the Fourth Beta Release (1.0-beta4). This update introduces highly anticipated audio mixing tools, dynamic sticker integration, a dedicated configuration hub, and major UI polishing. Please report any issues you encounter.


✨ Major Improvements & Fixes

  • Advanced audio mixing, voiceovers, and fading:
    • Implemented an in-app voiceover recording feature to layer commentary directly over your timeline.
    • Added smart audio ducking to automatically lower background music when dialogue or voiceovers play.
    • Added native audio fade-in and fade-out capabilities for smoother transitions.
  • Dynamic stickers and enhanced visual styling:
    • Added full stickers integration to bring more personality and context to your video projects. Stickers from.
    • Improved the overall UI visual styling, making the timeline interface cleaner and more intuitive to navigate.
  • Dedicated settings and underlying refinements:
    • Introduced a brand-new Settings Page for personalized application configurations.
    • Fixed the FFmpeg progress calculation engine to ensure accurate percentage tracking during exports.

🤝 Community Spotlight

A huge thank you to everyone opening issues for reporting bugs and feature. LibreCuts grows stronger because of the open-source community.


🐛 Known Limitations

If a crash occurs mid-processing, a customized error window will intercept the failure and display an authorization code:

  • LC-101 / LC-301: Heavy 4K timelines or high-bitrate outputs may trigger memory bottlenecks or execution drops depending on hardware constraints.
  • Timeline Scrolling Black Screen (#29): On certain devices (like the OnePlus 15 running Android 16), scrolling heavily through media files on the timeline can cause the video rendering to go completely black while displaying CCodecConfig (BAD_INDEX) logs. This happens because the media player's surface lifecycle is currently holding onto hardware video decoders without releasing them, hitting concurrent decoder limits. A fix for managing the lifecycle release properly during scrolling is underway.
  • Preview Synchronization: The real-time preview player is designed to give you a quick approximation of your edits. When playing back chopped clips, reordered segments, or overlays, you may notice slight audio desyncs, micro-stutters, or transitions appearing as hard cuts. This is completely normal; rest assured that your final exported video will be perfectly synced, frame-accurate, and fully rendered.

Find more about error tracking here.

v1.0-beta3

Choose a tag to compare

@tharunbirla tharunbirla released this 05 Jul 09:20

🚀 LibreCuts Beta (Third Release)

Welcome to the next official beta build of LibreCuts! Free. Open source. Limitless. Creativity.

⚠️ Note: This is the Third Beta Release (1.0-beta3). This update introduces advanced color and video adjustments, rich multi-media overlays, and powerful new timeline workflow utilities. Please report any issues you encounter.


✨ Major Improvements & Fixes

  • Enhanced visual adjustments, color filters, and reverse playback:
    • Implemented core video adjustment features (brightness, contrast, saturation, etc.).
    • Added color filters with real-time visual filter previews.
    • Added native video reverse playback functionality.
  • Rich multi-media overlays, custom cropping, and freeze frames:
    • Added support for rendering GIF and video overlays directly in ImageOverlayView.
    • Implemented custom cropping support via CropOverlayView.
    • Added quick actions for overlay duplication and creating freeze frames on the timeline.
  • Smarter timeline workflow, segment rearrangement, and audio controls:
    • Implemented drag-to-rearrange functionality for intuitive video segment sequencing.
    • Added magnetic timeline snapping functionality.
    • Added the ability to completely mute the original video audio.
  • Export refinements, F-Droid readiness, and stability fixes:
    • Fixed the export directory issue (#19).
    • Fixed the export screen by adding a dedicated cancel button.
    • Configured dynamic versionCode for F-Droid build compatibility.

🤝 Community Spotlight

A huge thank you to everyone opening issues for reporting bugs and feature. LibreCuts grows stronger because of the open-source community.


🐛 Known Limitations

If a crash occurs mid-processing, a customized error window will intercept the failure and display an authorization code:

  • LC-101 / LC-301: Heavy 4K timelines or high-bitrate outputs may trigger memory bottlenecks or execution drops depending on hardware constraints.
  • Preview Synchronization: The real-time preview player is designed to give you a quick approximation of your edits. When playing back chopped clips, reordered segments, or overlays, you may notice slight audio desyncs, micro-stutters, or transitions appearing as hard cuts. This is completely normal rest assured that your final exported video will be perfectly synced, frame-accurate, and fully rendered.

Find more about error tracking here.

v1.0-beta2

Choose a tag to compare

@tharunbirla tharunbirla released this 01 Jul 12:24

🚀 LibreCuts Beta (Second Release)

Welcome to the next official beta build of LibreCuts! Free. Open source. Limitless. Creativity.

⚠️ Note: This is the Second Beta Release (1.0-beta2). This update brings hardware acceleration to the forefront, introduces full SRT subtitle customization, and refines timeline precision. Please report any issues you encounter.


✨ Major Improvements & Fixes

  • Added SRT subtitles support, layer reordering, and direct sharing feature:
    • Enabled full SRT subtitle rendering with interactive resizing and positioning controls directly on the preview canvas.
    • Added layer reordering capabilities, allowing users to seamlessly move text and image overlays up or down in the timeline stack.
    • Introduced direct video sharing support, allowing you to open and import videos instantly into LibreCuts from external apps.
  • Redesigned time ruler, playhead controls, and upgraded encoding performance:
    • Redesigned the time ruler and playhead mechanics from the ground up for enhanced scrubbing precision.
    • Switched the rendering pipeline to hardware-accelerated video encoding for significantly faster export times and reduced CPU overhead.
    • Boosted maximum audio gain limits up to 200% for low-volume source clips.
  • Added enhanced transition effects and onboarding experience:
    • Added transition effects between merged video segments, complete with real-time visual preview animations.
    • Integrated a one-time onboarding welcome dialog to greet new users and provide direct access to community links and wiki support.
  • Refined UI toolbars and general workflow fixes:
    • Overhauled editing toolbars to include much-requested cancel actions alongside general minor stability fixes.

🤝 Community Spotlight

A special thanks to @Keyaku for the incredible contributions to this project! LibreCuts grows stronger because of the open-source community.


🐛 Known Limitations

If a crash occurs mid-processing, a customized error window will intercept the failure and display an authorization code:

  • LC-101 / LC-301: Heavy 4K timelines or high-bitrate outputs may trigger memory bottlenecks or execution drops depending on hardware constraints.
  • LC-201: Ensure you grant full Storage/Media Permissions upon launching the app so the asset engine can read local video paths cleanly.
    ** Preview Synchronization: The real-time preview player is designed to give you a quick approximation of your edits. When playing back chopped clips, reordered segments, or overlays, you may notice slight audio desyncs, micro-stutters, or transitions appearing as hard cuts. This is completely normal rest assured that your final exported video will be perfectly synced, frame-accurate, and fully rendered.

Find more about error tracking here.

v1.0-beta1

Choose a tag to compare

@tharunbirla tharunbirla released this 15 Jun 21:38

🚀 LibreCuts Beta (First Release)

Welcome to the first official beta build of LibreCuts! Free. Open source. Limitless. Creativity.

⚠️ Note: This is the First Beta Release (1.0-beta1). Core rendering flows have been stabilized and timeline aesthetics have been refined. Please report any issues you encounter.


📦 System Requirements & Technical Specifications

  • Target Environment: Android 14 (API Level 34)
  • Minimum Compatibility: Android 8.0 (API Level 26)
  • Build Base: Compiled using Gradle 8.7.1 with Kotlin 1.9.22/Java 17 compatibility.
  • Core Dependency: Bundled with localized ffmpeg-kit.aar processing binaries.

✨ Major Improvements & Fixes

  • Added transition effects feature and other enhancements:
    • Resolved critical issues where video transitions resulted in black screens or visual glitching on Android devices.
    • Outputs are now explicitly encoded in the standard yuv420p pixel format to ensure full compatibility with Android hardware decoders.
    • Standardized audio/video PTS timestamps (asetpts=PTS-STARTPTS, setpts=N) and interleaving logic during stream concatenation.
    • Overhauled the timeline UI. Transition buttons now overlay directly on top of the seams where clips connect on the timeline rather than creating gaps, restoring a continuous and professional layout.
  • Improved audio feature, UI toolbars and video selection feature:
    • Refined timeline audio track controls, toolbar UI layouts, and selection states for a smoother editing workflow.
  • Added video speed adjustment feature with FFmpeg proxy generation and UI controls:
    • Enabled precision playback speed adjustments for individual clips with synchronous audio scaling (atempo) and proxy rendering.

🐛 Known Limitations

If a crash occurs mid-processing, a customized error window will intercept the failure and display an authorization code:

  • LC-101 / LC-301: Heavy 4K timelines or high-bitrate outputs may trigger memory bottlenecks or execution drops depending on hardware constraints.
  • LC-201: Ensure you grant full Storage/Media Permissions upon launching the app so the asset engine can read local video paths cleanly.

Find more about error tracking here.

Pre-release

Pre-release Pre-release
Pre-release

Choose a tag to compare

@tharunbirla tharunbirla released this 13 Jun 15:46

🚀 LibreCuts Beta (Pre-release)

Welcome to the first beta build of LibreCuts! Free. Open source. Limitless. Creativity.

⚠️ Note: This is a Pre-release (Beta) build. While core functionalities are operational, you may encounter stability fluctuations or edge case bugs. Please report any issues.


📦 System Requirements & Technical Specifications

  • Target Environment: Android 14 (API Level 34)
  • Minimum Compatibility: Android 8.0 (API Level 26)
  • Build Base: Compiled using Gradle 8.5 with standard ProGuard optimization flags enabled.
  • Core Dependency: Bundled with localized ffmpeg-kit.aar processing binaries.

🐛 Known Limitations

If a crash occurs mid-processing, a customized error window will intercept the failure and display an authorization code:

  • LC-101 / LC-301: Heavy 4K timelines or high-bitrate outputs may trigger memory bottlenecks or execution drops depending on hardware constraints.
  • LC-201: Ensure you grant full Storage/Media Permissions upon launching the app so the asset engine can read local video paths cleanly.

Find more about error tracking here.