Skip to content

Releases: AYJ-Systems/ayjanminutes

v3.3.0

15 Jun 14:15
8d6ce0f

Choose a tag to compare

[3.3.0] - 2026-06-15

Added

  • Forgot password flow: A "Forgot password?" link now appears below the password field on the login dialog.
  • Friendly auth error messages: A _friendly_error() helper (src/auth_manager.py) now maps Supabase and network exceptions to concise, user-readable messages across sign-in, sign-up, and the new reset flow — replacing raw exception strings that were previously surfaced directly.

Changed

  • Eliminated redundant Supabase calls on Settings navigation: AuthManager.get_plan() (src/auth_manager.py) now caches its result in self._cached_plan for the lifetime of the session.
  • Smoother sign-out and re-login
  • Internal refactor using ponytail plugin

Fixed

  • Recording tab resized when status label appeared

Known Limitations

  • xx

Removed

  • xx

v3.2.1

15 Jun 02:13
8d6ce0f

Choose a tag to compare

[3.2.1] - 2026-06-15

✅ Fixes

  • Importing summairse module done at startup: No more lazy imports

v3.2.0

13 Jun 05:56
afee2a8

Choose a tag to compare

[3.2.0] - 2026-06-12

✅ Fixes

  • Microphone recording broken by Windows update: A recent Windows/audio-driver update changed the audio format that physical microphones report, which crashed the app. The fix makes recording immune to this and future format-reporting changes. Devices on older Windows builds are unaffected and fall back to the original behavior if needed.
  • Recording failures now visible: If the mic or speaker channel fails during a recording, a warning dialog now explains which channel failed when you stop — previously the failure was only written to the log and the app pretended everything worked.

🎯 Improvements

  • Splash screen: Added a startup splash screen while the app loads.
  • Startup update check: The app silently checks for a newer release at startup.
  • Attendee names no longer include parenthetical annotations: The meeting minutes prompt now explicitly forbids appending roles, organisations, or any bracketed text to attendee names.
  • DOCX output: Removed the standalone action items summary table — action items are already captured inline within each agenda item section.

v3.1.0

02 Jun 15:19

Choose a tag to compare

[3.1.0] - 2026-06-03

✨ New Features

  • Upgrade flow: Settings now has an Account section showing your plan with an "Upgrade to Pro" button. Opens a LemonSqueezy checkout, pre-filling your email.

✅ Fixes

  • Non-English false positive: Transcription was aborting on the first non-English chunk detection. Now requires two consecutive detections before stopping.
  • Crash on summarize: Fixed crash from docx_generator being imported inside the worker thread rather than at module level.
  • Relay model selector: Relay provider always uses claude-sonnet-4-6; the model dropdown no longer shows irrelevant options when built-in AI is selected.

🛠️ Infrastructure

  • Logging: Added structured logging across auth_manager, summarize, workers, docx_generator, and config_loader — auth events, API calls, DOCX output, and update downloads are now all traceable in crash logs.

v3.0.0

31 May 10:52
02a8b2f

Choose a tag to compare

[3.0.0] - 2026-06-01

🎉 App Renamed to Ayjan Minutes

The application has been fully rebranded from AI Note Taker to Ayjan Minutes:

  • Executable renamed to Ayjan Minutes.exe
  • Installer renamed to Ayjan-Minutes-Setup.exe
  • Release zip renamed to Ayjan-Minutes-v{version}.zip
  • Model cache moved from ~/.cache/ai_note_taker/ to ~/.cache/ayjan_minutes/
  • Session cache moved from ~/.ainottaker/ to ~/.ayjanminutes/

Note for existing users: Your downloaded Whisper model and login session will not carry over automatically. You will need to re-download the model (via Settings → Model) and sign in again after updating.

🎯 Improvements

  • Smoother software updates: The app no longer shows a blank screen between closing and the new version appearing — a progress window stays visible through file copy and new-app startup, closing only once the new app's window is on screen. The fixed 3-second wait is replaced with process-exit polling (~0.5s actual wait)
  • Relay server concurrency: The relay server now handles multiple simultaneous summarization requests correctly

✅ Fixes

  • Live config reload: Transcription model size changes apply immediately without a restart
  • Offline startup: App launches correctly with no network connection, distinguishing offline from expired session
  • Summarizer auth retry: Retries with a refreshed token on 401 instead of failing immediately
  • Logging in frozen builds: Fixed NoneType.write noise from PyInstaller's sys.stderr = None; stderr only redirected to crash log in frozen builds

