2025: repaso del año

Por
Shinya Fujino
Sarah Rainsberger

Introducción

Happy New Year, Astronauts!

En este artículo, destacaré algunos de los aspectos más importantes de Astro en 2025, enfocándome en indicadores de salud del proyecto, nuevas características, proyectos relacionados y eventos destacados que me llamaron la atención. Repasaremos el recorrido de Astro a lo largo de 2025 y también tocaremos brevemente lo que nos espera en 2026.

Es una lectura un poco larga, pero ya seas un usuario veterano de Astro o nuevo en Astro, ¡espero que encuentres algo útil aquí!

Si te interesa, también he escrito artículos similares para 2023 y 2024, así que siéntete libre de revisarlos también:

Indicadores de salud del proyecto

Versiones de lanzamiento

A comienzos de 2025, Astro estaba en la v5.1.2, y al momento de escribir este artículo, cerca de fin de año, se ha lanzado la v5.16.6. Incluyendo las versiones v6 alpha, hubo un total de 113 lanzamientos en 2025.

Para quienes tengan curiosidad sobre los detalles de cada lanzamiento, pueden consultar la lista completa de lanzamientos de Astro en GitHub.

Estrellas de GitHub

Astro superó las 50.000 estrellas de GitHub a comienzos de 2025 y ahora ha alcanzado aproximadamente 55.200. Esto representa un aumento de casi 7.000 estrellas desde el comienzo de 2025.

Si bien 55.000 estrellas ya es un número impresionante, ¿sabes en qué posición coloca a Astro entre todos los repositorios de GitHub? Al momento de escribir este artículo, ¡solo 295 repositorios tienen más de 55.000 estrellas! Astro ocupa el puesto 293 en general, situándolo junto a proyectos como FFmpeg y OpenAI Codex. Esto demuestra que alcanzar las 55.000 estrellas es un hito significativo.

A continuación se muestra un gráfico de GitHub Star History, que muestra cómo Astro ha ganado estrellas de manera constante a lo largo de los años.

Un gráfico que muestra el aumento de estrellas de GitHub desde el inicio del proyecto (con cero estrellas) en 2021. La línea tiende a subir hacia la derecha de forma mayormente lineal, con un pequeño salto a finales de 2022.

Descargas de NPM

Los datos de npm trends muestran que Astro tenía aproximadamente 360.000 descargas semanales a comienzos de 2025, pero este número creció a más de 900.000 para fin de año. Esto representa un aumento de aproximadamente 2.5x, lo que demuestra que la adopción se ha acelerado en comparación con años anteriores. Esto sugiere que Astro está siendo adoptado en una amplia variedad de tipos de proyectos.

Un gráfico con crecimiento irregular pero constante durante los últimos 5 años, más exponencial que lineal.

Octoverse 2025

¡Astro fue uno de los lenguajes de mayor crecimiento en GitHub en 2025!

Comparando agosto de 2025 con agosto de 2024, los lenguajes de mayor crecimiento por año son Luau (+194%), Typst (+108%), Astro (+78%), Blade (+67%) y TypeScript (+67%).

Puedes estar pensando, “Espera, ¿Astro es realmente un lenguaje?” Es una buena pregunta, pero si los expertos en lenguajes de GitHub lo dicen, ¿quién somos nosotros para discutir? De cualquier manera, es emocionante ver a Astro reconocido de esta forma.

Para más detalles, consulta el sitio web de GitHub Octoverse 2025.

Encuesta de Desarrolladores de Stack Overflow

¡Astro es admirado en la Encuesta de Desarrolladores de Stack Overflow 2025!

Esta encuesta anual proporciona una visión de las necesidades de la comunidad global de desarrolladores, enfocándose en las herramientas y tecnologías que usan o quieren aprender más. De todos los frameworks y tecnologías web, Astro fue el 4º más admirado con un 62.2% de 23.678 encuestados.

