環境のサ終(EoS,EoL)を確認しましょう(2025.01現在)

いつの間にか10月．
iPhoneが出るような季節には，言語のバージョンも確認するのをルーティンにしたいですね…．
サ終している環境でリリースや構築して面倒なことにならないために…（とはいえ，バージョン変更に耐える頑健なコーディングを心がけたいですが）

よく使う環境について個人的にまとめておきます．

## Python

2024年10月のイベント

* 3.8 系が end-of-life(サポート終了)
* 3.13 系が prerelease

arm Mac とかを含めて動作安定していた 3.10 をメインに据えているので，まだ見直すほどじゃないかな，という感想．
新たに環境開発するなら，3.11 あたりをメインの開発環境に据えたいところ．

https://devguide.python.org/versions/

|version|status|firstRelease|end-of-life|
|:--|:--|:--|:--|
|3.13|bugfix|**2024/10/01**|2029/10|
|3.12|bugfix|2023/10/02|2028/10|
|3.11|security|2022/10/24|2027/10|
|3.10|security|2021/10/04|2026/10|
|3.9|security|2020/10/05|2025/10|
|3.8|end-of-life|2019/10/14|**2024/10**|
|3.7|end-of-life|2018/06/27|2023/06/27|

### 補足

バージョンを変える前に，

```bash
pip freeze > requirements.txt
```

をして環境をメモしておくことを忘れずに…．

## Node.js

2024年10月のイベント

* 20系 が Activate LTS から Maintenance へ
* 22系 が Current から Activate LTS へ
* 23系 がリリース

LTS 環境を 20 から 22 に更新していく作業が必要かもですね．
でも 20 のメンテナンスは3年猶予があるので，急ぐものじゃないです．
23 は Activate LTS じゃないので様子見でしょうか．
20 は LTS なので Maintenance ですが， 21 はすでに Maintenance が終わってるので環境をきれいにしておかねば．

https://nodejs.org/en/about/previous-releases

|フェーズ|期間|備考|
|:--|:--|:--|
|Current|6ヶ月|最新機能の試用期間|
|Activate LTS|12ヶ月|安定性確認の更新期間|
|Maintenance|18ヶ月|重大なバグ修正やセキュリティ更新期間<br>新機能の追加は基本なし|

|version|phase|firstRelease|maintenanceUntil|
|:--|:--|:--|:--|
|20(LTS)|Current|~~2023/04~~|~~2023/09~~|
||Activate LTS|~~2023/10~~|~~2024/09~~|
||**Maintenance**|**2024/10**|2026/03|
|21(non-LTS)|Current|~~2023/10~~|~~2024/03~~|
||Maintenance|~~2024/04~~|~~2024/06~~|
|22(LTS)|Current|~~2024/04~~|~~2024/09~~|
||**Activate LTS**|**2024/10**|2025/09|
||Maintenance|2025/10|2027/03|
|23(non-LTS)|**Current**|**2024/10**|2025/03|
||Maintenance|2025/04|2025/06|

> ### 参考：窓の杜 さま
> 
> * https://forest.watch.impress.co.jp/docs/news/1494623.html
> * https://forest.watch.impress.co.jp/docs/news/1539985.html
> * https://forest.watch.impress.co.jp/docs/news/1587255.html

## Java

2024年10月のイベント

* non-LTS の 22 の Premier Support が終了
* non-LTS の 23 がリリース

LTS に関する何かはないので，LTS しか使わない環境なら特にすることはなし．

https://www.oracle.com/jp/java/technologies/java-se-support-roadmap.html

