Repository navigation
Releases: mschulkind-oss/mavor
Releases · mschulkind-oss/mavor
Release list
v0.4.0
Changelog
- 9083ac7 Revert "chore(jail): unset LD_LIBRARY_PATH so nix tools load their own glibc"
- fea1972 chore(jail): add GTK4 for the storybook harness
- 3f5991b chore(jail): unset LD_LIBRARY_PATH so nix tools load their own glibc
- 683dba9 docs(stacked-dictations): record the eight rulings, narrow OQ-4
- c429cc3 docs(stacked-dictations): rule OQ-4 and close the design
- 4877cfa feat(daemon): stack dictations — start the next while the last types
- 9d9d2c6 feat(daemon): wire stacked dictations to the overlay
- cdfbc45 feat(overlay): note when the main model is evicted from VRAM
- 1208a3b feat(overlay): stack one pill per live dictation
- 93f4e20 fix(stacked-dictations): address review findings
- 69dc83f test(daemon): pin the abortCycle capture-slot clear
- 0a8d702 test(gnome): give the storybook HUD the stacked rows, and fix XWayland's socket dir
- f428c62 test(storybook): fail when a driver drops a shared scene
v0.3.1
Changelog
- 7b543b0 feat(daemon): visibly verify models and finalize qualified companion backups
- d760273 feat(overlay): add passive GNOME HUD and shared visual storybooks
- ad4a6e2 feat(speech): prototype opt-in incremental final recognition
- 779917b fix(ci): install GTK editor build prerequisites
- ec855d9 fix(daemon): show initialization notice only on recording requests
- 7524965 fix(output): isolate selection restoration launch budgets
- 4564e96 fix(speech): disable automatic CPU recovery by default
- 649aeb6 fix(speech): recover failed GPU dictation on CPU
- 61f4273 fix(test): make desktop staging readiness compositor-owned
- f8c9f02 test(desktop): soften storybook wallpaper for clearer UI
- ad2d636 test(desktop): stage real GNOME and Sway storybooks
v0.3.0
Changelog
- 2e941fb feat(daemon): make final silence filtering opt-in
- b615ea3 feat(output): add explicit clipboard mode for manual paste
- 445cf53 feat(output): add focus-safe X11 clipboard backend
- ebb45e5 fix(audio): verify OSC restores instead of firing and forgetting
- ac384a6 fix(daemon): serialize concurrent recording controls
- a2ba579 fix(daemon): transcribe quiet speech recognized by preview
- 946005e fix(test): decouple lifecycle harness from silence filtering
- 44e7cde test(output): retain real GNOME coverage and supervise teardown
v0.2.0
Changelog
- ba0204f chore(benchmarks): add measured 68s llm-prompt benchmark report and raw results
- 79261a5 chore(benchmarks): record clean quiet-machine benchmark run for real_speech.wav
- dcbee9f docs(design): specify first-exit wins supervisor for dual-buffer paste-once
- 2fb96e2 docs(design): split into dedicated LLM model selection and paste dispatch docs
- f402657 docs(design): track LLM-oriented model selection and paste dispatch
- 0f2a774 docs(design): update llm model selection with 68s empirical benchmarks and candidate analysis
- f961b2d docs(design): update paste dispatch defaults, add active application routing design and roadmap entry
- adf02a3 docs(output): graduate paste-based output dispatch to system reference doc
- 71d8ce2 feat(audio): add WAV duration, slicing, and silence/overlap segmentation utilities
- 16eb273 feat(config): add output driver, paste chord, and selection restore settings
- 8df6a6d feat(doctor): add diagnostic checks for output dispatch mode, tools, and kitty configuration
- 8eafa67 feat(output): implement universal paste dispatcher with first-exit supervisor and selection restore
- 8b6b929 feat(output): set paste with shift-insert as default output driver and resolve design review
- 6bc317a feat(speech): add VAD silence and overlapping window chunking for long Whisper audio
- 86fc024 fix(doctor): do not overwrite existing config file when running doctor --fix
- dad77bb fix(output): increase sibling grace window and restore delay to protect cliphist and terminal paste
- 5a7cc3d fix(output): pass transcript as argument to wl-copy to ensure immediate selection registration
- 4b66fc5 fix(output): prevent wl-copy hang on selection restore and protect dual-buffer paste
- a69b041 fix(output): replace --paste-once with timed lease paste supervisor
- 6840627 test(fixtures): promote 68s prompt benchmark audio and reference transcript
v0.1.6
Changelog
- e7da597 chore(bench): rerun the sweep over all 31 models
- 3694e81 feat(bench): measure how smoothly a preview arrives, not just when it starts
- e624a81 feat(bench): record the load average, and say when the machine was busy
- 59c25b3 feat(cli): name the family of a hand-installed Nemotron or Cohere model
- b6b9707 feat(models): six models the catalog had been missing for months
- da1a6f6 feat(speech): read Cohere Transcribe, which is not a Canary
- 34b71fb feat(speech): the streaming Nemotron is the preview companion now
- f53eab2 fix(bench): find the Vulkan driver, and say so when there is none
- 1015b8d fix(bench): measure streaming at the cadence the daemon actually uses
- d17244d fix(service): write the unit under the config home, not $HOME
- d7e04b1 fix(speech): every streaming model was dropping the last word
- fa389f4 fix(speech): the preview companion is the streaming Zipformer
- 8dd8ece test(setup): stop the setup test downloading the companion model
v0.1.5
Changelog
- eff13e8 fix(overlay): keep the old connection alive when a rebuild fails
- a7b000c fix(overlay): rebuild after a compositor restart, not just a closed surface
- 33cb046 refactor(test): drop the GTK constraints that outlived the GTK build
- 0966bbc test(overlay): cover the two recoveries no unit test can reach
v0.1.4
Changelog
- 4ef3ea3 feat(history): make transcript recovery a one-command picker round trip
- 5ba0308 fix(history): drop the timestamp column from picker rows
- 3903cbb fix(history): record the transcript that was typed, not whisper's line breaks
- a144ab3 fix(speech): never type Whisper's non-speech annotations
- fe351a4 refactor(cli): move the command tree to cobra
v0.1.3
Changelog
- c0ad557 docs(research): record why Chromium drops characters from a synthetic keymap
- f0e24db feat(doctor): fail the preview check when the companion is not downloaded
- e26adb3 fix(wayland): stop typing spaces on the physical Escape key
- f90fd81 test(daemon): stop the drain test racing the FSM it is driving
v0.1.2
v0.1.1
Changelog
- 43b631a chore(jail): add the Vulkan toolchain for GPU benchmarking
- a2fb4df chore(jail): commit the dev-container config, and drop the GTK toolchain
- 9a7d79d chore(jail): mount the developer's mavor config and model cache read-only
- d0e0b35 chore(jail): request shaderc's bin output and the SPIR-V headers
- 46be030 ci(integration): find dbus where Debian keeps it, and fail legibly
- ee1c3e8 ci(integration): install waybar and xwayland
- 351cbe3 docs(design): build hand-off for the config rewrite
- adb0760 docs(design): cgo only — the pure-Go build is deleted, not demoted
- a62ab47 docs(design): injection on GNOME is possible, and the doc read as if it were not
- 543d5d4 docs(design): record that measurement reversed the companion choice
- f62c3e9 docs(design): settle the last four questions; the config design is decided
- 2454575 docs(design): the config surface, and the three keys that break things
- 18fbed5 docs(design): the overlay resizes itself, and that is the bug
- 2344218 docs(design): what porting to GNOME and to macOS would actually take
- 62db92c docs(overlay): the typing dots are the ellipsis, so say so
- cc17ffb docs(reports): rerun the benchmark with every model loading
- 2db684e docs(reports): rerun the benchmark with the two setting sweeps
- d7df2a7 docs(roadmap): record what the first catalog-wide benchmark found
- 24ee807 docs(roadmap): the model-loading blocker is fixed
- 86c3a6a docs(roadmap): the server engine blocker is closed
- da3a332 docs(roadmap): the server engine cannot start whisper-server
- 2c20b85 docs(roadmap): three routes to AMD GPU for the sherpa models
- 54d63fe feat(audio): mute X Air mixer channels while recording
- 7b234e7 feat(bench): benchmark the whole catalog, on every backend that is real
- cab8d19 feat(bench): report streaming as unmeasured, and add a re-render mode
- 15f75ac feat(bench): thread scaling and warm-server sweeps
- d21dcd0 feat(logging): a verbose config key, and the detail it turns on
- 47b2cbd feat(models): report which models this machine will run on the GPU
- f708bf8 feat(models): show download progress instead of going quiet
- aace1f5 feat(output): make the clipboard copy opt-in, and default it off
- c010b0d feat(output): type in-process, 460x faster than shelling out to wtype
- 0b6f0d8 feat(overlay): one fixed surface, and state that cannot be dropped
- f9fe40a feat(overlay,output): cap the preview to one line, and stop it shouting
- 7e52f94 feat(preview,speech): a companion model drives the preview, and vocabulary biases it
- ff0684a fix(audio): a WAV header is not 44 bytes, and we assumed it four times
- 9676368 fix(bench): isolate each sherpa model so one bad model cannot end the sweep
- 0b442c4 fix(bench): measure time to first token from a warm model
- c8f51b6 fix(output): unset is the fastest typing setting, so stop defaulting to 1
- 120b79e fix(overlay): drain the compositor, and stop unmapping to hide
- bc6f125 fix(overlay): rebuild the layer surface the compositor took away
- a0fa26f fix(overlay): scroll the waveform once per frame, not once per sample
- dd5cef7 fix(overlay): the overlay vanished mid-recording, and I put it there
- caedce1 fix(overlay): the waveform scrolls one column per sample again
- 2832f6e fix(preview): a preview that produces nothing now says so
- 08ce3e3 fix(preview): the companion model was the problem, and a better one exists
- 9fdd974 fix(speech): fall back to subprocess when there is no whisper-server
- fd20208 fix(speech): find the path the transcription server actually serves
- 7ea0c29 fix(speech): load the ten sherpa models that could not be loaded at all
- 3d3740c fix(speech): make the placement tests independent of the host's PATH
- f3f8fd9 fix(speech): stop passing -ngl, and make the build cgo-only
- dbe6592 fix(speech): supervise whisper-server on loopback, not a Unix socket
- 148d1ef fix(wayland): accept only the configure that answers the resize we asked for
- 809cf6a perf(audio): decide "was that speech?" without holding the recording
- e1172d7 perf(daemon): stop making the user wait on a decode that gets thrown away
- 2e99e26 perf(overlay): a frame allocated 348 times and rewrote the whole screen
- 314b3ab perf(overlay): a frame cost what the screen cost, not what it drew
- e2ceaab perf(overlay): an idle daemon woke 27 times a second to draw nothing
- 16531cb perf(overlay): cache the preview strip; it was blowing the frame budget
- a17cb47 perf(overlay): hold the preview width steady, and stop allocating per frame
- 682bdd0 perf(speech): build the server's HTTP client once, not per utterance
- 21529a7 perf: reuse the per-chunk buffers in both preview paths
- 0ef30cd refactor(audio): generalize the X Air ducker to any OSC device
- 6eed074 refactor(config)!: nested schema, and a runtime the model chooses
- f4ac772 refactor(models): every catalog name begins with its model family
- 7d5d9b7 test(integration): pin the backdrop black, and refuse to run if it is not
- 1b9fb77 test(integration): set the backdrop in sway's config, not by swaymsg
- 64828f4 test(overlay): reproduce the vanishing overlay in two seconds
- fcb86c7 test(overlay): take the best frame time, not one run's mean