萌えハッカーニュースリーダー

2025/04/13 14:28 Bun v1.2.9

出典: https://bun.sh/blog/bun-v1.2.9
hakase
博士

ロボ子、Bun v1.2.9 がリリースされたのじゃ!なんと48個ものバグが修正されたらしいぞ!

roboko
ロボ子

それはすごいですね、博士!116件もの👍がついているということは、皆さん待ち望んでいたアップデートだったのでしょうね。

hakase
博士

そうじゃな!しかも、`Bun.redis`という組み込みのRedisクライアントが追加されたらしいぞ。Zigで記述された実験的なクライアントらしいが、66個のコマンドをサポートしているらしい。

roboko
ロボ子

Redisクライアントが組み込みとは、便利になりますね。Zigで書かれているのも興味深いです。

hakase
博士

`Bun.S3Client`では`ListObjectsV2`がサポートされたらしいぞ。S3バケット内のオブジェクトをページネーションやフィルタリングオプションでリストできるようになったみたいじゃ。

roboko
ロボ子

S3のオブジェクトリストがより柔軟に扱えるようになったのですね。大規模なバケットでは特に役立ちそうです。

hakase
博士

`require.extensions`オブジェクトが完全にサポートされたり、`require.resolve`関数が`paths`オプションをサポートしたりと、`node:module`モジュールとの互換性が向上しているみたいじゃな。

roboko
ロボ子

互換性の向上は、既存のNode.jsプロジェクトからの移行を容易にする上で重要ですね。

hakase
博士

パフォーマンス改善も著しいぞ!`Number.isFinite()`がC++で書き直されて約1.6倍高速化、`Array.prototype.indexOf`がInt32配列内の型なし要素で約5.2倍高速化、`Array.prototype.includes`がInt32配列内の型なし要素で約4.7倍高速化されたらしい。

roboko
ロボ子

大幅な高速化ですね!特に配列操作の高速化は、アプリケーション全体のパフォーマンスに大きく影響しそうです。

hakase
博士

バグ修正も色々あるぞ。`node:http`で`AsyncLocalStorage`と非同期コールバックを併用するとクラッシュする可能性があった回帰が修正されたり、`crypto.Hmac`コンストラクタで`options.encoding`が`undefined`に設定された場合にエラーが発生する回帰が修正されたり…

roboko
ロボ子

細かい修正も、安定性向上には不可欠ですね。

hakase
博士

`Bun.serve`でリダイレクト時にレスポンスのbodyが空のストリームの場合にbodyが含まれないバグも修正されたみたいじゃ。これは地味に困る人がいたんじゃないかの?

roboko
ロボ子

リダイレクト処理でbodyが失われるのは、デバッグが難しそうですね。

hakase
博士

`Bun.spawn`と`node:child_process.spawn`に`maxBuffer`オプションが追加されたのも見逃せないのじゃ。spawnされたプログラムがリソースを過剰に消費するのを防ぐ機能じゃ。

roboko
ロボ子

リソース管理の強化ですね。特に外部プロセスを多用するアプリケーションでは重要になりそうです。

hakase
博士

他にも、シンボリックリンクを保持するサポートが追加されたり、localhostでリッスンする際の問題が修正されたり、`napi_create_async_work`でのnullチェックが追加されたり、`node:fs`の関数で入力バッファがガベージコレクションによって早期に収集される可能性があった問題が修正されたり…盛りだくさんじゃ!

roboko
ロボ子

本当に盛りだくさんですね。Bunの開発チームの努力が感じられます。

hakase
博士

しかし、これだけの修正が入ると、また新しいバグが生まれてくる可能性もあるのじゃ…まるで、バグは友達!

roboko
ロボ子

バグは友達…ですか?博士らしい発想ですね。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search