Changelog — 2.322–2.338
Releases 2.322.0 through 2.338.1. Current releases are on the main changelog, and every band is listed in the release archive.
Loading audio...
Version 2.338.1
September 25, 2026We were saying our own name twice
- Almost every page's title, the text in your browser tab and in search results, read “Truth Promoters | Truth Promoters”. Each page added our name, and so did the site around it. Now it appears once, and a check stops it coming back.
- Nothing to do at your end.
Version 2.338.0
September 25, 2026Our practice copy now says it is one
- The copy of this site that we test changes on now marks itself clearly: an amber DEVELOPMENT badge, a tinted bar saying it is not the live site, [DEV] in the tab title and a marked tab icon. Screenshots and edits can no longer be mistaken for the real thing. This site looks exactly as before.
- Nothing to do at your end.
Version 2.337.0
September 24, 2026diwan is open, and the IlmFlow tools are easier to find
- diwan, our new home for the written work, is now open. You will find it in the Apps and Services menu under IlmFlow, beside daftar and fihrist.
- The three IlmFlow tools now show their own marks in that menu, set just beneath IlmFlow so it is clear they belong to it.
- Nothing to do at your end.
Version 2.336.2
September 24, 2026Getting our new writing tool ready to open
- Our own records now say how the new writing tool is put live, before it goes live rather than after, so the machinery that looks after it knows it is there from the first day.
- Nothing to do at your end.
Version 2.336.1
September 24, 2026The practice copy of our writing tool now keeps a second copy of everything, and we watch it
- The development copy of our new writing tool now keeps a continuous, separate copy of every document in a history that is only ever added to. The staff status page has a new check that turns red if that copy stops keeping up.
- Nothing to do at your end.
Version 2.336.0
September 24, 2026Each publication belongs to its editor
- A publication can now be changed only by its editor, or by the people who look after the whole site. Until now, any of our authors could change any publication's logo, address or sections, not only their own. Nobody had, but nothing stopped it.
- Authors still see every publication, with its editor named, and the ones that are not theirs open read-only.
- Starting or removing a publication, or changing who edits one, stays with the site's administrators.
- Nothing to do at your end.
Version 2.335.0
September 24, 2026Our publications can be put in order at the top of the site, and a dead link is gone
- The row of publication icons at the top of every page can now be put in the order we choose, and so can the sections within a publication.
- Editing a publication used to quietly move it to the front of that row — and forget where its articles come from. Nobody saw it, because the edit itself looked perfect. It is fixed, and a check now proves that an edit leaves alone everything it does not change.
- A link to a partner site that no longer answers is gone from the top of the site.Links to our partners will have a proper home of their own.
- A staff page kept warning about machines we had already retired. Everything about retiring them that lives in our code had been done; one record lives elsewhere, and nothing said to remove it. That page keeps records on purpose, so that a machine which quietly disappears raises an alarm rather than vanishing.
- The warning is cleared, and retiring a machine now has a written checklist, with that step in it, beside the one we already had for bringing a machine in.
- Nothing to do at your end.
Version 2.334.0
September 24, 2026Our own AI can now be shown a page — and it is not to be trusted to copy one
- The AI that drafts our Reflections and Vignettes can now be shown an image as well as text. The part that writes is exactly the one it was, and nothing it produces today changes.
- We tested it on a printed page of a classical text before anything else, and it failed in the way that matters. It laid the page out correctly and then got many words wrong — fluently, adding vowel marks the page does not print. A reading that looks this clean and is this wrong is worse than no reading, so it will not be used to produce the text of any source.
- What our research team may use it for instead is narrow: asking a yes-or-no question about a single page, such as whether a phrase appears on it, a few at a time. Its answer is never kept as text.
- Our own checks now fail if it quietly loses the ability, rather than carrying on as though nothing had changed.
- Nothing to do at your end.
Version 2.333.0
September 24, 2026The practice copy of our writing tool went down, and nothing told us
- The staff status page now watches the development copy of our new writing tool, as it already watched the machine the live one will run on. The two now sit side by side, as they do for our other tools.
- Why now: the development copy was down for about half an hour this morning, and nothing said so. A routine restart brought one of its parts back and not the other. That is fixed in the tool itself, and the new check would have shown it red from its first minute.
- It checks the address people actually use, the way our other outward-facing tools are checked — so a fault anywhere between a person and the tool shows up, not only a fault in the tool itself.
- Nothing to do at your end.
Version 2.332.2
September 23, 2026A mistyped address now says “not found”, not nothing
- An address on one of our sites that does not exist now answers “not found”. It used to answer with a blank page that reported success — which looks like a broken site to a person, and like a working one to anything checking automatically. Neither was true.
- A check now runs against it, so it cannot quietly come back. The first version of that check claimed to have looked at everything when it had looked at a tenth of it; it now counts what it covers, and fails if the count is short.
- Nothing to do at your end.
Version 2.332.1
September 23, 2026A form that no longer accepts an address that could never work
- The admin page that directs our web addresses now refuses an incomplete one. It used to accept a name with no dot in it — which can never match anything, so it simply never worked, and the only sign was a mismatch report later. Now the form says what to type instead.
- Nothing to do at your end.
Version 2.332.0
September 23, 2026A shortcut for the people who run the VPN
- The VPN card on the admin dashboard now has a Manage button for super admins, marked as such — so running the service is one click from the dashboard instead of two.
- We checked that only super admins can use it, and made that check permanent. The page and everything behind it already turned everyone else away. But one of those protections had no test watching it, so a later change could have removed it without anyone noticing. Now one does.
- Nothing to do at your end.
Version 2.331.1
September 23, 2026A build service that had quietly stopped fetching anything new
- One of the internal services our builds depend on had stopped fetching new components. It kept serving the ones it already had, so nothing looked wrong until a new project asked for something it had never fetched. It is fixed — and it is locked down more tightly than it was.
- Every check on it had been passing. One of them could only ever have failed once: it tested fetching something new by always asking for the same thing, which stopped being new after the first time. That lesson is now written down, so the next check is built differently.
- Nothing to do at your end.
Version 2.331.0
September 23, 2026A home prepared before the tool it is for
- We have prepared the machine for a new internal tool for our written work. It is on the staff status page from its first day — watched before anything runs on it, so if it goes down while we are building on it, that shows up instead of hiding.
- Its name-to-address records were written first and checked properly. Our first check that nothing else already used its address came back empty for the wrong reason — the question it asked was refused, not answered — so we asked again in a way that could fail, and it could.
- Its secure-login setup refused to go ahead the first time, because one of its checks was stricter than the tool it was guarding. We fixed the check by making it trust less, not more: it now confirms the machine’s identity through a channel we already trust before it will talk to it.
- Nothing to do at your end.
Version 2.330.0
September 23, 2026The research tool moved house — in seconds, and checked both ways
- Our source-text research tool now runs on its new machines. The switch for its public addresses took a few seconds. Its internal names were moved without ever ceasing to exist, which is harder than it sounds and is what the tooling added yesterday and today was for.
- Every step was checked twice — once beforehand, expecting it to fail, and once after, expecting it to succeed. A check that has only ever been seen to pass tells you very little.
- The machines it used to run on have been retired, and will be wiped and rebuilt rather than left running with nothing watching them.
- Nothing to do at your end.
Version 2.329.1
September 23, 2026A small label fix on the staff status page
- The staff status page now labels a few internal tools the way they actually run, including two that are moving house. Each label was checked against the real thing first.
- Nothing to do at your end.
Version 2.329.0
September 23, 2026Getting ready to move the research tool without a gap
- Our internal address book can now change how long a lookup is remembered, without ever removing the entry to do it. The only way we had before was to delete an entry and re-create it, and in the moment between the two the name simply does not exist — which other machines can then remember for a quarter of an hour. For a tool people are using, that is an outage.
- The research tool’s names now switch over quickly, ready for its move to its new machines. Nothing about where it runs has changed yet, and nobody using it will have noticed.
- Our own tests caught a fault in the new command before it was ever used, and a second slip — in the instructions rather than the tool — stopped at its own safety check without touching anything.
- Nothing to do at your end.
Version 2.328.1
September 22, 2026Tidying up after the move-in — and a check that blamed the wrong thing
- Every machine on our internal network can now be looked up backwards as well as forwards — from its address to its name. The machines added over the past month had been missing that half, because the written procedure for adding one never mentioned it. It does now.
- The new machines for our research tool now refuse password sign-in altogether. The older machines that still allow it are a tracked decision rather than an accident.
- A scheduled job had been running to a timetable we rejected three weeks ago — the one that lands on our backup hours — because the correction reached our records and never reached the machine. It is back on the agreed one.
- One of our machines was switched off by accident for about half an hour late in the evening, and one of our own checks blamed the wrong cause — it reported a missing security certificate rather than a machine it could not reach, and told whoever read it to redo work that was fine. It now says only what it actually knows, and our tests prove it cannot slip back.
- Nothing to do at your end.
Version 2.328.0
September 22, 2026The research tool’s next home is on the map before anything moves in
- We have prepared the machines our source-text research tool will move to, and they are on our internal map and our status page before anything runs on them. When the move happens it lands somewhere that is already watched. Until then the tool carries on exactly where it is.
- One of them had been set up in a way that, left alone, would eventually have caused trouble for other machines. It was caught while it was still empty and put right without being switched off, with the machines around it checked before, during and after. They never noticed.
- Our own written procedure for bringing in a machine was wrong in three places, and all three were found by checking it against the real thing before following it: a step it said had hours to spare actually had minutes, a route it described did not work, and a record it never mentioned was missing from every machine added in the past month. It now says what actually happens, and the missing records are a tracked job.
- Nothing to do at your end.
Version 2.327.1
September 22, 2026The safety setting that stopped the thing it was protecting
- An internal tool went live, and the only thing that stopped it working was a security setting we had added ourselves. We had told the system to hide a sensitive folder from the program — and the program needed to read a file kept there. The error said the file did not exist, which was untrue: it existed, and we could read it by hand a second earlier. It was simply invisible to that one program, on purpose, by our own instruction.
- Why our testing missed it. We had run the program by hand first and it worked perfectly — but running a program yourself is not the same as letting the system run it, and all the protective restrictions apply only to the second. So the tool was proven correct while the thing that actually runs it had never been tried. That has been written down as a rule, because it is the sort of mistake that looks like nothing at all.
- Nothing to do at your end.
Version 2.327.0
September 22, 2026A new technical write-up: when a passing test means nothing
- A new piece in the Technical Writings section: Who Answered the Check? In one day we found six tests that were passing, and every one of them was passing for a reason that had nothing to do with what it claimed to be checking. One was being answered by a service in front of ours, so the thing under test was never reached. One found the comment explaining a rule and reported it as a breach of that rule. One could never have failed, because every machine available to run it from was on the list it was supposed to test exclusion from.
- Why we publish these. None of it is about our systems — the examples are deliberately generic, and the lesson is not. If you write tests or run anything, the habit it recommends takes a minute: break the check on purpose and watch it fail, because a green tick is a claim about the check rather than about the thing it watches.
- Nothing to do at your end.
Version 2.326.0
September 22, 2026Watching a machine that is meant to look busy for days
- We are adding a machine that reads scanned pages of old books into text, so that works with no digital text can still be searched. Our monitoring now keeps an eye on it. The interesting part is what we had to be careful about: a job there runs for days without pause, so a check that treated “busy” as a warning would sound an alarm continuously for a week and teach everyone to ignore it.
- It is also the first thing we watch by reading what the machine says, rather than only whether it answers. The difference matters: a machine can answer politely while quietly being unable to do its job — something that went unnoticed elsewhere for four months once. If what it says and how it answers ever disagree, our check now reports the disagreement instead of quietly believing one of them.
- Nothing to do at your end.
Version 2.325.0
September 22, 2026A new page in the admin area, and a test that caught itself out
- The internal connectivity tool now has its pages. People set up their own devices; the file each device needs is shown once and kept nowhere afterwards, so losing it simply means making another — nobody can hand you a copy, including us. That is the point rather than an inconvenience.
- A test reported a fault in the very file written most carefully to avoid it. It was searching our code for a risky pattern and found the comment warning against that pattern. It is the second time today the same trick caught us, which is what made it worth fixing properly: writing about a rule uses the same words as breaking it, so a search like that finds the documentation before it finds the mistake. It now ignores comments.
- Nothing to do at your end.
Version 2.324.0
September 22, 2026A safety check that was passing for the wrong reason
- More of the internal tool for the team — and one finding worth telling you about, because it is the kind of mistake that hides in plain sight. We had a test confirming that a particular way of impersonating one of our own machines was refused. It passed. It turned out it was passing because something else refused it, on a route the real traffic never uses — so our own protection was never being tested at all. We have rewritten the protection so it no longer depends on a setting kept elsewhere, and rewritten the test so it can only pass for the right reason, with a deliberate success case beside it to prove the test is capable of telling the difference.
- Nothing to do at your end — none of this is visible on the site.
Version 2.323.0
September 22, 2026Older release notes moved to their own page — and more groundwork
- This page was getting long enough to slow down, so releases 2.307 to 2.321 now live on their own page. Every link anyone has ever shared to an older release still works and is forwarded automatically — we check that by listing every entry before the move and after it, and confirming each one appears exactly once.
- Behind the scenes, more of the private tool for the team. The interesting part is what it does not store: the key that identifies each device is handed over once and never written down, so even we cannot reproduce it. A test now fails if anyone ever adds a place to keep it.
- Nothing to do at your end.
Version 2.322.1
September 22, 2026Building the internal tool, and correcting our own instructions as we went
- The private tool for the team mentioned in the last release now exists, and building it turned up four mistakes in our own written instructions. Each is now fixed where it was wrong rather than remembered by whoever hit it. One is worth repeating because it is the kind of thing that fools everybody: a check we had written to prove a safety rule was working could never have failed, so it would have reassured us forever. We replaced it with one that can.
- Nothing to do at your end — none of this is visible on the site.
Version 2.322.0
September 22, 2026Groundwork for an internal tool — written down before it is built
- We are building a small private connectivity tool for the team, managed from the admin area. This release is the design and the build instructions, written and agreed before any code — our habit, because a plan that is written after the fact tends to describe what was intended rather than what shipped. Nothing about it is visible on the site, now or later.
- Nothing to do at your end.