**Lua 5.5**(Lua バージョン 5.5)

2025/12/23 0:06

**Lua 5.5**(Lua バージョン 5.5)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:


Summary

この文書は、Lua の最初の公開リリースから最新の 5.5.0 更新までの進化を年代順に記録し、各主要バージョン、そのリリース日、主な機能、および API の変更点を詳細に説明しています。歴史は元々 HOPL III(2007)で発表された論文として提示され、2025 年の出版物で継続されており、すべてのソースコードとドキュメントが無料でダウンロードできることも記載しています。

Release numbering

Lua は

x.y.z
スキームに従います:

  • x = シリーズ(例:5.x)
  • y = シリーズ内のメジャーバージョン
  • z = パッチレベル。
    パッチはバグ修正リリースで、親バージョンと ABI 互換性を保ちます。一方、異なるメジャーバージョン(例:5.3 vs 5.4)は API の変更を導入し ABI 非互換です。そのため、事前にコンパイルされたバイトコードは各メジャーリリース固有になります。

Major releases

VersionRelease dateKey features / changesLast patch
Lua 1.0–3.x1993–1994匿名関数、upvalue、タグメソッド、auxlib、パターンマッチング、長い文字列N/A
Lua 4.06 Nov 2000複数の状態、新 API、
for
文、デバッグ情報実行、組み込み関数の削除
4.0.1 (4 Jul 2002)
Lua 5.011 Apr 2003コルーチン、完全なレキシカルスコーピング、メタテーブル、ブール値、テイルコール、弱いテーブル、パッケージサポート、新ロード API5.0.3 (26 Jun 2006)
Lua 5.121 Feb 2006モジュールシステム、インクリメンタル GC、可変長引数機構、長文字列構文、mod/length 演算子、すべての型に対するメタテーブル、再入可能パーサー5.1.5 (17 Feb 2012)
Lua 5.216 Dec 2011Yieldable
pcall
、メタメソッド、新しいグローバルスキーム、エフェマロンテーブル、ビット演算ライブラリ、C 関数、緊急 GC、
goto
、テーブルファイナライザー
5.2.4 (7 Mar 2015)
Lua 5.312 Jan 2015整数、ビット演算子、UTF‑8 ライブラリ、64 ビットサポート5.3.6 (25 Sep 2020)
Lua 5.429 Jun 2020新しい世代型 GC モード、
const
/
to-be-closed
変数
5.4.8 (4 Jun 2025)
Lua 5.5.022 Dec 2025グローバル変数宣言、コンパクト配列、新しい世代型ガベージコレクションモード、インクリメンタルメジャー GC

Practical implications

開発者は各メジャーバージョンが ABI の変更をもたらし、事前にコンパイルされたバイトコードを破壊するため、移行計画を慎重に立てる必要があります。5.5.0 で導入された新機能(特にグローバル宣言構文と改善されたガベージコレクション)は、性能クリティカルなアプリケーションや Lua のメモリ管理動作に依存するライブラリに影響を与えます。

将来のリリースは、各シリーズ内で ABI 互換性を保ちながらこれらの機能拡張を継続すると予想されます。

本文

以下は、Lua のリリース履歴を整理したものです。


Lua の進化

この歴史は HOPL III(2007)で発表された論文と、2025 年のジャーナル記事にまとめられています。すべてのリリースに対するソースコードとドキュメントはダウンロードエリアから入手できます。

版数体系

リリースは x.y.z の形式で表されます

  • x
    – シリーズ
  • x.y
    – バージョン
  • z
    – リリース
  • 同一バージョン(異なる
    z
    )のリリースはバグ修正のみ。リファレンスマニュアル、VM、ABI は共有します。
  • 異なるバージョン (
    x.y
    ) では API が変更される場合があり(互換性スイッチ付き)、ABI が破壊されます。大きなバージョン間でプリコンパイルされた Lua バイトコードは通常移植できません。

Lua 5.x

Lua 5.5

  • リリース日:2025年12月22日(5.5.0)
  • 主な特徴:グローバル変数宣言、コンパクト配列、世代別 GC モード、インクリメンタル大規模 GC。

Lua 5.4

  • リリース日:2020年6月29日(5.4.0)
  • 主な特徴:世代別 GC モード、
    const
    と「to-be‑closed」変数。
  • 現在のリリース:5.4.8 – 2025年6月4日。

Lua 5.3

  • リリース日:2015年1月12日(5.3.0)
  • 主な特徴:整数、ビット演算子、基本的な UTF‑8 ライブラリ、64bit/32bit プラットフォーム対応。
  • 最終リリース:5.3.6 – 2020年9月25日。以降のリリースはなし。

Lua 5.2

  • リリース日:2011年12月16日(5.2.0)
  • 主な特徴
    pcall
    の yield 機能、メタメソッド、新しいグローバル・レキシカルスキーム、エフェメロンテーブル、ビット演算ライブラリ、軽量 C 関数、緊急 GC、
    goto
    、テーブルファイナライザー。
  • 最終リリース:5.2.4 – 2015年3月7日。以降のリリースはなし。

