Skip to content

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 14:21
· 45 commits to main since this release

[3.0.0] - 2026-09-08

Cut, then decide. A clip used to be one dialog on a five-minute recording:
pick a range, pick the audio, upload, and whatever you did not decide then
was gone with the recording. 3.0 puts a cut in between - the range as its
own file, the picture untouched and every audio track along - and renders
everything from that. The same cut goes to Nextcloud today and to YouTube as
a Short tomorrow, with another audio mix, long after the recording is in the
recycle bin. Save cut saves a range while you play and renders nothing;
the clips page shows what came out of every cut.

The list keeps itself: a shared clip is done and out of the way, grouped by
the evening it belongs to, one click back. Activity is the new page for
"what did I send where".

Your state moves. Titles, the seen list and the share history leave their
three JSON files for replaycut.db beside the settings. The first start
imports them and moves the old files to backup-2.x\, so an installation of
2.x that is put back finds its state where it left it. The history is no
longer capped at 200 entries.

Added

  • Every share keeps its cut. The range you pick becomes a file of its
    own first - .cuts\<id>.mkv in the clip folder, the recording's picture
    and all its audio tracks, copied, not re-encoded - and the upload is
    rendered from that. So audio mode, 9:16 and quality are decisions you can
    take again later: the cut is enough, the five-minute recording is not
    needed any more.
  • Save cut: save a range while you play and render it after the game -
    to any target, with another audio mix or as a Short, as often as you like.
  • Shared clips leave the list. A clip you have shared is done and is out
    of the way; ?done=1 lists the done ones, and one call brings a clip back.
    "Afterwards" per share decides between keeping it, marking it done and
    moving the recording to the recycle bin - the new setting
    cleanup.afterShare (default: done) is what the share row starts with.
    cleanup.recycleDoneAfterDays does the same on a timer.
  • Deleting a clip has a reach: ?scope=clip recycles only the recording and
    leaves the cuts, so the clip can still be rendered and published;
    ?scope=all (the default, as before) takes everything with it. A single
    cut can go on its own with DELETE /api/cuts/<id>.
  • A recording that disappears from the folder no longer takes its cuts with
    it: the clip stays in the list, marked done, with everything it produced.
  • Diagnostics: a line for the cuts - how many files, how much space, how
    many the service knows about - with a warning from 10 GB on.
  • The history keeps every entry now instead of the newest 200, and
    GET /api/history takes limit and before to walk back through it.
  • The clips page was rebuilt. One list with a filter (Active / Done) and
    a heading per day, badges for the cuts and the targets a clip went to; the
    clip itself shows its cuts underneath, each with what came out of it and a
    "Render" of its own. "Save cut" and "Afterwards" sit next to Share, and a
    clip whose recording is gone shows its thumbnail and keeps its cuts.
  • New page: Activity. What is running with a way to cancel it, and every
    output ever made - newest first, filtered per target, one click to the clip
    it came from. It replaces the "Shared" list on the clips page.

Changed

  • replaycut keeps its state in one file. Clip titles, which clips have
    already been announced and the share history moved out of three JSON files
    and into replaycut.db next to the settings. The first start of 3.0
    imports the old files and moves them to backup-2.x\, so an installation
    of 2.x put back later finds its state where it left it.
  • The share progress has one more step, "Cut", before "Encode". It takes
    about a second and needs no graphics card. What comes out is frame for
    frame what 2.8 produced.

Removed

  • The "Shared" section of the clips page: its entries are on Activity now,
    and under the cut they came from on the clip itself.

Fixed

  • Settings: changing how long presigned S3 links stay valid can be saved
    again - the value went out as text and the service refused it.