Skip to content

docs: retire 14.19 and correct an EOL date that never existed - #470

Merged
marevol merged 1 commit into
masterfrom
fix/seo-versions-eol
Aug 8, 2026
Merged

docs: retire 14.19 and correct an EOL date that never existed#470
marevol merged 1 commit into
masterfrom
fix/seo-versions-eol

Conversation

@marevol

@marevol marevol commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

tools/update_eol.py has been reporting two things on every run:

[eol] 14.19: end of life was 2026-08-01; move it to eol
[eol] 10.2: 2018-02-30 is not a real date

Both are addressed here. After this change the tool prints nothing on stderr
and --check exits 0.

14.19 is now end-of-life

Its end-of-life date was 2026-08-01, a week past, but it was still listed
under supported. The tool reports that rather than acting on it, because
whether a version is supported is a decision someone makes and commits, not
something worked out from a date. This is that commit: 14.19 moves to eol,
and nearing — which held only 14.19 — is now empty.

downloads.rst listed Fess 14.19.2 under current releases in all seven
languages. That row moves to the end-of-life table, so eol.rst and
downloads.rst no longer disagree about which versions are current. The row
itself is unchanged, and no version was added or dropped from either page
(62 release rows before and after, in every language).

What this does not change on the site

  • 14.19 does not appear in sitemap.xml (0 of 1,730 URLs).
  • The published 14.19 pages already carry a canonical pointing at 15.7 —
    e.g. /ja/14.19/admin/index.html sets
    <link rel="canonical" href="https://fess.codelibs.org/ja/15.7/admin/index.html">
    — so they are consolidated onto the current version already.
  • Versions that are already eol are still served: /ja/14.18/… and
    /ja/14.13/… both return 200 today. Being listed as eol stops a version
    being regenerated; it does not remove what is already published.

10.2's end-of-life date did not exist

2018-02-30 has been in the schedule since the table was first written in
February 2017, when all of those rows were still in the future.

eol.rst states the rule the schedule follows — end of life falls about
eighteen months after release — and the rows around it follow it exactly:

version released listed EOL +18 months
10.0.0 2016-02-05 2017-08-05 2017-08-05
10.1.0 2016-06-09 2017-12-09 2017-12-09
10.2.0 2016-08-30 2018-02-30 2018-02-30 — no such day
10.3.0 2016-11-24 2018-05-24 2018-05-24
11.0.0 2017-02-13 2018-08-13 2018-08-13

Eighteen months after 2016-08-30 lands in a February that has 28 days.
Corrected to 2018-02-28.

Verification

  • python3 tools/update_eol.py --check → exit 0, every translation matches versions.json
  • python3 -m unittest discover -s tools -p 'test_*.py' → 23 tests, OK
  • python3 tools/check_headings.py over the release and development trees → exit 0
  • The seven eol.rst files are regenerated output; the only hand edit outside
    versions.json is the moved downloads.rst row.

14.19 reached end of life on 2026-08-01 but was still listed as supported,
so `tools/update_eol.py` reported it on every run. The tool leaves that
call to a person on purpose -- a version does not stop being supported
because a date passed while nobody was looking -- so this commit is that
decision: 14.19 moves from `supported` to `eol`, and `nearing` empties.

The schedule also carried 2018-02-30 for 10.2, a date that does not exist.
It has been there since the table was first written in 2017, when every one
of those rows was still in the future. eol.rst states the rule the schedule
follows -- end of life falls about eighteen months after release -- and the
neighbouring rows follow it exactly: 10.0.0, 10.1.0, 10.3.0 and 11.0.0 each
sit eighteen months after their release date. 10.2.0 was released on
2016-08-30, and eighteen months later lands in a February with no 30th.
Corrected to 2018-02-28, the last day that month has.

The generated tables in all seven translations were regenerated from
versions.json, and the 14.19 row in downloads.rst moved from the current
releases table to the end-of-life one, so the two pages no longer disagree
about which versions are current.

`python3 tools/update_eol.py --check` now exits 0 with nothing on stderr.
@marevol
marevol merged commit 1e43db0 into master Aug 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant