# Changelog

All notable changes are documented here, newest first. Entries use the timestamp scheme
`[YYYY.M.D-HHMM] - YYYY-MM-DD - HH:MM`.

## [2026.10.31-249] - 2026-10-31 - 02:49

### Added

- The explainer shows the app: a screenshot of the real window with an audio file chosen and English selected. Nothing was transcribed for it, since transcribing sends the audio to an online service.

## [2026.10.31-117] - 2026-10-31 - 01:17

### Added

- The explainer site is published: <https://transcriber.niftylittletools.dev/> (GitLab Pages, built from `explainer/` by the new `.gitlab-ci.yml`), its `site` set for canonical links and the sitemap, and the README's **Live:** line.

## [2026.10.30-1844] - 2026-10-30 - 18:44

### Changed

- Repository: `gitlab.com/nifty-little-tools/desktop-apps/transcriber`, in the README and the explainer.

## [2026.10.29-1959] - 2026-10-29 - 19:59

### Documentation

- README to the workspace structure (`_templates/README.md`): the key line, Parameters/Flags (recording, language `es-ES` by default, keep the WAV) and Development.

### Fixed

- `uv.lock` had recorded an older version of the project itself, which `uv sync --locked` refuses; relocked (one line, no dependency changed). `check_conformance.py` now checks it.

## [2026.10.28-2156] - 2026-10-28 - 21:56

### Added

- **Explainer site** (`explainer/`, global §11): a static Astro page in the house Cyanotype style that says what the app is, what it does, how to run it, and its privacy terms, written from this README. It is light by default with its theme remembered, has a toggleable intro and the privacy notice, and loads nothing from a third party. Built from the workspace's shared template (`_explainer/`), copied unchanged and checked by `check_conformance.py`; only `src/site.js` (its words) is this tool's own. It is published once the tool's domain is chosen (plan Phase 8). The README gains an "Explainer site" section.

## [2026.10.26-1842] - 2026-10-26 - 18:42

### Changed

- Migrated from Poetry to **uv**: PEP 621 `[project]`, `package = false` (an application run as `transcriber_ui.py`), `requires-python = ">=3.12"`, `.python-version` 3.12, `uv.lock`; `poetry.lock` removed. Authorship set to Arziel.
- Dependencies moved to their current releases: SpeechRecognition 3.17.0, pydub 0.25.1.

### Added

- README `## Privacy & security`: **audio is uploaded to Google's free Web Speech API** for recognition; where the transcript and any WAV are written.

### Security

- `pip-audit` over the new lockfile: no known vulnerabilities.

### Known issue

- pydub is unmaintained: it raises `SyntaxWarning`s on Python 3.12 and needs the removed `audioop` module on 3.13+, so this tool stays on 3.12 until pydub is replaced.

## [2026.10.26-1813] - 2026-10-26 - 18:13

### Changed

- Initialised as a git repository on `main`, with a `.gitignore` that keeps audio inputs and transcripts out (user data).
- `.gitattributes` normalising line endings to LF (`* text=auto eol=lf`) and marking binaries.
- `README.md` (what it is, features, installation, usage, licence) and the house
  `.markdownlint.jsonc`.
