NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4525 most downloaded on npm
Astro’s [Go](https://golang.org/) + WASM compiler.
Last release 5 months ago
27 Apr 2026
Release timing varies
gaps range from 9 days to 6 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
373 releases · first in 2021
One column per quarter.
aac8c89: Fix end tag sourcemappings for TSX mode
5da0dc2: Add resolvePath option to control hydration path resolution
resolvePath option to control hydration path resolutionresolvePath option provided959f96b: Fix "missing sourcemap" issue
parse causing a compiler panic when a component with a client directive was imported but didn't have a matching importcc9f174: fixed regression caused by #546
c770e7b: The compiler will now return diagnostics and unique error codes to be handled by the consumer. For example:
c770e7b: The compiler will now return diagnostics and unique error codes to be handled by the consumer. For example:
import type { DiagnosticSeverity, DiagnosticCode } from '@astrojs/compiler/types';
import { transform } from '@astrojs/compiler';
async function run() {
const { diagnostics } = await transform(file, opts);
function log(severity: DiagnosticSeverity, message: string) {
switch (severity) {
case DiagnosticSeverity.Error:
return console.error(message);
case DiagnosticSeverity.Warning:
return console.warn(message);
case DiagnosticSeverity.Information:
return console.info(message);
case DiagnosticSeverity.Hint:
return console.info(message);
}
}
for (const diagnostic of diagnostics) {
let message = diagnostic.text;
if (diagnostic.hint) {
message += `\n\n[hint] ${diagnostic.hint}`;
}
// Or customize messages for a known DiagnosticCode
if (diagnostic.code === DiagnosticCode.ERROR_UNMATCHED_IMPORT) {
message = `My custom message about an unmatched import!`;
}
log(diagnostic.severity, message);
}
}
920898c: Handle edge case with noscript tags
noscript tags0be58ab: Improve sourcemap support for TSX output
3a51b8e: Ensure that head injection occurs if there is only a hoisted script
41fae67: Do not scope empty style blocks
6446ea3: Make Astro styles being printed after user imports
getStaticPaths where valid JS syntax was improperly handled6ebcb4f: Allow preprocessStyle to return an error
6bc8e0b: Prevent import assertion from being scanned too soon
3b9f0d2: Remove css print escape for experimentalStaticExtraction
7693d76: Fix resolution of .jsx modules
167ad21: Improve handling of namespaced components when they are multiple levels deep
79376f3: Fix regression with expression rendering
d8448e2: Prevent printing the doctype in the JS output
973103c: Prevents unescaping attribute expressions
558c9dd: Generate a stable scoped class that does _NOT_ factor in local styles. This will allow us to safely do style HMR without needing to update th
8960d82: New handling for define:vars scripts and styles
define:vars scripts and styles<noscript>48d33ff: Removes compiler special casing for the Markdown component
.astro file. Fixes various edge cases around getStaticPaths hoisting.compact: true to transform.Nothing published for this version
Nothing published for this version
Nothing published for this version
fcb4834: Removes fallback for the site configuration
{ in template literal attributesNothing published for this version
### Patch Changes - f8547a7: Revert #448 for now
aff2f23: Warning on client: usage on scripts
4b02776: Fix handling of slot attribute used inside of expressions
slot attribute used inside of expressionshtml and body elements are scoped3885217: Support and preserve slot attribute when not inside component
<slot is:inline /> and preserve slot attribute when not inside component3a9d166: Add renderHead injection points
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
9fcc43b: Build JS during the release
470efc0: Adds component metadata to the TransformResult
Nothing published for this version
f951822: Fix wasm parse to save attribute namespace
parse to save attribute namespaceNothing published for this version
26cbcdb: Prevent side-effectual CSS imports from becoming module metadata
702e848: Trailing space at the end of Astro files is now stripped from Component output.
class attribute inside of a spread prop will cause duplicate class attributes<math> elements would get parsed as expressions instead of raw text.6177620: Fix edge case with expressions inside of tables
class:list is used6f30e2e: Fix edge case with nested expression inside <>
<><slot /> in headselect elements and expression childrencaption and colgroup elements1a82892: Fix bug with not being hoisted
<script src> not being hoistedc0da4fe: Implements RFC0016, the new script and style behavior.
script and style behavior.014370d: Fix issue with named slots in element
2f8334c: Update parse and serialize functions to combine attributes and directives, fix issue with serialize not respecting attributes.
parse and serialize functions to combine attributes and directives, fix issue with serialize not respecting attributes.ce3f1a5: Update CSS parser to use esbuild, adding support for CSS nesting, @container, @layer, and other modern syntax features
esbuild, adding support for CSS nesting, @container, @layer, and other modern syntax featureschildren property in an element node, even if it has no children097ac47: Parser: Always output the attribute property in an element node, even if empty
attribute property in an element node, even if emptyserialize util& characters in AST outputc6dd41d: Do not render implicit tags created during the parsing process
parse function which generates an ASTAstro.self (as accepted in the Recursive Components RFC).fragment node types to AST definitions, expose Fragment helper to utils@astrojs/compiler/types./types rather than ./types.d.tsfragment node to AST outputtypescript dependency to development dependencies, as it is not needed in the package runtime.escapeHTML utilhead behavior and a bug related to ParseFragment95ec808: Fix behavior inside of head
escapeHTML util4497628: Improve head injection behavior
e26b9d6: Fix edge case with Fragment parsing in head, add fragment node to AST output
fragment node to AST output37ef1c1: Fix head behavior and a bug related to ParseFragment
head behavior and a bug related to ParseFragment97cf66b: Adds metadata on client:only components
e2061dd: Export all types from shared types
ef69b74: Export ./types rather than ./types.d.ts
./types rather than ./types.d.ts073b0f1: Adds a warning when using an expression with a hoisted script
Your coding agent can read these notes before it upgrades. Set up the MCP server →