Lua 5.1

  • リリース日:2006年2月21日(5.1.0)
  • 主な特徴:新しいモジュールシステム、インクリメンタル GC、可変長引数機構、長い文字列/コメント構文、
    mod
    /長さ演算子、すべての型に対するメタテーブル、
    luaconf.h
    、完全再入可能パーサ。
  • 最終リリース:5.1.5 – 2012年2月17日。以降のリリースはなし。

Lua 5.0

  • リリース日:2003年4月11日(5.0.0)
  • 主な特徴:コルーチン、完全なレキシカルスコーピング、メタテーブル、ブール値、正しい尾呼び出し、弱いテーブル、パッケージサポート、チャンク読み込み API、エラーハンドリングプロトコル、改善されたエラーメッセージ、新ライセンス。
  • 最終リリース:5.0.3 – 2006年6月26日。以降のリリースはなし。

Lua 4.x

Lua 4.0

  • リリース日:2000年11月6日(4.0.0)
  • 主な特徴:複数状態、API の刷新、
    for
    文、デバッグ情報付きの高速実行、公式 API を用いた標準ライブラリ。
  • 最終リリース:4.0.1 – 2002年7月4日。以降のリリースはなし。

Lua 3.x

Lua 3.2

  • リリース日:1999年7月8日(3.2.0)
  • 主な特徴:デバッグライブラリ、新しいテーブル関数。
  • 最終リリース:3.2.2 – 2000年2月22日。以降のリリースはなし。

Lua 3.1

  • リリース日:1998年7月11日(3.1.0)
  • 主な特徴:匿名関数、upvalue ベースのクロージャー、関数型プログラミング的雰囲気、多重グローバルコンテキスト、部分再入可能性、コード再編成、倍精度数。

Lua 3.0

  • リリース日:1997年7月1日(3.0.0)
  • 主な特徴:タグメソッド、C ライブラリ用
    auxlib
    、条件付きコンパイルサポート(4.0 で削除)。

Lua 2.x

Lua 2.5

  • リリース日:1996年11月19日(2.5.0) – パターンマッチング、可変長引数関数。

Lua 2.4

  • リリース日:1996年5月14日(2.4.0) – 外部コンパイラ
    luac
    、拡張デバッグフック、
    getglobal
    フォールバック。

Lua 2.3

  • 公開リリースはなく、ベータ版としてのみ存在しました。

Lua 2.2

  • リリース日:1995年11月28日(2.2.0) – 長い文字列、デバッグインターフェイス、スタックトレースバック、拡張関数構文、関数 GC、パイプサポート。

Lua 2.1

  • リリース日:1995年2月7日(2.1.0) – 拡張可能なフォールバック、オブジェクト指向サポート、II Compaq Award を受賞した論文。以降のバージョンからはすべて無料で利用できます。

Lua 1.x

Lua 1.1

  • リリース日:1994年7月8日(1.1.0) – 最初の公開リリース、会議論文、バイトコード VM、強力なデータ記述、シンプル構文。学術利用は無料で、商用利用には交渉が必要。

Lua 1.0

  • 公開リリースはなく、1993年7月28日(おそらくそれ以前)に動作していたと考えられます。

同じ日のほかのニュース

一覧に戻る →

2025/12/24 2:33

ファブリス・ベルラドが MicroQuickJS をリリース

## Japanese Translation: GitHubの最新オファリングは、AI駆動のコード作成、統合開発ワークフロー、および組み込みセキュリティを一つの体験に融合した統一プラットフォームです。 - **AIツール**:CopilotとSparkは開発者がより高品質なコードを書き、プロンプトを管理し、外部サービスへ接続するのを支援します。 - **ワークフロー**:Actionsは任意のワークフローを自動化し、Codespacesは即時にクラウド開発環境を提供します。Issues、Plans、およびCode Reviewはチームが作業を追跡し変更点をレビューできるようにし、すべて単一パイプライン内でハンドオフを減らします。 - **セキュリティ**:Advanced Securityはビルド時に脆弱性をスキャンし、シークレット保護は認証情報の漏洩を事前に防止します。 - **対象ユーザー**:エンタープライズから中小チーム、スタートアップ、非営利団体まで、アプリモダナイゼーション、DevSecOps、DevOps、およびCI/CDなどのユースケースで利用可能です。 - **対応業界**:ヘルスケア、金融サービス、製造、政府機関その他多数。 - **追加リソース**:ドキュメント、ブログ、変更履歴、マーケットプレイス、イベント/ウェビナー、電子書籍/レポート、ビジネスインサイト、スキルトレーニング、サポート、コミュニティフォーラム、Trust Center、およびパートナープログラムがすべて利用可能で、チームの成功を支援します。 - **エンタープライズソリューション**:GitHub Enterprise PlatformにはAdvanced Security、Copilot for Business、プレミアムサポート、24/7 エンタープライズレベルサービスなどのAI駆動開発プラットフォームと追加機能が含まれ、それぞれ階層化された価格モデルで提供されます。 これらの機能を組み合わせることで、あらゆる規模の組織においてコード生成をより迅速かつ安全に行い、ワークフローを効率化します。

