The web framework for content-driven websites. ⭐️ Star to support our work!
OTHER License
Published by astrobot-houston 7 months ago
#10410 055fe293c6702dd27bcd6c4f59297c6d4385abb1
Thanks @lilnasy! - Fixes an issue where configured redirects could not include certain characters in the target path.
#9820 8edc42aa7c209b12d98ecf20cdecccddf7314af0
Thanks @alexnguyennz! - Prevents fully formed URLs in attributes from being escaped
Published by astrobot-houston 7 months ago
#10409 96c8bca19aa477318b5eb48af12b260a6f173e25
Thanks @lilnasy! - Fixes an issue where one table schema could not reference text fields of another table schema.
#10428 189ec47c1e3232d8b4db42035ddd44ea862ecfca
Thanks @FredKSchott! - Fix an issue where short-lived tokens were not being authorized
#10420 2db25c05a467f2ffd6ebff5eb82076449fa9d72f
Thanks @Princesseuh! - Fixes some situations where failing requests would not error properly
Published by astrobot-houston 7 months ago
a084d8cec66e4fb1952bd0dfe293712401f2f463
Thanks @bholmesdev! - Fix astro:db configuration types returning any
Published by astrobot-houston 7 months ago
629c9d7c4d96ae5711d95601e738b3d31d268116
Thanks @mingjunlu! - Fixes an issue where dev toolbar x-ray didn't escape props content.Published by astrobot-houston 7 months ago
a49892349ecee2b5d3184e59ac0ab54368481672
Thanks @matthewp! - Sets new Astro Studio production URL#10396 41ca94e5136a80a58d000f3eb87029442599a4a3
Thanks @bholmesdev! - Remove risk of data loss when pushing an out-of-date table schema.
#10374 f76dcb769f6869acb96b2a77898926f109f54a33
Thanks @itsMapleLeaf! - Expose DB utility types from @astrojs/db/types
Published by astrobot-houston 7 months ago
#10392 02aeb01cb8b62b9cc4dfe6069857219404343b73
Thanks @martrapp! - Fixes broken types for some functions of astro:transitions/client
.
#10390 236cdbb611587692d3c781850cb949604677ef82
Thanks @bholmesdev! - Adds --help
reference for new db and studio CLI commands
Published by astrobot-houston 7 months ago
#10391 9667ee990ca2a02a146e442f2494981df4c88b52
Thanks @bholmesdev! - Remove @astrojs/runtime/config suggestion for astro:db configuration helpers.
#10385 38abae47b57af481a8dcdf2393317de6df46920a
Thanks @delucis! - Fixes support for integrations configuring astro:db
and for projects that use astro:db
but do not include a seed file.
#10381 8cceab587d681d90842184904182833117687750
Thanks @delucis! - Fixes builds for projects using integration seed files
#10384 cd5e8d4b9309e43f5bf884a0014b8a5769d816e0
Thanks @matthewp! - Upgrades the @libsql/client
dependency to fix the use of db.batch
in StackBlitz
#10387 8a23ee530cd1d7d7b4e93e9e72f4e06d1fc3d845
Thanks @FredKSchott! - handle success=false response on api endpoints
#10390 236cdbb611587692d3c781850cb949604677ef82
Thanks @bholmesdev! - Adds --help
reference for new db and studio CLI commands
Published by astrobot-houston 8 months ago
#10206 dc87214141e7f8406c0fdf6a7f425dad6dea6d3e
Thanks @lilnasy! - Allows middleware to run when a matching page or endpoint is not found. Previously, a pages/404.astro
or pages/[...catch-all].astro
route had to match to allow middleware. This is now not necessary.
When a route does not match in SSR deployments, your adapter may show a platform-specific 404 page instead of running Astro's SSR code. In these cases, you may still need to add a 404.astro
or fallback route with spread params, or use a routing configuration option if your adapter provides one.
#9960 c081adf998d30419fed97d8fccc11340cdc512e0
Thanks @StandardGage! - Allows passing any props to the <Code />
component
#10102 e3f02f5fb1cf0dae3c54beb3a4af3dbf3b06abb7
Thanks @bluwy! - Adds a new experimental.directRenderScript
configuration option which provides a more reliable strategy to prevent scripts from being executed in pages where they are not used.
This replaces the experimental.optimizeHoistedScript
flag introduced in v2.10.4 to prevent unused components' scripts from being included in a page unexpectedly. That experimental option no longer exists and must be removed from your configuration, whether or not you enable directRenderScript
:
// astro.config.mjs
import { defineConfig } from 'astro/config';
export default defineConfig({
experimental: {
- optimizeHoistedScript: true,
+ directRenderScript: true
}
});
With experimental.directRenderScript
configured, scripts are now directly rendered as declared in Astro files (including existing features like TypeScript, importing node_modules
, and deduplicating scripts). You can also now conditionally render scripts in your Astro file.
However, this means scripts are no longer hoisted to the <head>
and multiple scripts on a page are no longer bundled together. If you enable this option, you should check that all your <script>
tags behave as expected.
This option will be enabled by default in Astro 5.0.
#10130 5a9528741fa98d017b269c7e4f013058028bdc5d
Thanks @bluwy! - Stabilizes markdown.shikiConfig.experimentalThemes
as markdown.shikiConfig.themes
. No behaviour changes are made to this option.
#10189 1ea0a25b94125e4f6f2ac82b42f638e22d7bdffd
Thanks @peng! - Adds the option to pass an object to build.assetsPrefix
. This allows for the use of multiple CDN prefixes based on the target file type.
When passing an object to build.assetsPrefix
, you must also specify a fallback
domain to be used for all other file types not specified.
Specify a file extension as the key (e.g. 'js', 'png') and the URL serving your assets of that file type as the value:
// astro.config.mjs
import { defineConfig } from 'astro/config';
export default defineConfig({
build: {
assetsPrefix: {
js: 'https://js.cdn.example.com',
mjs: 'https://js.cdn.example.com', // if you have .mjs files, you must add a new entry like this
png: 'https://images.cdn.example.com',
fallback: 'https://generic.cdn.example.com',
},
},
});
#10252 3307cb34f17159dfd3f03144697040fcaa10e903
Thanks @Princesseuh! - Adds support for emitting warning and info notifications from dev toolbar apps.
When using the toggle-notification
event, the severity can be specified through detail.level
:
eventTarget.dispatchEvent(
new CustomEvent('toggle-notification', {
detail: {
level: 'warning',
},
})
);
#10186 959ca5f9f86ef2c0a5a23080cc01c25f53d613a9
Thanks @Princesseuh! - Adds the ability to set colors on all the included UI elements for dev toolbar apps. Previously, only badge and buttons could be customized.
#10136 9cd84bd19b92fb43ae48809f575ee12ebd43ea8f
Thanks @matthewp! - Changes the default behavior of transition:persist
to update the props of persisted islands upon navigation. Also adds a new view transitions option transition:persist-props
(default: false
) to prevent props from updating as needed.
Islands which have the transition:persist
property to keep their state when using the <ViewTransitions />
router will now have their props updated upon navigation. This is useful in cases where the component relies on page-specific props, such as the current page title, which should update upon navigation.
For example, the component below is set to persist across navigation. This component receives a products
props and might have some internal state, such as which filters are applied:
<ProductListing transition:persist products={products} />
Upon navigation, this component persists, but the desired products
might change, for example if you are visiting a category of products, or you are performing a search.
Previously the props would not change on navigation, and your island would have to handle updating them externally, such as with API calls.
With this change the props are now updated, while still preserving state.
You can override this new default behavior on a per-component basis using transition:persist-props=true
to persist both props and state during navigation:
<ProductListing transition:persist-props="true" products={products} />
#9977 0204b7de37bf626e1b97175b605adbf91d885386
Thanks @OliverSpeir! - Supports adding the data-astro-rerun
attribute on script tags so that they will be re-executed after view transitions
<script is:inline data-astro-rerun>
...
</script>
#10145 65692fa7b5f4440c644c8cf3dd9bc50103d2c33b
Thanks @alexanderniebuhr! - Adds experimental JSON Schema support for content collections.
This feature will auto-generate a JSON Schema for content collections of type: 'data'
which can be used as the $schema
value for TypeScript-style autocompletion/hints in tools like VSCode.
To enable this feature, add the experimental flag:
import { defineConfig } from 'astro/config';
export default defineConfig({
experimental: {
+ contentCollectionJsonSchema: true
}
});
This experimental implementation requires you to manually reference the schema in each data entry file of the collection:
// src/content/test/entry.json
{
+ "$schema": "../../../.astro/collections/test.schema.json",
"test": "test"
}
Alternatively, you can set this in your VSCode json.schemas
settings:
"json.schemas": [
{
"fileMatch": [
"/src/content/test/**"
],
"url": "../../../.astro/collections/test.schema.json"
}
]
Note that this initial implementation uses a library with known issues for advanced Zod schemas, so you may wish to consult these limitations before enabling the experimental flag.
#10130 5a9528741fa98d017b269c7e4f013058028bdc5d
Thanks @bluwy! - Migrates shikiji
to shiki
1.0
#10268 2013e70bce16366781cc12e52823bb257fe460c0
Thanks @Princesseuh! - Adds support for page mutations to the audits in the dev toolbar. Astro will now rerun the audits whenever elements are added or deleted from the page.
#10217 5c7862a9fe69954f8630538ebb7212cd04b8a810
Thanks @Princesseuh! - Updates the UI for dev toolbar audits with new information
#10360 ac766647b0e6156b7c4a0bb9a11981fe168852d7
Thanks @nmattia! - Fixes an issue where some CLI commands attempted to directly read vite config files.
#10291 8107a2721b6abb07c3120ac90e03c39f2a44ab0c
Thanks @bluwy! - Treeshakes unused Astro component scoped styles
#10368 78bafc5d661ff7dd071c241cb1303c4d8a774d21
Thanks @Princesseuh! - Updates the base tsconfig.json
preset with jsx: 'preserve'
in order to fix errors when importing Astro files inside .js
and .ts
files.
Updated dependencies [c081adf998d30419fed97d8fccc11340cdc512e0
, 1ea0a25b94125e4f6f2ac82b42f638e22d7bdffd
, 5a9528741fa98d017b269c7e4f013058028bdc5d
, a31bbd7ff8f3ec62ee507f72d1d25140b82ffc18
]:
Published by astrobot-houston 8 months ago
#9960 c081adf998d30419fed97d8fccc11340cdc512e0
Thanks @StandardGage! - Allows passing any props to the <Code />
component
#10130 5a9528741fa98d017b269c7e4f013058028bdc5d
Thanks @bluwy! - Migrates shikiji
to shiki
1.0
#10104 a31bbd7ff8f3ec62ee507f72d1d25140b82ffc18
Thanks @remcohaszing! - Changes Astro's internal syntax highlighting to use rehype plugins instead of remark plugins. This provides better interoperability with other rehype plugins that deal with code blocks, in particular with third party syntax highlighting plugins and rehype-mermaid
.
This may be a breaking change if you are currently using:
html
raw
.Please review your rendered code samples carefully, and if necessary, consider using a rehype plugin that deals with the generated element
nodes instead. You can transform the AST of raw HTML strings, or alternatively use hast-util-to-html
to get a string from a raw
node.
Published by astrobot-houston 8 months ago
#10189 1ea0a25b94125e4f6f2ac82b42f638e22d7bdffd
Thanks @peng! - Adds the option to pass an object to build.assetsPrefix
. This allows for the use of multiple CDN prefixes based on the target file type.
When passing an object to build.assetsPrefix
, you must also specify a fallback
domain to be used for all other file types not specified.
Specify a file extension as the key (e.g. 'js', 'png') and the URL serving your assets of that file type as the value:
// astro.config.mjs
import { defineConfig } from 'astro/config';
export default defineConfig({
build: {
assetsPrefix: {
js: 'https://js.cdn.example.com',
mjs: 'https://js.cdn.example.com', // if you have .mjs files, you must add a new entry like this
png: 'https://images.cdn.example.com',
fallback: 'https://generic.cdn.example.com',
},
},
});
Published by astrobot-houston 8 months ago
1ea0a25b94125e4f6f2ac82b42f638e22d7bdffd
]:
Published by astrobot-houston 8 months ago
#10136 9cd84bd19b92fb43ae48809f575ee12ebd43ea8f
Thanks @matthewp! - Changes the default behavior of transition:persist
to update the props of persisted islands upon navigation. Also adds a new view transitions option transition:persist-props
(default: false
) to prevent props from updating as needed.
Islands which have the transition:persist
property to keep their state when using the <ViewTransitions />
router will now have their props updated upon navigation. This is useful in cases where the component relies on page-specific props, such as the current page title, which should update upon navigation.
For example, the component below is set to persist across navigation. This component receives a products
props and might have some internal state, such as which filters are applied:
<ProductListing transition:persist products={products} />
Upon navigation, this component persists, but the desired products
might change, for example if you are visiting a category of products, or you are performing a search.
Previously the props would not change on navigation, and your island would have to handle updating them externally, such as with API calls.
With this change the props are now updated, while still preserving state.
You can override this new default behavior on a per-component basis using transition:persist-props=true
to persist both props and state during navigation:
<ProductListing transition:persist-props="true" products={products} />
Published by astrobot-houston 8 months ago
#10104 a31bbd7ff8f3ec62ee507f72d1d25140b82ffc18
Thanks @remcohaszing! - Changes Astro's internal syntax highlighting to use rehype plugins instead of remark plugins. This provides better interoperability with other rehype plugins that deal with code blocks, in particular with third party syntax highlighting plugins and rehype-mermaid
.
This may be a breaking change if you are currently using:
html
raw
.Please review your rendered code samples carefully, and if necessary, consider using a rehype plugin that deals with the generated element
nodes instead. You can transform the AST of raw HTML strings, or alternatively use hast-util-to-html
to get a string from a raw
node.
c081adf998d30419fed97d8fccc11340cdc512e0
, 5a9528741fa98d017b269c7e4f013058028bdc5d
, a31bbd7ff8f3ec62ee507f72d1d25140b82ffc18
]:
Published by astrobot-houston 8 months ago
1ea0a25b94125e4f6f2ac82b42f638e22d7bdffd
]:
Published by astrobot-houston 8 months ago
41dca1e413c2f1e38f0326bd6241ccbf9b8ee0e4
Thanks @FredKSchott! - Handle new schema API response formatPublished by astrobot-houston 8 months ago
33583e8b31ee8a33e26cf57f30bb422921f4745d
Thanks @lilnasy! - Fixes an issue where elements slotted within interactive framework components disappeared after hydration.Published by astrobot-houston 8 months ago
Published by astrobot-houston 8 months ago
2aec2cdc21f48f9b4f1dd82e2fd16fa3d653ccc5
Thanks @natemoo-re! - Fixes an issue where TypeScript and @astrojs/check
versions would occassionally print as undefined
.Published by astrobot-houston 8 months ago
#10355 8ce9fffd44b0740621178d61fb1425bf4155c2d7
Thanks @ematipico! - Fixes a regression where full dynamic routes were prioritized over partial dynamic routes. Now a route like food-[name].astro
is matched before [name].astro
.
#10356 d121311a3f4b5345e344e31f75d4e7164d65f729
Thanks @mingjunlu! - Fixes an issue where getCollection
might return undefined
when content collection is empty
#10325 f33cce8f6c3a2e17847658cdedb015bd93cc1ee3
Thanks @lilnasy! - Fixes an issue where ctx.site
included the configured base
in API routes and middleware, unlike Astro.site
in astro pages.
#10343 f973aa9110592fa9017bbe84387f22c24a6d7159
Thanks @ematipico! - Fixes some false positive in the dev toolbar a11y audits, by adding the a
element to the list of interactive elements.
#10295 fdd5bf277e5c1cfa30c1bd2ca123f4e90e8d09d9
Thanks @rossrobino! - Adds a prefetch fallback when using the experimental.clientPrerender
option. If prerendering fails, which can happen if Chrome extensions block prerendering, it will fallback to prefetching the URL. This works by adding a prefetch
field to the speculationrules
script, but does not create an extra request.
Published by astrobot-houston 8 months ago
393ad9b2aa9fde45eb14b8b01ff3526063772452
Thanks @Fryuni! - Includes ./virtual.d.ts
file that was previously unpublished