Lanzamiento de Bun 1.3
(bun.sh)- Bun 1.3 evoluciona con un gran lanzamiento hasta convertirse en un runtime JavaScript full-stack que soporta tanto desarrollo frontend como backend
- Se integran funciones clave como un servidor de desarrollo frontend incorporado con bundle de React y CSS, además de clientes para MySQL·PostgreSQL·SQLite·Redis
- La conveniencia de despliegue mejora con soporte para compilación a un único ejecutable mediante
bun build, además de firma de código y compilación cruzada - El gestor de paquetes incorpora funciones orientadas a monorepos grandes como instalaciones aisladas (isolated installs), API de escáner de seguridad y catálogo de dependencias (catalog)
- Se realizaron mejoras importantes en casi todas las áreas, incluyendo el runner de pruebas, Web API, seguridad, compatibilidad con Node.js y rendimiento, dando el salto hacia una “plataforma de runtime completa”
Integración de runtime full-stack
- Bun 1.3 integra en
Bun.serve()funciones de desarrollo full-stack como ejecución de HTML, enrutamiento, hot reload y WebSocket- Soporte para React Fast Refresh y HMR nativo
- Integra los servidores de backend y frontend en un solo proceso para resolver de raíz los problemas de CORS
- Con
bun build --compilees posible empaquetar frontend y backend en un único ejecutable
Soporte para bases de datos y Redis
- Bun.SQL unifica el soporte para MySQL·MariaDB·PostgreSQL·SQLite con una sola API
- El helper
sql.arraypermite manejar fácilmente tipos de arreglo de PostgreSQL - Mejoras detalladas como conexión por Unix domain socket, protocolo de consultas simples y manejo de null
- El helper
- Se añade un cliente Redis incorporado, con hasta 7.9 veces más rendimiento que ioredis y soporte completo para Pub/Sub
Bundler y funciones de build
- La API
Bun.build()permite generar ejecutables desde el código - Soporte para firma de código (macOS·Windows), compilación cruzada (Linux/macOS/Windows) y configuración de metadatos
- Un minificador más inteligente elimina código no utilizado y añade opciones de configuración JSX y soporte para patrones Glob
Expansión de funciones de gestión de paquetes
- Isolated installs se aplica por defecto, y cada workspace solo puede acceder a sus propias dependencias
- La función Catalog permite administrar centralmente las versiones de dependencias dentro de un monorepo
- Se incorporan API de escáner de seguridad y minimumReleaseAge para reforzar la defensa contra ataques a la cadena de suministro
- Incluye herramientas de gestión al nivel de npm·pnpm como
bun why,bun update --interactive,bun infoybun audit
Mejoras en pruebas y depuración
bun testañade integración con VS Code Test Explorer, pruebas paralelas (test.concurrent), ejecución aleatoria y pruebas de tipos (expectTypeOf)- Soporte para encadenamiento con
.failing,.serial,.eachy preservación automática de la indentación en snapshots - Bloqueo de
test.onlyen entornos CI y mayor consistencia en el orden de las pruebas
Refuerzo de Web API y estándares del runtime
- Parseo/serialización YAML integrados, con posibilidad de importar archivos
.yamldirectamente - La API
request.cookiespermite gestión automática de cookies - Soporte para helpers de streams como ReadableStream .text()/.json(), compresión Zstandard y carga en streaming de WebAssembly
- La implementación de DisposableStack/AsyncDisposableStack simplifica la limpieza de recursos
Seguridad y funciones del sistema
Bun.secretspermite usar almacenes seguros del sistema operativo (como Keychain)Bun.CSRFofrece una API para generar y validar tokens CSRF- El módulo crypto mejora 400 veces su rendimiento, con mejoras en Diffie-Hellman, HKDF y operaciones con primos
Mejor compatibilidad con Node.js
- Pasa más de 800 pruebas adicionales de Node.js, con una gran expansión en
node:test,node:vm,worker_threads,fs,http2y más - Soporte completo para la mayoría de los módulos core como
require.extensions,process.binding(), control de native addons,perf_hooks,tlsycluster - Compatibilidad con N-API de más del 98% y el runtime se identifica al mismo nivel que Node.js 24.3.0
Mejoras en la experiencia de desarrollo
- Cambio en la configuración predeterminada de TypeScript (
"module": "Preserve") - Más control del runtime con la variable de entorno
BUN_OPTIONS,--console-depthy--user-agent - Soporte para scripts de preload (
BUN_INSPECT_PRELOAD) y SQL Preconnect - Mejoras en
bunxpara poder ejecutar incluso cuando no coinciden los nombres del paquete y del binario
Rendimiento y estabilidad
- Menor uso ocioso de CPU, mejoras en la eficiencia del GC, reducción de memoria del 10~30% y 60% más velocidad de build
postMessagees hasta 500 veces más rápido,bun install2.5 veces yArray.includes2.8 veces- Optimizaciones a nivel de WebKit·Zig mejoran la velocidad general del runtime
- La estabilidad mejora considerablemente con cientos de correcciones de errores y solución de fugas de memoria
Cambios principales
- Cambia la estructura de tipos de
Bun.serve()y se renombrastatic→routes - La forma de invocar el cliente SQL cambia de funcional → tagged template
- En Linux, la señal de GC se reemplaza por SIGPWR
- La versión mostrada de Node.js cambia de 22.x → 24.3.0
Bun 1.3 marca un punto de inflexión para posicionarse no solo como un runtime, sino como una “plataforma integrada que abarca Node·Deno·Vite·pnpm”
5 comentarios
Aunque fue solo un rato, por lo que probé desde el principio me parece un avance enorme, y hasta me dan ganas de volver a usarlo jaja
Ojalá esto siga evolucionando bien.
¡No sabía que había planes así!
Me gusta que la interfaz de SQL se haya unificado
Debe haber una razón por la que Vite no lo integró, pero me da curiosidad saber qué tal son las experiencias de uso real con Bun.