Resultados de la encuesta de frameworks y tecnologías web admirados y deseados que muestran a Astro como admirado por el 62.2% de los encuestados, solo por detrás de Phoenix (79%), Axum (76.4%) y Svelte (62.4%). Fuente: survey.stackoverflow.co/2025 Datos licenciados bajo Open Database License (ODbL)

JavaScript Rising Stars

JavaScript Rising Stars es un informe anual que destaca los proyectos más populares y de mayor crecimiento en el ecosistema de JavaScript, basándose en la cantidad de nuevas estrellas de GitHub ganadas durante el último año.

En los JavaScript Rising Stars 2025, Astro ocupó el 4º puesto en la categoría Back-end/Full-stack y también quedó 3º en la categoría Static Sites. Adicionalmente, Starlight ocupó el 8º puesto en la categoría Static Sites. Incluso cuando se compara con otros proyectos, Astro se destaca con un fuerte reconocimiento. Asegúrate de visitar el sitio y revisar los detalles.

Cabe destacar que el sitio de JavaScript Rising Stars está construido con Astro. El repositorio también está disponible públicamente, así que siéntete libre de echarle un vistazo si te interesa.

Funcionalidades nuevas y actualizadas

2025 vio varias características nuevas de Astro, muchas lanzadas detrás de flags experimentales en 2025 que estarán disponibles por defecto en el próximo lanzamiento mayor de v6 a comienzos de 2026.

Puedes habilitar las flags experimentales mencionadas a continuación, o instalar la última versión preliminar de v6 para probarlas.

Live Content Collections

Las colecciones de contenido, introducidas en Astro v2.0, han sido una característica poderosa que te permite administrar y usar contenido local como archivos Markdown y MDX de manera type-safe.

En v5.0, este concepto fue rediseñado con la introducción de la Content Layer API, permitiendo que el contenido obtenido desde CMS externos y APIs sea manejado con el mismo nivel de seguridad de tipos que los archivos Markdown y MDX locales. Sin embargo, dado que este contenido se obtiene en tiempo de compilación, soportar contenido altamente dinámico o personalizado era difícil.

Con la introducción experimental de las colecciones de contenido en vivo en v5.10.0, ahora es posible obtener datos en tiempo de ejecución en lugar de en tiempo de compilación mediante content loaders. Esto permite a los sitios acceder a los datos más recientes de manera type-safe sin requerir una recompilación cada vez que se actualiza el contenido.

Para habilitar esta característica en Astro 5 (disponible por defecto en Astro 6), necesitas configurar on-demand rendering y luego añadir la flag experimental.liveContentCollections a tu archivo de configuración de Astro:

astro.config.mjs
{
experimental: {
liveContentCollections: true,
},
}

Luego, en src/live.config.ts, define tus colecciones en vivo con un loader usando la función defineLiveCollection():

src/live.config.ts
import { defineLiveCollection } from 'astro:content';
import { storeLoader } from '@mystore/astro-loader';
const products = defineLiveCollection({
loader: storeLoader({
apiKey: process.env.STORE_API_KEY,
endpoint: 'https://api.mystore.com/v1',
}),
});
export const collections = { products };

Una vez completada esta configuración, puedes acceder a los datos en vivo usando las funciones getLiveCollection() y getLiveEntry():

---
export const prerender = false; // Not needed in 'server' mode
import { getLiveCollection, getLiveEntry } from 'astro:content';
// Get all products
const { entries: allProducts, error } = await getLiveCollection('products');
if (error) {
// Handle error appropriately
console.error(error.message);
}
// Get products with a filter (if supported by your loader)
const { entries: electronics } = await getLiveCollection('products', { category: 'electronics' });
---

¿Notaste las similitudes con las APIs existentes? En resumen, src/content.config.ts y src/live.config.ts, defineCollection y defineLiveCollection, así como getCollection/getEntry y getLiveCollection/getLiveEntry, están diseñados para funcionar de casi la misma manera. Esto realmente destaca la elegancia del diseño de la API de Astro.

Sin embargo, dado que el contenido en vivo se obtiene en tiempo de ejecución, necesitas manejar errores inesperados y considerar optimizaciones de rendimiento como el caching. La buena noticia es que Astro proporciona APIs para ayudarte a hacer exactamente eso.

Aunque no se cubrió aquí, todavía puedes usar Zod al definir colecciones y distribuir tus loaders personalizados en npm, igual que antes. Para más detalles, consulta la documentación oficial sobre las colecciones de contenido en vivo experimentales.

Si te interesa aprender a través de videos, también puedes revisar lo siguiente:

Reproducir

Imágenes responsivas

Las imágenes son una parte esencial de la mayoría de los sitios web, pero mostrarlas correctamente en diversos dispositivos dista de ser trivial. El tamaño de pantalla, la resolución y el formato de imagen son solo algunos de los factores que los desarrolladores necesitan considerar al renderizar imágenes en la pantalla.

Para abordar estos desafíos de manera flexible, en v5.10.0, Astro introdujo un nuevo comportamiento que hace que las imágenes responsive sean mucho más fáciles de implementar.

Para añadir automáticamente estilos globales para imágenes responsive, establece image.responsiveStyles en true en tu archivo de configuración de Astro.

astro.config.mjs
{
image: {
responsiveStyles: true,
},
}

Esto te permite especificar un valor de layout en el componente <Image /> para determinar cómo la imagen debería redimensionarse cuando su contenedor cambia de tamaño.

En el ejemplo a continuación, establecer la propiedad layout hace que la imagen se escale para ajustarse al contenedor manteniendo su relación de aspecto, sin exceder las dimensiones especificadas.

---
import { Image } from 'astro:assets';
import myImage from '../assets/my_image.png';
---
<Image
src={myImage}
alt="A description of my image."
layout="constrained"
width={800}
height={600}
/>

Con el nuevo comportamiento responsive, los valores necesarios de srcset y sizes se generan automáticamente, y se aplican los estilos apropiados para un redimensionamiento correcto. Además, se añadirá una propiedad priority para hacer posible cargar ciertas imágenes con mayor prioridad.

Este componente <Image /> generará la siguiente salida HTML:

<img
src="/_astro/my_image.hash3.webp"
srcset="/_astro/my_image.hash1.webp 640w,
/_astro/my_image.hash2.webp 750w,
/_astro/my_image.hash3.webp 800w,
/_astro/my_image.hash4.webp 828w,
/_astro/my_image.hash5.webp 1080w,
/_astro/my_image.hash6.webp 1280w,
/_astro/my_image.hash7.webp 1600w"
alt="A description of my image"
sizes="(min-width: 800px) 800px, 100vw"
loading="lazy"
decoding="async"
fetchpriority="auto"
width="800"
height="600"
style="--fit: cover; --pos: center;"
data-astro-image="constrained"
>

El markup generado puede parecer verboso a primera vista, pero los puntos clave son bastante simples:

  • El atributo srcset se genera automáticamente para que el navegador pueda elegir el tamaño de imagen más apropiado para la pantalla actual.
  • El atributo sizes refleja las restricciones de layout definidas por las props layout, width y height.
  • Astro aplica estilos scoped usando atributos data-astro-image para asegurar que las imágenes se redimensionen correctamente sin requerir CSS manual.

Además, los siguientes estilos globales son generados y aplicados por Astro para asegurar que tus imágenes se redimensionen correctamente:

:where([data-astro-image]) {
object-fit: var(--fit);
object-position: var(--pos);
}
:where([data-astro-image='full-width']) {
width: 100%;
}
:where([data-astro-image='constrained']) {
max-width: 100%;
}

Cabe destacar también que Astro v5.7.0 introdujo soporte para importar archivos SVG como componentes de Astro. Esta es otra característica útil, ¡así que asegúrate de probarla!

---
import Logo from './path/to/svg/file.svg';
---
<Logo width={64} height={64} fill="currentColor" />

Consulta la documentación oficial para aprender más sobre imágenes responsive en Astro.

Si te interesa aprender a través de videos, también puedes revisar lo siguiente:

Reproducir

Fuentes

