v3.3.0
This release organizes profile files, lets a word breakdown pull in the surrounding subtitle
lines, adds a one-command local-data reset, and hardens the server's logging and shutdown.
As a v3.x release (see the v0.1.0 note above) it includes a breaking database change
Breaking Changes
Database→ Profile files now record their lineage (the source video from which
a generated subtitle or converted MP4 came) through two new columns, added
without a migration. An existing install must start from a fresh database (run
mirumoji resetfirst, ormirumoji down -vfor a Docker deployment, before
updating)
Added
-
Frontend→ Profile files are organized by video lineage. Each source video
nests its derived files (generated / fixed subtitles, a converted MP4) beneath it
with readable names instead of opaque ids, grouped by folder. The player's
Load Medialist is also updated to group related files -
Server+Frontend→ A word breakdown can include the surrounding subtitle
lines. A prompt template opts in with a{context}placeholder and
{#context}…{/context}conditional blocks. The LLM template editor shows a live
preview of the assembled prompt, and a control in the player toolbar sets how many
lines on each side (N lines before the current sentence + N lines after it) are sent -
Launcher→ Amirumoji resetcommand (and aDelete Databutton in the GUI
Settings) deletes Mirumoji's local data folder, which is otherwise tucked away in a
hidden system directory.--keep-configand--keep-logspreserve those. Docker
data volumes are left todown --volumes -
Launcher→ The LLM batch concurrency and a Modal container keep-warm window
are configurable through new environment variables and Settings fields
Changed
-
Server→ Logging was reworked so the server console stays clean, every log
line carries a per-request id, and upload progress shows a themed bar -
Server→ The previously untyped JSON endpoints (the profile deletes and the
provider / model / health routes) now return typed models, so they are documented
in the API schema -
Frontend→ Info tooltips are a single shared component that stays on-screen on
mobile and can hold richer content
Fixed
-
Frontend→ Deleting a file that is open in the player now clears it, so a
deleted video no longer looks like an unplayable format and a deleted subtitle no
longer lingers -
Server + Frontend→ Deleting several files at once is safe (previously, the database ran into a race-condition where deleting multiple files at once would try to wipe already-deleted jobs shared by them, stopping the deletion). The frontend now clears completed jobs related to already-deleted files from the task tray -
Server→ On shutdown, the server releases its log file and stops any running
FFMPEGprocess, so nothing is left holding a file open and the local data folder
can be removed (notably on Windows) -
Frontend→ The local CA can be downloaded overHTTPS. The service worker was
catching the request and serving the app (which rendered its 404 page), so the
certificate could previously only be fetched overHTTP