AstroEco is Releasing…
Example: Displaying GitHub releases using astro-loader-github-releases
Patch Changes
- #12361
3d89e62
Thanks @LunaticMuch! - Upgrades theesbuild
version to matchvite
Minor Changes
-
#12924
3caa337
Thanks @florian-lefebvre! - Updates how the output is determined increateRedirectsFromAstroRoutes
. Sincev0.5.0
, the output would use thebuildOutput
property andconfig.output
as a fallback. It no longer uses this fallback. -
#12924
3caa337
Thanks @florian-lefebvre! - Updates the input requirements ofcreateRedirectsFromAstroRoutes
:routeToDynamicTargetMap
keys areIntegrationResolvedRoute
instead ofIntegrationRouteData
(obtained from theastro:routes:resolved
hook)- There's a new
assets
property, that can be obtained from theastro:build:done
hook
function myIntegration() { let routes; let buildOutput; let config; return { name: 'my-integration', hooks: { 'astro:routes:resolved': (params) => { routes = params.routes; }, 'astro:config:done': (params) => { buildOutput = params.buildOutput; config = params.config; }, 'astro:build:done': (params) => { const redirects = createRedirectsFromAstroRoutes({ config, buildOutput, routeToDynamicTargetMap: new Map(routes.map((route) => [route, ''])), dir: params.dir, assets: params.assets, }); }, }, }; }
Patch Changes
- #12904
7fdbd43
Thanks @florian-lefebvre! - Fixes the type offorce
Patch Changes
-
#12798
7b0cb85
Thanks @ascorbic! - Improves warning logs for invalid content collection configuration -
#12781
96c4b92
Thanks @ascorbic! - Fixes a regression that causeddefault()
to not work withreference()
-
#12820
892dd9f
Thanks @ascorbic! - Fixes a bug that caused cookies to not be deleted when destroying a session -
#12864
440d8a5
Thanks @kaytwo! - Fixes a bug where the session ID wasn't correctly regenerated -
#12768
524c855
Thanks @ematipico! - Fixes an issue where Astro didn't print error logs when Astro Islands were used in incorrect cases. -
#12814
f12f111
Thanks @ematipico! - Fixes an issue where Astro didn't log anything in case a file isn't created during the build. -
#12875
e109002
Thanks @ascorbic! - Fixes a bug in emulated legacy collections where the entry passed to the getCollection filter function did not include the legacy entry fields. -
#12768
524c855
Thanks @ematipico! - Fixes an issue where Astro was printing the incorrect output format when running theastro build
command -
#12810
70a9f0b
Thanks @louisescher! - Fixes server islands failing to check content-type header under certain circumstancesSometimes a reverse proxy or similar service might modify the content-type header to include the charset or other parameters in the media type of the response. This previously wasn't handled by the client-side server island script and thus removed the script without actually placing the requested content in the DOM. This fix makes it so the script checks if the header starts with the proper content type instead of exactly matching
text/html
, so the following will still be considered a valid header:text/html; charset=utf-8
-
#12816
7fb2184
Thanks @ematipico! - Fixes an issue where an injected route entrypoint wasn't correctly marked because the resolved file path contained a query parameter.This fixes some edge case where some injected entrypoint were not resolved when using an adapter.
Minor Changes
- #12768
524c855
Thanks @ematipico! - Adds a newbuildOutput
property to the APIcreateRedirectsFromAstroRoutes
Patch Changes
- #12829
ebe2aa9
Thanks @SapphicMoe! - Revert incorrect Content-Type header applied for RSS XML file
🚨 Breaking Changes
- layout: Update
StandardLayout
, removeWideLayout
& addFEATURE.slideEnterAnim
option - by @lin-stephanie in #9 (02528)
🚀 Features
- mobile:
- Support for TOC on mobile devices - by @lin-stephanie in #7 (c4d11)
- Refine toc and nav panel styles - by @lin-stephanie (d8e58)
- page:
- Add
/releases
page to display personal GitHub releases - by @lin-stephanie in #3 (39575) - Add
/prs
page to display personal GitHub PRs - by @lin-stephanie in #8 (e7f47)
- Add
🐞 Bug Fixes
- Add reduced motion support to
toggleFadeEffect
& add sorting for PRs inGithubView
& refine style - by @lin-stephanie (ac035)
View changes on GitHub
Patch Changes
- Refine handling for
linkTextType: 'domain-path'
(743512a
)
Patch Changes
- Use UTC methods in date calculations for consistency (
0e0ca6f
)
Patch Changes
- Use UTC methods in date calculations for consistency (
0e0ca6f
)
Minor Changes
-
#12441
b4fec3c
Thanks @ascorbic! - Adds experimental session supportSessions are used to store user state between requests for server-rendered pages, such as login status, shopping cart contents, or other user-specific data.
--- export const prerender = false; // Not needed in 'server' mode const cart = await Astro.session.get('cart'); --- <a href="/checkout">🛒 {cart?.length ?? 0} items</a>
Sessions are available in on-demand rendered/SSR pages, API endpoints, actions and middleware. To enable session support, you must configure a storage driver.
If you are using the Node.js adapter, you can use the
fs
driver to store session data on the filesystem:// astro.config.mjs { adapter: node({ mode: 'standalone' }), experimental: { session: { // Required: the name of the unstorage driver driver: "fs", }, }, }
If you are deploying to a serverless environment, you can use drivers such as
redis
,netlify-blobs
,vercel-kv
, orcloudflare-kv-binding
and optionally pass additional configuration options.For more information, including using the session API with other adapters and a full list of supported drivers, see the docs for experimental session support. For even more details, and to leave feedback and participate in the development of this feature, the Sessions RFC.
-
#12426
3dc02c5
Thanks @oliverlynch! - Improves asset caching of remote imagesAstro will now store entity tags and the Last-Modified date for cached remote images and use them to revalidate the cache when it goes stale.
-
#12721
c9d5110
Thanks @florian-lefebvre! - Adds a newgetActionPath()
helper available fromastro:actions
Astro 5.1 introduces a new helper function,
getActionPath()
to give you more flexibility when calling your action.Calling
getActionPath()
with your action returns its URL path so you can make afetch()
request with custom headers, or use your action with an API such asnavigator.sendBeacon()
. Then, you can handle the custom-formatted returned data as needed, just as if you had called an action directly.This example shows how to call a defined
like
action passing theAuthorization
header and thekeepalive
option:<script> // src/components/my-component.astro import { actions, getActionPath } from 'astro:actions'; await fetch(getActionPath(actions.like), { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: 'Bearer YOUR_TOKEN', }, body: JSON.stringify({ id: 'YOUR_ID' }), keepalive: true, }); </script>
This example shows how to call the same
like
action using thesendBeacon
API:<script> // src/components/my-component.astro import { actions, getActionPath } from 'astro:actions'; navigator.sendBeacon( getActionPath(actions.like), new Blob([JSON.stringify({ id: 'YOUR_ID' })], { type: 'application/json', }), ); </script>
Patch Changes
-
#12786
e56af4a
Thanks @ematipico! - Fixes an issue where Astro i18n didn't properly show the 404 page when using fallback and the optionprefixDefaultLocale
set totrue
. -
#12758
483da89
Thanks @delucis! - Adds types for?url&inline
and?url&no-inline
import queries added in Vite 6 -
#12763
8da2318
Thanks @rbsummers! - Fixed changes to vite configuration made in the astro:build:setup integration hook having no effect when target is "client" -
#12767
36c1e06
Thanks @ascorbic! - Clears the content layer cache when the Astro config is changed
Patch Changes
-
#2717
c5fcbb3
Thanks @delucis! - Fixes a list item spacing issue where line break elements (<br>
) could receive a margin, breaking layout in Firefox -
#2724
02d7ac6
Thanks @dionysuzx! - Adds social link support for Farcaster -
#2635
ec4b851
Thanks @HiDeoo! - Fixes an issue where the language picker in multilingual sites could display the wrong language when navigating between pages with the browser back/forward buttons.
Minor Changes
-
#2612
8d5a4e8
Thanks @HiDeoo! - Adds support for Astro v5, drops support for Astro v4.Upgrade Astro and dependencies
⚠️ BREAKING CHANGE: Astro v4 is no longer supported. Make sure you update Astro and any other official integrations at the same time as updating Starlight:npx @astrojs/upgrade
Community Starlight plugins and Astro integrations may also need to be manually updated to work with Astro v5. If you encounter any issues, please reach out to the plugin or integration author to see if it is a known issue or if an updated version is being worked on.
Update your collections
⚠️ BREAKING CHANGE: Starlight's internal content collections, which organize, validate, and render your content, have been updated to use Astro's new Content Layer API and require configuration changes in your project.-
Move the content config file. This file no longer lives within the
src/content/config.ts
folder and should now exist atsrc/content.config.ts
. -
Edit the collection definition(s). To update the
docs
collection, aloader
is now required:// src/content.config.ts import { defineCollection } from "astro:content"; +import { docsLoader } from "@astrojs/starlight/loaders"; import { docsSchema } from "@astrojs/starlight/schema"; export const collections = { - docs: defineCollection({ schema: docsSchema() }), + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), };
If you are using the
i18n
collection to provide translations for additional languages you support or override our default labels, you will need to update the collection definition in a similar way and remove the collectiontype
which is no longer available:// src/content.config.ts import { defineCollection } from "astro:content"; +import { docsLoader, i18nLoader } from "@astrojs/starlight/loaders"; import { docsSchema, i18nSchema } from "@astrojs/starlight/schema"; export const collections = { - docs: defineCollection({ schema: docsSchema() }), + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), - i18n: defineCollection({ type: 'data', schema: i18nSchema() }), + i18n: defineCollection({ loader: i18nLoader(), schema: i18nSchema() }), };
-
Update other collections. To update any other collections you may have, follow the “Updating existing collections” section in the Astro 5 upgrade guide.
If you are unable to make any changes to your collections at this time, including Starlight's default
docs
andi18n
collections, you can enable thelegacy.collections
flag to upgrade to v5 without updating your collections. This legacy flag exists to provide temporary backwards compatibility, and will allow you to keep your collections in their current state until the legacy flag is no longer supported. -
Patch Changes
-
#2669
310df7d
Thanks @aaronperezaguilera! - Adds Catalan UI translations -
#2664
62ff007
Thanks @HiDeoo! - Publishes provenance containing verifiable data to link a package back to its source repository and the specific build instructions used to publish it. -
#2670
0223b42
Thanks @aaronperezaguilera! - Adds Spanish UI translations for the Pagefind search modal
Patch Changes
- Refine logger output and update docs (
f3c237d
)
Minor Changes (38cf8fc
)
- In
userCommit
mode, addrepoOwner
field and renamedrepoName
torepoNameWithOwner
(the originalrepoName
only represented the repository name) - In
repoList
mode, addversionNum
andrepoOwner
fields - In
repoList
mode, when configured withentryReturnType: 'byRelease'
, support returning the<Content />
component viarender(entry)
to render the published content - Errors no longer force the entire Astro project to terminate
- No longer calls
store.clear()
internally
Minor Changes (25f92a8
)
- Add
monthsBack
option to specify the recent months for loading pull requests - Support returning the
<Content />
component viarender(entry)
to render the PR content - Errors no longer force the entire Astro project to terminate
- No longer calls
store.clear()
internally
Patch Changes
-
#2642
12750ae
Thanks @dragomano! - Updates Russian UI translations -
#2656
4d543be
Thanks @HiDeoo! - Improves error message when an invalid configuration or no configuration is provided to the Starlight integration. -
#2645
cf12beb
Thanks @techfg! - Fixes support for favicon URLs that contain a search query and/or hash -
#2650
38db4ec
Thanks @raviqqe! - Moves@types/js-yaml
package to non-dev dependencies -
#2633
5adb720
Thanks @HiDeoo! - Fixes a VoiceOver issue with Safari where the content of a<script>
element could be read before the sidebar content. -
#2663
34755f9
Thanks @astrobot-houston! - Adds a newseti:vite
icon for Vite configuration files in the<FileTree>
component
Patch Changes
- Add data type validation for JSON-stored tweets and update docs (
dde3e92
)
Minor Changes
- Support for persisting the loaded tweets to a JSON file at a custom path, see details (
c0c6f6c
)
Minor Changes
- #12678
97c9265
Thanks @bskimball! - Add React 19 stable to peer dependencies
Patch Changes
- #12694
495f46b
Thanks @ematipico! - Fixes a bug where the experimental featureexperimental.svg
was incorrectly used when generating ESM images
Minor Changes
- Add
newlineHandling
option to specify\n
processing intext_html
generation (2542879
)
Patch Changes
-
#12646
f13417b
Thanks @bluwy! - Avoids parsing frontmatter that are not at the top of a file -
#12570
87231b1
Thanks @GrimLink! - Removes trailing new line in code blocks to prevent generating a trailing empty<span />
tag -
#12664
a71e9b9
Thanks @bluwy! - Fixes frontmatter parsing if file is encoded in UTF8 with BOM
Patch Changes
- Update
peerDependencies
to support Astro 4.14.0+ and 5.x (c9a0772
)
Patch Changes
- Update
peerDependencies
to support Astro 4.14.0+ and 5.x (c9a0772
)
Patch Changes
- Handle missing GitHub token error (
0ddb6b5
)
Patch Changes
- #12576
19b3ac0
Thanks @apatel369! - Fixes an issue where runningupgrade
in a directory withoutastro
installed shows a false success message
Minor Changes
- Add
monthsBack
option in 'repoList' mode to specify the recent months for loading releases (752ee0e
)
Patch Changes
- Handle missing GitHub token error & Optimize logging (
de1a6cc
)
Patch Changes
- #12594
4f2fd0a
Thanks @Princesseuh! - Fixes compatibility with Astro 5
Patch Changes
- #12594
4f2fd0a
Thanks @Princesseuh! - Fixes compatibility with Astro 5
Patch Changes
- #12594
4f2fd0a
Thanks @Princesseuh! - Fixes compatibility with Astro 5
Patch Changes
- #12594
4f2fd0a
Thanks @Princesseuh! - Fixes compatibility with Astro 5
Patch Changes
- #12594
4f2fd0a
Thanks @Princesseuh! - Fixes compatibility with Astro 5
Patch Changes
- #12594
4f2fd0a
Thanks @Princesseuh! - Fixes compatibility with Astro 5
Major Changes
-
#11861
3ab3b4e
Thanks @bluwy! - Cleans up Astro-specfic metadata attached tovfile.data
in Remark and Rehype plugins. Previously, the metadata was attached in different locations with inconsistent names. The metadata is now renamed as below:vfile.data.__astroHeadings
->vfile.data.astro.headings
vfile.data.imagePaths
->vfile.data.astro.imagePaths
The types of
imagePaths
has also been updated fromSet<string>
tostring[]
. Thevfile.data.astro.frontmatter
metadata is left unchanged.While we don't consider these APIs public, they can be accessed by Remark and Rehype plugins that want to re-use Astro's metadata. If you are using these APIs, make sure to access them in the new locations.
-
#12008
5608338
Thanks @Princesseuh! - Welcome to the Astro 5 beta! This release has no changes from the latest alpha of this package, but it does bring us one step closer to the final, stable release.Starting from this release, no breaking changes will be introduced unless absolutely necessary.
To learn how to upgrade, check out the Astro v5.0 upgrade guide in our beta docs site.
-
#11825
560ef15
Thanks @bluwy! - Updates return object ofcreateShikiHighlighter
ascodeToHast
andcodeToHtml
to allow generating either the hast or html string directly -
#11661
83a2a64
Thanks @bluwy! - Renames the following CSS variables theme color token names to better align with the Shiki v1 defaults:--astro-code-color-text
=>--astro-code-foreground
--astro-code-color-background
=>--astro-code-background
You can perform a global find and replace in your project to migrate to the new token names.
-
#11861
3ab3b4e
Thanks @bluwy! - RemovesInvalidAstroDataError
,safelyGetAstroData
, andsetVfileFrontmatter
APIs in favour ofisFrontmatterValid
Patch Changes
Minor Changes
-
#12008
5608338
Thanks @Princesseuh! - Welcome to the Astro 5 beta! This release has no changes from the latest alpha of this package, but it does bring us one step closer to the final, stable release.Starting from this release, no breaking changes will be introduced unless absolutely necessary.
To learn how to upgrade, check out the Astro v5.0 upgrade guide in our beta docs site.
-
#11989
3e70853
Thanks @florian-lefebvre! - Updates the type fromRouteData
toIntegrationRouteData
Major Changes
-
#12060
cb5d3ae
Thanks @Princesseuh! - Updates peer dependency range to support Astro 5 -
#12524
9f44019
Thanks @bluwy! - Updates Vite dependency to v6 to match Astro v5
Minor Changes
Patch Changes
- #12551
81b0bf5
Thanks @ematipico! - New release to include changes from 4.5.2
Major Changes
-
#12060
cb5d3ae
Thanks @Princesseuh! - Updates peer dependency range to support Astro 5 -
#12524
9f44019
Thanks @bluwy! - Updates@sveltejs/vite-plugin-svelte
to v5 to handle Vite 6 -
#12524
9f44019
Thanks @bluwy! - Updates Vite dependency to v6 to match Astro v5
Minor Changes
Patch Changes
Major Changes
-
#12231
90ae100
Thanks @bluwy! - Handles the breaking change in Astro where content pages (including.mdx
pages located withinsrc/pages/
) no longer respond withcharset=utf-8
in theContent-Type
header.For MDX pages without layouts,
@astrojs/mdx
will automatically add the<meta charset="utf-8">
tag to the page by default. This reduces the boilerplate needed to write with non-ASCII characters. If your MDX pages have a layout, the layout component should include the<meta charset="utf-8">
tag.If you require
charset=utf-8
to render your page correctly, make sure that your layout components have the<meta charset="utf-8">
tag added. -
#12008
5608338
Thanks @Princesseuh! - Welcome to the Astro 5 beta! This release has no changes from the latest alpha of this package, but it does bring us one step closer to the final, stable release.Starting from this release, no breaking changes will be introduced unless absolutely necessary.
To learn how to upgrade, check out the Astro v5.0 upgrade guide in our beta docs site.
Minor Changes
-
#11741
6617491
Thanks @bluwy! - Updates adapter server entrypoint to use@astrojs/mdx/server.js
This is an internal change. Handling JSX in your
.mdx
files has been moved from Astro internals and is now the responsibility of this integration. You should not notice a change in your project, and no update to your code is required.
Patch Changes
-
#12075
a19530e
Thanks @bluwy! - Parses frontmatter ourselves -
#11861
3ab3b4e
Thanks @bluwy! - Updates@astrojs/markdown-remark
and handle its breaking changes -
#12533
1b61fdf
Thanks @ematipico! - Fixes a case where the MDX renderer couldn't be loaded when used as a direct dependency of an Astro integration. -
Updated dependencies [
3ab3b4e
,5608338
,560ef15
,83a2a64
,3ab3b4e
,a19530e
]:- @astrojs/markdown-remark@6.0.0
Major Changes
Minor Changes
Minor Changes
Patch Changes
-
#11825
560ef15
Thanks @bluwy! - Uses latest version of@astrojs/markdown-remark
with updated Shiki APIs -
#12075
a19530e
Thanks @bluwy! - Parses frontmatter ourselves -
#12584
fa07002
Thanks @ascorbic! - Correctly renders boolean HTML attributes -
Updated dependencies [
3ab3b4e
,5608338
,827093e
,560ef15
,83a2a64
,3ab3b4e
,a19530e
,1dc8f5e
]:- @astrojs/markdown-remark@6.0.0
- @astrojs/prism@3.2.0
- @astrojs/internal-helpers@0.4.2
Minor Changes
-
#12083
9263e96
Thanks @Princesseuh! - Reworks the experience of creating a new Astro project using thecreate astro
CLI command.- Updates the list of templates to include Starlight and combines the "minimal" and "basics" templates into a new, refreshed "Basics" template to serve as the single, minimal Astro project starter.
- Removes the TypeScript question. Astro is TypeScript-only, so this question was often misleading. The "Strict" preset is now the default, but it can still be changed manually in
tsconfig.json
. astro check
is no longer automatically added to the build script.- Added a new
--add
flag to install additional integrations after creating a project. For example,pnpm create astro --add react
will create a new Astro project and install the React integration.
Patch Changes
- Updated dependencies [
827093e
]:- @astrojs/prism@3.2.0-beta.0
Major Changes
- Supports loading GitHub pull reuqests from a given GitHub search string (
deb6408
)
Minor Changes
-
#12083
9263e96
Thanks @Princesseuh! - Reworks the experience of creating a new Astro project using thecreate astro
CLI command.- Updates the list of templates to include Starlight and combines the "minimal" and "basics" templates into a new, refreshed "Basics" template to serve as the single, minimal Astro project starter.
- Removes the TypeScript question. Astro is TypeScript-only, so this question was often misleading. The "Strict" preset is now the default, but it can still be changed manually in
tsconfig.json
. astro check
is no longer automatically added to the build script.- Added a new
--add
flag to install additional integrations after creating a project. For example,pnpm create astro --add react
will create a new Astro project and install the React integration.
🚀 Features
- nav: Add
mergeOnMobile
option to merge navigation and social links on mobile - by @lin-stephanie (9e7cd) - search: Full-screen search panel with backdrop for viewport < 1128px - by @lin-stephanie (f8831)
🐞 Bug Fixes
- rss: Resolve MDX post parsing error - by @lin-stephanie (c9ef3)
- style: Ensure responsive alignment for social sections on
/
- by @lin-stephanie (4b567)
View changes on GitHub
Last fetched: | Scheduled refresh: Every Saturday
See Customizing GitHub Activity Pages to configure your own
Inspired by releases.antfu.me