Las fuentes también son una parte crucial de los sitios web, pero cargarlas de manera eficiente puede ser igual de desafiante que las imágenes. Elegir la estrategia de carga correcta, definir fallbacks y añadir hints de preload requieren una configuración cuidadosa.

Astro anteriormente no proporcionaba un enfoque integrado para trabajar con fuentes, pero v5.7.0 introdujo una Fonts API experimental. Con esta API, Astro puede manejar optimizaciones de fuentes web como enlaces de preload, fallbacks optimizados y valores por defecto opinionated.

Para habilitar esta característica en Astro v5 (disponible por defecto en v6), configura experimental.fonts con al menos un objeto de fuente:

astro.config.mjs
import { defineConfig, fontProviders } from "astro/config";
export default defineConfig({
experimental: {
fonts: [{
provider: fontProviders.google(),
name: "Roboto",
cssVariable: "--font-roboto"
}]
}
});

Luego, añade el componente <Font /> y los estilos globales del sitio en tu <head>:

---
import { Font } from 'astro:assets';
---
<Font cssVariable="--font-roboto" preload />
<style>
body {
font-family: var(--font-roboto);
}
</style>

Con esta configuración, las reglas CSS @font-face y las etiquetas de preload de fuentes se generan automáticamente para ti.

La Fonts API también soporta proveedores más allá de Google, permite control detallado sobre los archivos de fuentes descargados, e incluso hace posible construir tu propio proveedor de fuentes. ¡Asegúrate de probar la nueva API!

Consulta la documentación oficial para aprender más sobre la Fonts API experimental.

Sesiones

Astro v5.7.0 introdujo la Sessions API como una característica estable. Esto hace posible almacenar datos en el servidor a lo largo de múltiples peticiones del mismo usuario, permitiéndote manejar datos de usuario, carritos de compra y otra información con estado sin preocuparte por los límites de tamaño de los datos.

Se puede acceder a los datos de sesión desde componentes de Astro, páginas, endpoints de API, actions y middleware. Cuando accedes a los datos de sesión desde componentes o páginas de Astro, usas Astro.session, mientras que en otros contextos usas context.session. En cualquier caso, el objeto session se comporta de manera idéntica. El ejemplo a continuación demuestra cómo leer datos del carrito desde la sesión en un componente de Astro:

---
export const prerender = false; // Not needed with 'server' output
const cart = await Astro.session?.get('cart');
---
<a href="/checkout">🛒 {cart?.length ?? 0} items</a>

Para muchos casos de uso, session.get() y session.set() son todo lo que necesitas. Dicho esto, la Sessions API también incluye session.regenerate() y session.destroy() para manejar la regeneración del ID de sesión y la limpieza, junto con session.load() para cargar una sesión por ID. Cuando se ejecuta en Node, Cloudflare o Netlify, el adaptador configura automáticamente un driver de almacenamiento para el manejo de sesiones. En otros entornos, las sesiones pueden seguir usándose especificando un driver manualmente.

Consulta la documentación oficial para aprender más sobre la Sessions API.

Content Security Policy

Content Security Policy (CSP) es una capa de seguridad importante que ayuda a proteger los sitios web de ataques de cross-site scripting (XSS) y otros ataques de inyección de código.

Si bien CSP se implementa típicamente usando cabeceras nonce que requieren generación en el servidor para cada petición, Astro v5.9.0 introdujo soporte experimental para un enfoque basado en hashes usando etiquetas <meta>. Esta solución funciona sin problemas en todos los modos de renderizado (páginas estáticas, páginas renderizadas en el servidor y SPAs) sin la complejidad de la gestión de nonces en el servidor.

Cuando CSP está habilitado, Astro genera automáticamente un elemento <meta> que contiene hashes para todos los scripts y estilos usados en la página, incluyendo los que se cargan dinámicamente. Para habilitar esta característica en Astro 5 (disponible por defecto en v6), añade la opción experimental.csp a tu archivo de configuración de Astro:

astro.config.mjs
{
experimental: {
csp: true,
}
}

