Releases: withastro/astro
[email protected]
Patch Changes
-
#13113
3a26e45
Thanks @unprintable123! - Fixes the bug that rewrite will pass encoded url to the dynamic routing and cause params mismatch. -
#13111
23978dd
Thanks @ascorbic! - Fixes a bug that caused injected endpoint routes to return not found when trailingSlash was set to always -
#13112
0fa5c82
Thanks @ematipico! - Fixes a bug where the i18n middleware was blocking a server island request when theprefixDefaultLocale
option is set totrue
[email protected]
[email protected]
[email protected]
Minor Changes
-
#12994
5361755
Thanks @ascorbic! - Redirects trailing slashes for on-demand pagesWhen the
trailingSlash
option is set toalways
ornever
, on-demand rendered pages will now redirect to the correct URL when the trailing slash doesn't match the configuration option. This was previously the case for static pages, but now works for on-demand pages as well.Now, it doesn't matter whether your visitor navigates to
/about/
,/about
, or even/about///
. In production, they'll always end up on the correct page. For GET requests, the redirect will be a 301 (permanent) redirect, and for all other request methods, it will be a 308 (permanent, and preserve the request method) redirect.In development, you'll see a helpful 404 page to alert you of a trailing slash mismatch so you can troubleshoot routes.
-
#12979
e621712
Thanks @ematipico! - Adds support for redirecting to external sites with theredirects
configuration option.Now, you can redirect routes either internally to another path or externally by providing a URL beginning with
http
orhttps
:// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ redirects: { '/blog': 'https://example.com/blog', '/news': { status: 302, destination: 'https://example.com/news', }, }, });
-
#13084
0f3be31
Thanks @ematipico! - Adds a new experimental virtual moduleastro:config
that exposes a type-safe subset of yourastro.config.mjs
configurationThe virtual module exposes two sub-paths for controlled access to your configuration:
astro:config/client
: exposes config information that is safe to expose to the client.astro:config/server
: exposes additional information that is safe to expose to the server, such as file/dir paths.
To enable this new virtual module, add the
experimental.serializeManifest
feature flag to your Astro config:// astro.config.mjs import { defineConfig } from 'astro/config'; export default defineConfig({ experimental: { serializeManifest: true, }, });
Then, you can access the module in any file inside your project to import and use values from your Astro config:
// src/utils.js import { trailingSlash } from 'astro:config/client'; function addForwardSlash(path) { if (trailingSlash === 'always') { return path.endsWith('/') ? path : path + '/'; } else { return path; } }
For a complete overview, and to give feedback on this experimental API, see the Serialized Manifest RFC.
Patch Changes
-
#13049
2ed4bd9
Thanks @florian-lefebvre! - Updatesastro add tailwind
to add the@tailwindcss/vite
plugin instead of the@astrojs/tailwind
integration -
#12994
5361755
Thanks @ascorbic! - Returns a more helpful 404 page in dev if there is a trailing slash mismatch between the route requested and thetrailingSlash
configuration -
#12666
037495d
Thanks @Thodor12! - Added additional generated typings for the content layer -
Updated dependencies [
5361755
,db252e0
]:- @astrojs/[email protected]
- @astrojs/[email protected]
@astrojs/[email protected]
Major Changes
-
#13049
2ed4bd9
Thanks @florian-lefebvre! - Deprecates the integrationTailwind CSS now offers a Vite plugin which is the preferred way to use Tailwind 4 in Astro. Please uninstall
@astrojs/tailwind
and follow the Tailwind documentation for manual installation.This updated major version is only provided as a convenience for existing projects until they are able to migrate to the new plugin. It offers no additional functionality and is no longer recommended, but may continue to be used in your projects until it is removed entirely.
@astrojs/[email protected]
Patch Changes
- Updated dependencies [
db252e0
]:- @astrojs/[email protected]
@astrojs/[email protected]
Minor Changes
-
#12850
db252e0
Thanks @colinbate! - Adds support for TOML frontmatter in.md
and.mdx
filesAstro 5.2 automatically identifies the format of your Markdown and MDX frontmatter based on the delimiter used. With
+++
as a delimiter (instead of the---
YAML code fence), your frontmatter will automatically be recognized and parsed as TOML.This is useful for adding existing content files with TOML frontmatter to your project from another framework such as Hugo.
TOML frontmatter can also be used with content collections, and files with different frontmatter languages can live together in the same project.
No configuration is required to use TOML frontmatter in your content files. Your delimiter will indicate your chosen frontmatter language:
+++ date = 2025-01-30 title = 'Use TOML frontmatter in Astro!' [author] name = 'Colin Bate' +++ # Support for TOML frontmatter is here!
@astrojs/[email protected]
Patch Changes
- Updated dependencies [
5361755
,db252e0
]:- @astrojs/[email protected]
- @astrojs/[email protected]
@astrojs/[email protected]
[email protected]
Patch Changes
-
#13058
1a14b53
Thanks @ascorbic! - Fixes broken type declaration -
#13059
e36837f
Thanks @ascorbic! - Fixes a bug that caused tsconfig path aliases to break if there was more than one wildcard pattern -
#13045
c7f1366
Thanks @mtwilliams-code! - Fixes a bug where the some utility functions of theastro:i18n
virtual module would return an incorrect result whentrailingSlash
is set tonever