Download Latest Version Concat-0.2.8-windows-x86_64-setup.exe (86.6 MB) Google Add to Preferred Sources
Home / v0.2.7
Name Modified Size InfoDownloads / Week
Parent folder
Concat-0.2.7-aarch64.AppImage 2026-10-13 118.4 MB
Concat-0.2.7-android-arm64.apk 2026-10-13 72.2 MB
Concat-0.2.7-ios-arm64.ipa 2026-10-13 70.2 MB
Concat-0.2.7-linux-aarch64.deb 2026-10-13 135.3 MB
Concat-0.2.7-linux-aarch64.pkg.tar.zst 2026-10-13 123.4 MB
Concat-0.2.7-linux-aarch64.rpm 2026-10-13 134.2 MB
Concat-0.2.7-linux-x86_64.deb 2026-10-13 146.5 MB
Concat-0.2.7-linux-x86_64.pkg.tar.zst 2026-10-13 134.6 MB
Concat-0.2.7-linux-x86_64.rpm 2026-10-13 145.7 MB
Concat-0.2.7-macos-arm64.dmg 2026-10-13 61.2 MB
Concat-0.2.7-macos-x86_64.dmg 2026-10-13 83.8 MB
Concat-0.2.7-windows-x86_64-setup.exe 2026-10-13 84.8 MB
Concat-0.2.7-windows-x86_64.msi 2026-10-13 102.0 MB
Concat-0.2.7-x86_64.AppImage 2026-10-13 130.8 MB
manifest.json 2026-10-13 25.1 kB
SHA256SUMS 2026-10-13 1.4 kB
Concat v0.2.7 source code.tar.gz 2026-10-13 20.4 MB
Concat v0.2.7 source code.zip 2026-10-13 21.0 MB
README.md 2026-10-13 6.5 kB
Totals: 19 Items   1.6 GB 176

Concat 0.2.7

