diff options
Diffstat (limited to 'apps/web/src/changelog')
| -rw-r--r-- | apps/web/src/changelog/entries/0.4.0.md | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/apps/web/src/changelog/entries/0.4.0.md b/apps/web/src/changelog/entries/0.4.0.md index 141df133..8d9e32da 100644 --- a/apps/web/src/changelog/entries/0.4.0.md +++ b/apps/web/src/changelog/entries/0.4.0.md @@ -1,19 +1,35 @@ --- -version: "0.3.0" -date: "2026-03-04" -published: false -title: "Title" -description: "Description" +version: "0.4.0" +date: "2026-07-30" +published: true +title: "Desktop app, native exports & fully static web" +description: "OpenCut is now a real desktop app for Linux with native ffmpeg-powered exports, and the web version runs anywhere as plain static files — no server, no account, no backend." +summary: "Linux desktop app (AppImage, deb, rpm), native x264/VP9 exports, static web build, project versioning, .ocp files, voice-over." changes: -- type: new - text: "Layout guides are back and expanded. TikTok was the only option before. Now includes a grid guide plus TikTok, Instagram Reels, YouTube Shorts, and Snapchat Spotlight." -- type: new - text: "Two new mask types: text and custom (draw any shape with the pen tool using bezier curves). Both support feather, invert, and stroke." -- type: fixed - text: "Preview panning now keeps working while the Masks tab is open." -- type: new - text: "Audio clips have a horizontal volume line you can drag up or down to change volume. The line position reflects the current volume setting and is consistent across clips: same dB always means the same position." -- type: improved - text: "Audio waveforms now show the actual shape of the audio. Quiet parts are visible, loud parts are tall, and any bar that peaks above 0 dBFS gets a colored tip at the top." -- type: fixed - text: "Trimming or cutting an audio clip no longer causes the waveform to compress or show the wrong section of audio."
\ No newline at end of file + - type: new + text: "Desktop app for Linux. The full editor as a self-contained native app, distributed as AppImage, .deb, and .rpm. Download, run, edit — no browser required." + - type: new + text: "Native export engine in the desktop app. Exports are encoded by a bundled ffmpeg with libx264 (H.264) and libvpx-vp9 (VP9) on a proper quality ladder, instead of the browser's built-in encoder. MP4 exports now actually hit the quality you picked." + - type: fixed + text: "Browser MP4 exports silently undershot the selected bitrate — 'high quality' came out at a fraction of the intended bitrate. The desktop app's native encoder honors it, and colors are now correctly tagged as BT.709." + - type: new + text: "The web version is now a fully static site. No server, no database, no signup — it can be hosted anywhere as plain files, and everything still lives locally in your browser." + - type: new + text: "Project versioning. Create named checkpoints of a project, and restore any of them later — restoring first creates a safety checkpoint of the current state. Media files are pinned per version." + - type: new + text: "Single-file projects. Export an entire project — timeline, settings, and all media — as one .ocp file, and import it back anywhere." + - type: new + text: "Voice-over recording. Record from your microphone straight onto the timeline at the playhead." + - type: new + text: "Freeze frame. One click captures the current frame at the playhead and inserts it as a still." + - type: improved + text: "Video clips in the timeline now render real per-position thumbnails that adapt their density to the zoom level." + - type: improved + text: "Ripple-extend: dragging the edge of a static element (image, text, freeze still) past its neighbor pushes the whole chain of clips after it, instead of stopping at the boundary." + - type: improved + text: "Export encoding is frame-rate aware when computing bitrate, and keyframes are placed every 2 seconds for smoother scrubbing in players." + - type: technical + text: "The backend is gone. Authentication, database, rate limiting, and the blog were dead weight — the editor was already fully client-side on IndexedDB, so the entire server surface was deleted. `next build` now emits a static export with zero environment variables." + - type: technical + text: "The desktop shell is Electron serving the static web build over a privileged `opencut://` protocol. Exports stream raw frames over IPC to a bundled ffmpeg with full backpressure, so memory stays flat regardless of project length." +--- |
