Зміст
Коротко
Вийшов Bun 1.4 — перший стабільний реліз рантайму після перепису з Zig на Rust. Плюс 1517 тестів із набору Node.js, понад 2900 закритих задач, простий ЦП у простої до 5× нижчий, пам’ять HTTP-серверів нижча на 13–48%, старт на Linux приблизно вдвічі швидший. З’явились Bun.Image, Bun.WebView, Bun.cron(), паралельний bun test / bun run і правки сумісності.
Що сталося
Команда позиціонує Bun як повний набір для збірки й тестів JS/TS. У 1.4 головний сюжет — не лише фічі, а зміна мови реалізації: 1.3.14 був останнім на Zig, 1.4 — на Rust (подробиці — в окремому дописі «Rewriting Bun in Rust»). Рушій виконання й надалі JavaScriptCore; переписали обв’язку: HTTP, бандлер, менеджер пакунків, шар ФС.
Сумісність із Node помітно підтягнулась: node:http / fs / stream близько 97% власних тестів Node, частина модулів — 100%. Запрацювали або покращились сценарії з Playwright, vitest, OpenTelemetry, Datadog (dd-trace), гарячою підміною модулів у Nuxt, низкою npm-пакунків. Нативна реалізація веб-потоків проходить 100% тестів веб-платформи на заявлених пайплайнах.
За ресурсами: для Claude Code у проді 99-й процентиль завантаження ЦП впав приблизно з 24% до 10%; для крихітного «привіт, світ» простий ЦП — до 5×. На навантаженні мільйона запитів Fastify на Bun 1.4 — 120 МБ проти 233 МБ у 1.3. Старт hello.js на Linux: 5,1 мс проти 10,9 мс. Додано профілі --cpu-prof / --heap-prof і варіанти в Markdown для читання через SSH, подію process.on("memoryPressure").
Чому це важливо
Bun давно сперечався з Node за місце «швидкого рантайму». 1.4 б’є одразу по трьох болях продакшену: сумісність екосистеми, пам’ять довгих процесів і спостережуваність. Переїзд на Rust — ставка на безпеку пам’яті й інструменти (Miri, санітайзери, фазинг), а не лише маркетинг «ще швидше».
Оновлення свідоме: у релізних нотатках є зламні зміни поведінки (зокрема розбір YAML 1.2 — ключ on: у GitHub Actions може стати рядком). На Vercel Functions 1.4 уже доступний через явний bunVersion.
На практиці
- Оновлюйтесь через
bun upgradeі проженіть повний набір тестів — не лише «сервер піднявся». - Звірте зламні зміни: YAML, тонкощі сумісності з Node 26, поведінка потоків.
- Якщо крутите HTTP-сервер на Bun — заміряйте резидентну пам’ять до/після; очікування за релізними цифрами — мінус двозначні відсотки.
- Для налагодження на сервері без графічного інтерфейсу спробуйте
--cpu-prof-md/--heap-prof-md. - На Vercel задайте
"bunVersion": "1.4.x"уvercel.jsonлише після перевірки зламних пунктів.
Підсумок
Bun 1.4 — рідкісний реліз, де зміна мови реалізації й помітний стрибок сумісності з Node приходять разом із економією пам’яті. Має сенс на стенді, не в п’ятницю ввечері на прод без плану відкату.

