各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- ut の投稿
返信数: 7
最近、「以前作成したマクロが、その後のカーネルの変更の影響で
正しく動かなくなった」というトピックが続けてありました:

 相互参照、\pageref \label でページ数の漢字表示について
 2025年 02月 21日(金曜日) 15:38
 https://okumuralab.org/tex/mod/forum/discuss.php?d=3896

 目次に謝辞を追加すると参考文献の表示が崩れる現象について
 2025年 03月 9日(日曜日) 23:16
 https://okumuralab.org/tex/mod/forum/discuss.php?d=3901

その際、知ったかぶりをして私もちょっとコメントをさせていただ
いたりしたのですけれど、その後、実は私自身よく分かってないじ
ゃん、ということに気付きましたので、質問をさせてください。

お尋ねしたいのは、

 標題に掲げたものたちの、リリースや更新のタイミングというのは、
 いつなのでしょうか?(どうやって確認したらいいのでしょうか?)

ということです。

より具体的に申し上げますと:

(1a)LaTeX の正式リリースは、年 2 回?(最近だと 6 月と 11 月あたり?)
(1b)patch level ?? のリリース日はどこに書かれているのでしょうか?

(2a)TeX Live のリリースは年頭の 1 回のみ?(2 月か 3 月頃?)
(2b)もしも binary が年内に更新された場合、tlmgr によるアップデートで
   LaTeX 自体(binary)も更新されるのでしょうか?

(3a)カーネル(各種 dtx ファイル)への変更が、fmt ないし binary に
   反映されるタイミングはいつ?
(3b)fmt の再生成と、それが binary に取り込まれるというのは、別のタイミング?

(4)つまるところ、上記(1)~(3)のタイミングにはズレがあるということ?

という諸々の疑問について、教えていただると嬉しいです。


-------------- 以下は、現時点での私の理解です --------------

LaTeX2e のリリース時には LaTeX News がリリースされるので、そ
れを見ると、LaTeX のリリース日が分かるのかな、と思います。

LaTeX Project のページ(https://www.latex-project.org/news/latex2e-news/)とか、
手元の各号や、それらが一つにマージされた pdf なんかを見ますと、
例えば 2020 年以降ですと、次のような日付けになっています:

 Issue 31, February 2020 (LATEX release 2020-02-02)
 Issue 32, October 2020 (LATEX release 2020-10-01)

 Issue 33, June 2021 (LATEX release 2021-06-01)
 Issue 34, November 2021 (LATEX release 2021-11-15)

 Issue 35, June 2022 (LATEX release 2022-06-01)
 Issue 36, November 2022 (LATEX release 2022-11-01)

 Issue 37, June 2023 (LATEX release 2023-06-01)
 Issue 38, November 2023 (LATEX release 2023-11-01)

 Issue 39, June 2024 (LATEX release 2024-06-01)
 Issue 40, November 2024 (LATEX release 2024-11-01)

これらが、「LaTeX のリリース日」なのかなと思っています。

なお、現在の TeX Live 2025 には:

 Issue 41, June 2025 --- DRAFT version for upcoming release (LATEX release 2025-06-01)

も含まれているみたいです。

それから、changes.txt というファイルもあって、これは、

 This file lists changes to the LaTeX2e files in reverse chronological order
 of publication (therefore the dates might be out of sequence if there are
 hotfixes). It is provided for convenience only.  It therefore makes no claims
 to completeness or accuracy and it contains some references to files that are
 not part of the distribution.

というものです。

このファイルの冒頭の 2024 年の分を抜粋してみますと、以下のよう
になっています:

------------------------------------------------------------
#########################
# 2024-11-01 PL2 Release
#########################

2025-01-26  Frank Mittelbach  <Frank.Mittelbach@latex-project.org>

* ltlists.dtx:
Only migrate \cs{@doendpe} out of simple and semi-simple groups (gh/1641)

#########################
# 2024-11-01 PL1 Release
#########################

2024-11-22  Frank Mittelbach  <Frank.Mittelbach@latex-project.org>

* lttagging.dtx (section{Implementation}):
Declare \tag_if_active:TF and friends in the kernel (gh/1558)
. . . . .

#########################
# 2024-11-01 Release
#########################

2024-10-29  Yukai Chou <muzimuzhi@gmail.com>
* lthooks.dtx (subsection{Setting rules for hooks code}):
Skip mapping over undeclared \g__hook_<hook>_code_prop (gh/1513).
. . . . .

#########################
# 2024-06-01 PL2 Release
#########################

2024-06-23  Yukai Chou  <muzimuzhi@gmail.com>

* ltpara.dtx
Append \everypar toks to \g__parar_standard_everypar_tl, rollback
2023/06/01 (gh/1386)

#########################
# 2024-06-01 PL1 Release
#########################

2024-06-10  Frank Mittelbach  <Frank.Mittelbach@latex-project.org>

* ltboxes.dtx (section{\LaTeX\ Box commands}):
Always use a \vrule strut after all, but back up by a baseline
if already in vertical mode. Otherwise empty table p-cells will
not get the correct width (bug seen first with colortbl)
. . . . .

#########################
# 2024-06-01 Release
#########################

2024-05-31  Frank Mittelbach  <Frank.Mittelbach@latex-project.org>

* ltmarks.dtx (subsection{Allocating new mark classes}):
Initialize all marks with an id, use 0 when a new class is made (gh/1359)
(subsection{Placing and retrieving marks}):
Remove the id when returning the mark value (gh/1359)
. . . . .
------------------------------------------------------------

これらを見て、素人判断する限りでは、2024 年は、2024-06-01 Release
と 2024-11-01 Release とがあって、それぞれに、patch level 1 と
patch level 2 の追加リリースがあったのかなと思われます。

それで、上掲の抜粋では「. . . . .」として割愛している沢山の
dtx への更新が、patch level ?? の追加リリース時、そして次回の
正式リリースの際に、format ないし binary に取り込まれていると
推測しているのですけれど、その推測で合ってますでしょうか?
(それとも、format や binary は、もっと小まめに更新されている
のでしょうか?)

あと、正式リリース日は、LaTeX News に書かれているとして、PL ??
Release のリリース日は、どこに書いてあるのでしょうか?

changes.txt にはリリース日の記載はなくて、また、例えば、私の
手元の W32TeX [2020/07/19] のログですと、

 This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/W32TeX) (preloaded format=latex 2020.7.18)

 LaTeX2e <2020-02-02> patch level 5
 L3 programming layer <2020-07-17>

となっていて、これは「2020-02-02 PL 5 Release」なんだろうな、
とは思うのですが、そのリリース日がいつだったのかは、どうやっ
て確認できるのでしょうか(分からなくても何も困りはしないので
すけれど)。

------------- 以上です。よろしくお願いします。 -------------
ut への返信

Re: 各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- 和田 勇 の投稿
毎回、鋭いフォローに敬服しています。

さて、あなたのリクエストに全て答えるとは思わないのですが、
私はこのフォーラムで持ち上がったキーワードを
色々な形で情報入手を試みます。

例えば「rXXXXX」であれば、TeXLi ve の git リポジトリ (*1)
を clone しておき適宜 fetch & pulll で最新をキープしておき、
「git  log  オプション」やラッパー「tig」を利用して、
パッチレベルやリリースレベル?を探して
変更内容をチェックします。

  (*1) nhttps://github.com/TeX-Live/texlive-source.git

この辺はおそらく ut さんのワークアラウンドと同じだと思います。

ここの情報を集積した情報が明示的に url などに
定期的に公開されればとてもハッピーですけれど、
マンパワー的にも結構しんどい状況だと思います。

なので、その UI を開発するのではなく
git log/show  や、
それらをラッパーした tig などから状況を判断しているのが、
私の現状です。

参考になれば幸いです。

もっとクレバーな方法があれば教えて欲しい。
git  のオプションはあまりにもカオスなのえ、
できれば教授してほしい。
ut への返信

Re: 各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- 和田 勇 の投稿
毎回、鋭いフォローに敬服しています。

さて、あなたのリクエストに全て答えるとは思わないのですが、
私はこのフォーラムで持ち上がったキーワードを
色々な形で情報入手を試みます。

例えば「rXXXXX」であれば、TeXLi ve の git リポジトリ (*1)
を clone しておき適宜 fetch & pulll で最新をキープしておき、
「git  log  オプション」やラッパー「tig」を利用して、
パッチレベルやリリースレベル?を探して
変更内容をチェックします。

  (*1) nhttps://github.com/TeX-Live/texlive-source.git