2025/12/24 6:54

**X‑ray:PDF 文書における不適切な赤字消去(レダクション)を検出するための Python ライブラリ**

## Japanese Translation: --- ## Summary x‑rayは、PDF文書内の不適切な赤字(黒い四角形が背後にあるテキストを完全に覆えていない)を自動で検出するPythonライブラリです。PyMuPDFでPDFをスキャンし、四角形の形状を特定してページコンテンツ上に重ね合わせ、各形状が実際に隠された情報を遮蔽しているかどうかをテストします。不適切な赤字はJSON(またはPython辞書)として報告され、ページ番号、境界ボックス、および隠されたテキストがリスト化されます。 ### Installation ```bash uv add x-ray # 既存のuvプロジェクトに追加 pip install xray # 標準的なpipインストール ``` インストールせずに実行することも可能です: ```bash uvx --from x-ray xray <PDF_URL> ``` ### Usage *コマンドライン:* ```bash xray path/to/file.pdf xray https://free.law/pdf/example.pdf # バッチURL cat urls.txt | xargs -n 1 xray ``` *Python import:* ```python import xray bad_redactions = xray.inspect("some/path/to/file.pdf") # `inspect` は str、pathlib.Path、URL(https://)、または PDF コンテンツの bytes を受け取ります。 ``` ### Output このツールは、ページ番号をキーとし、不適切な赤字オブジェクトのリストを値とするJSONを出力します。各オブジェクトには `bbox` タプルと隠された `text` が含まれます。モジュールとして使用した場合、同等のPython辞書が返されます。 ### Project context - Free Law Projectで数百万件のPDFを監査し、法的透明性を確保するために使用されています。 - GitHub上でオープンソース化されており、貢献にはCLAへの署名が必要で、issues経由で管理されます。 - リリースはGitHub Actionsで自動化されており、手動リリースでは `CHANGES.md`、`pyproject.toml` の更新、タグ付け、およびPoetryによる公開を行います。 - BSDライセンス(許諾型)で配布されています。 x‑rayの軽量なインストールと明確なレポート機能は、法務テック企業や規制当局、オープンデータイニシアチブが不備のある赤字を迅速に特定し、コンプライアンスと透明性を維持するのに役立ちます。

2025/12/24 4:35

テレンス・マリック『Disciples』

## Japanese Translation: テレンス・マリックの独特な美学―長いモンタージュ、自然光、詩的ナレーション、そして従来の物語構造への拒否――は、そのスタイルを直接模倣せずに採用する新しい映画作家たちの波を呼び起こしました。 代表例としてラメル・ロス監督の『ニッケル・ボーイズ』(2024年)が挙げられます。この作品はコールソン・ホワイトヘッド小説の改編で、ベストピクチャー賞ノミネートを獲得しました。ロスはマリックの『The Tree of Life』に触発され、その制作に関わったプロデューサーの一人が手助けしたといいます。彼は監督のアプローチを第一人称視点と断片的な詩性へと翻訳し、没入型の神話的物語を創造していますが、それでも独自性を保っています。 他の現代映画監督――クロエ・ザオ(『ノマドランド』)、クリント・ベンツリー(『Train Dreams』)、デイヴィッド・ゴードン・グリーン(『ジョージ・ワシントン』)、そしてローラ・ダン――はマリックの視覚言語を響かせますが、表面的な模倣を避けるために自らの感性と融合させる必要があります。A.J. エドワーズ(『The Better Angels』)やデイヴィッド・ロウリー(『Ain’t Them Bodies Saints』)による試みは、スタイルフレームワーク内で真の人間性を捉える難しさを示しています。 マリックのキャリアは、『Badlands』と『Days of Heaven』という初期叙事詩から始まり、20年間の休止期間を経て、『The Thin Red Line』『The New World』『The Tree of Life』などの後期作品へと進化しました。彼の作品は常に精神性・自然・人間存在を探求しつつ、批評家から高い評価を受ける一方で、ボックスオフィスでは稀にしかヒットしません。マリックの総合的な目標――失われた精神性とアメリカ映画を再接続すること――は、芸術的解放とハリウッドの従来の物語期待との間で緊張を生み出します。 この記事では、マリックの美学と制作手法が多くの人々にインスピレーションを与えている一方で、本当の影響力は表面的な技術を単純に模倣するのではなく、それらの要素を自分自身の物語ビジョンへと翻訳することにあると主張しています。

**Lua 5.5**(Lua バージョン 5.5) | そっか~ニュース