Repository navigation
Releases: codemyriad/cassini-gnome
Releases · codemyriad/cassini-gnome
Release list
v0.4.0
Cassini is now called Cassini talk. Your Library stays in Music/Cassini.
- Recording starts reliably when the computer is silent: the other people's
side waits for the first sound instead of failing the start - When a microphone or the computer's sound cannot open, Cassini says why and
keeps recording what did open; if nothing opened, no empty meeting is left
behind. Quit no longer waits for a microphone that never delivers audio - Silent sources are saved as exact silence, so writing down and speaker
separation skip them instead of reading noise - Every part of Cassini places each track at the same start, so playback,
transcripts and speakers line up; words stay inside the time a person was
present, and a turn never spans a gap. Cassini for Mac passes the same check - Browser meetings: set up the companion from Cassini, connect in the
background, keep recording through page reloads, record automatically only
once a call has really started, and record with no window open. Browser and
computer audio share one clock, even when the system clock is adjusted
during a meeting. The companion is now version 0.2.13: a long silent stretch
no longer slows a browser recording's clock - GNOME and Mac pass the same end-to-end tests: a recording followed live
while it is in progress (shared test 2), and the same three outcome files
(shared test 8) - While recording: a live spectrogram for each side, Recording details that
show what is being captured, a warning when muted output would silence the
computer's sound, and a test recording to check your setup - Library: move meetings to Trash with five seconds to undo, rename with F2,
and keep each saved meeting as a portable Cassini file - Writing down shows its progress before the first words, reads a track again
without voice detection when it finds too few words there, and names the app
version when it downloads models - Translated into Italian, French, Spanish and Portuguese (Brazil and Portugal)
- Many capture fixes: interrupted and re-anchored inputs, frozen browser
connections, and a live spectrum that no longer stops after the window
stalls
What's Changed
- Move saved meetings to Trash with five-second Undo by @silviot in #98
- Wait for inbound call evidence before automatic recording by @silviot in #97
- Pin reviewed call evidence and gate shared auto-start vectors by @silviot in #99
- Keep row menu actions connected until activation finishes by @silviot in #100
- Prepare saved voices for older meetings and explain missing models by @silviot in #101
- Remove timestamped notes from the Recording page by @silviot in #102
- Apply the recording title caret fix to main by @silviot in #106
- Make custom recording and playback buttons accessible by @silviot in #105
- Connect to the browser in the background by @silviot in #107
- Show writing progress before the first transcript words by @silviot in #109
- Ask before enabling the global recording shortcut by @silviot in #108
- Balance the empty Library heading by @silviot in #111
- Keep the Flatpak Library when XDG Music is unavailable by @silviot in #104
- Restore Keyboard Shortcuts in the Library menu by @silviot in #110
- Keep a new recording visible when an older capture finishes by @silviot in #112
- Make the microphone tone gate tolerate clock phase corrections by @silviot in #113
- Keep exports outside Flatpak’s temporary home and show success by @silviot in #114
- D35: Rename saved meetings from either menu or F2 by @silviot in #115
- D35: Cancel on Escape and explicit background recording permission by @silviot in #116
- D37: align GNOME consent, browser states and saved meeting journeys by @silviot in #117
- Prevent the delayed GTK warning during Rename saves by @silviot in #119
- Show Recording details with live capture and writing-down facts by @silviot in #96
- Fix playback speed and harden companion setup responsiveness by @silviot in #122
- Add the browser companion from Cassini (D39) by @silviot in #123
- Restore automatic names and clean displayed quotation marks by @silviot in #118
- Restart installed updates safely and heal dead browser registrations by @silviot in #127
- Keep browser service tests out of the user's library by @silviot in #126
- Library v2 step 2: every track reader accepts WAV and compacted Opus spans (S-12 §5) by @silviot in #128
- Library v2 step 3a: names, journal, durable publish, mixdown and finalize (S-12) by @silviot in #130
- Library v2: direct regression tests for #130's commit guards by @silviot in #131
- Keep the browser control link open and keep stopped calls stopped by @silviot in #125
- D45: rename Cassini talk and migrate existing installations by @silviot in #129
- Finish Quit when a microphone never produces audio by @silviot in #132
- Keep browser recording batches inside the app request timeout by @silviot in #134
- Background Apps for windowless automatic recording (D41) by @silviot in #124
- Keep browser recordings through reloads and save how they ended by @silviot in #121
- Keep browser meeting identities and queued work across reconnects by @silviot in #133
- Preserve capture identity and stopping in tab-scoped browser status by @silviot in #135
- Bump GitHub Actions to current majors by @silviot in #136
- Warn when muted output silences a system recording by @silviot in #138
- Publish stopped captures as Library Cassini files by @silviot in #137
- Complete the clean Cassini talk rename (D45.2 / D51) by @silviot in #140
- ci: align rolling openSUSE container snapshots by @silviot in #141
- Draft: recording spectrogram (D36.1) by @silviot in #139
- test: synchronize broker meter delivery and fixture clocks by @silviot in #142
- Adopt D52 multistream capture accounting and lifecycle by @silviot in #143
- Draft source diagnostics in portable meeting files by @silviot in #144
- D50: Localize Cassini talk in six languages by @silviot in #145
- Bound recognition timestamps to each source audio extent by @silviot in #146
- Add producer drop counts to the recorded span instead of replacing them by @silviot in #147
- Never expect an announced page microphone when Me is recorded natively by @silviot in #150
- Record gap ranges and derive presence without reading PCM (D52.2, G6) by @silviot in #148
- Raise the pytest suite deadline to 360 s by @silviot in #152
- Bump actions/setup-node from 6 to 7 by @dependabot[bot] in #154
- Pin the test-Library isolation protocol (#30) by @silviot in #153
- Close frozen browser transports on deadlines instead of waiting for EOF (G7, part A) by @silviot in #151
- Decode a track without VAD when its VAD pass finds too few words (G10) by @silviot in #149
- Record when a write-down assumed a track's start at 0 (D55) by @silviot in #158
- Compute ActivityMeter.inside() once per frame count by @silviot in #159
- Name the app and its version in every model download (D54) by @silviot in #157
- G12: tie voice names to the diarization input (voiceSource) by @silviot in #160
- Wait for the picker paste before Open in companion-instal...
v0.3.0
What's Changed
- Fix Library contrast, transcript routing and playback lifecycle by @silviot in #14
- UX-play: mix and seek recording-folder audio from the Library by @silviot in #10
- Keep live recordings and Library previews responsive by @silviot in #15
- Spike: bundle pinned Whistle and prove offline Mac parity by @silviot in #16
- UX3: read meetings in the Library with timed playback by @silviot in #17
- UX5: record native audio straight into the Library by @silviot in #18
- UX13: write meetings down with the shared offline pipeline by @silviot in #19
- Fix resumable shutdown and stop-and-save exit by @silviot in #20
- Stream long received audio through bounded child PCM blocks by @silviot in #21
- Protect Library write boundaries and retain validated speaker identity by @silviot in #22
- Bound transcript publication and keep live reading stable by @silviot in #23
- Finish close when capture ends behind its confirmation by @silviot in #24
- Ship offline writing down (Whistle) in every package by @silviot in #25
- Preserve Meeting playback across background Library refreshes by @silviot in #27
- Fix capture close holds, finalization and saved queue intent by @silviot in #26
- Keep Stop responsive while independent audio sources finish by @silviot in #29
- Keep partial transcript intact while Try again catches up by @silviot in #28
- Add the Recording page and controls for hidden capture by @silviot in #30
- Ship a private, pinned ONNX Runtime instead of the distribution's by @silviot in #31
- Import received meetings and add Cassini/Markdown export by @silviot in #32
- Search every meeting with phrase matches and D14 filters by @silviot in #33
- Add verified resumable model download core by @DrMeyers in #34
- Keep model removal inside the configured store by @DrMeyers in #36
- Bring the README up to date with what Cassini does today by @silviot in #37
- Complete native Preferences and durable Library relocation by @DrMeyers in #35
- Preserve capture failure evidence before pipeline teardown by @DrMeyers in #39
- Document GPL licence for vendored browser files by @DrMeyers in #38
- Fix hidden capture completion and window lifetime by @DrMeyers in #40
- Protect model storage and HTTP resume checkpoints by @DrMeyers in #43
- Fail export on streaming read errors at EOS by @DrMeyers in #42
- Preserve detailed failures in the native GTK capture probe by @DrMeyers in #45
- Keep Search cache transactions and playback consistent by @DrMeyers in #44
- Preserve recording notes and pending title edits by @DrMeyers in #46
- Validate received imports before Library publication by @DrMeyers in #41
- Keep the last browser capture observer owned until save by @DrMeyers in #48
- Use current meeting metadata in Export without GTK file IO by @DrMeyers in #47
- Use a monotonic clock for independent Pulse capture sources by @DrMeyers in #49
- Add pinned Parakeet Ultra worker and offline golden proofs by @DrMeyers in #50
- Download Parakeet in Preferences and choose models per job by @DrMeyers in #51
- Export recovered recordings with honest dates and offsets by @DrMeyers in #52
- Reuse green main release packages and retain full CI coverage by @DrMeyers in #53
- Orchestrate CI areas and share verified build profiles by @DrMeyers in #54
- Ship the pinned Parakeet runtime in Linux packages by @silviot in #55
- Run engine and Library gates for imported source changes by @silviot in #56
- Keep pinned note times intact through undo and line edits by @silviot in #57
- Keep capture ownership when auxiliary windows close by @silviot in #59
- Recover damaged model installs and completed download state by @silviot in #58
- Render Settings boards with installed speech runtimes by @silviot in #61
- Clean review docs and omit caches from test image context by @silviot in #62
- Keep Library row timers on the native capture clock by @silviot in #63
- Keep received source symlinks visible to no-follow opens by @silviot in #60
- Record browser meetings through the Library and companion setup by @silviot in #64
- Declare libzstd for model downloads in every native package by @silviot in #66
- Add What is recorded controls and automatic system-sound fallback by @silviot in #65
- Enable the browser companion in Flatpak with isolated host relays by @silviot in #67
- Keep native recording intact when a source change fails by @silviot in #70
- Keep Flatpak startup responsive and retry the browser bridge by @silviot in #71
- Constrain relay networking and cover board test dependencies by @silviot in #72
- Stop ended browser calls and bound fallback recovery by @silviot in #68
- Keep browser recording intact when a source change fails by @silviot in #69
- UX15: tell speakers apart with optional Nemotron by @silviot in #73
- UX16: name speakers, merge voices and undo merges by @silviot in #74
- Bring the README up to date with Waves 5 to 7 by @silviot in #75
- Keep native recording clocks active without the browser bridge by @silviot in #76
- Keep cancelled diarization resumable without late transcript writes by @silviot in #77
- Bound fallback lifetime when a browser peer disappears before status by @silviot in #79
- Keep browser PCM flowing after rejected source changes by @silviot in #80
- Cancel pending native source changes when Stop is requested by @silviot in #81
- Isolate Flatpak host probes and stop retrying missing permission by @silviot in #82
- Keep cleared source speaker names through writing down by @silviot in #78
- Make model-control GUI readiness checks deterministic by @silviot in #83
- UX17: recognise and manage saved voices locally by @silviot in #84
- Preserve native input gaps without turning clock drift into silence by @silviot in #85
- Keep confirmed saved voices through Merge and Undo by @silviot in #87
- Preserve saved voice meeting links while the Library is unavailable by @silviot in #88
- Preserve voice associations and respect explicit naming intent by @silviot in #89
- Finish voice jobs atomically and recompute Undo after navigation by @silviot in #90
- Keep saved-voice dialogs, Search badges and sample cleanup accurate by @silviot in #91
- Describe saved voices in the README by @silviot in #92
- D...
v0.2.0
What's Changed
- W1-G3: isolated screenshot harness spike for the current GNOME window by @silviot in #5
- Wait for real audio readiness and sample counts in recording tests by @silviot in #7
- UX1a: derive a read-only Library model from capture and Received folders by @silviot in #6
- Complete multi-distro packaging and release 0.2.0 by @silviot in #8
- UX1b: Library shell, meeting previews and first run by @silviot in #9
- Polish Library live header and row text to shared R11 by @silviot in #11
- Fix post-merge review findings in packaging and the player by @silviot in #12
- Rewrite the README for people who use Cassini by @silviot in #13
New Contributors
Full Changelog: v0.1.1...v0.2.0
v0.1.1
Full Changelog: https://github.com/codemyriad/cassini-gnome/commits/v0.1.1