9 puntos por GN⁺ 2025-10-19 | 5 comentarios | Compartir por WhatsApp
  • 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 --compile es 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.array permite 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
  • 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 info y bun audit

Mejoras en pruebas y depuración

  • bun test añ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, .each y preservación automática de la indentación en snapshots
  • Bloqueo de test.only en 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 .yaml directamente
  • La API request.cookies permite 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.secrets permite usar almacenes seguros del sistema operativo (como Keychain)
  • Bun.CSRF ofrece 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, http2 y más
  • Soporte completo para la mayoría de los módulos core como require.extensions, process.binding(), control de native addons, perf_hooks, tls y cluster
  • 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-depth y --user-agent
  • Soporte para scripts de preload (BUN_INSPECT_PRELOAD) y SQL Preconnect
  • Mejoras en bunx para 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
  • postMessage es hasta 500 veces más rápido, bun install 2.5 veces y Array.includes 2.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 renombra staticroutes
  • 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

 
tsboard 2025-10-20

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

 
kissdesty 2025-10-20

Ojalá esto siga evolucionando bien.

 
truestar 2025-10-20

¡No sabía que había planes así!

 
click 2025-10-20

Me gusta que la interfaz de SQL se haya unificado

 
shakespeares 2025-10-19

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.