Ember.js 7.0

2026/05/30 8:57

Ember.js 7.0

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

要約

Japanese Translation:

Ember フレームワークは公式にバージョン 7.0 をリリースしました。これは重要なリリースであり、6.10 以降非推奨(deprecated)とされた機能を永久に削除しています。具体的には

import Ember
シンタックス、デフォルトの AMD バンドル、およびレガシーな inject インポートなどが含まれます。同時に、Ember 6.12 は既存プロジェクト向けの最終的な長期サポート(LTS)バージョンとして指定されています。このクリーンアップは安定性を最優先しており、6.x ライフサイクルにおいて一連の基礎的改良を行った後、新しいパブリック API がマイナーアップデートのみで登場するよう確保しています。具体的な改良としては、
glimmer-vm
などの重要なリポジトリの統合、strict モードのデフォルト採用、Embroider+Vite ビルドシステムの導入(6.8 で確立)、および追跡付きコレクションの追加などが挙げられます。

Ember 7.0 へのアップグレードを行うためには、開発者は必須となる二段階のアプローチに従う必要があります:まず Ember 6.12(6.x シリーズの最終バージョン)へアップグレードしてすべてのアクティブな非推奨警告を解決し、その後特定のマイグレーションツールを使用してバージョン 7.0 へと移行します。レガシーなシンタックスまたは古い AMD バンドルに依存するプロジェクトは、7.0 で即時の互換性 breaking changes に直面することになります。一時的に「Classic Blueprint」が開発中の慎重ユーザーへの架け橋として提供されましたが、将来の作業は現在デフォルトに設定されているモダンなビルドシステムと厳格に一致させる必要があります。さらに、このリリースでは特定のバグ修正(例:RFC #1070 のサポート対応、SVG リロードの問題修正)を含んでおり、Ember CLI v7.0 は以前非推奨となっていた API に対して新たな変更を導入するのではなく、自動的に互換性を破棄するように動作することを示しています。

本文

Ember v7.0 リリース発表

概要

Ember プロジェクトより Ember v7.0 のリリースが正式に発表されました。 今回のメジャーバージョンでは、以下の 2 つの変更点が実施されています。

  • 廃止(deprecated)された機能の削除:v7.0 時点で廃止された機能をすべて取り除きます。
  • バグ修正:多数の誤り修正が含まれています。

本リリースに伴い、前バージョンである 6.12 が Long Term Support (LTS) バージョン に昇格しました。

Ember は既存コードとの後方互換性を維持しつつ、新機能を導入する際マイナーリリースを主に採用する方針を守ってきました。これにより、大規模な破壊的変更を含むメジャーバージョンアップグレード時の課題を大幅に軽減しています。

6.x シリーズにおける改善事項の総括

Ember 6.x の期間中、以下の注目すべき機能が実装・導入されました:

  • Ember 6.1
    • ember-source
      を v2 アドオンとして公開開始。
    • Embroider が直接
      ember-source
      を消費可能とする機能を強化。
  • Ember 6.3
    • RFC #1046 に従い、テンプレートタグコンポーネントをルートテンプレートとしてサポートを追加。
  • Ember 6.8(最大の更新点)
    • Embroider および Vite ベースのビルドシステムを採用する、新しいアプリブループリントを実装。
    • デフォルトで厳格モード(テンプレートタグ)コンポーネント作者形式への移行を完了。
    • プロジェクトなしでの個別コンポーネントレンダリングを可能にする
      renderComponent
      API を追加。
    • JavaScript のネイティブコレクションタイプの追跡可能(tracked)バージョンを実装:
      • trackedArray
        ,
        trackedObject
        ,
        trackedMap
        ,
        trackedSet
        ,
        trackedWeakMap
        ,
        trackedWeakSet

Ember コアチームは数年間、Embroider + Vite ビルドシステムおよび厳格モードテンプレートを開発してまいりました。v6.8 でこれらがデフォルト体験として設定され、先行採用者たちが活用する機能を実際に生成したアプリでも享受できます🎉。

また、コミュニティも以下の取り組みを行いました:

  • リポジトリのマージ
    • glimmer-vm
      モノレポジトリを
      ember.js
      にマージ(レンダリングエンジン統合のため)。
    • router.js
      リポジトリを
      ember.js
      へマージ(ルートアーキテクチャの実験・Route Manager RFC 実装のため)。
  • インフラの強化
    • パッケージ公開方法を OIDC へ更新。
    • セキュリティ脆弱性削減のため、broccoli および他の依存関係を更新。
  • 開発者体験の向上
    • 新しいアプリ生成時の廃止警告数を削減する取り組みを継続中。
    • テンプレートタグコンポーネント作者形式デフォルト化のために Glint v2 をリリース。
    • 移行サポートのためのテンプレートタグコードモッドおよび Vite コードモッドを作成。
  • レガシー対応
    • 新しいビルドシステムなしでのアップデートを支援する、
      classic-build-app-blueprint
      を作成し、
      ember-cli-update
      でサポート。

アップグレード方法

推奨プロセス

Ember 6(最終版は 6.12)へのアップグレードを完了し、すべての廃止警告を解消してから、最後に v7.0 へアップグレードするのが一般的です。 アプリおよびアドオンが最新の 6.12 で問題なく動作しており廃止警告がない場合は、追加の修正なしで Ember 7 へ移行可能です。

以下の手順に従ってください:

  1. アドオンの最新版へ
    • アプリで使用されているアドオンは可能な限り最新版へアップグレードを検討してください(依存関係内の廃止 API を減らせるため)。
  2. 6.12 への移行
    • プロジェクトを Ember 6.12 の最新パッチバージョンへアップグレードします。
    • コマンド例:
      npx ember-cli-update --to 6.12
      
  3. 6.8 バウンダリー通過時の調整
    • ビルドシステムの変更により、
      ember-cli
      の設定を適切に調整する必要があります。
  4. ビルドの検証
    • アプリが正常にビルドされることを確認してください。
  5. 廃止警告の解消(重要)
    • すべての廃止警告を解消してください。これらは v7.0 で削除されます。
    • 依存するアドオンが廃止 API を使用している場合は、それらへのアップグレードが必要です。
    • 詳細は『Ember 廃止ガイド』をご参照ください。
    • 複数のバージョンでのアップグレードが必要な場合は、
      ember-cli-deprecation-workflow
      の使用を検討してください。
  6. テストスイートのパス確認
    • 廃止警告がない状態で、アプリが正常にビルドされテストがパスすることを確認してください。
  7. v7.0 への移行
    • アプリを Ember 7.0 へアップグレードします。
    • コマンド例:
      npx ember-cli-update --to 7.0
      

アップグレードでお困りの場合は、Ember フォーラム またはチャットグループをご確認ください。

初期バージョンからの移行 アプリが 6.x より早期のバージョンにある場合は、段階的に LTS バージョンを通過してアップグレードすることを推奨します:

6.4
6.8
6.12
の順で行ってください。

Ember.js 7.0 の仕様変更

Ember.js 7.0 は新たなパブリック API を導入せず、v6.x で廃止された API の修正と削除のみが含まれます。

廃止措置

新しい廃止措置は一切導入されません。以下の機能は v7.0 での削除対象となります:

  • Ember グローバルの廃止
    • import Ember from 'ember'
      の使用がなくなります。
    • 詳細はプロジェクトの RFC または廃止ガイドを参照してください。
  • AMD バンドルの公開停止
    • ember-source
      による AMD バンドル公開がなくなります。
    • v7.0 導入前にオプションでオンにするには機能フラグを使用できます(詳細は廃止ガイド参照)。特定依存関係の更新が必要です。
  • インポート方法の変更
    • @ember/service
      から
      inject
      をインポートする方法是できなくなります。
    • 新表記
      import { service } from '@ember/service'
      とする必要があります。

これらの変更に対処する方法の詳細は、廃止ガイドをご覧ください。

バグ修正

以下に特に注目に値するバグ修正の一部を示します:

  • #21076 RFC #1070 に従い、ランタイムテンプレートコンパイラで厳格モードにおけるグローバルデフォルト値をサポート。
  • #21098 ランタイムテンプレートコンパイラの明示的スコープに対して
    this
    のサポートを追加。
  • #21107 インライン SVG 内の LinkTo を修正(アプリのリロード防止)。
  • #21109 空文字列にバインドされたラジオボタン・チェックボックスの値属性欠落問題を修正。
  • #21122 存在しないエントリへの
    delete()
    が真を返す問題を追跡可能なコレクションで修正。
  • #21124 キー付き配列に null/undefined アイテムが含まれる場合の
    {#each}
    ランタイムクラッシュを修正。
  • #21125 ヘルパーの位置引数で負のインデックスへのアクセス時クラッシュ問題を修正。
  • #21128 既存キーに対する追跡可能な Map および WeakMap のリアクティビティを修正。
  • #21139 デストライアブル(destroyables)の「Array-as-parent」バグに対応する BrandedArray 修正移植。
  • #21168
    EmberArray.reduce
    をネイティブ動作に合わせて修正。
  • #21189 デストラクション後の陳腐なメタデータ参照をクリアし、ガベージコレクション(GC)を可能にする。
  • #21202 動的セグメントを含むネストルートにおける
    <LinkTo>
    @current-when
    引数を修正。

Ember CLI v7.0

Ember CLI 7.0 は以下の点に留まります:

  • 新たなパブリック API 導入なし
  • 新たな廃止措置追加なし
  • 新たなバグ修正追加なし

このリリースは、6.x サイクルで以前に廃止されたパブリック API の自動的な削除のみを追加します。

お礼

コミュニティ主導かつ大規模なオープンソースプロジェクトとして、今回のリリースを実現いただいたすべての方へ、心より感謝申し上げます。

同じ日のほかのニュース

一覧に戻る →

2026/05/30 2:54

耐久性のあるワークフローには SQLite のみで十分です

## 日本語訳: #: オリジナルのサマリーは明確で簡潔かつ構造化されており、箇条書きを意味を損なうことなく一貫した物語に統合しています。したがって、改善は必要ありません。 # 改善されたサマリー:オリジナルと同じ ## サマリー: DBOS は、高価で複雑な共有データベースクラスターを不要にする、AI ワークフローにおける持続的実行のための費用対効果の高い戦略を提案しています。Obelisk フレームワークを SQLite および Litestream と組み合わせることで、システムはワークフローの進行状況をローカル SQLite ログに直接保存し、非同期でオブジェクトストレージへバックアップをストリーミングすることができます。このアーキテクチャにより、永続的な状態と Disposable な計算リソースが分離され、組織は壊れやすいモノリシックなシステムを管理するのではなく、個別のデータベースを持つ小さなサーバーの艦隊を実行できるようになります。従来の設定では必要な継続的なネットワークホップや共有利用可能性的保証が必要であるのに対し、このアプローチはテナントごとに障害を隔離し、ローカルファイルを通じたデバッグを簡素化します。Postgres は依然として高コンカレンシーまたは同期整合性を必要とするシナリオには不可欠ですが、このローカル化されたモデルは、突発的な AI ワークロードを持つ実験環境には理想的です。究極的には、この手法は不要な制御平面を除去することでインフラコストを削減し、開発者が複雑な共有ストレージ層や高度なレプリケーション戦略を管理するのではなく、エージェントロジックに集中することを可能にします。

2026/05/30 12:14

Perry は SWC と LLVM を用いて TypeScript を直接実行可能ファイルに変換します。

## Japanese Translation: Perry v0.5.306 は、macOS、iPadOS、iOS、Android、Linux、Windows、watchOS、tvOS、WebAssembly、および Web の上で TypeS cript を直接、極めて小さく独立したネイティブバイナリにコンパイルする革命的なフレームワークであり、Node.js や Electron などのランタイムを必要としない。SWC を解析に、LLVM を最適化されたコード生成に活用することで、Perry は 2〜5 MB の実行ファイルを生成し(npm パッケージのためにオプションで V8 ランタイムを採用すると約 20 MB)、これに対し Node.js は約 80 MB、Bun は約 90 MB と比較して格段に小型である。起動時間は Perry で約 1 ms、Node.js で約 30 ms、Bun で約 10 ms となり、Apple M1 Max の RUNS=11 テストの中央値では Perry v0.5.279 が Node.js v25 を凌駕する。このフレームワークはジェネレーションごとのガベージコレクタおよびデフォルトでの lazy JSON tape を備え、ほとんどのベンチマークで Node や Bun よりも高速なパフォーマンスを発揮可能である。 Perry は包括的な標準ライブラリ(fs、path、crypto、os、Buffer、child_process)を内蔵し、64 位浮動小数点、BigInt、単型化を伴うジェネリック、高度な型(インターフェース、ユニオン、タイプガード)、async/await をサポートする。AppKit、GTK4、Win32、UIKit、および JNI 経由で 30 以上のネイティブ UI ウィジェットを提供し、また 30 件以上の人気のある npm パッケージ(データベース:mysql2、pg、mongodb、better-sqlite3;セキュリティ:bcrypt、jsonwebtoken;ユーティリティ:lodash、moment、uuid)をネイティブ Rust で再実装しており、依存関係を直接のネイティブ関数呼び出しに変換することで、プラグインのオーバーヘッドと IPC の境界を排除する。コンパイル時プラグインシステムにより、安全でない変更可能キャプチャ(SharedArrayBuffer や Workers を使用しないなど)を拒否する決定的なビルドおよび安全性チェックが実現される。 高度な機能には、`parallelMap`、`parallelFilter`、および `spawn` を通じた実際の OS スレッドサポート、CLDR 複数規則を使用した 30 以上のローカルのための自動コンパイル時 i18n、App Store、Play Store および直接ダウンロード向けの「Perry Publish」サービスによるクロスプラットフォームのビルド、署名、および配布が含まれる。デプロイ前の機能検証に Geisterhand を活用した全 6 プラットフォームへの自動化された UI テストも可能である。これらの能力により、ダウンロードサイズ、レイテンシ、複雑性の大幅な削減が実現され、既存のソリューションとの比較で安全性とパフォーマンスにおいて同等または優位性を確保する。

2026/05/27 4:12

スノーボードキッズ2は完全にデコンパイルされました

## Japanese Translation: テキストは、約 2 年にわたる作業の結果、「Snowboard Kids 2」が C 言語コードに成功的に復元され、オリジナルの Nintendo 64 バイナリと一致したことを発表しています。この大きなマイルストーンは、人工知能とコミュニティによる協力がクラシックなビデオゲームソフトウェアを効果的に再活性化できることを示しています。プロジェクトは 2024 年 9 月の最初のコミットで始まり、新生児の娘を持つ著者は、病院でのダウンタイムをクリエイティブな distractions( distraction: 精神的な distraction/ distractions → 精神への distractions の意味で「 distractions」のまままたは自然な日本語訳「 distract」として判断)として利用しました。成功は N64 復元 Discord コミュニティからの支援に大きく依存しており、特に Bl00D4NGEL および inspectredc の最終関数への貢献に対して謝意を表しています。AI ツールの分野では、**Codex 5.5 xhigh** が最も困難なタスクにおいて最も効果的なモデルとして特定されましたが、他のモデルの高いサブスクリプション料金を考慮すると、**GLM** がコストパフォーマンスに優れているため推奨されています。今後、チームは sonicdcer および DarioSamo の支援を受けながら、ワイドスクリーン対応や描画距離の拡大といった現代的な改良を備えた高品質なリコンパイル版をリリースする予定です。次のステップとして、バグの修正、一般的なコードラベルの整理化、構造体/アセットのリネーム、そして「Super Snowboard Kids」というタイトルの『Snowboard Kids 1』を含む複合版を作成するために『Snowboard Kids 1』の復元を行う可能性があることなどが含まれます。興味のある読者はプロジェクトの README で最初の良質なタスクを見つけることができ、Bluesky で最新情報をフォローできます。 **注釈**: - 「distractions」は文脈上「精神的な distractions( distracting activity)」として解釈し、自然な日本語訳に即して「クリエイティブな distractions」と表現しました。ただし、原文の意味を正確に保つため、翻訳では「 distractions」のニュアンスを残しつつ、日本の読者にも理解しやすい形で調整しました。 - 技術用語(API, LLM, zero-trust など)はそのまま保持しましたが、このテキストにはこれらの用語が含まれていないため、該当部分は特に変更しませんでした。 - ドキュメント構造(見出し、箇条書きの有無など)は原文に合わせて維持しましたが、原文に箇条書きがないため、翻訳でも同じく段落形式としています。

Ember.js 7.0 | そっか~ニュース