What changed

  • πŸ› An export from the window draws on a device of its own on Vulkan, so it no longer loses the GPU part way through (#324)
  • πŸ–₯️ An event loop that could not run says why, and the process exits 1
  • πŸ“€ A phone's encoder that says "try again" is waited for, frame by frame and at the end (#286)
  • πŸ› A closing app ends with _exit, so v0.2.7-rc.2's arm64 bundle no longer segfaults on its way out
  • ✨ A "Use voice from timeline" switch in the Generate Captions sheet (#302)
  • πŸ› No DXC in 0.2.7, and the GPU suites that drew for minutes on WARP skip there (#297)
  • πŸ› Shaders compile through DXC, not FXC, so a blur or a glow no longer stalls an export; and no Microsoft Store (#297)
  • πŸ–₯️ A dropdown's list scrolls under a finger, not only by its scrollbar
  • βœ‚οΈ Generate captions on a sounding clip's right-click menu (#302)
  • πŸ› The installer speaks the app's languages
  • 🌍 The app speaks 25 languages, the same 25 its READMEs are in, and every script has a face to fall back on
  • 🌍 Arabic, Hebrew, Urdu, Ukrainian, Dutch and Polish
  • 🌍 The check prints on a Windows console, and counts the lines still in English
  • πŸ–₯️ New projects on an iPhone, a second Untitled project, a click that moved a clip, Detach that said nothing, and no dialog under the studio borrow (#299, [#151], [#247], [#310], [#283])
  • πŸ“± Settings, logs and caches live where an iPhone app may write (#299)
  • πŸ–₯️ The section strip's highlight follows the section shown (#250)
  • πŸ–₯️ A title's words field follows the clip that is selected, and a blur writes only to the clip it was typed for (#139)
  • πŸ› A timeline with more titles than the cache held is painted once, not every frame (#261)
  • πŸ—£οΈ A voice the GPU cannot read is read again on the CPU (#291)
  • ✨ An export that the GPU stops answering ends instead of freezing, and a phone's GPU draws with the limits it has (#297, [#312])
  • πŸ“ Opening the app opens no hardware encoder, so a CUDA driver cannot crash it before the window (#309)
  • ✨ Open a GUI project with --project on launch
  • 🌍 BUILT_IN holds 16 locales, and the README counts them
  • 🌍 Add the Vietnamese locale (#304)
  • 🌍 Add Bengali (bn) translation (1016 strings)
  • 🌍 Register Bengali (bn) in BUILT_IN locale table
  • βœ‚οΈ The add-track menu's rows take their clicks
  • ✨ A ruler with ticks and numbers, wider bars, the clip light over the bars, a peak readout
  • βœ‚οΈ Copy and paste a selection, between timelines too, as one undo step
  • πŸ“€ The sheet asks before replacing a file, refuses a name that is not a file's, and no dialog opens under the studio borrow
  • πŸ“€ An export never leaves a broken file, and nothing a document says can panic the GPU
  • πŸ“ The CJK fallback face covers every character the locales use
  • πŸ› Text sits on whole pixels on a low-density screen
  • βœ‚οΈ A detached sound is a clip of its own, and goes where it is dragged
  • πŸ“ Chinese and Korean have a face to fall back on, and the setup speaks them
  • πŸ› A still keeps its own shape, instead of being stretched across the frame
  • πŸ“ Colour emoji render in their own colours, not the words'
  • πŸ“± A finished export goes into the phone's Movies, where the gallery shows it
  • πŸ“€ The folder the file goes in is made, and a phone's sheet has no Browse
  • Update Japanese translations
  • ✨ VU meters beside the timeline, so you can see how loud it plays
  • ✨ A preset card shows a word of its own writing, not "Aa"
  • πŸ› Languages sits beside Styles on the Text page, not under it
  • ✨ The Text page's Presets shelf is Styles, with Languages under it
  • πŸ“ A searchable font picker that says when a font is missing
  • πŸ“ Base fonts every title can use, and presets that are data
  • ✨ A click previews a file without putting it on the timeline
  • βœ‚οΈ A click anywhere on the timeline sends the playhead there
  • ✨ Record from the microphone over the picture, onto the timeline
  • ✨ Effects drops its category pills, and reload is a square before the search
  • πŸ› The AppImage carries the X11 keyboard library, so it opens where that is missing
  • βœ‚οΈ A clip never lands on top of another
  • πŸ› Read what is held under the queued lock, so nothing is queued twice
  • πŸ› The run-on clock reads one word, so a torn read cannot step back
  • πŸ› A frame that raises a toast publishes it during playback
  • πŸ› Open the file a cut leads to once, not once a frame
  • πŸ› A checked rate is judged in lowest terms
  • πŸ› Let AMF make ten-bit HEVC, as Main 10
  • ⚑ Decode the full window ahead and open the next cut early
  • ⚑ Keep the queue while playback runs on
  • ⚑ Leave the font list alone when no font changed
  • ⚑ Publish only the picture for a frame during playback
  • ⚑ Ask for each frame on time during playback
  • ⚑ Carry the clock between the device's buffers
  • ⚑ Count how smoothly playback's frames arrive
  • πŸ€– A method that panics fails that call, not the API
  • πŸ“€ A frame rate no video has is an error, not a panic
  • πŸ› A folder named with either slash is one entry in the recents
  • πŸ› A layer's filter graph runs on one thread
  • πŸ› The encoder lets go of its file before the copy is moved into place
  • ⚑ The caches are sized to the machine, and let go of what is idle
  • πŸ› The page strip sits on the pane's top bar, with no dark track of its own
  • πŸ–₯️ A sound clip's Speed sits under its Sound page
  • πŸ–₯️ Adjust opens on its wheels and curves, and Speed sits under Basic
  • πŸ–₯️ Enhance has a page of its own, and Enhance and background removal switch from their headers
  • ✨ A transition is selected on its own, with its own inspector panel
  • βœ‚οΈ The tray's plus opens an Add track menu, with top or bottom beside it
  • βœ‚οΈ A track's header keeps Delete in a More menu, and its marks are white
  • πŸ› Clips that were reversed or animated in 0.2.4 say so as the project opens
  • βœ‚οΈ A volume drag no longer drops words typed into a title

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-13