この辺はおそらく ut さんのワークアラウンドと同じだと思います。

ここの情報を集積した情報が明示的に url などに
定期的に公開されればとてもハッピーですけれど、
マンパワー的にも結構しんどい状況だと思います。

なので、その UI を開発するのではなく
git log/show  や、
それらをラッパーした tig などから状況を判断しているのが、
私の現状です。

参考になれば幸いです。

もっとクレバーな方法があれば教えて欲しい。
git  のオプションはあまりにもカオスなのえ、
できれば教授してほしい。
和田 勇 への返信

Re: 各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- ut の投稿
和田さん

ご回答をありがとうございます。

>   (*1) nhttps://github.com/TeX-Live/texlive-source.git

は知りませんでした。今後は、こちらも参考にさせていただきます。
ut への返信

Re: 各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- aminophen の投稿
ut さん,

> 標題に掲げたものたちの、リリースや更新のタイミングというのは、
> いつなのでしょうか?(どうやって確認したらいいのでしょうか?)

直近 5 年ほど(2020 年以降)の現状を踏まえて,可能な限り回答します。


(1) まず LaTeX について:

> (1a) LaTeX の正式リリースは、年 2 回?(最近だと 6 月と 11 月あたり?)

→「起動時に表示する LaTeX2e <YYYY-MM-DD> という日付が新しくなる時」
 という意味で言えば,直近 5 年ほどの実績では仰るとおり
 「年 2 回,概ね 6 月と 11 月」です。

> (1b) patch level ?? のリリース日はどこに書かれているのでしょうか?

→ 簡単に知る術はありません。
 ≒既にご覧になっているような変更履歴を見るしかありません。


(2) 次に TeX Live について:

> (2a) TeX Live のリリースは年頭の 1 回のみ?(2 月か 3 月頃?)

→はい,そのとおりです。例年 3 月上旬の 1 回のみです。
 TeX Live の ISO イメージ(→かつては DVD で TUG 会員へ物理的にも
 発送されていました)が公開されるタイミングがそれです。

> (2b) もしも binary が年内に更新された場合、tlmgr によるアップデートで
 LaTeX 自体(binary)も更新されるのでしょうか?

→一部誤解があるようですが,概ね:はい,そのとおりです。

・バイナリ(pdftex, euptex, luatex など)は,
 例年 3 月上旬の 1 回きりの TeX Live リリース時に同梱されるものが
 原則として年間を通じて使われます。
 しかし例外的に,致命的バグ発覚等によりもしも更新されることがあれば,
 新しいバイナリが tlmgr で降ってきます。

・主にテキスト形式から成るファイル群(LaTeX のマクロを定義している
 latex.ltx 等もこちらに該当)は,それぞれの開発者が CTAN に新版を
 アップロードすれば随時 TeX Live に取り込まれ,tlmgr で降ってきます。

※LaTeX は前者のバイナリではなく,後者のファイル群が主体です。
 というのも,LaTeX はあくまで「エンジン」に「フォーマット」が
 乗っかった状態を指すからです。

 「エンジン」
  = TeX 言語を解釈するバイナリ実行ファイル(例:pdftex, euptex, luatex)

 「フォーマット」
  =『TeX 言語で書かれたテキスト形式のマクロファイル群(例:latex.ltx 等多数)』
   から生成されるファイル(例:pdflatex.fmt, platex.fmt, lualatex.fmt)

 →エンジンがフォーマットを解釈して初めて,LaTeX が実行される。

 いわゆる“テキストかバイナリか”という観点だけで言うと
 フォーマット (.fmt) も“テキスト (.ltx) を予めコンパイルして生成したバイナリ”
 なわけですが,それ単体では実行できないので,上記の書き方が良いでしょう。

※手前味噌ですが https://acetaminophen.hatenablog.com/entry/texadvent2016-20161205
 もどうぞ。記事が書かれた 2017 年当時は年に 1 回のリリースが 6 月頃でしたが,
 徐々に早められて直近は 3 月頃にリリースされるようになりました。


(3) フォーマット更新のタイミングについて

> (3a) カーネル(各種 dtx ファイル)への変更が、fmt ないし binary に
>   反映されるタイミングはいつ?