v2.3.0

28 May 14:10
02a8b2f

Choose a tag to compare

[2.3.0] - 2026-05-29

✨ New Features

  • Relay Server: Added a self-hosted relay server (relay-server/) that proxies summarization requests to Claude or OpenAI using the user's Supabase session for auth and usage tracking — no client-side API keys required
    • Supports both Anthropic and OpenAI models via a unified /summarize endpoint
    • Enforces per-user usage limits via Supabase RPC
    • New Relay (Server) provider option in Settings, with all Claude and OpenAI models available
  • Non-English Audio Detection: Transcription is now skipped with a clear warning when non-English audio is detected, rather than producing garbage output
    • Language is detected before transcription begins using Whisper's built-in detect_language
    • Works for both single-file transcription and chunked live transcription during recording

🎯 Improvements

  • App renamed to Ayjan Minutes: Window titles, login dialog, and in-app header updated throughout
  • Live transcript selectable: The live transcript preview panel is now selectable and copyable with mouse and keyboard
  • Live transcript written to file: During recording, the live transcript is written to transcripts/transcript_{timestamp}.txt and updated every 10 seconds — allows external tools to read it while recording is still in progress
  • Installer model download ETA: The installer now shows a live "~Xm Ys remaining" estimate during Whisper model download; progress bar fills smoothly through the model download phase (previously stalled at 85% with only animated dots)
  • Recording Complete dialog: "Open Folder" is now the default/highlighted button; Cancel replaces Ok as the dismiss action
  • Timer reset: Recording timer resets to 00:00 after transcription completes
  • Attendees tab tooltip: Info icon added to the Names tab header with usage guidance
  • Info icon: Extracted _make_info_icon as a reusable static method (was duplicated inline)
  • OpenAI model list: Updated to gpt-4o-mini, gpt-4o, gpt-4-turbo (removed placeholder gpt-5.4 models)

✅ Fixes

  • OOM crash on long recordings: Fixed out-of-memory crash when transcribing long recordings
  • File rename after summarization: Renaming recordings and transcripts after summarization now matches files by timestamp rather than exact stem, fixing failures when the stem had already changed

🛠️ Infrastructure

  • Crash logs: Each app session now writes a timestamped crash log to logs/crashes/ capturing Python faulthandler stack dumps on native crashes (SIGSEGV / access violation) and stderr from C-level libraries (ctranslate2, CUDA) that would otherwise be lost in a frozen GUI app
  • Local update testing: UpdateCheckerWorker now probes localhost:8765/health first and falls back to GitHub automatically — the mock release server is used whenever Docker is running, with no env var required

v2.2.2

24 May 13:31
02a8b2f

Choose a tag to compare

[2.2.2] - 2026-05-24

✅ Fixes

  • Fresh install crash: App crashed on first launch with [WinError 3] The system cannot find the path specified because mkdir was called without parents=True — if Documents\ai_note_taker\ didn't exist yet, the call failed. The app now creates the full directory tree on first run.

v2.2.1

24 May 08:36

Choose a tag to compare

[2.2.1] - 2026-05-24

✨ New Features

  • Google Sign-In: Added "Sign in with Google" option to the login dialog using OAuth — opens a browser tab for authentication and returns the user to the app automatically

v2.2.0

23 May 11:33

Choose a tag to compare

[2.2.0] - 2026-05-24

✨ New Features

  • Live Transcription During Recording: Audio is now transcribed in the background while recording continues, so almost no waiting is required to get summary after meeting is finished.
    • Audio is processed in ~45 second chunks with a 3 second overlap to avoid cutting mid-sentence
    • A live transcript preview panel appears in the Record tab and updates as each chunk completes
    • Only the final partial segment (at most ~45 seconds) needs to process after the recording stops
    • Estimated completion time is shown after stopping (e.g. "Transcribing final segment… (est. ~18s)"), calculated from the actual transcription speed measured on previous chunks
    • Known names from the Names tab are fed to Whisper as an initial prompt for better spelling accuracy

v2.1.3

23 May 11:21

Choose a tag to compare

[2.1.3] - 2026-05-23

✅ Fixes

  • Sign-up: Fixed signup process end-to-end, with improved error messaging for failed sign-up attempts

🛠️ Infrastructure

  • Updated build system and stub installers

🧹 Code Quality

  • Logging refactor across auth_manager, gui, main, summarize, and transcribe — standardised log levels and removed redundant log calls
  • Removed stale code