También puedes pasar un objeto para configurar opciones adicionales como algorithm para especificar el algoritmo de hash, directives para aplicar directivas CSP personalizadas, y scriptDirective/styleDirective para especificar fuentes permitidas o proporcionar hashes adicionales para recursos externos.

Para casos de uso más avanzados, Astro proporciona APIs en tiempo de ejecución a través del objeto Astro.csp, permitiéndote añadir directivas o hashes por página. Puedes usar métodos como csp.insertDirective(), csp.insertStyleHash() y csp.insertScriptHash() para personalizar el CSP de páginas individuales.

Cabe destacar que los scripts inline requieren que se proporcionen hashes personalizados, y el componente <ClientRouter /> no es compatible con esta característica. Asegúrate de probar tu configuración CSP usando astro build y astro preview, ya que CSP no se aplica en modo desarrollo.

Consulta la documentación oficial para aprender más sobre Content Security Policy experimental en Astro.

Si te interesa aprender a través de videos, también puedes revisar lo siguiente:

Reproducir

Astro Docs MCP Server

Si bien 2025 ha sido ampliamente descrito como el año del vibe coding, Astro también ha avanzado de manera constante con soporte para herramientas de IA. La documentación de Astro ahora incluye una nueva página “Build with AI”, que ofrece consejos para desarrollar proyectos de Astro con IA. La estrella del show es el Astro Docs MCP Server, que se presenta a continuación.

Model Context Protocol (MCP) es un estándar para que las herramientas de IA accedan a sistemas externos. Con servidores MCP, las herramientas de IA pueden realizar acciones como buscar documentación, ejecutar código y otras tareas.

El Astro Docs MCP server, que fue lanzado en julio de 2025, permite a las herramientas de IA acceder a la documentación oficial de Astro. Al usar este servidor como fuente de información, las herramientas de IA pueden evitar depender de recomendaciones desactualizadas y comprender las mejores prácticas actuales. El proceso de conexión a un servidor MCP depende de la herramienta que se esté usando, y Astro documenta cómo empezar con varios de los editores, agentes y asistentes más populares.

El inspector MCP oficial es una opción conveniente para probar rápidamente el Astro Docs MCP server. Puedes iniciarlo con el comando npx @modelcontextprotocol/inspector, luego elegir Streamable HTTP como Transport Type, e ingresar https://mcp.docs.astro.build/mcp como URL.

Después de hacer clic en Connect, el inspector se conectará al servidor MCP y la herramienta search_astro_docs aparecerá como un elemento disponible bajo List Tools. Seleccionándola y proporcionando cualquier tema relacionado con Astro como consulta te permite ver los datos sin procesar de la documentación que la IA recibirá:

Una captura de pantalla del MCP Inspector conectado al Astro Docs MCP Server, mostrando la herramienta 'search_astro_docs' y los datos de documentación para 'Astro content collections'.

Consulta la documentación oficial para más información sobre el Astro Docs MCP Server.

astro:config

En v5.7.0, Astro añadió soporte para importar un subconjunto de la configuración de Astro de manera type-safe. El módulo virtual astro:config proporciona dos submódulos, /client y /server, que están diseñados para usarse dependiendo del entorno de ejecución.

Actualmente, los siguientes valores están disponibles desde /client y /server. Ten en cuenta que la información relacionada con rutas de directorios se excluye intencionalmente de /client por razones de seguridad:

Puedes usar estos valores para crear una variedad de utilidades. Por ejemplo, la documentación de Astro proporciona un ejemplo de una función que añade un trailing slash condicionalmente, mostrado a continuación:

import { trailingSlash } from "astro:config/client";
function addForwardSlash(path) {
if (trailingSlash === "always") {
return path.endsWith("/") ? path : path + "/";
} else {
return path;
}
}

Consulta la documentación oficial para aprender más sobre el módulo astro:config.

Chrome DevTools Workspaces

El soporte experimental para Chrome DevTools workspaces se añadió en Astro v5.13.0. Esto te permite conectar tu entorno de desarrollo local a Chrome DevTools como workspace y editar archivos del proyecto directamente desde DevTools.