→tlmgr によって「エンジン」(バイナリ実行ファイル)か
 「フォーマット生成の基になっていたマクロファイル群」の
 どれか一つでも更新されれば,即座にローカル環境で「フォーマット」が
 再生成されて反映されます。

> (3b) fmt の再生成と、それが binary に取り込まれるというのは、別のタイミング?

(…→(2) で説明したとおり,フォーマット (.fmt) と実行バイナリは別です。…)


> (4) つまるところ、上記(1)~(3)のタイミングにはズレがあるということ?

上記 (1)~(3) の説明を総合すれば,

・TeX Live と LaTeX の開発サイクルは異なる=ズレがある
 (年一度 3 月頃 vs. 年二回 6 月・11月頃)
・フォーマットの更新は,
 バイナリの更新とマクロファイル群の更新の両方に応じて即座に行われる=ズレはない

ということで理解いただけるかと思います。


> 以前作成したマクロが、その後のカーネルの変更の影響で
> 正しく動かなくなった

という元のトピックに即すると,これは最近の LaTeX の動向に依るところが大きいです。
つまり (1) の話,特に (1a) の所です。

 LaTeX2e <2024-11-01>   ←この日付
 L3 programming layer <2025-01-18>   ←この日付

この 2 箇所の日付を気にすることが重要です。

※(1b) で気にされている patch level は,まあ,
 基本的に「バグ修正」なので大胆なコード変更は起きません。
 =リリース日をわざわざ知る必要性は薄いと思います。


さて,…(ここで一息)…


最初の (1a) への回答は,半分以上ウソと言ってもよいでしょう。
事はそう単純ではありません。

端的には
・最近の LaTeX は二層構造に変化している。
・一層目 (2e kernel) は安定志向だが,古くからのコードなので,
 ちょっとでも変化すると少なからず影響が出うる。
・二層目 (l3 kernel) は新規なので活発に開発進行中。
・各層は別々のサイクルでリリースされる。→全然「年 2 回」にならない。
という感じです。


~まず,二層構造について。~

現在の(TeX Live 2020 辺りからの)LaTeX は,
伝統的な「LaTeX2e」の領域にとどまらず,
新しいプログラミング言語である「LaTeX3」を含んだ物に様変わりしています。
LaTeX2e の核となる部分が単に「カーネル」あるいは「2e kernel」と
呼ばれていたのに対し,新しい LaTeX3 というプログラミング言語の
核となる部分は「l3 kernel」と呼ばれます。

latex や platex を起動すると

  LaTeX2e <2024-11-01>
  L3 programming layer <2025-01-18>

のように日付が 2 回表示されるのが,フォーマット (.fmt) を構成する
各層のリリース日を示しています。

・昔は「カーネル」と言えば「2e kernel」を指し,
 latex や platex 等のコマンド起動時に読み込まれる
 フォーマット(latex.fmt, platex.fmt 等)は
 純粋な LaTeX2e から成るマクロファイル latex.ltx を使用していました。

・それが TeX Live 2020 辺りから,
 latex.ltx が内部で expl3.code.tex を読み込むように変更されました。
 →この頃はまだ「latex.ltx ファイル自体は純粋な LaTeX2e 記法の範囲内」で,
 「そこから読み込む expl3.code.tex が LaTeX3 言語を定義・使用」という状態。

・さらに 2021 年辺りから,latex.ltx ファイル自体も大きく改造されて
 LaTeX3 言語を直に使用するようになってきました。
 同時に,従来の LaTeX2e で書かれていたマクロも,様々な外部パッケージとの
 共存を考慮した拡張(外部パッケージによって好き勝手に色々な上書きがされて
 衝突・破綻するのを嫌い,コマンド引数拡張・フック機能追加等)が為されました。

今では「カーネル」=「2e kernel の改良版 + 新規 l3 kernel のミックス状態」です。
つまり,フォーマット (.fmt) は両方の変更の影響をモロに受ける状態です。


~リリース日について~

冒頭 (1a) の回答で
「LaTeX の正式リリースは年 2 回,概ね 6 月と 11 月」
だと言いましたが,これは伝統的な 2e kernel の大幅更新だけの話です。

l3 kernel は随時,不定期にリリースされているようです。

※tlmgr での更新時には
  2e kernel →「latex」
  l3 kernel →「l3kernel」
 という名前で表示されます。

