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. -

-
diff --git a/web/content/en/index.html b/web/content/en/index.html index 7ea172d..be6f03a 100644 --- a/web/content/en/index.html +++ b/web/content/en/index.html @@ -182,26 +182,3 @@

Pick the build for your system

{{ template "downloadCta" . }} -
-

Honest scope

-

Where this is today

-

- 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. -

-
diff --git a/web/content/pl/index.html b/web/content/pl/index.html index edea3b1..ce757e6 100644 --- a/web/content/pl/index.html +++ b/web/content/pl/index.html @@ -182,27 +182,3 @@

Wybierz wersję dla swojego systemu

{{ template "downloadCta" . }} -
-

Uczciwy zakres

-

Gdzie to dziś jest

-

- 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 @@

That page is not here

The address you followed does not

diff --git a/web/public/create-file-exact-size/index.html b/web/public/create-file-exact-size/index.html index e44ded8..b89fe32 100644 --- a/web/public/create-file-exact-size/index.html +++ b/web/public/create-file-exact-size/index.html @@ -193,10 +193,10 @@

A real file of that format, at exactly the size you asked for

through that and four other jobs it is built for.

-

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.

@@ -235,7 +235,7 @@

So which should you use?

diff --git a/web/public/docs/index.html b/web/public/docs/index.html index b0db631..8246549 100644 --- a/web/public/docs/index.html +++ b/web/public/docs/index.html @@ -380,7 +380,7 @@

Is there a desktop window?

diff --git a/web/public/faq/index.html b/web/public/faq/index.html index afd3d96..88efebb 100644 --- a/web/public/faq/index.html +++ b/web/public/faq/index.html @@ -234,10 +234,10 @@

Still deciding?

README in the repository is the full reference.

-

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.

@@ -252,7 +252,7 @@

Still deciding?

diff --git a/web/public/formats/index.html b/web/public/formats/index.html index 67a8624..acda95a 100644 --- a/web/public/formats/index.html +++ b/web/public/formats/index.html @@ -656,18 +656,6 @@

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. -

-
@@ -681,7 +669,7 @@

Formats that are not here yet

diff --git a/web/public/index.html b/web/public/index.html index 894e1c1..6686e84 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -41,8 +41,8 @@ "applicationSubCategory": "Software Testing", "operatingSystem": "Windows, macOS, Linux", "softwareVersion": "0.2.0", - "downloadUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases\/latest", - "installUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases\/latest", + "downloadUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases", + "installUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases", "softwareHelp": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator", "license": "https://www.gnu.org/licenses/gpl-3.0.html", "isAccessibleForFree": true, @@ -94,10 +94,10 @@

Generate real test files at any exact size

-

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.

@@ -296,35 +296,12 @@

Pick the build for your system

-

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. -

-
@@ -338,7 +315,7 @@

Where this is today

diff --git a/web/public/pl/dokumentacja/index.html b/web/public/pl/dokumentacja/index.html index 5624417..f92c494 100644 --- a/web/public/pl/dokumentacja/index.html +++ b/web/public/pl/dokumentacja/index.html @@ -380,7 +380,7 @@

Czy jest okno?

diff --git a/web/public/pl/faq/index.html b/web/public/pl/faq/index.html index 29f93ca..5ff497f 100644 --- a/web/public/pl/faq/index.html +++ b/web/public/pl/faq/index.html @@ -235,10 +235,10 @@

Wciąż się zastanawiasz?

jaki potrafi zrobić. README w repozytorium jest pełną dokumentacją.

-

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.

@@ -253,7 +253,7 @@

Wciąż się zastanawiasz?

diff --git a/web/public/pl/formaty/index.html b/web/public/pl/formaty/index.html index 208b717..d28710f 100644 --- a/web/public/pl/formaty/index.html +++ b/web/public/pl/formaty/index.html @@ -657,18 +657,6 @@

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. -

-
@@ -682,7 +670,7 @@

Formaty, których jeszcze nie ma

diff --git a/web/public/pl/index.html b/web/public/pl/index.html index bb17d77..cb5404b 100644 --- a/web/public/pl/index.html +++ b/web/public/pl/index.html @@ -41,8 +41,8 @@ "applicationSubCategory": "Software Testing", "operatingSystem": "Windows, macOS, Linux", "softwareVersion": "0.2.0", - "downloadUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases\/latest", - "installUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases\/latest", + "downloadUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases", + "installUrl": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator\/releases", "softwareHelp": "https:\/\/github.com\/donislawdev\/TestingFilesGenerator", "license": "https://www.gnu.org/licenses/gpl-3.0.html", "isAccessibleForFree": true, @@ -94,10 +94,10 @@

Generuj pliki testowe o zadanym rozmiarze

-

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.

@@ -296,36 +296,12 @@

Wybierz wersję dla swojego systemu

-

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. -

-
@@ -339,7 +315,7 @@

Gdzie to dziś jest

diff --git a/web/public/pl/plik-o-zadanym-rozmiarze/index.html b/web/public/pl/plik-o-zadanym-rozmiarze/index.html index 3e5c9b9..ceb6b89 100644 --- a/web/public/pl/plik-o-zadanym-rozmiarze/index.html +++ b/web/public/pl/plik-o-zadanym-rozmiarze/index.html @@ -195,10 +195,10 @@

Prawdziwy plik tego formatu, o dokładnie zamówionym rozmiarze

i przez cztery inne zadania, pod które to powstało.

-

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.

@@ -237,7 +237,7 @@

Czego więc użyć?

diff --git a/web/public/pl/zastosowania/index.html b/web/public/pl/zastosowania/index.html index 119925a..4b32d63 100644 --- a/web/public/pl/zastosowania/index.html +++ b/web/public/pl/zastosowania/index.html @@ -188,10 +188,10 @@

Dla kogo to jest

środowisku firmowym, gdzie generator w przeglądarce nie wchodzi w grę.

-

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.

@@ -206,7 +206,7 @@

Dla kogo to jest

diff --git a/web/public/use-cases/index.html b/web/public/use-cases/index.html index b621148..2182cab 100644 --- a/web/public/use-cases/index.html +++ b/web/public/use-cases/index.html @@ -189,10 +189,10 @@

Who this is for

a closed corporate environment where a browser based generator is not an option.

-

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.

@@ -207,7 +207,7 @@

Who this is for

diff --git a/web/templates/partials.html b/web/templates/partials.html index 4c5a326..c85d558 100644 --- a/web/templates/partials.html +++ b/web/templates/partials.html @@ -197,7 +197,7 @@ {{- define "downloadCta" -}}

{{ .Word "ctaNote" }}