Skip to content

Releases: JacobHaig/zord

v0.3.0

11 Jun 16:18

Choose a tag to compare

Highlights

The shared FEATURES list grew GUI-only features (voiceprints, discord, and
the channel step's self-update append) that zord-app doesn't declare, so the
v0.3.0 Build CLI step failed on both runners. The GUI bundle keeps the full
list; the CLI now uses CLI_FEATURES with exactly the features it has.

Full Changelog: v0.2.18...v0.3.0

v0.2.18

08 Jun 16:42

Choose a tag to compare

Highlights

Session notes

Every session now has a free-form Notes drawer — for links, action items,
and reminders you want to carry into later meetings.

  • Slides out from the right side, beside the transcript, so it's there
    while you're recording and when you review afterward (notes you jot
    mid-recording save immediately to that session).
  • Searchable alongside transcripts — find that link or note across every
    meeting from the search view.
  • Seen by the AI: your notes are handed to the meeting summary, the dense
    compression, and the "ask this meeting" chat as authoritative context — so an
    action item you jot shows up in the summary, and the chat can answer about a
    link you saved. Because compression feeds the cross-meeting Overview, the
    rolling project ledger picks them up too.

Notes are per-session, plain text, and stay entirely on your device.

Full Changelog: v0.2.17...v0.2.18

v0.2.17

08 Jun 15:24

Choose a tag to compare

Highlights

This release puts you in control of long-running background work and makes its
status trustworthy.

Background jobs: visible, resilient, cancellable

  • The background-jobs panel is now driven by a real job registry, so a running
    job (speaker identification, summarize, compress, overview, re-transcribe)
    no longer disappears when you switch sessions or start recording — its
    indicator stays put until the work actually finishes. (Previously the
    indicator could vanish on navigation even though the job kept running.)
  • Every running job now has a ✕ to cancel it right in the panel.
    Cancellation is cooperative and honest about what it can stop:
    • Re-transcribe stops promptly and keeps whatever was transcribed so far.
    • Speaker identification / summarize / compress / overview clear from the
      panel immediately; the in-flight local model pass finishes in the
      background and its result is discarded.

Nothing here changes your data — it only makes background work easy to see and
to stop.

Full Changelog: v0.2.16...v0.2.17

v0.2.16

08 Jun 13:43

Choose a tag to compare

Highlights

This release modernizes Zord's entire dependency stack with a deliberate focus
on security and performance, and ships the new rolling project Overview. Every
dependency was upgraded one at a time, rebuilt and tested at each step, with no
behavior changes.

Security & performance

  • SQLite 3.45 → 3.51. The local database engine behind your transcripts,
    full-text search, and the project ledger jumps six releases — query-planner
    speedups plus the accumulated upstream bug and hardening fixes.
  • Hardened audio capture. The cross-platform microphone layer (cpal) picks
    up macOS CoreAudio undefined-behavior fixes (null-pointer / unaligned-read
    paths) and a Windows WASAPI memory-leak fix — on the exact code Zord records
    through — plus faster sample-format conversion and fewer allocations on the
    realtime audio path.
  • Safer system-audio capture. macOS ScreenCaptureKit moves to a release
    that resolved FFI safety findings from a deep code review: panic-across-FFI
    guards, null-checked constructors, and bounds-safe scratch buffers.
  • No C in the download decompressor. Model-archive extraction now uses a
    pure-Rust bzip2 decoder instead of the C library.
  • Modernized network/TLS stack. Networking was rebuilt on ureq 3 with a
    current TLS dependency chain; model downloads still validate against the OS
    certificate store and verify SHA-256 content digests end-to-end.

New: rolling project Overview

The Overview is now a living, project-grouped ledger that updates meeting by
meeting — action items, decisions, and open questions tracked across calls,
each carrying the meeting that completed it, with full manual editing — rather
than a from-scratch summary regenerated on every refresh. Cross-meeting chat
and zord overview read from the same ledger.

Also

  • Independent live mute for the microphone and for desktop/system audio while
    recording.
  • A broader local summary-model picker (Qwen2.5 1.5B–32B, Qwen3 8B/14B, and
    Gemma 2 2B / Gemma 3 4B), sorted by size and quality, with a fixed large-model
    download.

Full Changelog: v0.2.15...v0.2.16

v0.2.15

07 Jun 14:55

