JSer.info #771 - Node.js 26.0.0がリリースされました。
Temporal APIがデフォルトで有効化され、V8 14.6への更新によりMap/WeakMapのgetOrInsert()/getOrInsertComputed()やIteratorのconcat()メソッドが追加されています。--experimental-transform-typesフラグの削除やmodule.register()のruntime-deprecateなどの破壊的変更も含まれています。
Node.js 26は、現在のLTSリリーススケジュールに従う最後のメジャーリリースとなります。Node.js 27からは年1回のリリースに変更され、すべてのリリースがLTSとなる新しいスケジュールに移行します。
また、Node.js 20.xがEOLとなりセキュリティパッチを含むアップデートが提供されなくなりました。
Rolldown 1.0がリリースされました。
RolldownはRustで書かれたJavaScript/TypeScriptバンドラーです。
Rollup互換のプラグインAPIを持ち、Rollupと比較して高速にビルドすることが目的です。
Vite 8ではデフォルトのバンドラーとして採用されます。
Jest v30.4.0がリリースされました。
Node v24.9+でES Modulesに対するrequire()をサポートし、Node v26のTemporal APIに対応するfake timersが追加されています。また、jest.config.mtsのサポート、プロジェクト単位のverbose/silent設定の追加、React 19のpretty-formatサポートなども含まれています。
JSer.infoをサポートするには
- 😘 知り合いにJSer.infoをおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Release v8.0.0 · avajs/ava
github.com/avajs/ava/releases/tag/v8.0.0
AVA v8.0.0リリース。
Node.js v22.20/v24.12以降が必須となり、内部実装をESM化。
CommonJSから利用する場合はconst {default: test} = require('ava')への変更が必要。
デフォルトのテストファイル拡張子がjs/mjsに変更され、テストファイルはimport()経由で読み込まれるように変更。
実行時条件でテストをスキップ/実行するtest.skipIf()/test.runIf()を追加。
*.tsbuildinfoファイルの変更をWatchモードで無視、TAPレポーターのエラー名復元処理の改善など。
Node.js — Node.js 26.0.0 (Current)
nodejs.org/en/blog/release/v26.0.0
Node.js 26.0.0(Current)リリース。
Temporal APIがデフォルトで有効化。
V8 14.6への更新により、Weak/MapのgetOrInsert()/getOrInsertComputed()やIteratorのconcat()メソッドが追加。
Undici 8.0.2へ更新。
http.Server.prototype.writeHeader()の削除、レガシーストリームモジュール(_stream_wrapなど)の削除。
--experimental-transform-typesフラグの削除、module.register()をruntime-deprecateなど
Release 0.18 | StyleX
StyleX v0.18リリース。
コンパイル時に値を設定できるstylex.env APIの追加、プロジェクトの雛形を作成するcreate-stylex-app CLIの追加。
stylex.attrs APIの復活、Chrome DevTools拡張の提供。
JSXでsx={}構文のサポート、defineVarsの自己参照変数のサポート、stylex.whenが属性セレクタもサポート、CSS Layersの制御の改善、ESLintプラグインの修正など。
Node.js — End-Of-Life
Node.js 20.xがEOLとなりセキュリティパッチを含めたアップデートが提供されなくなった。
Chrome 148 | Release notes | Chrome for Developers
developer.chrome.com/release-notes/148
Chrome 148リリース。
CSSのcontainer-name単独でのコンテナクエリ、@supportsのat-rule()サポート、revert-ruleキーワードを追加。
text-decoration-skip-ink: all、<video>/<audio>要素のloading="lazy"属性をサポート。
Prompt API、Web AuthenticationのImmediate UIモードのサポート。
Android向けにSharedWorkerの再有効化、Web Serial APIのサポート、Resource TimingにcontentTypeを追加。
Origin TrialとしてDeclarative CSS module scripts、HTML-in-canvas、Connection Allowlists、OpaqueRangeの追加など
Node.js — Node.js 26.1.0 (Current)
nodejs.org/en/blog/release/v26.1.0
Node.js 26.1.0リリース。
実験的なnode:ffiモジュールを追加し、--experimental-ffiフラグで動的ライブラリの読み込みとネイティブシンボルの呼び出しに対応。
crypto.randomUUIDv7()の追加、crypto.diffieHellman()がキーデータを受け入れるように変更。
fs.stat()にsignalオプションを追加、statfsがfrsizeフィールドを公開。
HTTPのIncomingMessageにreq.signalを追加、BufferのindexOf()/lastIndexOf()にendパラメータを追加。
テストランナーにテスト順序のランダム化やAbortSignal.timeoutのモックタイマー対応を追加、util.styleText()が16進数カラーをサポートなど
Release v30.4.0 · jestjs/jest
github.com/jestjs/jest/releases/tag/v30.4.0
Jest v30.4.0リリース。
Node v24.9+でES Modulesに対するrequire()をサポート、Node v26のTemporal APIに対応するfake timersの追加。
jest.config.mtsのサポート、--collect-testsフラグの追加、workerGracefulExitTimeoutオプションの追加など。
プロジェクト単位のverbose/silent設定の追加、React 19のpretty-formatサポートなど。
projects設定でのカバレッジレポートの修正、structuredCloneでのtoStrictEqualの修正、ESMとWebAssemblyのimport時のデッドロックの修正など。
Electron 42 | Electron
www.electronjs.org/blog/electron-42-0
Electron 42リリース。
Chromium 148/Node.js 24.15.0/V8 14.8へアップデート。
macOSの通知APIがUNNotification APIに変更されコード署名が必須に、postinstallでElectronバイナリをダウンロードする挙動を削除。Session.clearStorageData()からquotasオブジェクトを削除。
view.setBounds()のアニメーション対応、view.setBackgroundBlur()によるネイティブ背景ぼかしのサポート。
macOSでのNotification.getHistory()、globalShortcut.setSuspended()、ヒーププロファイリングのサポートなど。
Release v1.16.0 · axios/axios
github.com/axios/axios/releases/tag/v1.16.0
axios v1.16.0リリース。
fetch adapterでのmaxBodyLength/maxContentLengthの制限を強制、proxyリクエスト時のユーザー指定Hostヘッダの保持などの破壊的変更を含む。
また、Basic認証でpercent-encodedされた認証情報のデコード、parseProtocolがコロン区切りを厳密に要求するよう変更されている。
QUERY HTTPメソッドのサポート、AxiosError.ECONNREFUSEDの追加、encodeヘルパーのexportなど。
Announcing Rolldown 1.0 | VoidZero
voidzero.dev/posts/announcing-rolldown-1-0
Rolldown 1.0リリース。
Rustで書かれたRollup互換プラグインとの互換性を持ったJavaScript/TypeScriptバンドラー。
Vite 8でデフォルトのバンドラーとして利用される。
Chrome 149 beta | Blog | Chrome for Developers
developer.chrome.com/blog/chrome-149-beta?hl=en
Chrome 149 betaリリース。
CSSのshape-outsideプロパティでpath()/shape()/rect()/xywh()関数のサポート。
SVGのpathLength属性のCSSプロパティ化、image-rendering: crisp-edgesのサポート。
Intl.Locale.prototype.variantsの追加、プログラムによるスクロールメソッドがPromiseを返すように変更。
Service WorkerのRequestにisReloadNavigation属性を追加、WebSocket接続中でもbfcacheを利用可能に。
Origin TrialとしてPermissions Policyのfocus-without-user-activation、rawgamepadinputchangeイベントを追加。
ソフトウェア、ツール、ライブラリ関係
sqlfu
SQLファイルを中心としたTypeScript用のSQLiteデータベース開発ツールキット。
definitions.sqlでスキーマを定義しsqlfu draftでマイグレーションを生成、SQLクエリから型安全なTypeScriptラッパーを生成する。
Cloudflare Durable Object/D1/Node.js/Bun/better-sqlite3/libsqlに対応している。
ESLintプラグイン、SQLフォーマッター、Admin UI、OpenTelemetryのトレーシングに対応している。
fabon-f/temporal-polyfill-lite: Lightweight Temporal polyfill
github.com/fabon-f/temporal-polyfill-lite
Temporal APIのpolyfillライブラリ。
最新のTemporal仕様に対応し、ponyfillとしてもglobalを書き換えるshimとしても利用できる。
TypeScriptで書かれていて、内部的にBigIntに依存しない実装となっている。
open-circle/formisch: The lightweight, schema-first, and fully type-safe form library for React, Solid, Vue, Svelte and more.
github.com/open-circle/formisch
React/Solid/Vue/Svelte/Preact/Qwikに対応したスキーマファーストのフォームライブラリ。
Valibotを利用したスキーマベースのバリデーションをサポートし、createFormや<Form />/<Field />などのAPIでフォームの状態を管理する。
