Changelog — 2.111–2.117

Releases 2.111.0 through 2.117.2. Current releases are on the main changelog, and every band is listed in the release archive.

Loading audio...

Version 2.117.2

August 13, 2026

The little icon in your browser tab was 1.8 MB

  • The tiny logo that appears in your browser tab was being sent to you as a full-size image — nearly two megabytes for something displayed at about the size of a fingernail. On a phone, on a slow connection, that was the single heaviest thing on the page.
  • There were eight of these, in different sizes, and they were all secretly the same file. Each was named for the size it was supposed to be, and every one of them was the same full-size image. The names were simply wrong.
  • They are now the sizes they claim to be. Altogether they went from about fourteen megabytes to under two hundred kilobytes — and they look exactly the same, which we checked by comparing them side by side rather than trusting the numbers.
  • The same oversized image was also being sent with every push notification. The small badge on a notification was pulling the full-size file too.
  • And the standard icon address browsers try first was missing entirely, so that request was answered with an error page instead. There is now a proper one.
  • Nothing to do at your end. You may need to revisit the site once for your browser to pick up the new tab icon.

Version 2.117.1

August 13, 2026

A link to an older release now actually takes you to it

  • A shared link to a specific older release arrived at the right page and then left you at the top of it. These pages are very long, so the entry you actually wanted could be tens of thousands of pixels below where you landed.
  • We flagged this two releases ago and said we would not guess at the cause. This is the fix, and the cause was not the one that sounded most likely. There were two possible explanations that needed opposite repairs, so we tested which one it was rather than picking.
  • The answer: it was a race, and the giveaway was that it did not always happen. The same link failed on a fresh visit and worked on a repeat one — and the other explanation would have failed every single time. Something that behaves inconsistently cannot be caused by something that behaves consistently.
  • The part worth admitting: the thing that was broken was itself written to fix this exact problem. Its own notes say the browser gives up looking too early and never tries again. It gave up looking too early and never tried again. It now waits for the entry to appear.
  • And it lets go the moment you touch the page. If you have already started scrolling or reading, nothing will jump you somewhere else — being moved unexpectedly is worse than landing in the wrong place.
  • It survived three months because whoever checked it saw it work. That is the honest reason, and it is why we now check this sort of thing several times on a cold start rather than once.
  • Nothing to do at your end. Old links you have shared will now land properly.

Version 2.117.0

August 13, 2026

A handful of dates could have shown up American

  • A few places asked for a date without saying which country’s format to use. That means the answer depends on whichever machine is asking — so the same date could come out as 13/08/2026 for you and 8/13/2026 on our side.
  • When those two disagree, the page can get stuck showing an older version of itself. That is the genuinely annoying part: it does not look like a date problem at all, it looks like the site is out of date, and it has previously cost us hours chasing the wrong thing.
  • Every date now says which format it wants. Dates across the site read the British way — day first.
  • We had already written these date formats down in one place, and most of the site was not using them. That is the third time in this week’s tidying that we found a shared answer sitting unused while everyone wrote their own. It is a more useful lesson than the tidying itself.
  • One change went slightly wrong and the build caught it, which is the point. One of these was not formatting a date at all — it was asking for today’s date. Because our date formatters insist on being told which date to format, the mistake stopped the build rather than quietly stamping the wrong day onto a video.
  • We also found a comment describing what one of these produces, and it was wrong. It promised a comma that never appears. An example written in a note is a claim like any other, and nobody re-checks those.
  • Dates across the site now all read the British way. A few places still showed the American order — month first — including an article’s published date and the calendar. They match everywhere else now.
  • And a handful of places that look like they use the American format are staying exactly as they are. Those are not dates being shown to you — they are a step in working out what time an event happens in your part of the world, and the American format is the one the calculation can read back. Changing those would have got event times wrong by three months for the first twelve days of every month, without anything appearing to fail.
  • Nothing to do at your end.

Version 2.116.0

August 13, 2026

A very long title could produce a slightly broken web address

  • Web addresses are built from the title of the thing you are looking at. Long titles get shortened to fit, and the shortening could cut in the wrong place — leaving the address ending in a stray dash.
  • It only affected unusually long titles, and it never broke anything. The address still worked. But it meant the same title could produce two slightly different addresses depending on how it was arrived at, and that is the fault behind several of the problems we fixed this week.
  • We found it because we set out to prove something we assumed was true. The check was “shortening an address that has already been shortened should change nothing”. It changed something. Assumptions like that are worth testing precisely because nobody thinks to.
  • Addresses already in use are untouched. This only changes what new ones look like; anything you have already saved or shared still works exactly as before.
  • Two sections of the site were also building addresses their own way, missing the length limit. They now use the same rule as everywhere else.
  • And we deliberately did NOT merge several other things that looked similar. Anchor links within a page, download filenames, and internal storage names all trim text in a comparable way for different reasons. Merging them would have changed behaviour while looking like tidying — so instead we wrote down why each one is different, and added checks that fail if someone merges them later.
  • Nothing to do at your end.

