From 99467c780ff597bb74448e42628ac7093951e294 Mon Sep 17 00:00:00 2001
From: DonislawDev
Date: Thu, 3 Sep 2026 20:07:58 +0200
Subject: [PATCH] site: the download button stops naming a version, and two
stale sections go
The button said "Download 0.2.0" and led to /releases/latest. Those two
halves cannot both stay true. "latest" skips a prerelease by design, so
the moment a release candidate exists the page names one version and
hands over another - and nothing here would catch it, because the site
guard compares the site against the CODE and both halves would agree
while being wrong about what a visitor receives.
Owner's decision, and it is better than the alternatives that were on the
table: the button reads "Download" and leads to the list of releases. A
list is true whatever is published, so the page makes no promise it can
break. It also removes the reason to tag a release from a branch to keep
the site honest.
The releases fact moved with it, so the footer link and the JSON-LD
downloadUrl point at the list too rather than at two different places.
Three removals, all on the owner's instruction, and two of them were
carrying live falsehoods rather than only clutter.
"Where this is today" on the front page and "Formats that are not here
yet" on the formats page both listed tiff and webp as planned and not
built. Both shipped on 2026-08-29. The site guard could not see it: it
renders the numbers a program can be asked for, and no code claims a list
of formats that do not exist, so that sentence was prose nothing was
checking. Deleting the sections removed the claim rather than dating it.
And the sentence "The Linux ones are unsigned" is gone from the call to
action in both languages.
Sections were cut by content rather than by line numbers, and the seams
are checked: no orphaned markup, nothing linked to #scope or #next, and
FormatCount is still used in six other places. No releases/latest is left
anywhere on the site.
Co-Authored-By: Claude Opus 5
---
internal/guard/site_test.go | 13 +++++--
web/content/en/formats.html | 12 ------
web/content/en/index.html | 23 -----------
web/content/en/site.json | 2 +-
web/content/pl/formats.html | 12 ------
web/content/pl/index.html | 24 ------------
web/content/pl/site.json | 2 +-
web/public/404.html | 2 +-
web/public/create-file-exact-size/index.html | 6 +--
web/public/docs/index.html | 2 +-
web/public/faq/index.html | 6 +--
web/public/formats/index.html | 14 +------
web/public/index.html | 37 ++++--------------
web/public/pl/dokumentacja/index.html | 2 +-
web/public/pl/faq/index.html | 6 +--
web/public/pl/formaty/index.html | 14 +------
web/public/pl/index.html | 38 ++++---------------
.../pl/plik-o-zadanym-rozmiarze/index.html | 6 +--
web/public/pl/zastosowania/index.html | 6 +--
web/public/use-cases/index.html | 6 +--
web/templates/partials.html | 2 +-
21 files changed, 50 insertions(+), 185 deletions(-)
diff --git a/internal/guard/site_test.go b/internal/guard/site_test.go
index 2e8c35d..7ec90b3 100644
--- a/internal/guard/site_test.go
+++ b/internal/guard/site_test.go
@@ -134,9 +134,16 @@ func factsFromTheProgram() site.Facts {
Presets: ids,
Downloads: declaredDownloads(),
// Fixed on purpose. See the comment on the field.
- Year: 2026,
- Repo: "https://github.com/donislawdev/TestingFilesGenerator",
- Releases: "https://github.com/donislawdev/TestingFilesGenerator/releases/latest",
+ Year: 2026,
+ Repo: "https://github.com/donislawdev/TestingFilesGenerator",
+ // The list of releases rather than whichever one is newest, since
+ // 2026-09-03. "latest" skips a prerelease, so a page offering to
+ // download a version it had just named would hand over a different one
+ // the moment a release candidate existed - and nothing here compares
+ // the two, because this guard compares the site against the CODE. The
+ // button names no version now and leads to the list, which is true
+ // whatever is published.
+ Releases: "https://github.com/donislawdev/TestingFilesGenerator/releases",
Issues: "https://github.com/donislawdev/TestingFilesGenerator/issues",
Support: "https://donislawdev.com/support/",
Origin: siteOrigin,
diff --git a/web/content/en/formats.html b/web/content/en/formats.html
index ffbb8ee..c3c54d7 100644
--- a/web/content/en/formats.html
+++ b/web/content/en/formats.html
@@ -76,15 +76,3 @@
Archives hold real files
size: 4kb
-
-
Formats that are not here yet
-
- 7z, tiff, webp, mp3 and mp4 are
- planned and not built. They are absent from the list above rather than present and half working,
- and asking for one is an error saying the format is unknown.
-
-
- If you need one of them, or a format that is not on either list, the
- issue tracker is where that gets decided.
-
- Version {{ .Facts.Version }}. A tool that oversells itself wastes your afternoon, so here is the
- state of it.
-
-
- Working end to end: {{ .Facts.FormatCount }} formats, recipes, presets, the desktop
- window, generate, validate, verify, cleanup,
- boundary sets, archive contents, size ranges, per format settings, manifests and every exit code.
-
-
- Not there yet: five more formats are planned - 7z, tiff,
- webp, mp3 and mp4. The preset catalogue has one entry so far.
- Some recipe keys are recognised and refused with a message saying they are not built yet, rather
- than being ignored quietly. The Linux downloads are unsigned.
-
-
- Found a problem or want a format? The issue tracker is open, and
- so is the discussion about what gets built next.
-
-
diff --git a/web/content/en/site.json b/web/content/en/site.json
index fff897a..6b6ff3e 100644
--- a/web/content/en/site.json
+++ b/web/content/en/site.json
@@ -54,7 +54,7 @@
"schemaDescription": "A free and open source generator of test files for QA. It produces real files of twenty formats at any exact size and writes a manifest saying how the system under test should react to each one.",
"ctaDownload": "Download",
"ctaSource": "View the source",
- "ctaNote": "Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning. The Linux ones are unsigned.",
+ "ctaNote": "Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning.",
"colFormat": "Format",
"colExtension": "Extension",
"colSmallest": "Smallest file",
diff --git a/web/content/pl/formats.html b/web/content/pl/formats.html
index d3d23f3..f9e42f0 100644
--- a/web/content/pl/formats.html
+++ b/web/content/pl/formats.html
@@ -77,15 +77,3 @@
Archiwa zawierają prawdziwe pliki
size: 4kb
-
-
Formaty, których jeszcze nie ma
-
- 7z, tiff, webp, mp3 i mp4 są
- zaplanowane i niezbudowane. Nie ma ich na liście wyżej, zamiast być obecne i działać połowicznie,
- a poproszenie o któryś kończy się błędem mówiącym, że format jest nieznany.
-
-
- Jeśli potrzebujesz któregoś z nich albo formatu, którego nie ma na żadnej z tych list,
- zgłoszenia są miejscem, gdzie się o tym decyduje.
-
- Wersja {{ .Facts.Version }}. Narzędzie, które się przechwala, kosztuje popołudnie, więc oto stan
- faktyczny.
-
-
- Działa od początku do końca: {{ .Facts.FormatCount }} formatów, przepisy, presety,
- okno, generate, validate, verify, cleanup,
- zestawy graniczne, zawartość archiwów, zakresy rozmiarów, ustawienia formatów, manifesty i wszystkie
- kody wyjścia.
-
-
- Czego jeszcze nie ma: pięciu zaplanowanych formatów - 7z,
- tiff, webp, mp3 i mp4. Katalog presetów ma na
- razie jedną pozycję. Część kluczy przepisu jest rozpoznawana i odrzucana komunikatem, że nie ma ich
- w tej wersji, zamiast być po cichu ignorowana. Pliki dla Linuksa nie są podpisane.
-
-
- Znalazłeś błąd albo potrzebujesz formatu? Zgłoszenia są otwarte,
- tak samo jak dyskusja o tym, co powstanie następne.
-
-
diff --git a/web/content/pl/site.json b/web/content/pl/site.json
index 85a04d1..23aeefa 100644
--- a/web/content/pl/site.json
+++ b/web/content/pl/site.json
@@ -54,7 +54,7 @@
"schemaDescription": "Darmowy generator plików testowych dla QA o otwartym kodzie. Tworzy prawdziwe pliki w dwudziestu formatach o dokładnie zadanym rozmiarze i zapisuje manifest mówiący, jak testowany system ma na każdy z nich zareagować.",
"ctaDownload": "Pobierz",
"ctaSource": "Zobacz kod źródłowy",
- "ctaNote": "Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia. Pliki dla Linuksa nie są podpisane.",
+ "ctaNote": "Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia.",
"colFormat": "Format",
"colExtension": "Rozszerzenie",
"colSmallest": "Najmniejszy plik",
diff --git a/web/public/404.html b/web/public/404.html
index 47c6cee..67085ba 100644
--- a/web/public/404.html
+++ b/web/public/404.html
@@ -63,7 +63,7 @@
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning. The Linux ones are unsigned.
+
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning.
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning. The Linux ones are unsigned.
+
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning.
- 7z, tiff, webp, mp3 and mp4 are
- planned and not built. They are absent from the list above rather than present and half working,
- and asking for one is an error saying the format is unknown.
-
-
- If you need one of them, or a format that is not on either list, the
- issue tracker is where that gets decided.
-
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning. The Linux ones are unsigned.
+
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning.
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning. The Linux ones are unsigned.
+
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning.
-
-
Honest scope
-
Where this is today
-
- Version 0.2.0. A tool that oversells itself wastes your afternoon, so here is the
- state of it.
-
-
- Working end to end: 24 formats, recipes, presets, the desktop
- window, generate, validate, verify, cleanup,
- boundary sets, archive contents, size ranges, per format settings, manifests and every exit code.
-
-
- Not there yet: five more formats are planned - 7z, tiff,
- webp, mp3 and mp4. The preset catalogue has one entry so far.
- Some recipe keys are recognised and refused with a message saying they are not built yet, rather
- than being ignored quietly. The Linux downloads are unsigned.
-
-
- Found a problem or want a format? The issue tracker is open, and
- so is the discussion about what gets built next.
-
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia. Pliki dla Linuksa nie są podpisane.
+
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia.
- 7z, tiff, webp, mp3 i mp4 są
- zaplanowane i niezbudowane. Nie ma ich na liście wyżej, zamiast być obecne i działać połowicznie,
- a poproszenie o któryś kończy się błędem mówiącym, że format jest nieznany.
-
-
- Jeśli potrzebujesz któregoś z nich albo formatu, którego nie ma na żadnej z tych list,
- zgłoszenia są miejscem, gdzie się o tym decyduje.
-
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia. Pliki dla Linuksa nie są podpisane.
+
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia.
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia. Pliki dla Linuksa nie są podpisane.
+
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia.
-
-
Uczciwy zakres
-
Gdzie to dziś jest
-
- Wersja 0.2.0. Narzędzie, które się przechwala, kosztuje popołudnie, więc oto stan
- faktyczny.
-
-
- Działa od początku do końca: 24 formatów, przepisy, presety,
- okno, generate, validate, verify, cleanup,
- zestawy graniczne, zawartość archiwów, zakresy rozmiarów, ustawienia formatów, manifesty i wszystkie
- kody wyjścia.
-
-
- Czego jeszcze nie ma: pięciu zaplanowanych formatów - 7z,
- tiff, webp, mp3 i mp4. Katalog presetów ma na
- razie jedną pozycję. Część kluczy przepisu jest rozpoznawana i odrzucana komunikatem, że nie ma ich
- w tej wersji, zamiast być po cichu ignorowana. Pliki dla Linuksa nie są podpisane.
-
-
- Znalazłeś błąd albo potrzebujesz formatu? Zgłoszenia są otwarte,
- tak samo jak dyskusja o tym, co powstanie następne.
-
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia. Pliki dla Linuksa nie są podpisane.
+
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia.
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia. Pliki dla Linuksa nie są podpisane.
+
Darmowe i otwarte, GPL-3.0. Bez zakładania konta. Pliki dla Windows i macOS są podpisane i uruchamiają się bez ostrzeżenia.
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning. The Linux ones are unsigned.
+
Free and open source, GPL-3.0. Nothing to sign up for. The Windows and macOS downloads are signed and start without a warning.