前者の 2e kernel だけ一定サイクルとされている理由は,
ある程度の安定性を担保するためだと考えられます。
古い LaTeX2e のコードが変更されれば,その古いコードを前提にした
改変マクロを使っているユーザには何かしらの影響が生じるからです。
逆に後者の l3 kernel は新規部分なので,目下活発に開発されており,
少々不安定でも頻繁にリリースされていると考えられます。


↓↓↓


… このような状況なので,年々(2022 年頃から特に)

 > 以前作成したマクロが、その後のカーネルの変更の影響で
 > 正しく動かなくなった

という状況は仕方ないと思います。

かつて(2014 年まで)の LaTeX team の方針は
「カーネルを変えないこと(いわばバグも仕様のうち)」
だったのが,2015 年以降は一変しました。
最近はバグ修正は収束していて,むしろ新機能追加(全てはタグ付き PDF のため?)
に注力していると見えますが,新機能追加も,要は「既存のコードを改変して何かを
追加する」という行為なので,どんどん変化が激しくなる方向です。

もちろん LaTeX team はメジャーアップデート前に
入念かつ慎重にテストをしています。
しかし,latex.ltx に何らかの変更(LaTeX3 言語適用や新機能追加)
が入れば,その影響で内部動作が変化するのは避けられません。
LaTeX の内部命令である「@ 付き命令」の中には
ユーザが直に使うことを想定していないものが多数あるでしょうから,
それを上書きする独自マクロを使う場合は「自己責任」
(LaTeX が変化すれば,独自マクロも追随が必要)
と理解しておくとよいと思います。

※最近の LaTeX の動向については,例えば↓
 https://zrbabbler.hatenablog.com/entry/20150429/1430281181
 https://qiita.com/wtsnjp/items/76557b1598445a1fc9da
 https://speakerdeck.com/wtsnjp/texconf2024-ltnews
などがよいでしょう。
aminophen への返信

Re: 各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- ut の投稿
aminophen さん

詳細なご説明をありがとうございます!

どなたか、「中の方」にご説明いただけたらなぁ、と思いながらご
質問させていただいたのですけれど、aminophen さん直々にご解説
をいただけて、とても嬉しいです。(お忙しいでしょうに、こんな
にも丁寧にご説明くださって、本当にありがとうございます)。

質問の投稿後、

>(4)つまるところ、上記(1)~(3)のタイミングにはズレがあるということ?

については、「TeX Live と CTAN の関係」とお尋ねしたほうがよか
ったかな、と思い直したり、

>(2b)(3a)(3b)で「バイナリ」という書き方で意味していたもの

については我ながら曖昧な表現だったかな、と思っていたところでした。

前者については、ご回答でご案内くださった、

 https://acetaminophen.hatenablog.com/entry/texadvent2016-20161205

にご説明がありましたし、後者については、きちんとその旨ご指摘
の上、ご解説いただけていて、誠に至れり尽くせりです。ありがと
うございます。

            * * *

(ちなみに、質問時に念頭にあった「バイナリ」は、「エンジン+
フォーマット」のことでした。でも、おっしゃる通り、フォーマッ
トも、バイナリですもんね…。

「実行ファイル」と書けばよかったのですが、その場合でも、質問
時に頭にあった「実行ファイル」は、「エンジン+フォーマット」
のことだったので、結局は、曖昧になってしまったのかも知れません。

実は、この辺りが(3a)(3b)の混乱の元でして、普段実行してい
る、latex.exe や pdflatex.exe は、「エンジン+フォーマット」
を「実行ファイル」にしているものだと思っているのですが、それ
が内部的にどう処理されているのかが、分かっていません。

つまり、pdflatex.exe (←これを「バイナリ」と称してしまって
いました)は、内部で、
 (A)pdftex.exe が latex.fmt を読み込んでいるのか
それとも、
 (B)pdftex.exe と latex.fmt が何らかの形で一体化しているのか
が分かっていません。

もしも、(A)であるならば、latex.fmt を更新するだけで、pdflatex.exe
は新しい latex.fmt を読み込むでしょうけれど、(B)であるなら
ば、latex.fmt を更新する度に pdflatex.exe も作り直す必要があ
りそうです。

質問時には(B)のようなイメージだったので、それで、

>(3b)fmt の再生成と、それが binary に取り込まれるというのは、別のタイミング?

というような訊き方になってしまっていました。)

            * * *