Version 2.115.0

August 13, 2026

Four copies of the same thing, one for each kind of page

  • Making a short link was written out four separate times — once for each kind of thing you can share. They were the same twenty-nine lines with three words changed.
  • Nothing was wrong with any of them, and that is the point. We did this before it became a problem rather than after. There are already two more kinds of page coming, which would have meant a fifth and sixth copy, and by then the four would have had time to drift apart from each other.
  • There is now one, and adding a new kind of page is two lines rather than a new copy. Leaving out either line stops the site from building, so it cannot be half-done.
  • The important behaviour we had to protect: asking for a short link twice must give you the same one back. These run every time something is saved, so a version that made a fresh link each time would quietly kill every link anyone had already shared — and you would not notice, because the newest link always works and only the older ones stop.
  • So we deliberately broke that, three different ways, and confirmed our checks caught each one. A test that has never been seen to fail is not evidence of anything.
  • One piece of this had a user we never found by searching, and only the compiler caught it. Our search covered the main body of the site; the thing that used it lived outside that. A search tells you what it found, never where it stopped looking — which reads exactly the same as finding nothing.
  • We also removed a piece that nothing used at all. That is now the second time in this run of tidying that consolidating something revealed it was mostly unused.
  • Nothing to do at your end. Every link you have already shared still works.

Version 2.114.0

August 13, 2026

There were two sets of locks on the same doors

  • Nothing was unlocked, and nobody could have got in. This is about being able to check that, which we could not do reliably before.
  • The rule for who may use the editing tools was written in two separate places. Both were correct. The problem is that anyone reviewing our security would search for one and find it, and never learn the other existed — we came close to filing a false alarm about six unprotected areas for exactly that reason, and only reading the code carefully stopped it.
  • There is now one. The other has been deleted outright, so a future search cannot half-find the answer.
  • The two were not actually saying the same thing, and merging them carelessly would have caused a real fault. One answered “no” in a way that distinguished “you need to sign in” from “you are signed in but not allowed”; the other could not tell those apart. The obvious tidy-up would have quietly turned every “not allowed” into “please sign in”. We kept both ways of answering and made them share one decision instead.
  • Most of what we deleted was never used. Of sixteen pieces in the retired file, thirteen had no user anywhere — including eight near-identical ones that all did the same thing. Consolidating is the moment to stop carrying those forward.
  • And this rule can now be tested, which it could not be before. It used to be tangled up with talking to the database, so there was no way to check it without a database — which meant in practice it was never checked. It is now separated out, and we test it by deliberately breaking it three ways and confirming the checks notice.
  • One of those deliberate breaks is worth naming. Signing in gives you a pass that lasts a day and is not re-examined. If we trusted only that pass, someone whose access had been withdrawn would keep it until the pass expired. We check against the live record every time, and there is now a test that fails if anyone removes that.
  • Nothing to do at your end.

Version 2.113.0

August 13, 2026

Stepping back through the reflections could skip one

  • Moving backwards through the reflections quietly skipped some of them. The “previous” and “next” arrows disagreed about which reflections existed — going forward you would see one, going back you would not. If you were reading through in order, a reflection could simply be missing.
  • The ones affected were those announced ahead of time. A reflection can be prepared and shown in advance of the day it runs. Those appear in the archive and can be opened directly, so the arrows should have reached them too, and going backwards did not.
  • We had already written the rule down once, in one place, for exactly this reason. It was then never actually used — the pages that needed it wrote the list out by hand instead, and one of those copies was missing an entry. The shared version had been sitting there unused since July.
  • Which is the lesson worth keeping: having a single agreed answer is worthless if nobody looks it up. We had assumed the danger was not writing the rule down. The real danger is writing it down and then carrying on as before, because everything looks tidy and nothing complains.
  • We also found the same thing had happened in a note written the day before. It said there was one place left that had to repeat this rule by hand. There were three. We have removed the need for any of them rather than correcting the count.
  • The same rule for the illustrated stories now lives in one place too. It had been written out at eight separate points, one of which was phrased differently enough that our own search for it had missed it.
  • And we deliberately did not make the different sections agree with each other. Retired events stay readable on purpose; retired stories do not. Smoothing that over would have quietly republished things we had taken down — the kind of change that looks like tidying.
  • Nothing to do at your end.

Version 2.112.0

August 13, 2026