|version|GeneralAvailability|PremierSupportUntil|ExtendedSupportUntil|SustainingSupportUntil|
|:--|:--|:--|:--|:--|
|8(LTS)|~~2014/03~~|~~2022/03~~|2030/12|Indefinite|
|9-10﻿(non-LTS)|~~2017/09 - 2018/03~~|~~2018/03 - 2018/09~~|NotAvailable|Indefinite|
|11(LTS)|~~2018/09~~|~~2023/09~~|2032/10|Indefinite|
|12-16(non-LTS)|~~2019/03 - 2021/03~~|~~2019/09 - 2021/09~~|NotAvailable|Indefinite|
|17(LTS)|~~2021/09~~|2026/09|2029/09|Indefinite|
|18(non-LTS)|~~2022/03~~|~~2022/09~~|NotAvailable|Indefinite|
|19(non-LTS)|~~2022/09~~|~~2023/03~~|NotAvailable|Indefinite|
|20(non-LTS)|~~2023/03~~|~~2023/09~~|NotAvailable|Indefinite|
|21(LTS)|~~2023/09~~|2028/09|2031/09|Indefinite|
|22(non-LTS)|~~2024/03~~|~~2024/09~~|NotAvailable|Indefinite|
|23(non-LTS)|~~2024/09~~|2025/03|NotAvailable|Indefinite|
|24(non-LTS)|2025/03|2025/09|NotAvailable|Indefinite|
|25(LTS)|2025/09|2030/09|2033/09|Indefinite|

### 現状の Java LTS について

* 8 
  * Extended Support は 30年12月 まで
* 11 
  * *Premier Support は 23年10月 で終了*
  * Extended Support は 32年10月 まで
* 17
  * Premier Support は 26年09月 まで
  * Extended Support は 29年09月 まで
* 21
  * リリースから1年（びっくり）
  * Premier Support は 28年09月 まで
  * Extended Support は 31年09月 まで
* 次の 25 のリリースは 25年09月 !

### 補足

https://xtech.nikkei.com/atcl/nxt/column/18/00001/09775/

https://openjdk.org/jeps/477

```java:main.java
void main() {
    println("Hello, World!");
}
```

上のコードをコンパイルしてみたくて Java 23 の環境を作った人は PremierSupport が今年度いっぱいで終わること頭の隅に留めておくといいかも．

> ### 参考：窓の杜 さま
> 
> * https://forest.watch.impress.co.jp/docs/news/1351146.html
> * https://forest.watch.impress.co.jp/docs/news/1532594.html

## Windows

Home や Pro であれば，
* Windows 11
    * 24H2 は 2026/10
    * 22H2 は 2025/11
    * 21H2 は 2024/10 でサ終済み
* Windows 10
    * 21H2 は 2025/10/14 にサ終

https://learn.microsoft.com/ja-jp/windows/release-health/windows11-release-information

https://learn.microsoft.com/ja-jp/lifecycle/products/windows-10-home-and-pro

新たに入れるなら Windows 11 24H2 (Windows 11 2024 Update) を入れたいが色々と問題も起きているので静観しつつ，徐々に移行したいところ．

https://learn.microsoft.com/ja-jp/windows/release-health/status-windows-11-24h2

## Ubuntu

言語ではないですが，Ubuntuについても掲載しておきます．

2024年10月のイベント

* なし

2025年4月のイベント

* 20.04 LTS (Focal Fossa) の標準サポートが終了

18.04 が 23年4月 にの標準サポートが終了し，Proサポートになったのはさておき，
**あと半年後の 25年4月 に 20.04 の標準サポートが終了** することを念頭に置きつつ，環境を入れ替えておきたいところ
（Fossaというあの謎のマングース?ともお別れ…）

https://ubuntu.com/about/release-cycle

| | リリース | 標準サポートの終了 | Ubuntu Pro サポートの終了 | レガシーサポートの終了 | 
|:--|:--|:--|:--|:--|
| 24.04 LTS (Noble Numbat) | 2024/04 | 2029/04 | 2034/04 | 2036/04 | 
| 23.10 (Mantic Minotaur) | ~~2023/10~~ | ~~2024/07~~ |  | 
| 22.04 LTS (Jammy Jellyfish) | ~~2022/04~~ | 2027/04 | 2032/04 | 2034/04 | 
| 20.04 LTS (Focal Fossa) | ~~2020/04~~ | **2025/04** | 2030/04 | 2032/04 | 
| 18.04 LTS (Bionic Beaver) | ~~2018/04~~ | ~~2023/04~~ | 2028/04 | 2030/04 | 
| 16.04 LTS (Xenial Xerus) | ~~2016/04~~ | ~~2021/04~~ | 2026/04 | 2028/04 | 
| 14.04 LTS (Trusty Tahr) | ~~2014/04~~ | ~~2019/04~~ | ~~2024/04~~ | 2026/04 |