なお、ちょっと意外だったのは、

> > (1b) patch level ?? のリリース日はどこに書かれているのでしょうか?
>
> → 簡単に知る術はありません。
>  ≒既にご覧になっているような変更履歴を見るしかありません。

> ※(1b) で気にされている patch level は,まあ,
>  基本的に「バグ修正」なので大胆なコード変更は起きません。
>  =リリース日をわざわざ知る必要性は薄いと思います。

というご回答の部分です。わざわざバナーにも表示されるし、changes.txt
にも書かれているので、それなりに意味のあるマイナーバージョン
アップなのかな、と思っていました。

            * * *

1994 年の最初のリリース以来、LaTeX2e は、カーネルには大きな変更
・拡張は行わないというポリシーだったものが、2015 年に方針転換
がされて、それから更に 10 年が経過したということになります。

10 年と聞くとすごく長く感じますけれど、それでも、昔からのユー
ザーですと、それ以前の最初の 20 年間の印象のほうが強いんじゃ
ないかな、というような気もします。

私自身はもう 20 年近くも「初級ユーザー」のママですが、そんな
私の素人質問に対しての、今回の aminophen さんのご回答は、私以
外の多くのみなさんにとっても、とてもありがたい状況整理になっ
たと思います。本当に、ありがとうございます。
ut への返信

Re: 各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- aminophen の投稿
> 普段実行している、latex.exe や pdflatex.exe は、「エンジン+フォーマット」
> を「実行ファイル」にしているものだと思っているのですが、それ
> が内部的にどう処理されているのかが、分かっていません。

どちらかと言えば,お書きになっているうちだと (A) が近いです。
より正確に書くと

 実行プログラム(例:pdflatex.exe)は,そのコマンド名(例:pdflatex)に
 拡張子 .fmt を付けた同名のフォーマット(例:pdflatex.fmt)を
 エンジン(例:This is pdfTeX, ...)の起動直後に読み込む

という仕様になっています。

Windows で言うと,例えば

(a) pdflatex.exe は pdftex.dll のラッパーで,
 エンジン pdfTeX を起動した直後に
 フォーマット pdflatex.fmt を読み込むことによって
 pdfLaTeX(→ PDF を直接出力する LaTeX)を実現する。

(b) latex.exe も似たように pdftex.dll のラッパーで,
 エンジン pdfTeX を起動した直後に
 フォーマット latex.fmt を読み込むことによって
 LaTeX(→ DVI 出力版の LaTeX)を実現する。

(c) pdftex.exe も pdftex.dll のラッパーで,
 エンジン pdfTeX を起動した直後に
 フォーマット pdftex.fmt を読み込むことによって
 pdfTeX(→ PDF を直接出力する plain TeX)を実現する。

というようになります。

Unix の表現をすると,例えば