This page has been tidied before it needed tidying

  • Older releases have moved to their own page. This page now carries only the newest ones. Everything else is still here, grouped by version and listed in the release archive, which is linked at the bottom.
  • Every link anyone has ever shared to an older release still works — they are forwarded automatically to whichever page now holds that release.
  • Checking that is what turned up a fault we had not known about, and it is older than this change. A shared link arrives at the right page and then leaves you at the top of it, rather than at the release you actually clicked. That is true of the pages we already had, and on the live site, so it is not something we have just broken — but we only found it because we went and looked with a browser rather than trusting that it worked.
  • It is exactly the kind of fault that never gets reported. Nothing fails, nothing is logged, and the only person who can tell is someone who followed a link to one specific entry and quietly gave up. We have written it up properly and will fix it separately rather than guessing at a cause today — there are two plausible explanations that want opposite fixes, and picking the wrong one would look like a fix while changing nothing.
  • We did this while the page was still comfortably within its limit, which is new. Every previous time, we tidied because the page had already grown too large — twice we had gone past the point where it was a problem before anyone looked. This time we knew more entries were coming and made room first.
  • The reason that matters: where we split cannot be changed afterwards. Those groupings become addresses people share, so moving one later would break the links. A decision you cannot revisit is a bad one to make in a hurry.
  • We checked it by proving nothing was lost rather than by counting. Every entry that existed before still exists, exactly once, on exactly one page. Counting would have told us the total was right while quietly allowing one entry to appear twice and another not at all.
  • Nothing to do at your end. Your bookmarks are fine.

Version 2.111.2

August 13, 2026

We said we had fixed something in one place, and we had left a copy of it behind

  • Nothing was broken for you here, and we are writing it up anyway. This is housekeeping on the machinery behind our short share links. We are recording it because of what it says about a mistake we keep making, rather than because you would have noticed anything.
  • Last week we fixed how share links are built and said we had put the rule in one place. We had not quite. One older copy of the same rule was still in use on the events pages, and it was the sloppier of the two — it would have produced a broken link in a situation our settings happen to prevent.
  • That is the same fault that caused four separate problems in a single day. One rule, written down in several places, quietly disagreeing with itself. Every one of those was a link or a button behaving differently depending on which page you happened to be on.
  • So we have deleted the leftover copy rather than tidying it. Tidying it would have left two correct copies, which is exactly the arrangement that goes wrong later when only one of them gets updated.
  • And we made sure the tests could actually catch it. We deliberately put the old fault back, confirmed the tests noticed, and only then removed it again. A test that has never been seen to fail is not yet evidence of anything.
  • Nothing to do at your end.

Version 2.111.1

August 13, 2026

A finished programme on the front page still offered to let you join it

  • The card for a concluded programme showed a working “Join via Zoom” button. So the front page could tell you a programme had finished and, in the same breath, invite you into a room nobody was in.
  • It had never been able to close. The button only knows to disappear if it is told when the session started, and on that one card it never was — so no amount of time passing could ever have closed it. Every other place we show these buttons was told correctly.
  • Which is why last week’s change to the same buttons did not catch it. We had just shortened how long they stay open, from a day to six hours. That was a real fix everywhere else, and it could not possibly have helped here, because this card was never asking the question in the first place.
  • The lasting fix is that the missing piece is now impossible to leave out. Telling the button when a session starts used to be optional, and leaving it out quietly meant “always on”. It is now required, so anything that forgets it stops the site from building rather than shipping a room that never closes. Saying “there is no start time” is still allowed — it just has to be said out loud.
  • Nothing to do at your end.

Version 2.111.0

August 13, 2026

Pages with a lot of pictures were far heavier than they needed to be

  • Some pages were sending you every picture at full size, all at once. On a page listing a long programme that meant dozens of large images arriving before you had scrolled anywhere near them — slow on a good connection, and genuinely painful on a phone or a metered one.
  • Pictures are now made to fit where they appear. A thumbnail is sent as a thumbnail rather than as the full-size artwork shrunk down in your browser. On the pages we measured, the images now take a small fraction of what they did, with no visible difference — the detail was never reaching your screen, only your data allowance.
  • And they load as you reach them. Images further down a page now wait until you scroll towards them, instead of all competing for your connection the moment the page opens.
  • This applies to new pictures automatically. Anything uploaded from now on is handled the same way the first time someone views it — there is no catching-up process, and nothing that can be forgotten later.
  • Large single images at the top of a page are deliberately left for now. Those vary in shape far more than the thumbnails do, and resizing them without care would make the page jump around as it loads. That is a worse experience than a slightly heavy picture, so we would rather measure it properly than guess.
  • Separately: the “Join via Zoom” and “Join via Google Meet” buttons now disappear six hours after a session starts, not a full day. A majlis runs about an hour, so a whole day of offering a room nobody is in was simply too generous. Six hours still covers a late start and a long evening.
  • That was our own decision from a few days ago, and it was tied to the wrong thing. We had matched the buttons to the rule that decides when a whole programme counts as finished — but “is this room still open” and “has this programme ended” are different questions with different natural answers. They are now allowed to differ.
  • Nothing to do at your end.