Para habilitar esta característica, añade la flag experimental.chromeDevtoolsWorkspace a tu archivo de configuración de Astro:

astro.config.mjs
{
experimental: {
chromeDevtoolsWorkspace: true,
},
}

Con esto habilitado, Astro genera automáticamente el archivo de configuración requerido para Chrome DevTools workspaces. Luego puedes abrir tu proyecto en Chrome y hacer clic en Connect en la pestaña Sources > Workspaces en DevTools. Tus archivos del proyecto se mostrarán entonces en DevTools:

Chrome DevTools workspace conectado a un proyecto de Astro, mostrando los archivos del proyecto y una página de Astro abiertos lado a lado.

Consulta la documentación oficial para aprender más sobre la integración con Chrome DevTools workspaces.

Mejoras de Rendimiento y Estabilidad

No solo hubo nuevas características, sino también muchas mejoras a las existentes. Algunos de los destacados, listados a continuación, incluyen opciones para mantener el uso de trailing slash consistente y advertir sobre colisiones de rutas prerenderizadas. Es agradable ver la calidad de la aplicación mejorar sin tener que hacer grandes cambios en el codebase.

Starlight

Starlight es el tema oficial para construir sitios de documentación con Astro. Desde su lanzamiento en 2023, ha ganado popularidad de manera constante, y en 2025 Starlight impulsó sitios de documentación para Cloudflare, Google, Microsoft, Netlify, OpenAI, WPEngine y muchos otros.

Starlight mismo también continuó evolucionando a lo largo del año, viendo siete lanzamientos menores con actualizaciones que incluyen un poderoso sistema de middleware de datos de rutas para implementar lógica personalizada, soporte de búsqueda multi-sitio, enlaces automáticos en encabezados, CSS cascade layers, y varias mejoras de accesibilidad, entre muchas otras. Starlight termina 2025 con:

  • 50 plugins, herramientas e integraciones de la comunidad
  • 300 colaboradores
  • 3.300 commits
  • 7.600 estrellas en GitHub
  • Más de 10K proyectos activos

Para mantenerte al día con todas las mejoras y la próxima v1.0 más adelante este año, asegúrate de seguir los lanzamientos de Starlight en GitHub.

Otros temas

ViteConf

El 9 y 10 de octubre de 2025, ViteConf tuvo lugar en Ámsterdam, Países Bajos. Sarah Rainsberger y Matt Kane del equipo de Astro hablaron sobre cómo hacer contribuciones significativas a proyectos de código abierto y compartieron actualizaciones sobre en dónde está Astro hoy y lo que viene. Si aún no has visto las charlas, definitivamente échales un vistazo:

Por cierto, a continuación hay una foto tomada por Evan You, el creador de Vue y Vite, que muestra a Fred Schott y Matt Kane del equipo de Astro en conversación con Tanner Linsley de TanStack. ¡ViteConf es verdaderamente una conferencia emocionante donde desarrolladores de muchos proyectos diferentes se reúnen así!

Astro Mart

La tienda oficial de merchandising de Astro ha sido reintroducida como Astro Mart. Tanto los diseños como la línea de productos han sido renovados, y ahora hay envíos internacionales disponibles. También puedes comprar artículos creados por los ganadores de the Spirit of Astro Design Contest. Asegúrate de echarle un vistazo y conseguir algo de merch de Astro.

Astro Agency Partner Program

En abril de 2025, Astro lanzó the Astro Agency Partner Program, diseñado para conectar empresas que buscan servicios de desarrollo profesional con agencias que se especializan en Astro. El programa incluye un directorio de agencias, soporte para generación de leads, certificación oficial con insignias de socio, acceso directo a recursos del equipo de Astro, y un modelo financiero que respalda la inversión continua en el proyecto de código abierto.

Los socios de lanzamiento incluyeron Bejamas, Lucky Media, EXDST y 58agents, con Bits&Letters y Seibert Group uniéndose poco después. Si buscas ayuda experta para construir tu próximo proyecto de Astro, asegúrate de consultar el directorio de agencias socias.

