Download Latest Version Concat-0.2.8-windows-x86_64-setup.exe (86.6 MB) Google Add to Preferred Sources
Home / v0.2.8
Name Modified Size InfoDownloads / Week
Parent folder
Concat-0.2.8-aarch64.AppImage 2026-10-19 121.3 MB
Concat-0.2.8-android-arm64.apk 2026-10-19 78.2 MB
Concat-0.2.8-ios-arm64.ipa 2026-10-19 76.5 MB
Concat-0.2.8-linux-aarch64.deb 2026-10-19 138.8 MB
Concat-0.2.8-linux-aarch64.pkg.tar.zst 2026-10-19 126.1 MB
Concat-0.2.8-linux-aarch64.rpm 2026-10-19 137.7 MB
Concat-0.2.8-linux-x86_64.deb 2026-10-19 154.8 MB
Concat-0.2.8-linux-x86_64.pkg.tar.zst 2026-10-19 139.3 MB
Concat-0.2.8-linux-x86_64.rpm 2026-10-19 153.9 MB
Concat-0.2.8-macos-arm64.dmg 2026-10-19 64.4 MB
Concat-0.2.8-macos-x86_64.dmg 2026-10-19 100.3 MB
Concat-0.2.8-windows-x86_64-setup.exe 2026-10-19 86.6 MB
Concat-0.2.8-windows-x86_64.msi 2026-10-19 106.0 MB
Concat-0.2.8-x86_64.AppImage 2026-10-19 137.9 MB
manifest.json 2026-10-19 25.1 kB
SHA256SUMS 2026-10-19 1.4 kB
Concat v0.2.8 source code.tar.gz 2026-10-19 21.4 MB
Concat v0.2.8 source code.zip 2026-10-19 22.0 MB
README.md 2026-10-19 10.4 kB
Totals: 19 Items   1.7 GB 2,133

Concat 0.2.8

