A voice picker is a comparison tool. If every voice reads different words, the words influence the choice as much as the voice does.
Version 1.2 controls that variable and fixes a separate release detail that can be just as confusing: a familiar download link returning an older build.
One line, every voice
All voice previews now speak the same canonical sentence. Rhythm, warmth, clarity, and pacing can be compared directly because the script no longer changes between options.
The shared line is a documented constant in the preview generator, making it harder for a newly added voice to drift back into an unfair comparison.
A stable URL should still deliver the current app
The main disk image and update manifest keep stable names so links do not change every release. Those stable resources now use no-store caching, preventing a returning browser or client from reusing yesterday’s answer.
Versioned archives keep their long-lived immutable caching. The rule is simple: permanent content can be cached permanently, while a stable pointer must stay fresh.
Product decision
The principle behind 1.2
Good comparisons change one variable at a time. Good release systems distinguish between an artifact and a pointer to the newest artifact.
Both fixes remove invisible ambiguity, which is often what separates a polished workflow from a merely functional one.