Bun 1.3.6: нативный JSONC, Archive API, метафайл esbuild — что полностековым командам следует сделать сейчас
Summary
- 13 января 2026 года вышла версия Bun 1.3.6, которая включает набор практических инструментов и функций времени выполнения (нативный парсинг JSONC, встроенный API для tar-архивов, вывод метафайла, совместимый с esbuild) и множество исправлений производительности и совместимости. Эти изменения имеют непосредственное значение для команд, использующих Bun в качестве времени выполнения, сборщика или CI-сборщика, поскольку они снижают зависимость от сторонних библиотек, улучшают паритет анализа сборок с esbuild и закрывают тонкие уязвимости безопасности и совместимости. (bun.com)
Что изменилось (высокое влияние)
- Bun.JSONC: нативный парсинг для JSON с комментариями (tsconfig.json, настройки VS Code). Влияние: вы можете отказаться от небольших зависимостей для парсинга JSONC и надежно и быстрее парсить конфигурации во время выполнения.
- Bun.Archive: встроенный API для создания/извлечения tar(.gz) архивов. Влияние: меньше внешних инструментов для упаковки и воспроизводимых артефактов сборки в одном файле; лучшая производительность для задач упаковки.
- Bun.build метафайл: добавляет опцию метафайла, совместимую с esbuild. Влияние: вы можете создавать meta.json из сборок Bun и повторно использовать существующие инструменты анализа сборок (squoosh, проверки в стиле bundlephobia) без пользовательских адаптеров.
- Response.json и производительность сериализации JSON: паритет Response.json() с ручным JSON.stringify + Response; другие улучшения с использованием SIMD уменьшают стоимость сериализации и операций с буферами в высокопроизводительных сервисах.
- Прокси WebSocket и S3 Requester Pays: исправления для корпоративных прокси-сред и доступа к S3 с оплатой по запросу в клиенте S3 Bun.
- Исправления безопасности/совместимости: проверки на обход пути при извлечении tar и множество исправлений ошибок сборщика/сборки, которые влияют на развертывания на краю и исполняемые файлы в одном экземпляре.
Почему это важно для полностековых команд
- Меньше зависимостей времени выполнения: нативные API JSONC и архивов уменьшают поверхность атаки и необходимость в обслуживании зависимостей для конфигурационных/упаковочных конвейеров.
- Лучший паритет инструментов CI и сборок: метафайл esbuild делает сборки Bun совместимыми с установленными конвейерами анализа (размерные ограничения CI, автоматизированная проверка чанков).
- Быстрее ответы сервера и этапы сборки: ускорение сериализации и буферов может значительно снизить задержку и время выполнения CI для I/O-нагруженных сервисов.
- Готовность для предприятий: поддержка прокси для WebSocket и обработка Requester Pays закрывают пробелы, которые ранее требовали пользовательских обходных путей при работе в корпоративных или облачно-ограниченных средах.
- Безопасность: усиление извлечения tar предотвращает распространенный вектор для ошибок в цепочке поставок/упаковки.
Практический контрольный список (конкретный, низкий риск внедрения)
- Оцените в функциональной ветке
- Обновите до Bun 1.3.6 в ветке вашего CI-образа (docker-образ или ВМ), запустите полные тестовые наборы и дымовые тесты. Измерьте время сборки и ключевые показатели (сборка пакета, запуск сервера, задержка API).
- Намеренно замените небольшие зависимости
- Где вы в настоящее время парсите tsconfig.json / настройки .vscode с помощью стороннего парсера JSONC, проведите целевое тестирование замены, используя Bun.JSONC.parse() и подтвердите идентичное поведение (комментарии, завершающие запятые, порядок).
- Добавьте вывод метафайла в сборки
- Включите метафайл в bun.build/bun build (metafile: true или --metafile) и передайте сгенерированный JSON в ваш существующий анализатор сборок или размерный порог CI. Убедитесь, что карты чанков и атрибуции размеров соответствуют ожиданиям.
- Протестируйте потоки архивов и безопасное извлечение
- Если вы создаете или используете tarball в конвейерах сборки/выпуска, переключитесь на Bun.Archive для создания/извлечения и проведите тесты на обход пути извлечения (попытки побега символических ссылок, абсолютные пути), чтобы подтвердить, что Bun отклоняет небезопасные случаи.
- Проверьте сценарии WebSocket + прокси
- Если вы работаете в средах с корпоративными HTTP/HTTPS прокси, проверьте опцию прокси WebSocket в Bun как для wss/ws, так и для аутентифицированных прокси.
- Проведите аудит нативных модулей и исполняемых файлов в одном экземпляре
- Если вы используете встроенные .node аддоны или исполняемые файлы в одном экземпляре, проведите полные интеграционные тесты — примечания в релизе указывают на улучшенную загрузку, но также и исправления для предыдущих крайних случаев.
- Производительность и мониторинг
- Проведите бенчмаркинг Response.json() и тяжелых JSON путей на стадии. Добавьте флаги наблюдаемости (время сборки, задержка сериализации), чтобы обеспечить выявление регрессий.
- Стратегия внедрения
- Проведите канареечное тестирование времени выполнения для небольшого процента трафика или агентов CI в течение 48–72 часов; следите за ошибками, холодными стартами и отчетами по анализу сборок; затем продвигайте.
Риски и предостережения
- Не подходит для всех: если ваш стек зависит от очень специфических особенностей esbuild или поведения нативных аддонов, тщательно протестируйте; паритет метафайла помогает анализу, но не гарантирует идентичной семантики загрузчика.
- Нативные зависимости и N-API: поведение исполняемых файлов в одном экземпляре и встроенных .node улучшилось, но нативные модули все еще требуют тщательного тестирования на сборках Linux, macOS и Windows.
- Позиция безопасности: исправление извлечения tar является усилением безопасности — рассматривайте это как положительное, но проведите аудит существующих архивов на случай, если они полагались на прежнее, более лояльное поведение.
Итог Bun 1.3.6 — это практический релиз с низким уровнем трения для команд, использующих Bun в качестве времени выполнения или сборщика: используйте новые функции JSONC и метафайла, чтобы упростить конфигурации и интегрировать сборки Bun в существующий CI/анализ, протестируйте улучшения архивов и прокси, и проведите канареечное тестирование времени выполнения, следя за метриками сериализации и сборки. Релиз снижает поверхность зависимостей и улучшает паритет наблюдаемости с esbuild — хороший кандидат для контролируемого внедрения в этом квартале. (bun.com)
Source
- Примечания к релизу Bun v1.3.6 (блог Bun). (bun.com)
Source
Читать дальше
Изменения в FedCM в Chrome 143: структурированные утверждения ID, более строгие метаданные клиента и обновления API
31 января 2026 г.Chrome 143 (опубликован 12 января 2026 года) изменяет поток идентификации FedCM: токены утверждения ID могут быть структурированным JSON, проверка client_metadata становится обязательной, и несколько полей API перемещаются/переименовываются — требуется миграция перед Chrome 145.
Undici CVE-2026-22036: неограниченная цепочка декомпрессии приводит к исчерпанию ресурсов — выпущены патчи
30 января 2026 г.14 января 2026 года в уведомлении о безопасности для undici (HTTP-клиент Node.js) описывается уязвимость неограниченной цепочки декомпрессии, которая может привести к высокому использованию CPU и памяти. Команды полного стека должны найти и обновить затронутые версии undici и добавить легкие защитные меры на уровне выполнения.
Уязвимость CSRF в Server Actions React Router / Remix (CVE-2026-22030)
29 января 2026 г.React Router и @remix-run/server-runtime устранили проблему CSRF средней степени серьезности, затрагивающую обработчики действий на стороне сервера и нестабильные действия сервера React — что полностековым командам необходимо проверить и исправить сейчас.