# Changelog All notable changes to **TTS Voice Creator — Clone and Design** are documented here. Follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) · versioned with [Semantic Versioning](https://semver.org/). --- ## [Unreleased] --- ## [1.48.2] — 2026-09-22 ### Changed - **Magazine: "Generate all audio" progress now shows page number, not article count.** "Article 6/44" said little about how far through the magazine a run actually was; it now maps back to that article's own starting page and shows "p. 20 / 204" instead, falling back to the article count if a page number isn't available for some reason. --- ## [1.48.1] — 2026-09-22 ### Fixed - **Magazine: "Listen"/"Continue" on an article with a generated MP3 still went through the live reader.** It hit "Pick a narrator voice first" instead of just playing the file that already existed. Both buttons now check for a generated MP3 first and play it instantly through the playlist player — no voice pick, no synthesis wait; "Continue" resumes from the saved position when one exists. Only an article with no generated audio falls back to the live sentence-by-sentence reader. --- ## [1.48.0] — 2026-09-22 ### Added - **Magazine: "Generate all audio" resumes instead of redoing everything.** It now only renders approved articles that don't already have an MP3 — safe to click again after an aborted or partial run (a container restart mid-batch, closing the tab, etc.) without re-synthesising what already finished. --- ## [1.47.1] — 2026-09-22 ### Added - **Magazine: a progress bar for "Generate all audio."** The export status was a single line of text that jumped between "Article N/Total…" and a mid-render "sentence X/Y" — now a `` bar plus a plain "N / Total" count track the same numbers visually, parsed from the job's own progress text. --- ## [1.47.0] — 2026-09-22 ### Added - **Magazine: click a region's text to edit it, no pencil icon needed.** The pencil-icon editor (with its Save/Split-here/Cancel actions) still opens exactly the same way — this just adds the text itself as a faster path to it, since the row is a checkbox `