(a') pdflatex は pdftex というバイナリ本体のシンボリックリンクで,
 エンジン pdfTeX を起動した直後に…(以下 (a) と同文)

となります。

日本語関係で言うと,例えば

(d) platex.exe は euptex.dll のラッパーで,
 エンジン e-upTeX を起動した直後に
 フォーマット platex.fmt を読み込むことによって pLaTeX を実現する。

(e) uplatex.exe は euptex.dll のラッパーで,
 エンジン e-upTeX を起動した直後に
 フォーマット uplatex.fmt を読み込むことによって upLaTeX を実現する。

(f) lualatex.exe は luahbtex.dll のラッパーで,
 エンジン LuaHBTeX を起動した直後に
 フォーマット lualatex.fmt を読み込むことによって LuaLaTeX を実現する。

などがあります。
※日本語 pTeX 系のエンジンはここ数年で変遷がありました。
 詳しくは「pTeX マニュアル (ptex-manual.pdf)」も参照。


~ここから脱線していきます。~

最初の回答に書いたとおり,近年 LaTeX は大きく変化しています。
その影響で,日本語ユーザのための pLaTeX / upLaTeX を維持するのが
次第に困難になってきています。

> 以前作成したマクロが、その後のカーネルの変更の影響で
> 正しく動かなくなった

に似た状況は pLaTeX / upLaTeX を実現するマクロにも当てはまるからです。
伝統的な LaTeX2e 的マクロが動かなくなる場合のほか,
新言語 LaTeX3(expl3 とも)で日本語文字列(トークン)がうまく扱えず
おかしなエラーを吐く例が知られています。再び手前味噌ですが
 https://acetaminophen.hatenablog.com/entry/2021/06/18/022108
 https://github.com/texjporg/tex-jp-build/issues/122
などを参照ください。

※トークンの扱いを改善するには,pTeX 系エンジンを大改造する必要があると
 考えられています。
 2023 年には「XeTeX を参考にしたらどうか」という実験もなされましたが
  https://qiita.com/h-kitagawa/items/ebbf3684b3b1be8f0747
 まだ実現に至っていません(筋がいいのかどうかも分かっていない)。
 先日の t-tk さんの投稿にあった upTeX 更新
  https://okumuralab.org/tex/mod/forum/discuss.php?d=3905
  https://github.com/texjporg/tex-jp-build/issues/170
 の「Unicode 16bit欧文への対応」も,トークンの扱いを欧文に似せて
 LaTeX3 をサポートしやすくする実験の一種です。

さらに,LaTeX team が目指す「タグ付き PDF 生成の全面サポート」のため,
昨年あたりから「PDF を直接出力するエンジン」,中でも特に LuaTeX を
推奨する動きが盛んになってきています。
※今月の tex-live メーリングリスト(英語)でも白熱していました。
 https://tug.org/pipermail/tex-live/2025-March/051256.html

日本語の pTeX 系列を使った LaTeX (pLaTeX, upLaTeX) は DVI 出力なので
PDF 化を主に dvipdfmx(あるいは dvips + gs / distiller)に頼りますが,
万が一 DVI 出力がサポートされなくなれば致命的です。
同じく dvipdfmx (xdvipdfmx) を使うエンジンである XeTeX も
LaTeX team から見捨てられつつあると感じています。
(例: https://github.com/texjporg/tex-jp-build/issues/168 の話)

さらには,最も広く使われているエンジンである pdfTeX も
機能不足のためタグ付き PDF が一部実現できないとされており,
結局「エンジン LuaTeX だけが唯一 LaTeX の全機能をサポートする」
という可能性が出てきています。

日本語 TeX 開発コミュニティでは引き続き状況を注視していきますが,
マンパワーが足りていないのが現状です。
aminophen への返信

Re: 各種リリースや更新のタイミングについて(LaTeX; TeX Live; format/binary)

- ut の投稿
aminophen さん

私の「一部誤解がある」点に関しての余計な言い訳についてまで、
きちんと追加でご説明をくださり、重ねがさね、ありがとうござい
ます。

お蔭さまで、最初のご回答とも併せて、とてもよく分かりました。


さて、

> ~ここから脱線していきます。~

以下のお話は、このトピックの範疇を、たぶん超えてしまいますよね…。

端的にまとめますと(すいません)、

 1)2e kernel の更新で、過去の自作マクロが動かなくなる場合があり得る
 2)l3 kernel の更新で、将来 (u)pTeX が動かなくなる可能性がある

ということなのかと思います。

1)については、まぁ、しょうがないですよね、という感じです。一応、
latexrelease で巻き戻すという手段も用意されていますし。

で、2)のほうは、どうしたものでしょう…。ご案内の、

 pLaTeX が本格的にやばいかもという話
 2021-06-18
 https://acetaminophen.hatenablog.com/entry/2021/06/18/022108

は、2021 年の記事でしたか。
(当時、aminophen さんのご負担が過重になりすぎていたっぽいこと
も、薄々窺えてはおりました)

このあたりの状況は、普段 LaTeX を常用しているわけではない、私
のようなライトなエンドユーザーの耳にも入って来てはいました。
あれからもう 5 年ですか…。うーむ。

pdfTeX でさえもサポートからはずれる可能性があるかも、だなんて
驚きでしかないのですが、そうなりますと、今後は、上流の開発サイ
ドに (u)pTeX を理解してもらえるように働きかけるか、 (u)pTeX の
側で改善を模索するか、ということになるのでしょうか。

この件につきましては、無責任なことしか言えず、関係者の皆さん
のご尽力や大変さを思うと、なんとも申し訳ない限りです。