Patrocinadores Oficiales

2025 fue un año histórico para la sostenibilidad de Astro, con varias empresas asumiendo el rol de patrocinadores oficiales.

En septiembre, Mux se convirtió en el socio oficial de video con un patrocinio mensual de $5.000 y lanzó dos integraciones de Astro para reproducción y subida de video. Webflow anunció una donación de $150.000, con su herramienta de generación de código por IA construida completamente sobre Astro. Cloudflare también contribuyó con $150.000 y se convirtió en patrocinador socio oficial. Posteriormente, en noviembre, Stainless se unió como socio patrocinador, lanzando su Stainless Docs Platform construida sobre Starlight.

Cabe destacar que Cloudflare y Netlify colaboraron para apoyar proyectos de código abierto juntos, demostrando que incluso los competidores pueden unirse en beneficio de la web. Todas estas contribuciones van directamente al mantenimiento a largo plazo del proyecto de código abierto de Astro.

Construido con Astro

Muchos sitios web fueron construidos con Astro en 2025, y los sitios a continuación son algunos de mis favoritos personales. Si encuentras un sitio de Astro que te gusta, ¡publícalo en redes sociales o en el canal #showcase de nuestra comunidad de Discord!

Si has construido tu propio proyecto de Astro, también puedes enviarlo al showcase oficial de Astro y ver tu trabajo junto a otros sitios destacados.

Biome

Biome, que proporciona características de formateador y linter para múltiples lenguajes como JavaScript, JSON y CSS, introdujo soporte completo para varios frameworks incluyendo Astro en v2.3. Esto significa que el formateo y linting para Astro ahora funcionan out of the box. Una vez que experimentas lo rápido que es Biome, es difícil volver atrás, así que si aún no lo has probado, ¡este es un gran momento para hacerlo!

Oxc

Oxc es una colección de herramientas de JavaScript escritas en Rust. Una de estas herramientas es Oxlint, que alcanzó v1.0 en julio de 2025 y ahora también soporta linting de archivos .astro. Actualmente, el soporte de linting se limita al código dentro de etiquetas <script>, pero el rendimiento ya es impresionante y comparable al de Biome. Dado que Oxc también proporciona un formateador llamado Oxfmt, será interesante ver su progreso futuro hacia un soporte más amplio de Astro.

Vite+

Hay poca duda de que Vite es una de las herramientas más importantes en el desarrollo web moderno. Astro funciona sobre Vite, y una amplia gama de frameworks incluyendo Nuxt, SvelteKit y TanStack Start también dependen de él en sus propios ecosistemas. Durante ViteConf 2025, su creador Evan You presentó Vite+, al que llama la toolchain unificada para la web. Vite+ está programado para alcanzar una preview pública a comienzos de 2026. Aunque los detalles aún no se han revelado por completo, se espera que mejore la experiencia de desarrollo para muchos frameworks, incluyendo Astro. Si esto te parece interesante, asegúrate de solicitar acceso anticipado en el sitio web de Vite+.

Mirando hacia 2026 y Astro v6

Astro tiene un Project Roadmap público donde se discute la dirección de desarrollo futura. Aquí, daremos un breve vistazo a algunas propuestas en Stage 2 o superior que se espera que se añadan a Astro, dando un adelanto de lo que viene en 2026.

Astro v6

Si bien 2025 no tuvo un lanzamiento de versión mayor, ¡Astro v6 está a la vuelta de la esquina! Una versión alpha de v6 fue lanzada por primera vez en diciembre de 2025 con soporte para workerd en modo dev para Cloudflare, una actualización a Zod 4, la estabilización de muchas características experimentales, y más. (Consulta el CHANGELOG.md de la rama v6 para detalles completos.) La mayor parte del alcance de v6 ya está incluida en las versiones alpha, ¡y el primer lanzamiento beta de v6 con un post de blog adjunto está planeado en un futuro muy cercano!