Choose a tag to compare

Highlights

A cleaner interface: every UI icon is now a single, consistent line-art SVG
set drawn from one registry (replacing the platform-dependent emoji), so the
app looks identical on macOS, Windows, and Linux and any icon can be changed
in one place. A new Settings → Theme tab toggles the session badges between
monochrome (now the default) and color-coded-by-meaning. Plus small touches:
the Generate-menu actions are spaced from their labels, and the chat panels
start collapsed.

Full Changelog: v0.2.14...v0.2.15

v0.2.14

07 Jun 05:08

Choose a tag to compare

Highlights

A redesigned interface and finer audio control.

UI — the desktop app moves to an icon-rail shell: a thin left rail holds
global nav (Overview/Search) plus Settings and the background-jobs board;
Record is now a permanent primary at the sidebar foot that never shifts; the
8-button export bar becomes a stable contextual 'Generate' menu beside a
separate output cluster; Settings is a tabbed panel (Transcription / AI /
Speakers / Recording / Files / Security / About) instead of one long scroll.

Audio — per-channel capture level: Off, Auto-level (normalizes a varying
signal), or Manual gain, for mic and desktop independently, with a soft limiter
so boosts never clip. Fixes a quiet/loud microphone without touching frequency.

Docs — README rewritten as a product page (no emoji, clearer positioning);
CLAUDE.md refreshed; app-data paths and crate table corrected.

Full Changelog: v0.2.13...v0.2.14

v0.2.13

06 Jun 18:23

Choose a tag to compare

Highlights

Security hardening from the June 2026 review (no critical/high; cargo audit
0 vulns across 681 crates). Network-fetch integrity: Ollama blobs verified
against their sha256 digest, downloads capped (16 GiB) and decompression
bounded (anti-bomb), streaming-SSE reader/​reply size-capped (anti-OOM).
Dashboard: all dynamic fields HTML-escaped + CSP/nosniff/referrer headers.
At-rest: config.json and SQLCipher backups written 0600 on Unix. Input:
WAV headers validated (reject sample_rate 0 / bad bit depth) so a crafted
file errors instead of panicking. See docs/SECURITY.md.

Full Changelog: v0.2.12...v0.2.13

v0.2.12

05 Jun 14:57

Choose a tag to compare

Highlights

Deferred & re-transcription (Phase 25): live transcription is now optional —
capture-only recording costs ~no CPU/RAM mid-meeting (for low-power machines
where whisper bursts stutter the webcam), with the transcript generated at
stop or on demand via the new 🔁 Re-transcribe button (own model choice,
confirm dialog, speaker labels re-derived). A 'Transcribe automatically
after recording' toggle composes with live mode to auto-upgrade transcripts
with a bigger model. Kept audio now stores ONE native-rate track per channel
(full-quality replay; models derive 16 kHz on the fly) with keep-audio on /
30-day retention defaults. Plus: holistic Transcription settings (one model
list with Live/Re role chips), stop now ends the Recording indicator
immediately with post-transcription as its own background job, and six new
meeting-type summary presets.

Full Changelog: v0.2.11...v0.2.12

v0.2.11

05 Jun 13:17

Choose a tag to compare

Highlights

External LLM support (Phase 24): point every AI feature — summaries,
compression, Overview, chat, auto-titles — at any OpenAI-compatible server
(LM Studio, Ollama, llama-server, vLLM) from Settings → AI, with model picker,
test-connection, and streamed chat replies on both backends (verified
end-to-end against LM Studio). Build flags split into composable
llm-local / llm-remote (replacing 'summaries'; llm-remote needs no llama.cpp
toolchain). Also: selectable diarization segmentation models (pyannote 3.0 /
Reverb v1 / v2), six meeting-type summary presets, settings-panel layout
polish, and the chat stuck-spinner fix.

Full Changelog: v0.2.10...v0.2.11

v0.2.10

04 Jun 14:27

Choose a tag to compare

Highlights

Polish release: per-line transcript audio replay (▶ on hover, exact span from the
wall-clock-aligned retained WAV), delete buttons for bad summaries/compressions,
per-session expected-speaker count next to Identify speakers (replaces the global
setting in the UI), and sidebar improvements — date + relative time in session
meta, drag-resizable divider with persisted width.

Full Changelog: v0.2.9...v0.2.10