Bun 1.3.9 выпущен: параллельный запуск скриптов, поддержка байткода ESM и улучшения производительности JSC
Bun 1.3.9 (8 февраля 2026) — это целенаправленное, полезное обновление, которое приносит несколько функций, важных прямо сейчас для команд полного стека: полноценная оркестрация параллельных/последовательных скриптов, поддержка байткода ESM для скомпилированных сборок, более точный контроль CPU-профайлера и значительный прирост производительности JavaScriptCore (JSC), ускоряющий распространённые пути обработки строк и регулярных выражений. Эти изменения снижают трение в монорепо CI, улучшают наблюдаемость выполнения и дают более предсказуемое поведение для компилированных рабочих процессов ESM при развёртываниях и сборках в один файл.
Ключевые изменения и практическое влияние
-
bun run --parallel / --sequential — выполняйте несколько npm-скриптов одновременно или последовательно с префиксированным цветным выводом и фильтрацией, учитывающей рабочие пространства. Это практическая победа для монорепозиториев и CI: ускоряйте сборки/тесты между пакетами без внедрения пользовательских Foreman-скриптов или внешних инструментов, сохраняя понятные логи для устранения проблем.
-
ESM байткод в --compile — Bun теперь поддерживает генерацию байткода ESM при компиляции с --compile/--bytecode. Это делает скомпилированные приложения ESM более портируемыми и улучшает согласованность запуска для проектов, ориентированных на ESM, и однофайловых исполняемых файлов, нацеленных на быстрые «холодные» старты.
-
Обновление JavaScriptCore — JSC получил несколько микроархитектурных оптимизаций (SIMD-ускоренный поиск префикса в регулярных выражениях, новые строковые интринсики и улучшения JIT), что приводит к ощутимым ускорениям для кода с обилием регулярных выражений, операций со строками и паттернов доступа к размеру Map/Set — полезно для серверных конвейеров запросов, шаблонизации и задач обработки текста.
-
Эргономика тестирования: Symbol.dispose для моков — mock() и spyOn() в bun:test теперь реализуют Symbol.dispose, что позволяет автоматическое восстановление через конструкцию using. Тесты становятся безопаснее и чище (меньше ручного отключения/очистки), особенно для наборов тестов, создающих множество временных моков.
-
Совместимость профилирования и сетей — новый --cpu-prof-interval согласует параметры профайлера Bun с семантикой выборки Node.js; исправления для апгрейда HTTP/2 соединения и NO_PROXY адресуют реальные сценарии прокси, реверс-прокси и проксирования HTTP/2, которые ранее приводили к неожиданным сбоям.
Почему это важно сейчас
-
Быстрая работа монорепо CI и локальных циклов разработки: встроенная оркестрация параллельных/последовательных скриптов уменьшает число ad‑hoc-скриптов и даёт более предсказуемый, наглядный вывод при запуске множества задач пакетов параллельно. Команды часто могут убрать мелкие утилиты оркестрации и полагаться на единый инструмент выполнения.
-
Лучше развёртывания с компилированными ESM: поддержка байткода ESM уменьшает разброс между разработкой и скомпилированными артефактами и делает однофайловые скомпилированные выходы более надёжными для граничных или контейнеризированных вариантов развёртывания.
-
Реальная надёжность времени выполнения: исправления NO_PROXY, обновления HTTP/2 и сбои SIGILL на ARM закрывают пробелы, которые часто возникают при переходе от окружений разработки к образам продакшена или к неоднородным облачным экземплярам.
Рекомендации для команд полного стека
-
Попробуйте bun run --parallel в CI для независимых сборок/тестов пакетов, чтобы сократить время ожидания; сначала проверьте ясность логов и поведение при сбоях с параметром --no-exit-on-error.
-
Если вы компилируете для продакшена, протестируйте артефакты байткода ESM на целевых платформах, чтобы подтвердить запуск и совместимость с нативными модулями или внешними инструментами.
-
Перезапустите нестабильные интеграционные тесты, если вы используете прокси или прокси‑серверы HTTP/2 — исправления NO_PROXY и обновления соединения могут решить проблемы без изменений в коде.
-
Используйте новый --cpu-prof-interval при профилировании путей с низкой задержкой, чтобы собирать более высокоразрешённые выборки и сравнивать результаты с существующими базовыми значениями Node.js.
Читайте официальные примечания к выпуску для полного описания и инструкций по обновлению. (bun.sh)
Источник: Примечания к выпуску Bun (Bun v1.3.9).
Источник
Читать дальше
Svelte 5.52.0 добавляет поддержку TrustedHTML для {@html}, обеспечивая более безопасную интеграцию Trusted Types
21 февраля 2026 г.Svelte 5.52.0 (18 февраля 2026 г.) добавляет поддержку TrustedHTML для выражений {@html}, чтобы приложения могли взаимодействовать с браузерными Trusted Types без приведения к строке — важно для защиты от XSS в SSR и при рендеринге на клиенте.
Next.js 16 делает Turbopack стабильным и дефолтным для разработки и сборки
20 февраля 2026 г.Next.js 16 переводит Turbopack в стабильную/дефолтную настройку, поднимает минимальную версию Node.js и внедряет примитивы кэширования, ориентированные на продакшн — что должны изменить команды full‑stack прямо сейчас.
Vite 8.0.0‑beta.14 добавляет поддержку .wasm?init на стороне сервера (WASM SSR) и обновляет Rolldown до 1.0.0‑rc.4
19 февраля 2026 г.Бета‑версия Vite от 12 февраля 2026 года вводит поддержку SSR для предварительно инициализированных модулей WebAssembly и обновляет интеграцию Rolldown до 1.0.0‑rc.4 — практическое изменение, которое снижает нагрузку на гидратацию на клиенте и улучшает стабильность инструментов для серверных рендеров с интенсивным использованием Wasm.