Puedes actualizar a la última versión disponible de v6 usando nuestra Guía de Actualización a v6 que detalla todos los breaking changes que podrían requerir cambios en el código existente de tu proyecto.

Route Caching

Route caching es una API que tiene como objetivo proporcionar control declarativo de caché basado en estándares web de manera independiente a la plataforma. La idea inicial detrás de esta nueva característica fue presentada por primera vez por Matt Kane en su charla de ViteConf 2025.

A continuación hay un ejemplo tomado de el RFC, que muestra que puedes configurar valores como maxAge, swr y tags por ruta, e invalidar cachés por path o tag. También está diseñado para soportar la invalidación de caché en combinación con los cacheHints devueltos por getLiveEntry() en las Live Content Collections mencionadas anteriormente:

Route caching básico
---
// src/pages/products/[id].astro
import { getEntry } from 'astro:content';
const product = await getEntry('products', Astro.params.id);
Astro.cache({
lastModified: product.updatedAt,
maxAge: 300, // Cache for 5 minutes
swr: 3600, // Stale-while-revalidate for 1 hour
tags: ['products', `product:${product.id}`]
});
---
<h1>{product.data.name}</h1>
<p>{product.data.description}</p>
Invalidación de caché por path
// src/pages/api/webhook.ts
export const POST: APIRoute = ({ cache }) => {
// Invalidate by path
cache.invalidate({ path: "/products/laptop" });
return Response.json({ ok: true });
};
Invalidación de caché por tag
// src/pages/api/webhook.ts
export const POST: APIRoute = ({ cache }) => {
// Invalidate by tag
cache.invalidate({ tag: "products" });
return Response.json({ ok: true });
};
Integración con live collections
---
// src/pages/products/[slug].astro
import { getLiveEntry, render } from 'astro:content';
const { entry, cacheHint } = await getLiveEntry('products', Astro.params.slug);
// Apply cache hints from the live collection loader
Astro.cache(cacheHint);
const { Content } = await render(entry);
---
<h1>{entry.data.name}</h1>
<Content />

Aunque esta API aún no está finalizada, es genial ver cómo un enfoque declarativo puede hacer la configuración más corta y fácil de entender comparada con la configuración manual. También es útil que diferentes mecanismos de invalidación de caché entre plataformas puedan unificarse detrás de una sola API. Una vez que llegue a Astro, estrategias de caching más complejas como ISR deberían ser mucho más fáciles de implementar.

Tracing Hooks para Astro

Esta es una propuesta para añadir un sistema de hooks de instrumentación de propósito general y bajo overhead al core de Astro.

El tracing distribuido es una forma efectiva de identificar cuellos de botella en el rendimiento de la aplicación, pero integrar OpenTelemetry directamente en Astro aumentaría significativamente la cantidad de dependencias.

En su lugar, esta propuesta introduce un mecanismo que permite que operaciones como el renderizado de páginas, la ejecución de middleware y el renderizado de componentes sean medidas usando hooks before y after. Cuando no hay listeners registrados, el overhead se mantiene al mínimo, mientras que la observabilidad puede lograrse a través de integraciones como @astrojs/opentelemetry.

Esta propuesta se encuentra actualmente en Stage 2, y si te interesa, puedes compartir feedback comentando en la propuesta o en el pull request relacionado. Si tienes alguna idea o pregunta, asegúrate de consultarlos.

Reflexiones finales

Uf, este fue largo. ¡Muchas gracias por leer hasta el final!

Mirando hacia atrás, espero que este artículo haya transmitido cuánto ha madurado el ecosistema de Astro. Mejoras adicionales a características existentes como Content Collections, así como la introducción de APIs bien pensadas para áreas tradicionalmente difíciles como imágenes responsive y fuentes, se sienten muy en línea con la filosofía de Astro. El caching de contenido es otra área que a menudo causa dolor a los desarrolladores debido a su estrecha relación con la infraestructura, así que estoy particularmente emocionado por las APIs que apuntan a abordar esos desafíos.

No puedo esperar a ver qué nuevas características y mejoras trae Astro en 2026.