前端前線 2026 年 8 月 21 日

2026-08-21 — Bun 1.4 完成 Rust 重寫、HTML 新增宣告式亂序串流、Svelte 5.56.10 修正 CSS 與 SSR 衍生值

primary=https://bun.sh/blog/bun-v1.4 primary=https://github.com/whatwg/html/commit/2ff023fbe4306f79bca8ef3aec27473455d2e190 primary=https://github.com/sveltejs/svelte/releases/tag/svelte%405.56.10

Bun 1.4 完成 Rust 重寫,內建無頭瀏覽器自動化與影像處理

bun.sh · 2026-08-20

Bun 1.4 於 2026-08-20 發布,是 Bun 執行環境從 Zig 全面改寫成 Rust 之後的第一個正式版本;官方數字顯示 Node.js 相容測試新增 1,517 項通過,累計修掉超過 2,900 個相容性問題。

核心改動

這個版本把過去仰賴外部套件的功能收進 runtime 內建 API。Bun.WebView 提供無頭瀏覽器自動化:macOS 用系統 WebKit,其餘平台可透過 CDP 驅動 Chrome、Chromium 或 Edge,用來取代部分 Puppeteer、Playwright 的使用場景。Bun.Image 內建 JPEG、PNG、WebP、HEIC、AVIF 等格式的解碼、縮放與編碼,官方測試較 sharp 快 1.38 倍且不需要額外安裝。搭配新的 Bun.markdownBun.JSON5Bun.JSONL、內建 pseudo-terminal 的 Bun.Terminal(取代 node-pty),以及可註冊到 crontab、launchd、Task Scheduler 的 Bun.cron()

await using view = new Bun.WebView({ width: 800, height: 600 });
await view.navigate("https://bun.sh");
await view.click("a[href='/docs']");
await Bun.write("page.png", await view.screenshot());

影響範圍

效能面上,Linux 啟動時間降到 5.1ms(原本 10.9ms),HTTP server 記憶體用量最多減少 35%。共 15 個原本需要另外安裝的套件(sharp、puppeteer、node-pty、npm-run-all 等)被收進 runtime 內建功能,對前端工具鏈來說意味著更小的 node_modules 與更少的跨套件版本衝突。這些 API 從 1.3.x 系列陸續 land,1.4 版是第一次同時穩定發布。

原始來源:Bun 1.4 release notes


HTML 規格新增 <template for>,伺服器可宣告式亂序串流內容

whatwg/html · 2026-08-20

whatwg/html 規格在 commit 2ff023f(2026-08-20,作者 Philip Jägenstedt 與 Anne van Kesteren)新增 <template for> 元素,解決 issue #11542 提出的「亂序串流」(out-of-order streaming)問題。

背景

目前框架要做串流 SSR,通常得先送出佔位內容,等資料就緒後再用內嵌 <script> 操作 DOM 把內容換掉。這種做法需要 JavaScript 才能完成初次渲染的替換,也讓輸出的 HTML 難以單純用