Repository navigation
Releases
SpokenLog v0.2.0
SpokenLog v0.2.0
Version 0.2.0, build 12 imports almost any audio or video file for local transcription, adds a read-only AI connection (MCP) on Windows and macOS, and makes model downloads survive dropped connections. Earlier releases are retained.
Changes
- Any audio format: M4A, MP3, AAC, FLAC, OGG, Opus, AMR, 3GP, WMA, AIFF, CAF, MP4, MOV, WebM and MKV imports are converted to 16 kHz mono WAV with the OS decoder, so local transcription and speaker separation can use them. Supported formats depend on the platform; files that cannot be converted are kept for cloud transcription. Older non-WAV imports convert on first local transcription.
- Recorder folders: on Android the import picker opens in the Samsung Voice Recorder folder. On iPhone, share from Voice Memos to SpokenLog (applies once the 0.2.0 iOS build is published).
- AI connection (MCP), desktop: Settings > AI connection lets Claude Code, Codex, pi and other MCP clients search and read transcripts. Read-only, local only, secret address. See the AI connection guide.
- Local model management is its own screen for downloading and removing models.
- Fix: model downloads resume after "Connection closed while receiving data" instead of failing, retrying up to five times.
Downloads
| Platform | File | Installation |
|---|---|---|
| Android 7.0+ | SpokenLog-Android.apk |
Development-signed APK, same key as earlier releases (updates in place). |
| Windows x64 | SpokenLog-Windows-x64-Setup.exe |
Unsigned per-user installer. |
| Windows x64 portable | SpokenLog-Windows-x64.zip |
Extract the whole ZIP and run SpokenLog.exe. |
| macOS / iOS | Not yet attached | The 0.2.0 Apple build is pending; use v0.1.3 for now. |
SHA256SUMS.txt covers the three attached packages. Back up important recordings before updating.
Build and verification
All packages use source commit fe51e68c78ad417ebc76b8146b42a9de6c018c98 and version 0.2.0+12.
- Shared Flutter tests: 181 passed, four optional native-inference tests skipped. Static analysis: no errors or warnings, 18 existing informational findings. Apple packaging-tool tests: three passed.
- GitHub Actions built and tested the Windows and Android release targets. The Windows packages were made from that CI build with the same app-local Visual C++ runtime files as 0.1.3; the packaging script checked the executable version and required runtime files. The extracted Windows app launched and showed an existing library.
- The Android APK was built locally with the existing development key; package name, version 0.2.0 (12), signing certificate and native libraries were checked.
- The MCP server was exercised end to end with sample transcripts from Claude Code and Codex. Download resume was tested against a server that drops connections and against the live Hugging Face CDN.
Not established for this release: decoding real compressed files on a device, the Android picker/share flows on a device, the desktop AI connection screen in a running app, and any macOS/iOS runtime behavior. No physical Android or iOS device was available.
SpokenLog v0.1.3
SpokenLog v0.1.3
Version 0.1.3, build 11 fixes WAV duration display, small-screen layouts and settings feedback. Existing v0.1.0, v0.1.1 and v0.1.2 releases are retained.
Changes
- Read WAV duration during import and when loading older WAV recordings with missing duration. Show the length and correct library totals without rewriting existing audio during loading. Other formats can still have unavailable duration.
- Allow mobile navigation and library headers to scroll away on small screens with large text, keeping recording cards accessible. Preserve long-press range selection and edge scrolling.
- Make quick speech settings scrollable, including Apply on short landscape screens. Let the empty-transcript panel grow with large text.
- Show a safe error when secure storage rejects a settings write; quick settings allow retry instead of silently remaining open. Raw errors that may contain credentials are not shown.
- Translate the recording-rename dialog and observed English-interface gaps in automatic language detection, unnamed recording titles, playback controls and recording/import/export notices. Wrap long compact-menu labels instead of overflowing.
- Keep the README focused on installation and current downloads, with stable latest-release links. Version changes and verification details are documented separately.
Downloads
| Platform | File | Installation |
|---|---|---|
| Android 7.0+ | SpokenLog-Android.apk |
Development-signed APK. |
| Windows x64 | SpokenLog-Windows-x64-Setup.exe |
Unsigned per-user installer. |
| Windows x64 portable | SpokenLog-Windows-x64.zip |
Extract the whole ZIP and run SpokenLog.exe. |
| macOS 12+ | SpokenLog-macOS.zip |
Ad-hoc signed app, not Apple-notarized. |
| iOS / iPadOS 15+ | SpokenLog-iOS-unsigned.ipa |
Requires compatible re-signing and provisioning. Not tap-to-install, App Store or TestFlight distribution. |
SHA256SUMS.txt covers all five application packages. Back up important recordings before updating. Do not uninstall a mobile app to bypass a signing mismatch without exporting its data first.
Final build and package checks
All five application packages use source commit f51b91c47545e2012d866d06a9cc3bbd4e3eb5e5 and version 0.1.3+11.
- Shared Flutter tests: 174 passed, four optional native-inference tests skipped because runtime fixtures were not configured.
- Windows regression set: 50 passed. Static analysis: no errors or warnings, 18 existing informational findings. Apple packaging-tool tests: three passed.
- Android and Windows final release builds completed. Android package version/signature/native libraries and Windows executable/installer versions/runtime files were checked.
- Apple packages were produced by the existing Codemagic apple-release workflow, build
6ac333267394575b200b2a21. Bundle identity, version, microphone/background declarations, Mac signed entitlements and the renderer compatibility setting were checked. Download hashes match the build provenance report. - All archives passed integrity checks. The final Windows ZIP was extracted and executed; the installed final Android APK hash matched its package. English rename labels, saving and restart preservation were exercised on Android after the last correction.
Execution checks and their scope
The fuller functional check used the preceding candidate source 44022e7cf7e1731725c6046f4a8820b5d69aa6b6, also version 0.1.3/build 11. Since that check, the app-code changes are limited to the rename-dialog translations and compact-menu text wrapping. Storage, audio and transcription code did not change.
- Windows candidate ZIP and Android candidate APK: native WAV import and duration, local transcription, playback position/pause/seeking controls, transcript editing, TXT/SRT/VTT/JSON export, recording rename, favorites, collection creation/moving, Trash/restore, calendar and restart/search preservation were exercised. All eight exports contained the text entered through the editor; JSON and subtitle segment counts matched.
- Windows used SenseVoice and Android API 34 x86_64 used Whisper Base. A 115.48-second synthetic-speech WAV produced 24 segments on Windows and 20 on Android. These checks establish the tested flow, not general recognition accuracy or audible playback.
- Mac mini M2/macOS 26.5.1 candidate ZIP: settings failure feedback with the locked CI Keychain, successful retry with an unlocked test Keychain, native WAV import, duration, model download, SenseVoice transcription and normal quit/relaunch were checked. The transcript had 24 segments; four saved recording files were unchanged across restart.
- The final macOS and iOS packages were not newly executed after the last translation/menu correction. The final remote build finished, but its temporary machine was unavailable when this session resumed. Final Mac verification is package/provenance verification, with the earlier candidate runtime result disclosed above, not a fresh final-app execution claim.
- iPhone/iPad device installation and execution were not tested. No device and signing environment was available.
See the detailed notes, installation guide and supported features/formats.
Limits
Physical microphone speech validation was skipped for this release by decision; audible output, physical Android/iPhone/iPad behavior, Bluetooth, calls, screen-off/background recording and long-duration interruption handling are not established by these checks. Android execution used an emulator with audio output disabled. Live cloud requests, all model sizes, speaker separation, batch combinations and complete installer/removal flows were not all exercised.
Local transcription still requires WAV, large WAVs are read into memory and Whisper subtitle times are approximate. Cloud transcription uploads audio to the selected provider and may incur charges. Production Android signing, Windows publisher signing, Mac notarization and Apple store distribution are not added by this release. These checks do not claim that every feature works on every device.
SpokenLog v0.1.2
SpokenLog v0.1.2
Version 0.1.2, build 10 improves local data safety and cloud-request handling. It continues the build 9 source line, including long local transcription and Whisper Tiny, Base and Small selection.
Changes
- Save recording and collection metadata through staged files instead of directly overwriting the previous copy. Recording checkpoints and the final stopped state are saved in order.
- Briefly retry temporary Windows sharing/access conflicts without deleting the previous file.
- Save and load transcript text, subtitle segments and speaker labels as one JSON snapshot. Older TXT-only recordings still load. A failed TXT compatibility copy does not discard the committed JSON transcript.
- Limit each Groq or Cloudflare request to 10 minutes, including upload and the response body, and close its connection on completion or timeout. Timeout uses the existing network-error and alternative-transcription flow. This limit applies per audio part, not to the whole recording.
- Update packaging and installation guidance for the new version, keeping the existing app identifier and data locations.
Downloads
| Platform | File | Installation |
|---|---|---|
| Android 7.0+ | SpokenLog-Android.apk |
Install the development-signed APK. |
| Windows x64 | SpokenLog-Windows-x64-Setup.exe |
Run the unsigned per-user installer. |
| Windows x64 portable | SpokenLog-Windows-x64.zip |
Extract the whole ZIP and run SpokenLog.exe. |
| macOS 12+ | SpokenLog-macOS.zip |
Extract and open the ad-hoc signed app. It is not Apple-notarized. |
| iOS / iPadOS 15+ | SpokenLog-iOS-unsigned.ipa |
Re-sign with compatible signing and provisioning. This is not an App Store or TestFlight build and cannot be installed by tapping the IPA. |
SHA256SUMS.txt covers the five application packages. Back up important recordings before updating. Do not uninstall an older mobile app to work around a signing mismatch without first exporting its data.
Build and verification
All packages use source commit eab5e506e192bf9eaf1293f71cbd7a2318372ba6, version 0.1.2+10.
- Shared Linux Flutter tests: 166 passed, four optional native-inference checks skipped. Static analysis: no errors or warnings, 18 existing informational findings. Apple release-tool tests: three passed.
- Windows: release compilation and installer packaging completed. The storage/network regression set passed 26 checks on Windows, including the sharing-lock regression. Executable and installer versions, ZIP integrity and required runtime files were checked. The final release app launched and displayed the existing recording library; this was a startup check, not a new microphone or full transcription test.
- Android: release compilation completed. APK version, launcher package, native libraries, archive integrity and development signature were checked. No physical Android device or fresh emulator session was tested for this version.
- macOS and unsigned iOS: built by the existing Codemagic
apple-releaseworkflow, build6abfd6dd7394575b200a7c31. The packaging check verifies archive identity, version, microphone/background declarations, macOS signed entitlements and the renderer compatibility setting. Apple download hashes match the build provenance report. No fresh physical Apple-device or GUI execution check is claimed for this version.
The local HTTP regression checks use stalled test-server responses, not live paid provider requests. See release notes and installation guide.
Limits
Local transcription still requires WAV, large WAVs are read into memory, and Whisper subtitle times are approximate rather than word-aligned. Cloud transcription uploads audio to the selected provider and may incur charges; a timeout does not prove that the provider did not process or bill a request.
Windows is unsigned, Android uses development signing, macOS is not notarized, and iOS requires re-signing. This release does not establish physical-device recording, background/lock/interruption, Bluetooth or audible playback behavior on every device. File replacement does not guarantee recovery from every filesystem or power failure. Existing model-download integrity, speaker-model license provenance and imported-duration/localization limitations remain.
Earlier v0.1.0 and v0.1.1 release files and tags are retained. The new tag points to the same source used for these packages.
SpokenLog v0.1.1
SpokenLog v0.1.1
Android startup hotfix. Use this release instead of the v0.1.0 Android APK.
Downloads
| Platform | File | Installation |
|---|---|---|
| Android | SpokenLog-Android.apk |
Download the APK and install on Android. |
| Windows x64 | SpokenLog-Windows-x64.zip |
Extract the entire ZIP and run SpokenLog.exe. |
| macOS | SpokenLog-macOS.zip |
Extract SpokenLog.app. The build is ad-hoc signed and is not Apple-notarized. |
| iOS / iPadOS | SpokenLog-iOS-unsigned.ipa |
Unsigned device build for re-signing/testing. It cannot be installed directly on an iPhone or iPad without compatible signing and provisioning. This is not an App Store or TestFlight release. |
Fix
- Generate the Android launcher with the same
io.github.blueb.spokenlogpackage as the application ID and namespace, fixing the mismatched launcher used in v0.1.0. - Verify the launcher package, namespace, application ID, and manifest during CI.
Verification and limitations
- Windows, Android, macOS, and unsigned iOS compilation completed for source commit
039267fe106c0d916a0693501136ba17b9e1d006. - The downloaded Android APK contains
io.github.blueb.spokenlog.MainActivity; the previousio.github.blueb.voice_transcriber.MainActivityis absent. - The downloaded iOS IPA reports version
0.1.1, build2, and bundle identifierio.github.blueb.spokenlog. It has no embedded provisioning profile. - All four downloaded archives passed CRC and SHA-256 integrity checks. See
SHA256SUMS.txt. - Compilation and archive checks do not replace real-device testing. This publication does not claim verified startup, recording, or screen-off recording on every device.
- Android release signing is not yet configured with a persistent production keystore. An in-place update from an earlier build may be rejected due to different signing certificates. Preserve any existing recordings before uninstalling an older installation.
SpokenLog v0.1.0
SpokenLog v0.1.0
Downloads
| Platform | File | Notes |
|---|---|---|
| Windows x64 | Setup.exe / ZIP | Setup is recommended. For ZIP, extract everything and run SpokenLog.exe. Unsigned. |
| Android 7.0+ | APK | Development-signed. |
| macOS 12+ | ZIP | Not notarized. |
| iOS / iPadOS 15+ | IPA | Requires signing before installation. |
Changes
Build 9 (0.1.0+9):
- Process long WAV files in pieces instead of losing audio after Whisper's first 30 seconds.
- Choose local Whisper Tiny, Base or Small. Fix saved model selection when starting transcription.
- Export local Whisper subtitles using approximate pause-based timing.
- Remove Moonshine from the available engines and add model license notices in Settings.
Whisper subtitle times are not word-accurate, and Premiere import has not been tested. There is no app-imposed recording timer, but storage, WAV size, memory and device limits still apply.
Back up important recordings before updating.
Source matching these packages. GitHub's automatic source archives use the older release tag.
Installation guide | Checksums | Build details and testing limits