for agents/llms.txtv0.12.15

Home / Articles / Dark mode, and four more / Versions / v1.1.0

Dark mode, and four more: what changed in v1.1.0

From v1.0.0 (2026-10-13, 306297814) to v1.1.0 (2026-10-13, 750cc5899), paragraph by paragraph.

0 paragraphs added, 0 removed, 6 changed in place, 65 unchanged. About 89 words added and 1 removed. Insertions are marked like this, deletions like this; unchanged runs are folded to one line; figures appear as their file names.

all versions

7 unchanged paragraphs, under In short {#in-short}

• The bar was cleaned up on the way. Nine groups became eight, the tools became one cluster on the right, the "part of sgit.ai" pill went, and the bar is one row at 12001280 pixels and up in both of the site's looks, with the breakpoints measured on two machines and kept by a test.

19 unchanged paragraphs, under What a reader sees {#what}, The choices, and why {#choices}

• The breakpoints are measured, not guessed.guessed, and measured twice. A sweep of widths on the machine that built this found that eight groups plus the tools fit on one row at 1200 pixels and not at 1181, so the first release put the collapse at 1199. The continuous integration runner, on Ubuntu's fonts, a few percent wider, broke the row at exactly 1200 and failed the test. A limit measured on one machine's fonts is not a limit, so the collapse is at 1199.1279: one row from 1280, a common laptop width, with the difference as slack. Below 1400 GitHub becomes its star. On a phone the bar is two rows by design, the brand and Menu above the tools, because the controls measure 467 pixels against a 390 pixel screen.

1 unchanged paragraph

!shot tm-bar-1199.webptm-bar-1279.webp | images/ | The bar at 11991279 pixels, the first width below the measured limit: the groups are behind Menu and the tools stay on the bar, so the balance, the vault and the theme are one tap. | screenshot

27 unchanged paragraphs, under Under the hood {#how}

1. Every token in every theme. It parses the themes file, takes the union of the tokens across the five blocks, and fails on any theme missing any. A theme with a hole inherits Newsprint's value for it silently, which is how a dark theme ships with one light panel and no record of why. This is VoiceDebrief's check_themes.py rule, carried over. 2. No literal colour outside the themes file. It reads every stylesheet this site owns and fails on a hex outside a short list of allowed signals. 3. The picker and its memory, and the contrast, measured. On an imported article, a page written here and a legacy page: five entries; choosing Night sets the attribute, stores the key, repaints the page and holds on the next page; a stored value that is not a theme is ignored. Then, in each of the five themes, it reads the computed colours and calculates the contrast of the page's ink, a body paragraph, a heading and a link against the page, and of the ink on the accent against the accent, and fails below 4.5:1, which is WCAG AA for text. The first run of the test failed its own selector, not a theme: the first paragraph it measured was the breadcrumb, which is secondary text on purpose, at 3.2:1. 4. The bar on one row. At ten widths from 2000 down to 390360 in both looks: one row and not collapsed at 12001280 and above, collapsed below, nothing wider than the viewport at any width, and Menu opening the eight groups at 768. This is the check that failed on the first run in continuous integration, with the wider fonts, and the reason the limit moved.

1 unchanged paragraph

| Width | Bar | Collapsed | |---|---|---| | 2000 to 12001280 | one row, 54 px | no | | 11991279 to 521 | one row, 54 px | yes | | 390 | two rows by design | yes |

7 unchanged paragraphs, under What this does not claim {#limits}

• The screenshots are of the build at v0.12.12,v0.12.13**, taken by the script on 13 October 2026, not of the live site at the moment you read this.

3 unchanged paragraphs, under Where this comes from {#sources}

all versions