The web framework for content-driven websites. ⭐️ Star to support our work!
#10911 a86dc9d
Thanks @bluwy! - Skips adding CSS dependencies of CSS Vite modules as style tags in the HTML
#10900 36bb3b6
Thanks @martrapp! - Detects overlapping navigation and view transitions and automatically aborts all but the most recent one.
#10933 007d17f
Thanks @Princesseuh! - Fixes app.toggleState
not working correctly
#10931 4ce5ced
Thanks @ktym4a! - Fixes toggleNotification()
's parameter type for the notification level not using the proper levels
#10882 cf58d1e
Thanks @delucis! - Improves the typing of the asDrizzleTable()
utility
Fixes a type error when passing the output of defineTable()
to the utility and returns a more detailed type inferred from the columns of the passed table config.
#10918 ca605f4
Thanks @matthewp! - Provide a better error message when app token is missing in CI
#10925 a0c77fc
Thanks @Princesseuh! - Fixes ASTRO_DATABASE_FILE
not correctly resolving relative paths (e.g. ASTRO_DATABASE_FILE=./api/database.db
#10665 7b4f284
Thanks @Princesseuh! - Adds new utilities to ease the creation of toolbar apps including defineToolbarApp
to make it easier to define your toolbar app and app
and server
helpers for easier communication between the toolbar and the server. These new utilities abstract away some of the boilerplate code that is common in toolbar apps, and lower the barrier of entry for app authors.
For example, instead of creating an event listener for the app-toggled
event and manually typing the value in the callback, you can now use the onAppToggled
method. Additionally, communicating with the server does not require knowing any of the Vite APIs anymore, as a new server
object is passed to the init
function that contains easy to use methods for communicating with the server.
import { defineToolbarApp } from "astro/toolbar";
export default defineToolbarApp({
init(canvas, app, server) {
- app.addEventListener("app-toggled", (e) => {
- console.log(`App is now ${state ? "enabled" : "disabled"}`);.
- });
+ app.onToggled(({ state }) => {
+ console.log(`App is now ${state ? "enabled" : "disabled"}`);
+ });
- if (import.meta.hot) {
- import.meta.hot.send("my-app:my-client-event", { message: "world" });
- }
+ server.send("my-app:my-client-event", { message: "world" })
- if (import.meta.hot) {
- import.meta.hot.on("my-server-event", (data: {message: string}) => {
- console.log(data.message);
- });
- }
+ server.on<{ message: string }>("my-server-event", (data) => {
+ console.log(data.message); // data is typed using the type parameter
+ });
},
})
Server helpers are also available on the server side, for use in your integrations, through the new toolbar
object:
"astro:server:setup": ({ toolbar }) => {
toolbar.on<{ message: string }>("my-app:my-client-event", (data) => {
console.log(data.message);
toolbar.send("my-server-event", { message: "hello" });
});
}
This is a backwards compatible change and your your existing dev toolbar apps will continue to function. However, we encourage you to build your apps with the new helpers, following the updated Dev Toolbar API documentation.
#10734 6fc4c0e
Thanks @Princesseuh! - Astro will now automatically check for updates when you run the dev server. If a new version is available, a message will appear in the terminal with instructions on how to update. Updates will be checked once per 10 days, and the message will only appear if the project is multiple versions behind the latest release.
This behavior can be disabled by running astro preferences disable checkUpdates
or setting the ASTRO_DISABLE_UPDATE_CHECK
environment variable to false
.
#10762 43ead8f
Thanks @bholmesdev! - Enables type checking for JavaScript files when using the strictest
TS config. This ensures consistency with Astro's other TS configs, and fixes type checking for integrations like Astro DB when using an astro.config.mjs
.
If you are currently using the strictest
preset and would like to still disable .js
files, set allowJS: false
in your tsconfig.json
.
#10861 b673bc8
Thanks @mingjunlu! - Fixes an issue where astro build
writes type declaration files to outDir
when it's outside of root directory.
#10684 8b59d5d
Thanks @PeterDraex! - Update sharp to 0.33 to fix issue with Alpine Linux
#10846 3294f7a
Thanks @matthewp! - Prevent getCollection breaking in vitest
#10856 30cf82a
Thanks @robertvanhoesel! - Prevents inputs with a name attribute of action or method to break ViewTransitions' form submission
#10833 8d5f3e8
Thanks @renovate! - Updates esbuild
dependency to v0.20. This should not affect projects in most cases.
#10801 204b782
Thanks @rishi-raj-jain! - Fixes an issue where images in MD required a relative specifier (e.g. ./
)
Now, you can use the standard ![](relative/img.png)
syntax in MD files for images colocated in the same folder: no relative specifier required!
There is no need to update your project; your existing images will still continue to work. However, you may wish to remove any relative specifiers from these MD images as they are no longer necessary:
- ![A cute dog](./dog.jpg)
+ ![A cute dog](dog.jpg)
<!-- This dog lives in the same folder as my article! -->
#10841 a2df344
Thanks @martrapp! - Due to regression on mobile WebKit browsers, reverts a change made for JavaScript animations during view transitions.
8e6eb62
Thanks @bholmesdev! - Add astro login
support from online editors like Stackblitz and GitHub Codespaces