What changed

  • πŸ› No effect cards are drawn on a software adapter, which froze CI's API 30 emulator
  • πŸ› On Windows the lock covers one far byte, so a refused process can read who holds the folder (#337)
  • ✨ The Audio page's Concat shelf - CC0 sounds from the assets repository, fetched when asked (#60)
  • ✨ Voices on the Audio page - saved clones, the models' speakers and styles (#60)
  • πŸ–₯️ A home page - create row, a poster grid with search and sort, and learn-and-community cards
  • ✨ An Audio page with the user's own sounds, kept across projects (#60)
  • πŸ› One process at a time on a project folder - the window, concat --mcp and the CLI lock what they open (#337)
  • ✨ An Adjustments sheet beside Filters, and a layer's Adjust and Effects (#249)
  • ✨ An Adjustments page - an adjustment layer, and the LUTs, imported there now and no longer on Filters (#249)
  • πŸ› A layer laid without a lane goes over the picture, not under it (#249)
  • ✨ Masks, stabilization, fit and fill, backgrounds and laying clips end to end as tools (#337)
  • πŸ› Stabilization and backgrounds are in the schema, a job's status names the stabilize stage, and the CLI's server lists nothing (#337)
  • ✨ concat --mcp serves agents from the shipped app, and Automation lists itself for it (#337)
  • ✨ Concat-mcp, the Concat API as typed tools for AI agents over MCP stdio (#337)
  • πŸ€– The window's server lists itself for local callers, and a blocking client for it (#337)
  • πŸ€– A JSON Schema for every request and edit command, generated from the types (#337)
  • βš™οΈ Automation waits for a strong token and stops without freezing (#337)
  • πŸ€– A caller holds nothing until it is in, weak tokens are refused, wrong ones wait, and a stop cancels first (#337)
  • ✨ The transcribe switch sits under the script and says what it does
  • πŸ–₯️ Enhance's Size is a dropdown
  • πŸ—£οΈ The voice picker shows who each voice is, and ends in Clone from a sample
  • ✨ Mask is a tool of its own, a sheet of shape tiles and sliders (#239)
  • ✨ A clip keeps a shape of its picture - line, mirror, circle, rectangle, heart or star - feathered, inverted and keyed (#239)
  • βœ‚οΈ A dragged clip snaps by its end as well as its start, and never to itself
  • βœ‚οΈ The tray's Captions, Text to speech and Voiceover buttons toggle their panels
  • πŸ› Several selected cards go onto the timeline together, end to end on one lane
  • πŸ“± Video decodes on MediaCodec, which it never did
  • πŸ“ A packet the codec refuses while full is sent again, not dropped
  • βš™οΈ The Automation page in the settings' own style
  • πŸ› The SRT export's notices name their keys where they are used (#281)
  • πŸ› A stroke painted on a stabilized clip lands where the brush was (#253)
  • πŸ–₯️ A Stabilize section under Video, with Smoothness, Max zoom and Tripod (#253)
  • πŸ€– An export measures stabilized clips first, and says how far it has got (#253)
  • ✨ The stabilization analysis, one media at a time, only over the source clips show (#253)
  • ✨ A stabilized clip is drawn through its correction, on the monitor and in the export alike (#253)
  • ✨ Measure a camera's shake and work out the steadying correction (#253)
  • πŸ–₯️ The background is a clip's Canvas with Apply to all, as in CapCut, not a Details group
  • ✨ Captions and Text to speech float over the editor on a desk
  • πŸ› SubRip on phones, a named and unique export, and the captions' lane (#281)
  • πŸ› A batch volume sets each clip's level, not a key at the playhead (#219)
  • πŸ–₯️ Background and Fit and Fill on the desk and a Canvas sheet on the phone (#232, [#255])
  • ✨ A background behind the main picture, and Fit and Fill (#232, [#255])
  • βœ‚οΈ Delete left and Delete right are buttons on the timeline's toolbar, as in CapCut (#400)
  • πŸ› Rational::parse refuses a value past i64 instead of panicking
  • 🌍 The merge strings and the interface scale in Indonesian
  • πŸ› Space and the playhead move a take and its picture together, and an iPhone records (#213)
  • πŸ—£οΈ The tick turns Enhance on; a button runs it, and stops it
  • 🌍 The Shortcuts page and Delete Left/Right in all 25 languages
  • βœ‚οΈ Q and W delete left and right of the playhead, as in CapCut (#400)
  • βš™οΈ A Shortcuts tab that lists every keybind and lets you set one (#400)
  • βœ‚οΈ Q and E cut the selected clip at the playhead
  • 🌍 The level meters' button in all 25 languages
  • ✨ A frame back and a frame on beside Play, held to repeat (#244)
  • ✨ The lanes glide after a throw, pinch to zoom, and a tap selects without seeking (#350, [#243], [#221])
  • πŸ–₯️ A fresh window opens with the inspector down the whole right side
  • βœ‚οΈ The VU meters sit at the timeline's right edge, with a tray button to show or hide them
  • 🌍 Today's new lines in all 25 languages
  • ✨ Record Voiceover opens a floating panel with pause, retake, a meter and a teleprompter (#213)
  • πŸ–₯️ Audio effects get their own page beside Audio's Basic
  • ⚑ Transcription runs AVX2 kernels again on CPUs that have them, and still starts on a Sandy Bridge (#388)
  • πŸ“± Import opens Photos or Files, and Files shows the app's Documents (#332)
  • πŸ› Intel Macs open on macOS 12 again, and the AI features say what they need (#372, [#333], [#342])
  • πŸ—£οΈ Size, Strength and a one-frame preview before the whole run
  • βš™οΈ Interface scale multiplies the display's scale, not replaces it (#320)
  • πŸ–₯️ A launch that dies while starting is followed by one that draws in software (#339, [#378], [#389], [#242])
  • πŸ› A project that cannot be saved asks to quit without saving, not traps the window (#375)
  • βœ‚οΈ Ctrl+B splits the selected clip, not every track under the playhead
  • πŸ› A wide caption aligned left or right is drawn whole, not cut at its far end
  • πŸ› Background removal and Chatterbox no longer ask a CPU runtime for DirectML (#399)
  • πŸ› A project the app closed in while removing a background opens again
  • ✨ Effects and transitions draw on OpenGL ES, whose uniforms come in whole 16 bytes
  • ✨ CONCAT_GPU=software draws the window on the software rasteriser (#389, [#242])
  • πŸ“± An import whose provider revokes access is skipped, not a crash
  • πŸ› Cancel is a cancel, not a failure, and whisper leaves room for playback (#388)
  • πŸ“± A phone without Vulkan opens the app on OpenGL ES instead of closing it
  • ✨ Halation is red-orange again, and it and Corona are built-ins by name
  • πŸ› Preserve short imported subtitle timings
  • ✨ Adjust volume for selected sound clips together
  • πŸ–₯️ Remember the last successful project location between launches
  • ✨ The captions sheet imports and exports SubRip files
  • ✨ SubRip subtitles read into cues and written from a lane of titles
  • πŸ“ A variable-rate average too heavy to keep exactly is rounded, not dropped for the timestamp grid
  • πŸ› The window no longer crashes on its first frame of text
  • πŸ› The xkbcommon core library ships beside the module that drives it, so X11 opens
  • πŸ› Preserve project saves across concurrent writes and failed closes
  • πŸ› A folder dialog opens on a folder that exists (#331)
  • 🌍 Translate the 41 lines still in English
  • ✨ Add Corona and Halation custom effects
  • πŸ“€ One bitrate field instead of three cards, and the resolution a fact, not a menu
  • πŸ“€ A bitrate, not a quality tier: Higher, Recommended, Lower or typed, and a size that is the size written
  • πŸ–₯️ New project asks a phone for no location
  • πŸ–₯️ New project's frame rate is a dropdown, not twelve buttons
  • πŸ–₯️ Escape closes the sheet on top
  • πŸ–₯️ The Export sheet stays inside a phone's bars, and New Project's sizes wrap (#353, [#356])
  • πŸ“ No "Apply to all" in the Text inspector
  • βš™οΈ The dropdowns first, the switches under them
  • βš™οΈ Language and Log level are a title with its dropdown at the far end
  • πŸ› A window that opens larger than its screen is maximised, so it can be reached and moved (#347)
  • πŸ–₯️ Settings fits a phone: the whole screen, its pages as tabs, every model row whole (#354, [#355])
  • βš™οΈ "Remote" is "Automation", and its section "Scripts and apps"
  • βš™οΈ Proxies are a switch, off by default, as in CapCut
  • πŸ› Captions and titles in Thai, Arabic, Hindi, Bengali, Korean and the rest draw their words, not boxes
  • πŸ“± The app no longer closes when dark mode, the font size or the language changes
  • 🌍 Effects, filters and transitions read in English, and the locales hold only the interface (#364)
  • πŸ› Centre overlap transitions on the cut
  • ✨ Add Fade to Black and Fade to White transitions
  • ✨ Apply caption style to all titles on its track
  • ✨ Consolidate selected video clips through rendered media
  • βœ‚οΈ A copy of a split clip shows the frames it was copied from (#335)
  • πŸ› The window's text is drawn with ClearType when the desk has it on
  • βš™οΈ The scale row is the desk's, not the phone's
  • βš™οΈ An interface scale, for a larger screen
  • ✨ A transcription's and a read's bar moves through each stage and says how long is left
  • ✨ A native crash writes what it was and where to the log, and every log starts with the machine it ran on (#326)

Before you install

  • Windows: this release is not code-signed yet. SmartScreen asks before it runs: More info β€Ί Run anyway. Where Smart App Control is on, Windows refuses unsigned programs; see the code signing policy.
  • Android: no automated check has started this APK: CI's emulators run x86_64 and it is built for arm64. If it does not open on your phone, say so.
  • Phones without Vulkan: the OpenGL ES path is new and has only run on an emulator, not on a real phone.
  • Blurred backgrounds on Windows: tested on Windows' software renderer only, not yet on a real graphics card.

Download

A self-contained build for every platform Concat ships on.

Apple silicon Intel / x86_64 arm64
macOS macos-arm64.dmg macos-x86_64.dmg
Windows windows-x86_64-setup.exe, .msi
Linux linux-x86_64.deb, .rpm, x86_64.AppImage linux-aarch64.deb, .rpm, aarch64.AppImage
Android android-arm64.apk
iOS / iPadOS ios-arm64.ipa

SHA256SUMS lists each file's checksum.

Source: README.md, updated 2026-10-19