Changelog — 2.307–2.321
Releases 2.307.0 through 2.321.1. Current releases are on the main changelog, and every band is listed in the release archive.
Loading audio...
Version 2.321.1
September 21, 2026One reference photo, not two — measured, and quicker
- This morning’s change showed the model one photograph of a character; by the afternoon it was showing two, on the theory that more would be better. We tested that properly — the same scenes both ways, scored without knowing which was which — and two was not better: level on likeness, a shade worse overall, and once badly wrong, while costing over a minute more per scene. So it is one photograph again, and a character scene takes under three minutes rather than four. The time estimates shown while a scene draws, and a safety timer around a whole comic, are corrected to match.
- Nothing to do at your end.
Version 2.321.0
September 21, 2026Vignette characters look more like themselves — the model is now shown their photo
- The characters in Vignettes should keep the same face from scene to scene, and often did not quite. We found the reason in our own setup rather than in the model: the reference photograph was being used as a rough starting sketch to paint over, when the model is built to look at it. It now does — two views of the character go in as a reference rather than a canvas — and in a blind comparison on real scenes, where the person scoring could not tell which was which, the new way was preferred for likeness and for overall look. Each character scene takes a little longer to draw; nothing else about writing a Vignette changes.
- Not fixed yet, so you know: when a character holds up a photograph or a phone, the picture on it still tends to face the reader and show the wrong face. We know why now and are testing the fix.
- Nothing to do at your end.
Version 2.320.0
September 21, 2026Choosing what draws our images — by a blind test, not a headline
- A new image model was released this weekend with big claims about lettering and about keeping a character recognisable from scene to scene. We looked properly before touching anything. Its terms of use turned out not to allow what we do without asking first, so we widened the search and found several alternatives whose terms are clear. Rather than pick one from marketing, we have written down a fair test: the same twelve real prompts through each, scored blind by a person who cannot see which is which, with the rule for “good enough to switch” agreed before anyone sees a result. Nothing changes for readers until that test has been run and passed — and possibly not even then, which would be a fine answer too.
- Nothing to do at your end.
Version 2.319.2
September 21, 2026The image service’s handbook named the wrong machine for a month
- The notes for the service that draws our images still said it lived where it used to. It moved a month ago; the page describing it did not follow, and nobody noticed because the old home and the new one look alike on paper. Corrected, along with three other sentences on the same page that described machines as they were in the spring. Nothing about the images changed — this is housekeeping ahead of a review of what draws them.
- Nothing to do at your end.
Version 2.319.1
September 21, 2026Our front door was overruling our own sites’ safety settings
- Every site we run sits behind one front door, and that door adds a standard set of browser safety headers to each reply. It turned out to add them by replacing whatever the site itself had chosen — so when one of our tools asked browsers to be stricter on a particular page, the front door quietly put the ordinary setting back. Nobody was harmed by it, but a site could not tighten its own behaviour and had no way to see that it had not. The door now fills in a header only where the site left it blank, and one obsolete header that modern browsers are advised not to receive is switched off.
- Nothing to do at your end.
Version 2.319.0
September 21, 2026Our build-status check was counting the wrong list
- An internal status tile said every build machine was fine — while it only knew about some of them. It worked out which machines build the site from how they were named, and a machine named for what it is rather than what it does simply was not on its list. It now asks the build system itself which machines it hands work to, and reports on all of them. If that question cannot be answered, the tile says so instead of reporting a reassuring zero. Nothing on the site was affected.
- Nothing to do at your end.
Version 2.318.2
September 21, 2026The backup store is back, checked copy by copy — and a correction to yesterday
- Yesterday’s entry said the backup store was rebuilt “with nothing lost”. That was a day early. The first rebuild quietly left the day’s newest backups in place and skipped the history behind them, while reporting success; the second run, finished overnight, has now been compared against the second copy backup by backup rather than trusted on its own say-so. Everything matches bar one eight-day-old copy of one machine, which the second copy still holds. Our internal notes say so, and say what to check next time instead of the job’s own verdict — which was wrong in opposite directions on consecutive nights. Nothing on the site was affected at any point.
- Nothing to do at your end.
Version 2.318.1
September 20, 2026The backup fix that broke the backups, written down properly
- Applying yesterday’s backup-storage fix took our backup store offline for a night. The change itself was sound; the way it was switched on told the storage system to re-read its disks at a moment when they were misreporting their own size, and it believed them. The store was rebuilt from its second copy with nothing lost — the first time those copies have earned their keep — and the switch-on now changes one number and tells nothing else. Our internal notes gained a rule about that. Nothing on the site was affected at any point.
- Nothing to do at your end.
Version 2.318.0
September 20, 2026Videos that are harder to break, and what to do when one will not play
- A video that could not stream now falls back to a plain file instead of freezing. One device showed 0:00 and stayed there on Reflections and Vignettes while every other device played them. We have not found what that device is doing, but looking hard at it showed three ways our playback was more fragile than it needed to be. All three are fixed: a video whose adaptive stream fails now quietly switches to the plain file and carries on; some vignettes were built with their index at the end of the file, so a phone had to fetch the end before it could even show a length — new ones no longer are; and three of our media routes refused a perfectly valid way of asking for part of a file.
- A new section in the Help Centre, “When a video will not play” — the steps on a phone or computer that most often fix it, in order, none of them harmful.
- Fihrist joins daftar under IlmFlow in the Apps and Services menu.
- Nothing to do at your end.
Version 2.317.0
September 19, 2026Our backup check now watches the machines it used to skip — and found them
- Some of our machines back up a different way from the rest, and our daily backup check had never included them — so it could read as healthy while they were not being backed up at all. It now asks those machines directly, and its first reading was that none of them had backups configured. That was put right the same evening; the check will say so on its own as each one completes.
- The two backups that really were behind had a different cause — a storage device that goes to sleep between jobs and takes longer to wake than we were prepared to wait, so the job would give up and leave a lock behind that stopped the next attempt too. We now wait longer, and we keep the device awake so it rarely comes to that.
- Nothing to do at your end.
Version 2.316.2
September 18, 2026Internal notes brought up to date
- Two of our internal documents were brought up to date — the account of how sign-in across our tools works, now confirmed against both halves as they were actually built, and the notes for the people who run our network link, with a few things learned while connecting one more machine to it. Nothing here changes what you see.
- Nothing to do at your end.
Version 2.316.1
September 18, 2026The machine-readable copies are now checked at every release
- Every page here that has a plain-text copy for AI readers is now checked, on the live site, as the last step of every release — not only when we remember to. A release could in principle ship the right version with the pages’ text left behind, and the existing checks would not have noticed; this one would.
- Nothing to do at your end.
Version 2.316.0
September 18, 2026A new technical writing: one sign-in, many tools
- The sixth of our technical writings is up: One Sign-In, Many Tools — how one of the tools our contributors use became the place that knows who everybody is, and the others learned to ask it. What one tool tells another about you (who you are, and nothing about what you may do), how long that statement lives (a minute), the checks on both sides that stop it being forged, replayed or sent somewhere it should not go, and the file of test cases that let two halves built separately meet without surprise. Written for anyone building the same thing; nothing in it describes our own machines.
- Nothing to do at your end — and nothing changes about how you sign in today.
Version 2.315.2
September 18, 2026The research tool’s development copy is now watched for an expiring certificate
- The development copy of our source-text research tool now serves its own certificate, and our internal certificate page watches it — so the first sign of a renewal failing is a warning to us, weeks ahead, rather than a browser error for whoever opens it that morning. It is the second certificate we run that renews itself rather than through our usual renewer, and that page is the only thing watching either.
- Nothing to do at your end.
Version 2.315.1
September 18, 2026Security updates for the service that keeps our code and runs our builds
- The service we keep our source code in, which also builds and tests everything you see here, has security updates waiting, and this release records how they are applied — a backup first, the update, and then a check that every build machine has reconnected and can still do work, because “it started” and “it works” are different questions.
- Writing that procedure down found a gap: our notes said two copies of a configuration were “compared” to keep them in step, and nothing had ever compared them. They happened to match. Now there is an actual check, and the note says what it used to claim.
- Nothing to do at your end. The update itself happens in a quiet moment and takes under a minute.
Version 2.315.0
September 18, 2026A machine that had been gathering dust now runs the research tool’s tests
- Our source-text research tool now has a dedicated machine to run its automated tests on, so changes to it get checked before they reach anyone. It is one of several machines that had sat idle since a project was retired in the spring; it was cleaned out, given a job, and put on our internal map and monitoring in the same afternoon.
- The lesson from earlier today was applied in the doing. This morning two steps were run in the wrong order because the order lived in a sentence; this time the second step checks for itself that the first has happened, and refuses to run otherwise. It held.
- And one thing we had written down turned out to be true of one version of a tool and not of the one we had just installed — caught by reading the tool’s own output rather than our notes, before it could mislead anyone.
- Nothing to do at your end.
Version 2.314.0
September 18, 2026Two machines put on the map — one of them had been working off it for months
- A second machine for developing our source-text research tool is now on our internal map, monitored, and included in the checks that notice when something nobody is watching goes quiet. The tool itself is still internal; a public version will follow once its sign-in is finished.
- While doing that we found a machine that helps build and test the site had been doing real work since spring without being on that map at all. Nothing was wrong with it — but a machine nobody is watching is a machine whose failure nobody notices, and our own consistency check had been pointing at it for some time among a lot of noise it could not tell from a real finding. It is on the map now, and the noise is a tracked job.
- Two of our own instruments gave a reassuring wrong answer along the way, and both were caught the same way: by first asking them about something we already knew. A check that can only ever say “fine” is not a check.
- Nothing to do at your end.
Version 2.313.1
September 18, 2026Housekeeping behind the scenes
- The known-good version of the image-generation software from 2.313.0 is now the one actually running, checked end to end with a real title card before anyone was told it was ready. Our internal notes had briefly said otherwise; they now match.
- Nothing to do at your end.
Version 2.313.0
September 18, 2026Title cards were finishing — we just stopped waiting for them
- Generating a title card for a Reflection was failing with “image service may be unavailable”. The service was available and was finishing every card; the site had a fixed limit on how long it would wait, and that limit was a few seconds shorter than the artwork takes. So it gave up just before the picture was ready — every time, for the last two days, and about one attempt in three before that.
- Why our own checks missed it: the time a card takes had actually been measured and written down weeks ago, in one part of the code, while the limit lived in another. Nobody had put the two numbers side by side. The limit is now worked out from that measurement rather than typed in, and every kind of artwork uses the same rule, so the next surface cannot drift into the same gap. A test now fails if the two numbers ever disagree.
- Clearer errors, so the next investigation goes to the right place. The message that pointed at the image service was a guess; the log now says whether the artwork was still being drawn when the site stopped waiting, or genuinely produced nothing.
- The image-generation software is now held at a known-good version instead of picking up whatever was newest each time we released, so a routine release can no longer quietly change how artwork is produced.
- Nothing to do at your end — if a title card failed on you recently, generate it again.
Version 2.312.3
September 17, 2026Housekeeping behind the scenes
- A small tidy-up on the internal certificate list: a certificate that carries its name only in its alternative-names field now shows that name instead of a dash.
- Nothing to do at your end.
Version 2.312.2
September 17, 2026Housekeeping behind the scenes
- One more internal service is now on the certificate watch-list, so its security certificate is checked automatically alongside the others and any problem with renewal would be noticed well before it expired.
- Nothing to do at your end.
Version 2.312.1
September 16, 2026Housekeeping behind the scenes
- Six leftover settings from retired systems were cleared out of production, and the check that compares what we run against what we document now passes cleanly for the first time — and no longer objects when a setting is merely in a different place.
- Nothing to do at your end.
Version 2.312.0
September 16, 2026The contact form is back, the home page shows the next session, and an internal tool joins our status page
- The home page now shows the next session of an event, not the newest one scheduled. When two sessions were scheduled a week apart, the card showed the further-away one — so the session actually happening this week was not the one on the front page. It now shows the nearest upcoming session, keeps it up for a day afterwards for anyone who missed it, and then moves on to the next.
- The contact form had been refusing every message since the end of August. A security fix at the time made the form correctly refuse to work without its anti-spam check configured — and the configuration reached our code but not the machine running it, so visitors saw “temporarily unavailable” for seventeen days. It is fixed, and the check that should have caught it is now part of how we release. If you wrote to us in that time and heard nothing, please write again — we are sorry.
- Our internal status page has a new section for internal tools, starting with a research tool the team uses to find pages in source texts.
- Nothing to do at your end — other than that message, if it was you.
Version 2.311.0
September 16, 2026A transcription no longer dies with your browser tab
- If your connection drops mid-transcription, the work carries on without you. Until now the transcription ran inside the connection that was showing you its progress, so closing the tab, a flaky network or a long lecture outlasting the connection could quietly lose the job. The work now runs on its own, and your screen is only watching it — come back and it will have finished, with the transcript saved.
- Cancel actually cancels. The Cancel button on a running transcription used to be answered with “no job found” and the work carried on regardless. It now stops the job, and frees the engine for the next one.
- The transcription service now checks who is asking. Every request has to identify which of our sites it comes from, results are only ever delivered back to that site, and a finished transcript stays collectable for a week rather than an hour.
- Nothing to do at your end.
Version 2.310.1
September 15, 2026The new speaker-identification service is on the status page
- Our internal status page now watches the speaker-identification service deployed earlier today, beside the rest of the transcription pipeline.
- Nothing to do at your end.
Version 2.310.0
September 15, 2026Transcription jobs now queue for the hardware instead of colliding on it
- Two transcriptions started at once no longer share the same engine at the same moment. The second one waits its turn and says so on its progress bar (“waiting for the transcription engine”) rather than both slowing to a crawl or one failing. If the queue itself cannot be reached, a job is refused with a clear message rather than started blindly.
- A tidy-up behind the scenes fixes a way our test site and the live site could, in principle, have confused each other’s transcription jobs once a second product starts using the same service, and tightens where the service will send its results.
- Nothing to do at your end.
Version 2.309.0
September 15, 2026Transcripts will soon know who is speaking — built carefully this time
- A speaker-identification service has been added to the transcription pipeline. When it is switched on, a transcript will mark where one voice ends and another begins — the teacher, the student asking, the teacher again — which is what a lesson recording needs to be useful.
- It is switched off until it has been tested against real recordings. We tried this once before, in a way that quietly stopped working and nobody noticed for months. This version reports itself unhealthy until it has actually loaded, is checked after every deploy against a recording with two known voices and one with a single voice, and only goes live for transcripts once those checks and the real-world recordings say it is good enough.
- A quiet fix on the way: the transcription engine’s own judgement of which language it heard was not being passed on to the step that lines words up with the audio, so Arabic and Farsi recordings missed a text clean-up step. They no longer do.
- Nothing to do at your end.
Version 2.308.0
September 14, 2026A security check on every change, from now on — and it earned its keep on day one
- Every change now gets a security review before it goes out. Who can reach what, what a person could type or upload, and what an error message might reveal — written down with the change, not assumed. It joins the independent monthly review as the first of two pairs of eyes.
- The first one found a real problem the same evening. In a sister project that shares this practice, a feature released hours earlier let a signed-in person who knew some internal identifiers reach another person’s upload. Nothing revealed those identifiers and nothing was touched, but the door was fixed before anyone slept.
- This page’s older entries have moved to a new archive band, 2.282–2.306, because this one was full. Links to individual entries still work.
- Nothing to do at your end.
Version 2.307.0
September 14, 2026Doing the homework before rebuilding how we transcribe speech
- Research first. We are about to teach our transcription to tell speakers apart and to handle lectures in Farsi, Arabic and English better. Before writing any of it, we surveyed what exists today and wrote the findings down with their sources — including one that surprised us: for modern speech recognisers, “cleaning” the audio first often makes the transcript worse, and we had been doing it to every file.
- Measure, don’t guess. Every remaining choice will be decided by running real recordings through the candidates and scoring them — and the scoring tool already caught a mistake in itself on its first run, which is exactly what it is for.
- Nothing to do at your end. Nothing visible changes yet; this is the groundwork.