Bun 1.4.2: разбор сборки Elysia и утечки AsyncLocalStorage, 2026

Официальный блог Bun 5 сентября: v1.4.2 закрывает регрессии v1.4.1, ломавшие сборки Elysia и протекавшие в AsyncLocalStorage. CMYK JPEG и скачок WebKit на той же странице.

5 сентября 2026 официальный блог Bun выпустил v1.4.2. Первое предложение называет две регрессии из v1.4.1: столкновение имён в bun build, из‑за которого ломался Elysia, и утечку AsyncLocalStorage. Та же страница пишет о зависании @discordjs/ws, декодировании CMYK JPEG в Bun.Image, редком падении JIT и падении GC на musl.

Поисковый термин — номер патча. Официально: обновлять через bun upgrade. Этот текст сверяет только тот блог. Это не руководство по установке и не августовская история перевода 1.4.0 с Zig на Rust.

Официальный блогРегрессии 1.4.1Кого назвали

Что печатают открытые тексты

1.4.2
Версия патча
9/5
Дата блога
350
Коммиты WebKit (около)
ПунктПубличная формулировкаГраница
Сборкаbun build переименовал вложенный var в let того же блокаСборки с import Elysia не загружались
ПамятьТаймеры в exit / вложенном run держали внешний storegetStore() оставался верным; росла только память
Workeronline шёл не первым; @discordjs/ws терял первое сообщениеПорядок теперь как у Node.js
ДвижокОколо 350 вышестоящих коммитов WebKitНе новый продукт рантайма

Как читать этот выпуск

  1. 1

    Это патч к 1.4.1

    Официальный заход ставит обе регрессии в первое предложение. Это не повторная поставка перевода 1.4.0 с Zig на Rust и не новый фреймворк.

  2. 2

    У сбоя сборки есть напечатанная ошибка

    Блог печатает сломанный вывод: var exports2 = exports2. Ошибка — SyntaxError: Cannot declare a var variable that shadows a let/const/class variable. Тот же дефект мог дать let имя параметра или привязки catch и посчитать неверные значения.

  3. 3

    Утечка не меняет getStore()

    Таймер, immediate или незавершённый промис, созданный в store.exit() или во вложенном store.run(), держал внешний store, пока жил этот дескриптор. Официально: возвращаемое значение было верным; удерживалась только память.

  4. 4

    Картинки и движок на одной странице

    Bun.Image теперь декодирует четырёхкомпонентные CMYK и YCCK JPEG и переводит их в RGB; раньше было Image: decode failed. Та же страница пишет около 350 коммитов WebKit: Intl, TypedArray, падение Proxy, более дешёвые Date.

Что ещё на той же странице

01

Ошибки JSON как у JSON.parse

.json() у Response, Blob, Bun.file() или proc.stdout больше не отвергает неверный JSON только текстом Failed to parse JSON. Теперь это текст SyntaxError от JSON.parse.

02

Установка и Alpine

bun install и bun add могли упасть в panic, если bun.lockb или кэшированный манифест хранил хеш имени пакета, не совпадающий с именем. На musl (Alpine) splice, shift или укорочение length у массива объектов могли уронить поток GC или зависнуть на этапе пометки.

03

Файловые дескрипторы Linux

Если регистрация FileSink из Bun.file().writer() в epoll не удалась (например, исчерпан fs.epoll.max_user_watches), дескриптор могли закрыть дважды.

Границы

Официальная страница не датирует 1.4.3. Дальше — bun.com/blog/bun-v1.4.2. Для короткой встречи без стены аккаунта wbstorm — это ID комнаты; см. создать или войти в комнату и основы доски.

# Sources
# bun.com/blog/bun-v1.4.2
# 2026-09-05
Это перевод с Zig на Rust?

Нет. Этот текст — патч v1.4.2. История переписывания 1.4.0 — август, не дата этой страницы.

Elysia сама выпустила ошибку?

Официальный текст: bun build в v1.4.1 переименовал вложенный var в let того же блока. Сборки с import Elysia после этого не загружались. Это не заметки выпуска Elysia.

Это инструкция по продукту?

Нет. Этот текст сверяет только блог Bun от 5 сентября. Это не руководство bun upgrade.

Начать бесплатную встречу