AstroEco is Contributing…
Display your GitHub pull requests using astro-loader-github-prs
Description
Add lychee to showcase

Changes
When using densities with the Vercel image adapter, calculated widths were not being validated against the configured sizes list. This caused Vercel to reject invalid widths, resulting in broken images.
For example, with configured sizes [640, 750, 828, 1080, 1200, 1920, 2048, 3840] and width=600 with densities=[1, 1.5, 2], the calculated widths [600, 900, 1200] were used directly instead of being mapped to valid sizes [640, 828, 1200].
This fix ensures all densities-calculated widths are mapped to the nearest configured width, matching the behavior already implemented for the widths prop.
Fixes #14366
Testing
- Test case added
Docs
N/A, bug fix

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
astro@5.14.7
Patch Changes
-
#14566
946fe68
Thanks @matthewp! - Fixes handling malformed cookies gracefully by returning the unparsed value instead of throwingWhen a cookie with an invalid value is present (e.g., containing invalid URI sequences),
Astro.cookies.get()
now returns the raw cookie value instead of throwing a URIError. This aligns with the behavior of the underlyingcookie
package and prevents crashes when manually-set or corrupted cookies are encountered. -
#14142
73c5de9
Thanks @P4tt4te! - Updates handling of CSS for hydrated client components to prevent duplicates

Changes
- When a POST request is made to a non-existent action endpoint, return a 404 response with NOT_FOUND error code instead of throwing an unhandled ActionNotFoundError.
- NOT_FOUND is caught and returns a 404 response
- Closes #13549
Testing
- Tests added
Docs
N/A, bug fix

Changes
- When a cookie with an invalid value is present (e.g., containing invalid URI sequences),
Astro.cookies.get()
now returns the raw cookie value instead of throwing a URIError. This aligns with the behavior of the underlyingcookie
package and prevents crashes when manually-set or corrupted cookies are encountered. - Closes #14448
Testing
Added
Docs
N/A, bug fix.

Changes
- Updates the release.yml to use oidc.
Testing
N/A
Docs
N/A

Changes
- Supersedes #14216
- I moved and refactored some logic around to make sure we read the "package.json" only once
Testing
Manual
Docs
Changeset

Changes
This refactors the code by improving the way the cloudflare adapter (and any adapter in the future) and retrieve the BaseApp
module.
It creates a astro/app/entrypoint
specifier that exposes the new function getApp
. This function is responsible for returning an SSR-compatible app based on the dev
parameter.
I took the opportunity to rename the virtual modules using the agreed naming convention, which is virtual:astro:<FEATURE>
. I didn't rename the astro actions because it has already been done in another branch.
I also updated the cloudflare dependencies. I didn't update to the latest because some deps were released less than three days ago.
Testing
This refactor was done during TBD, and we all verified that it works.
Docs
N/A
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/starlight@0.36.2
Patch Changes
- #3484
620fb38
Thanks @gboubeta-uvigo! - Improves Spanish UI translations

Changes
#14553
One boolean HTML attribute behaved differently from others ("muted"). This change fixes that by adding this attribute to the list of HTML boolean attributes in the astro/packages/astro/src/runtime/server/render/util.ts file.
Before:
After:
Testing
This change was tested by linking a local copy of Astro to a local copy of this project. The results are in the screenshots above.
Docs
Not sure, probably not.
/cc @withastro/maintainers-docs for feedback!

Changes
- Prior PR
- Updates Node v18 'retiring' notice to 'deprecated'.
- Removes
removeDate
from 'deprecated' support status warning.
note: This only removes the deprecation notice. Any user still on Node v18 or older will get a warning and Astro will default to using Node v22 (default) as the runtime.
Testing
n/a
Docs
n/a

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
astro@5.14.6
Patch Changes
-
#14562
722bba0
Thanks @erbierc! - Fixes a bug where the behavior of the "muted" HTML attribute was inconsistent with that of other attributes. -
#14538
51ebe6a
Thanks @florian-lefebvre! - Improves how Actions are implemented -
#14548
6cdade4
Thanks @ascorbic! - Removes support for themaxAge
property incacheHint
objects returned by live loaders.⚠️ Breaking change for experimental live content collections onlyFeedback showed that this did not make sense to set at the loader level, since the loader does not know how long each individual entry should be cached for.
If your live loader returns cache hints with
maxAge
, you need to remove this property:return { entries: [...], cacheHint: { tags: ['my-tag'], - maxAge: 60, lastModified: new Date(), }, };
The
cacheHint
object now only supportstags
andlastModified
properties. If you want to set the max age for a page, you can set the headers manually:--- Astro.headers.set('cdn-cache-control', 'max-age=3600'); ---
-
#14548
6cdade4
Thanks @ascorbic! - Adds missingrendered
property to experimental live collections entry typeLive collections support a
rendered
property that allows you to provide pre-rendered HTML for each entry. While this property was documented and implemented, it was missing from the TypeScript types. This could lead to type errors when trying to use it in a TypeScript project.No changes to your project code are necessary. You can continue to use the
rendered
property as before, and it will no longer produce TypeScript errors.

Changes
Removes the experimental.liveContentCollections
flag and enables it for all sites.
Closes #14376
Testing
Updated test fixture
Docs
Added changeset. It doesn't have any links to docs, because I'm not sure where they'll live.

Changes
This PR enables the devtoolbvar inside the DevApp
by passing the devtoolbar information via manifest.
I added new types inside SSRManifest
. This information is pulled using settings.preferences
and getInfoOutput
, which are serialisable and can be passed via vite plugin.
These new types are placeholders when building and serialising the manifest for SSR during the build
Testing
Manual testing. I could see the devtool popping up and working. The debug info are also available and visible
Docs
N/A

Changes
- Adds the missing
rendered
property to live entries. This is documented and functional, but was missing from types - Removes the
cacheHint.maxAge
property. From feedback and observing usage, this doesn't make sense to be set by the loader. The max age is something that the user should choose, and isn't information that the loader has. This is a breaking change in the types, but it is an experimental feature so can go in a patch.
Testing
Updated the tests, and added a new test for entry rendering
Docs
- withastro/docs#12571
- The
rendered
property was already documented.
Title
Fixes and completes Spanish translations
Description
This PR fixes some minor translation errors and completes labels that were still untranslated.
This is a minor change with no functional impact, but it improves the linguistic accuracy of the project.
Title
Fixes and completes Galician translations like Spanish
Description
This PR fixes some minor translation errors and completes labels that were still untranslated.
This is a minor change with no functional impact, but it improves the linguistic accuracy of the project.
Description
- Closes #3446
- Adds a card to the landing page of our starter templates highlighting how to enable the sidebar.
- Also adds a comment to the frontmatter of the landing pages to highlight it. (Begs the question of whether more such comments could be useful, but with any luck the content IntelliSense feature could do a lot of that work in the future.)
Before | After |
---|---|
![]() |
![]() |
These changes are tentative — it’s always a hard balance of what to prioritise in the onboarding flow, but I wanted to try these out and gather feedback, so let me know what you think! We do get relatively frequent questions about how to enable the sidebar and template: splash
is not super explicit, which is probably why people miss it.

Changes
- Add
runtimeConfig.internalFetchHeaders
to AstroAdapter interface - Create
astro:adapter-config/client
virtual module - Update Actions, View Transitions, Server Islands, and Prefetch to use adapter headers
- Implement Netlify skew protection with DEPLOY_ID header
- Generate
.netlify/v1/skew-protection.json
configuration file - Add comprehensive test fixture for skew protection
- Closes #14545
Testing
- Fixture tests added
- Test project
Docs
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/starlight@0.36.1
Patch Changes
-
#3479
2fec483
Thanks @gboubeta-uvigo! - Updates Galician UI translations -
#3457
c6c0c51
Thanks @HiDeoo! - Deduplicates sitemap link tags in the head.When enabling sitemap in Starlight, a
<link rel="sitemap" href="/sitemap-index.xml">
tag is automatically added to the head of each page. Manually specifying sitemap link tags using the Starlighthead
configuration option or thehead
frontmatter field will now override the default sitemap link tag added by Starlight.This change ensures that users manually adding the
@astrojs/sitemap
integration to the Astrointegrations
array for more fine-grained control over sitemap generation and also using thefilenameBase
integration option can customize the sitemap link tag in the head. -
#3448
1fc7501
Thanks @dionysuzx! - Enlarges the Farcaster icon to better match other social icons -
#3473
07204dd
Thanks @gboubeta! - Fixes a typo in Galician table of contents label

Changes
- Exempts Biome from the
minimumReleaseAge
requirement inpnpm-workspace.yml
- Alternative: revert #14539 and wait until the Biome release used there is old enough
- I ran
pnpm i
after applying this change, and the lock file changes showed up, so I included them here in case they are important.
Testing
Existing tests should pass
Docs
n/a

Changes
- Extracted from #14484 and #14529
- While working on actions recently, I found several things could be improved
- Use a single vite plugin
- We don't need codegen, I updated the implementation to be closer to
virtual-modules/i18n.ts
. Allowed to spot some runtime things that were incorrect - Things in
actions/runtime/virtual
were not only imported by the virtual module, so I moved them toactions/runtime
- This will help by being more consistent with other features, and will make the Zod 4 PR diff smaller
Testing
Should pass
Docs
Technically doesn't need a changeset but I'll include one to be safe

Changes
- I did send a PR for this 2 weeks ago but renovate did update the version since then. This time, I excluded nft from renovate updates so it doesn't happen
- See vercel/nft#545
Testing
Should pass
Docs
Changeset
Description
While initially only supporting basic Markdown links, I just updated the starlight-links
Visual Studio Code extension to provide IntelliSense for most type of links found in Starlight projects, even custom components, so this is probably a good time to add it to the list of community tools.

Changes
- Merge main into next
Testing
N/A
Docs
N/A


This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@astrojs/node@9.5.0
Minor Changes
-
#14441
62ec8ea
Thanks @upsuper! - Updates redirect handling to be consistent acrossstatic
andserver
output, aligning with the behavior of other adapters.Previously, the Node.js adapter used default HTML files with meta refresh tags when in
static
output. This often resulted in an extra flash of the page on redirect, while also not applying the proper status code for redirections. It's also likely less friendly to search engines.This update ensures that configured redirects are always handled as HTTP redirects regardless of output mode, and the default HTML files for the redirects are no longer generated in
static
output. It makes the Node.js adapter more consistent with the other official adapters.No change to your project is required to take advantage of this new adapter functionality. It is not expected to cause any breaking changes. However, if you relied on the previous redirecting behavior, you may need to handle your redirects differently now. Otherwise you should notice smoother redirects, with more accurate HTTP status codes, and may potentially see some SEO gains.
astro@5.14.5
Patch Changes
-
#14525
4f55781
Thanks @penx! - FixesdefineLiveCollection()
types -
#14441
62ec8ea
Thanks @upsuper! - Updates redirect handling to be consistent acrossstatic
andserver
output, aligning with the behavior of other adapters.Previously, the Node.js adapter used default HTML files with meta refresh tags when in
static
output. This often resulted in an extra flash of the page on redirect, while also not applying the proper status code for redirections. It's also likely less friendly to search engines.This update ensures that configured redirects are always handled as HTTP redirects regardless of output mode, and the default HTML files for the redirects are no longer generated in
static
output. It makes the Node.js adapter more consistent with the other official adapters.No change to your project is required to take advantage of this new adapter functionality. It is not expected to cause any breaking changes. However, if you relied on the previous redirecting behavior, you may need to handle your redirects differently now. Otherwise you should notice smoother redirects, with more accurate HTTP status codes, and may potentially see some SEO gains.
-
#14506
ec3cbe1
Thanks @abdo-spices! - Updates the<Font />
component so that preload links are generated after the style tag, as recommended by capo.js
create-astro@4.13.2
Patch Changes
- #14528
3597371
Thanks @florian-lefebvre! - Fixes a case where a deprecation warning would be shown on Node 24
@astrojs/netlify@6.5.13
Patch Changes
-
#14536
9261996
Thanks @florian-lefebvre! - Fixes a bug that caused too many files to be bundled in SSR -
Updated dependencies []:
- @astrojs/underscore-redirects@1.0.0
@astrojs/vercel@8.2.10
Patch Changes
- #14536
9261996
Thanks @florian-lefebvre! - Fixes a bug that caused too many files to be bundled in SSR

Changes
Fixed a typo in import
- Don't forget a changeset! Run
pnpm changeset
.
Testing
I saw a TypeScript error locally when looking at node_modules/astro/types/content.d.ts
export function defineLiveCollection<
L extends import('astro/loader').LiveLoader,
S extends import('astro/content/config').BaseSchema | undefined = undefined,
>(
config: import('astro/content/config').LiveCollectionConfig<L, S>,
): import('astro/content/config').LiveCollectionConfig<L, S>;
Cannot find module 'astro/loader' or its corresponding type declarations
This package doesn't seem to exist, and the import seems to be in astro/loaders
so opening a quick PR to address.
No further tests done as I'm unfamiliar with Astro internals.
Docs
I don't think any docs are needed.

This PR contains the following updates:
Release Notes
antfu-collective/package-manager-detector (package-manager-detector)
v1.4.0
No significant changes
View changes on GitHub
publint/publint (publint)
v0.3.14
Patch Changes
- Add a new warning when an entrypoint is exported as CJS-only, has a default export, and has the
__esModule
marker. This setup has different interpretations by bundlers and runtimes, and implicit handling detection that may not be obvious for both package authors and users, hence it is discouraged. (#201)
npm/node-semver (semver)
v7.7.3
Bug Fixes
e37e0ca
#813 faster paths for compare (#813) (@H4ad)2471d75
#811 x-range build metadata support (i529015)
Chores
8f05c87
#807 bump @npmcli/template-oss from 4.25.0 to 4.25.1 (#807) (@dependabot[bot], @owlstronaut)
sveltejs/svelte (svelte)
v5.39.11
Patch Changes
- fix: flush batches whenever an async value resolves (#16912)
v5.39.10
Patch Changes
-
fix: hydrate each blocks inside element correctly (#16908)
-
fix: allow await in if block consequent and alternate (#16890)
-
fix: don't replace rest props with
$$props
for excluded props (#16898) -
fix: correctly transform
$derived
private fields on server (#16894) -
fix: add
UNKNOWN
evaluation value before breaking forbinding.initial===SnippetBlock
(#16910)
v5.39.9
Patch Changes
- fix: flush when pending boundaries resolve (#16897)
typescript-eslint/typescript-eslint (typescript-eslint)
v8.46.0
🚀 Features
❤️ Thank You
- Mister-Hope @Mister-Hope
You can read about our versioning strategy and releases on our website.
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.

Changes
- Make getAllowedDomains() call optional with fallback to empty array
- Update peer dependency to require astro@^5.14.3
- Fixes #14513
Testing
N/A
Docs
N/A

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
astro@5.14.4
Patch Changes
- #14509
7e04caf
Thanks @ArmandPhilippot! - Fixes an error in the docs that specified an incorrect version for thesecurity.allowedDomains
release.
@astrojs/node@9.4.6
Patch Changes

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
astro@5.14.3
Patch Changes

Changes
- reorder style tag with link tag based capo js to enhance rendering
Testing
n/a
Docs
n/a

Changes
- Some tests were failing, this fixes them
Testing
- Updates them to use the new allowedDomains feature
Docs
N/A, bug fix

Changes
- Depends on #14501
- Updates the
create-key
command to display help, which involved creating a bunch of abstractions to allow unit testing. I understand it may seem overkill but it's really preparing the refactor of the next commands
Testing
Added unit tests
Docs
N/A, internal refactor

Changes
- Updates the implementation of CLI's
create-key
command so it's unit testable
Testing
Adds a unit test
Docs
N/A, internal refactor. Will send a docs PR tho because it's not documented in the CLI reference
Description
- Closes #3456
As discussed in the linked issue, this PR dedupes <link rel="sitemap" href="" />
tags in the head, similar to how <link rel="canonical" href="" />
tags are deduped.
I think the changeset is a bit verbose, not quite sure how to make it more concise while still being clear and explaining the use-case. Happy to adjust as needed.


Note
Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to mend[bot]
.
This notice will be removed on 2025-10-07.
This PR contains the following updates:
Release Notes
withastro/astro (@astrojs/sitemap)
v3.6.0
Minor Changes
-
#14285
bedc31b
Thanks @jdcolombo! - Adds a new configuration optionnamespaces
for more control over XML namespaces used in sitemap generationExcluding unused namespaces can help create cleaner, more focused sitemaps that are faster for search engines to parse and use less bandwidth. If your site doesn't have news content, videos, or multiple languages, you can exclude those namespaces to reduce XML bloat.
The
namespaces
option allows you to configurenews
,xhtml
,image
, andvideo
namespaces independently. All namespaces are enabled by default for backward compatibility and no change to existing projects is necessary. But now, you can choose to streamline your XML and avoid unnecessary code.For example, to exclude the video namespace from your sitemap, set
video: false
in your configuration:// astro.config.mjs import { sitemap } from '@​astrojs/sitemap'; export default { integrations: [ sitemap({ namespaces: { video: false, // other namespaces remain enabled by default } }) ] };
The generated XML will not include the
xmlns:video
namespace:<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" > <!-- ... --> </urlset>
withastro/astro (@astrojs/svelte)
v7.2.0
Minor Changes
-
#14430
78011ba
Thanks @ascorbic! - Adds support for async server renderingSvelte 5.36 added experimental support for async rendering. This allows you to use
await
in your components in several new places. This worked out of the box with client-rendered components, but server-rendered components needed some extra help. This update adds support for async server rendering in Svelte components used in Astro.To use async rendering, you must enable it in your Svelte config:
// svelte.config.js export default { compilerOptions: { experimental: { async: true, }, }, };
Then you can use
await
in your components:<script> let data = await fetch('/api/data').then(res => res.json()); </script> <h1>{data.title}</h1>
See the Svelte docs for more information on using
await
in Svelte components, including inside$derived
blocks and directly in markup.
Patch Changes
- #14433
9cc8f21
Thanks @ascorbic! - Fixes a bug that prevented Svelte 5.39.1+ components rendering when multiple frameworks were present
cloudflare/workerd (@cloudflare/workers-types)
v4.20251003.0
v4.20251001.0
v4.20250927.0
v4.20250926.0
v4.20250924.0
v4.20250923.0
v4.20250922.0
v4.20250921.0
v4.20250920.0
v4.20250919.0
v4.20250918.0
v4.20250917.0
rollup/rollup (rollup)
v4.52.3
2025-09-27
Bug Fixes
- Fix check in native loader for environments that do not support reports (#6123)
Pull Requests
- #6123: fix(native-loader): safely handle report.getReport() on Termux/Android (@Jobians, @lukastaegert)
- #6124: chore(deps): pin msys2/setup-msys2 action to
fb197b7
(@renovate[bot]) - #6125: fix(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #6126: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
v4.52.2
2025-09-23
Bug Fixes
- Fix Android build crashing due to failed dlopen (#6109)
Pull Requests
- #6109: fix(rust): use prebuilt std when it is available (@cyyynthia)
v4.52.1
2025-09-23
Bug Fixes
- Opt-out of dynamic import optimization when using top-level await to effectively prevent deadlocks (#6121)
Pull Requests
- #6121: Simplify top-level await deadlock prevention (@lukastaegert)
v4.52.0
2025-09-19
Features
- Add option
output.onlyExplicitManualChunks
to turn off merging additional dependencies into manual chunks (#6087) - Add support for x86_64-pc-windows-gnu platform (#6110)
Pull Requests
- #6087: fix: manualChunks and non manualChunks shared dependencies are merged with the first manualChunk encountered alphabetically (@maiieul)
- #6110: Add support x86_64-pc-windows-gnu (@lsq, @lukastaegert)
- #6118: Automatically remove REPL artefacts label from PRs (@lukastaegert)
v4.51.0
2025-09-19
Features
- Support ROLLUP_FILE_URL_OBJ placeholder to inject file URLs into the generated code (#6108)
Bug Fixes
- Improve OpenHarmony build to work in more situations (#6115)
Pull Requests
- #6108: feat: support ROLLUP_FILE_URL_OBJ for URL object instead of string (@guybedford, @lukastaegert)
- #6112: Disable Cargo cache for Android (@lukastaegert)
- #6113: fix(deps): update rust crate swc_compiler_base to v35 (@renovate[bot])
- #6114: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #6115: Disable local_dynamic_tls for OpenHarmony (@hqzing)
- #6116: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #6117: chore(deps): lock file maintenance (@renovate[bot])
sveltejs/svelte (svelte)
v5.39.8
Patch Changes
-
fix: check boundary
pending
attribute at runtime on server (#16855) -
fix: preserve tuple type in
$state.snapshot
(#16864) -
fix: allow await in svelte:boundary without pending (#16857)
-
fix: update
bind:checked
error message to clarify usage with radio inputs (#16874)
v5.39.7
Patch Changes
-
chore: simplify batch logic (#16847)
-
fix: rebase pending batches when other batches are committed (#16866)
-
fix: wrap async
children
in$$renderer.async
(#16862) -
fix: silence label warning for buttons and anchor tags with title attributes (#16872)
-
fix: coerce nullish
<title>
to empty string (#16863)
cloudflare/workers-sdk (wrangler)
v4.41.0
Minor Changes
-
#10507
21a0bef
Thanks @dario-piotrowicz! - Add strict mode for thewrangler deploy
commandAdd a new flag:
--strict
that makes thewrangler deploy
command be more strict and not deploy workers when the deployment could be potentially problematic. This "strict mode" currently only affects non-interactive sessions where conflicts with the remote settings for the worker (for example when the worker has been re-deployed via the dashboard) will cause the deployment to fail instead of automatically overriding the remote settings. -
#10710
7f2386e
Thanks @penalosa! - Add prompt to resource creation flow allowing for newly created resources to be remote.
Patch Changes
-
#10822
4c06766
Thanks @edmundhung! - fix: skip banner when using--json
flag inwrangler pages deployment
commands -
#10838
d3aee31
Thanks @edmundhung! - fix: skip banner when using--json
flag inwrangler queues subscription
commands -
#10829
59e8ef0
Thanks @edmundhung! - fix: skip banner when using--json
flag inwrangler pipelines
commands -
#10764
79a6b7d
Thanks @emily-shen! - containers: defaultmax_instances
to 20 instead of 1. -
#10844
7a4d0da
Thanks @mikenomitch! - Adds new Container instance types, and renamedev
tolite
andstandard
tostandard-1
. The new instance_types are now:Instance Type vCPU Memory Disk lite (previously dev) 1/16 256 MiB 2 GB basic 1/4 1 GiB 4 GB standard-1 (previously standard) 1/2 4 GiB 8 GB standard-2 1 6 GiB 12 GB standard-3 2 8 GiB 16 GB standard-4 4 12 GiB 20 GB -
#10634
62656bd
Thanks @emily-shen! - fix: error if the container image uri has an account id that doesn't match the current account -
#10761
886e577
Thanks @petebacondarwin! - switch zone route warning to an info message -
#10734
8d7f32e
Thanks @penalosa! - Improve formatting of logged errors in some cases -
#10832
f9d37db
Thanks @petebacondarwin! - retry subdomain requests to be more resilient to flakes -
#10770
835d6f7
Thanks @danielrs! - Enabling or disablingworkers_dev
is often an indication that
the user is also trying to enable or disablepreview_urls
. Warn the
user when these enter mixed state. -
#10764
79a6b7d
Thanks @emily-shen! - fix: respect the log level set by wrangler when logging using @cloudflare/cli -
Updated dependencies [
c8d5282
,bffd2a9
]:- miniflare@4.20251001.0
v4.40.3
Patch Changes
-
#10602
ff82d80
Thanks @tukiminya! - fix: update Secrets Store command status from alpha to open-beta -
#10623
7a6381c
Thanks @IRCody! - Handle more cases for correctly resolving the full uri for an image when using containers push. -
#10779
325d22e
Thanks @hoodmane! - Add fallthrough: true for python_modules data rule -
#10112
8d07576
Thanks @devin-ai-integration! - fix: allow Workflow bindings when calling getPlatformProxy()Workflow bindings are not supported in practice when using
getPlatformProxy()
.
But their existence in a Wrangler config file should not prevent other bindings from working.
Previously, callinggetPlatformProxy()
would crash if there were any Workflow bindings defined.
Now, instead, you get a warning telling you that these bindings are not available. -
#10769
0a554f9
Thanks @penalosa! - Mark more errors asUserError
to disable Sentry reporting -
#10679
6244a9e
Thanks @KianNH! - Fix rendering for nested objects incontainers list
andcontainers info [ID]
-
#10785
d09cab3
Thanks @pombosilva! - Workflows names and instance IDs are now properly validated with production limits. -
Updated dependencies [
6ff41a6
,0c208e1
,2432022
,d0801b1
,0a554f9
]:- miniflare@4.20250927.0
- @cloudflare/unenv-preset@2.7.5
v4.40.2
Patch Changes
- #10771
b455281
Thanks @penalosa! - Fix Worker Loader binding type
v4.40.1
Patch Changes
- #10668
a57149f
Thanks @danielrs! - Support the deletion of secrets with complex names
v4.40.0
Minor Changes
- #10743
a7ac751
Thanks @jonesphillip! - Changes--fileSizeMB
to--file-size
forwrangler r2 bucket catalog
compaction command.
Small fixes for pipelines commands.
Patch Changes
-
#10706
81fd733
Thanks @1000hz! - Fixed an issue that caused some Workers to have an incorrect service tag applied when using a redirected configuration file (as used by the Cloudflare Vite plugin). This resulted in these Workers not being correctly grouped with their sibling environments in the Cloudflare dashboard. -
Updated dependencies [
06e9a48
]:- miniflare@4.20250924.0
v4.39.0
Minor Changes
-
#10647
555a6da
Thanks @efalcao! - VPC service binding support -
#10612
97a72cc
Thanks @jonesphillip! - Added new pipelines commands (pipelines, streams, sinks, setup), moved old pipelines commands behind --legacy -
#10652
acd48ed
Thanks @edmundhung! - Rename Hyperdrive local connection string environment variable fromWRANGLER_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>
toCLOUDFLARE_HYPERDRIVE_LOCAL_CONNECTION_STRING_<BINDING_NAME>
. The old variable name is still supported but will now show a deprecation warning. -
#10721
55a10a3
Thanks @penalosa! - Stabilise Worker Loader bindings
Patch Changes
-
#10724
b4a4311
Thanks @penalosa! - Use Cap'n Web inworkers-sdk
-
#10701
dc1d0d6
Thanks @penalosa! - Fix hotkeys double render -
Updated dependencies [
555a6da
,262393a
,3ec1f65
,a434352
,328e687
,b4a4311
]:- miniflare@4.20250923.0
v4.38.0
Minor Changes
-
#10654
a4e2439
Thanks @laplab! - Switch to WRANGLER_R2_SQL_AUTH_TOKEN env variable for R2 SQL secret. Update the response format for R2 SQL -
#10676
f76da43
Thanks @penalosa! - Supportctx.exports
in wrangler types -
#10651
6caf938
Thanks @edevil! - Added new attribute "allowed_sender_addresses" to send email binding.
Patch Changes
-
#10674
1cc258e
Thanks @penalosa! - Fix remote/local display for KV/D1/R2 & Browser bindings -
#10678
b30263e
Thanks @penalosa! - Remove dummy auth from SDK setup -
#10678
b30263e
Thanks @penalosa! - AddWRANGLER_TRACE_ID
environment variable to support internal testing -
#10561
769ffb1
Thanks @danielrs! - Do not show subdomain status mismatch warnings on first deploy. -
Updated dependencies [
b59e3e1
,e9b0c66
,6caf938
,88132bc
]:- miniflare@4.20250917.0
- @cloudflare/unenv-preset@2.7.4
v4.37.1
Patch Changes
-
#10658
3029b9a
Thanks @1000hz! - Fixed an issue with service tags not being applied properly to Workers when the Wrangler configuration file did not include a top-levelname
property. -
#10657
31ec996
Thanks @penalosa! - Disable remote bindings with the--local
flag -
Updated dependencies [
783afeb
]:- miniflare@4.20250913.0
v4.37.0
Minor Changes
-
#10546
d53a0bc
Thanks @1000hz! - On deploy or version upload, Workers with multiple environments are tagged with metadata that groups them together in the Cloudflare Dashboard. -
#10596
735785e
Thanks @penalosa! - Add Miniflare & Wrangler support for unbound Durable Objects -
#10622
15c34e2
Thanks @nagraham! - Modify R2 Data Catalog compaction commands to enable/disable for Catalog (remove table/namespace args), and require Cloudflare API token on enable.
Patch Changes
- Updated dependencies [
735785e
]:- miniflare@4.20250906.2
v4.36.0
Minor Changes
-
#10604
135e066
Thanks @penalosa! - Enable Remote Bindings without the need for the--x-remote-bindings
flag -
#10558
30f558e
Thanks @laplab! - Add commands to send queries and manage R2 SQL product. -
#10574
d8860ac
Thanks @efalcao! - Add support for VPC services CRUD viawrangler vpc service
-
#10119
336a75d
Thanks @dxh9845! - Add support for dynamically loading 'external' Miniflare plugins for unsafe Worker bindings (developed outside of the workers-sdk repo)
Patch Changes
-
#10212
0837a8d
Thanks @jamesopstad! - AddpreserveOriginalMain
option tounstable_readConfig
. This will pass the originalmain
value through, without converting it to an absolute path. -
#10541
da24079
Thanks @qjex! - stableratelimit
bindingRate Limiting in Workers is now generally available,
ratelimit
can be removed from unsafe bindings. -
#10479
ffa2600
Thanks @nagraham! - feat: Add wrangler commands for the R2 Data Catalog compaction feature -
#9955
51553ef
Thanks @penalosa! - Integrate the Cloudflare SDK into Wrangler (internal refactor) -
Updated dependencies [
e2b838f
,336a75d
]:- miniflare@4.20250906.1
v4.35.0
Minor Changes
-
#10491
5cb806f
Thanks @zebp! - Add traces, OTEL destinations, and configurable persistence to observability settingsAdds a new
traces
field to theobservability
settings in your Worker configuration that configures the behavior of automatic tracing. Bothtraces
andlogs
support providing a list of OpenTelemetry compliantdestinations
where your logs/traces will be exported to as well as an implicitly-enabledpersist
option that controls whether or not logs/traces are persisted to the Cloudflare observability platform and viewable in the Cloudflare dashboard.
Patch Changes
-
#10571
4e49d3e
Thanks @dario-piotrowicz! - add missing type forsend_email
'sexperimental_remote
field -
#10534
dceb550
Thanks @dario-piotrowicz! - updateunstable_convertConfigBindingsToStartWorkerBindings
to prioritize preview config valuesEnsure that if some bindings include preview values (e.g.
preview_database_id
for D1 bindings) those get used instead of the standard ones (since these are the ones that start worker should be using) -
Updated dependencies [
dac302c
,3b78839
]:- miniflare@4.20250906.0
- @cloudflare/unenv-preset@2.7.3
v4.34.0
Minor Changes
-
#10478
cc47b51
Thanks @danielrs! - Beta feature preview_urls is now disabled by default.This change makes preview_urls disabled by default when it's not provided, making
the feature opt-in instead of opt-out.
Patch Changes
-
#10489
6e8dd80
Thanks @WalshyDev! - Allow Wrangler to upload 100,000 assets inline with the newly increased Workers Paid limit. -
#10517
7211609
Thanks @edmundhung! - fix:wrangler vectorize list-vectors --json
now output valid json without an extra log line -
#10527
818ce22
Thanks @vicb! - Bumpunenv
to 2.0.0-rc.20The latest release include a fix for
node:tty
default export.
See the changelog for full details. -
#10519
5d69df4
Thanks @dario-piotrowicz! - Slightly improvewrangler init --from-dash
error message -
#10519
5d69df4
Thanks @dario-piotrowicz! - Internally refactor diffing andwrangler init --from-dash
logic -
#10533
c22acc6
Thanks @emily-shen! - If unset, containers.max_instances should default to 1 instead of 0. -
#10503
c0fad5f
Thanks @ichernetsky-cf! - Support setting container affinities -
#10515
c6a39f5
Thanks @emily-shen! - fix: script should be accepted as a positional arg in theversions upload
command -
Updated dependencies [
4cb3370
,818ce22
,cb22f5f
,a565291
]:- miniflare@4.20250902.0
- @cloudflare/unenv-preset@2.7.2
v4.33.2
Patch Changes
-
#10401
3c15bbb
Thanks @dario-piotrowicz! - improve diff lines ordering in remote deploy config diffing logic -
#10520
dc81221
Thanks @emily-shen! - fix: wrangler deploy dry run should not require you to be logged inFixes a bug where if you had a container where the image was an image registry link, dry run would require you to be logged in.
Also fixes a bug where container deployments were not respectingaccount_id
set in Wrangler config. -
#10393
4492eb0
Thanks @dario-piotrowicz! - Use resolved local config for remote deploy config diffing logic -
Updated dependencies [
31ecfeb
,f656d1a
,22c8ae6
,bd21fc5
,38bdb78
,4851955
]:- @cloudflare/unenv-preset@2.7.1
- miniflare@4.20250829.0
v4.33.1
Patch Changes
- #10427 [
85be2b6
](https://re
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.

Note
Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to mend[bot]
.
This notice will be removed on 2025-10-07.
This PR contains the following updates:
Release Notes
tailwindlabs/tailwindcss (@tailwindcss/vite)
v4.1.14
Fixed
- Handle
'
syntax in ClojureScript when extracting classes (#18888) - Handle
@variant
inside@custom-variant
(#18885) - Merge suggestions when using
@utility
(#18900) - Ensure that file system watchers created when using the CLI are always cleaned up (#18905)
- Do not generate
grid-column
utilities when configuringgrid-column-start
orgrid-column-end
(#18907) - Do not generate
grid-row
utilities when configuringgrid-row-start
orgrid-row-end
(#18907) - Prevent duplicate CSS when overwriting a static utility with a theme key (#18056)
- Show Lightning CSS warnings (if any) when optimizing/minifying (#18918)
- Use
default
export condition for@tailwindcss/vite
(#18948) - Re-throw errors from PostCSS nodes (#18373)
- Detect classes in markdown inline directives (#18967)
- Ensure files with only
@theme
produce no output when built (#18979) - Support Maud templates when extracting classes (#18988)
- Upgrade: Do not migrate
variant = 'outline'
during upgrades (#18922) - Upgrade: Show version mismatch (if any) when running upgrade tool (#19028)
- Upgrade: Ensure first class inside
className
is migrated (#19031) - Upgrade: Migrate classes inside
*ClassName
and*Class
attributes (#19031)
typescript-eslint/typescript-eslint (typescript-eslint)
v8.45.0
This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.
You can read about our versioning strategy and releases on our website.
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.

Changes
- This PR adds a button to copy the stack trace, which makes it easier to add to any LLM or AI editor for easier debugging. More here Discussion #1234
- There is a subtle animation to give feedback that the stack is copied
Video of the Implementation
Screen.Recording.2025-10-04.at.2.14.21.PM.mov
Testing
I ran pnpm test:e2e:match "error|overlay"
, all the 18 test cases passed
Docs
It is a small UI addition to the error overlay, so i believe no docs are needed

Fixes issue where custom 500.astro
pages did not include their styles when rendered dynamically in SSR mode.
Root Cause
Error pages like 500.astro
were not always added to the SSR pageMap
when pageData2
was missing from internals.pagesByKeys
.
This prevented Vite from importing the page during build, so CSS was never collected into the manifest.
Changes
- Modified
plugin-ssr.ts
to always add pages topageMap
, even ifpageData2
is undefined - Added fallback to use
pageData.component
in those cases - Extended
custom-500
fixture to include inline styles - Added regression test: verifies that styles from
500.astro
are included in SSR output (checks minified CSS)
Impact
- Ensures custom 500 error pages behave consistently with other routes
- Fix is build-time only; no runtime overhead
- Custom
500.astro
remains optional — if missing, Astro still falls back to default error overlay
Closes #13272
Changes
- 500 error pages now properly include their styles in SSR
- Added regression test to prevent future regressions
Testing
- Added new integration test under
test/custom-500.test.js
- Verified fixture builds and renders styles correctly
- All existing tests continue to pass (
pnpm test
)
Docs
- No user-facing docs changes required
- Behavior matches existing 404 error page behavior

Description
This PR adds the saucer documentation to the site showcase



Changes
- See withastro/compiler#1114
- In v5,
renderScript
became the default so we update the compiler and remove the option - Depends on #14480
Testing
Should pass
Docs
N/A, internal change

Changes
This PR adds support for Astro Actions inside the Cloudflare plugin dev app
Testing
I added a new example in the plugin, and made sure that I receive the correct message when navigating to /action-success
Docs
N/A


Changes
- Until now, if unifont couldn't resolve font data for a given family, we should show a generic message. It is valid in some cases
- However in most cases this is due to a config issue, eg. a typo in the font family name
- So we add a log for it
Testing
Adds unit tests
Docs
Changesets

Changes
- These errors should be safe to delete according to our guidelines
Testing
Should pass
Docs
N/A

Changes
- 0.30.2 causes too many files to be bundled, which can cause deployments on serverless platforms to hit limits
- vercel/nft#545
Testing
N/A
Docs
Changeset

Description
- Support searching within content collections rendered through the
RenderPost
component - Support collection type filter, batch loading, search term highlighting on the results page, limit on displayed results, and keyboard navigation
- Support linking search results to the nearest heading position in the post
- Add global
FEATURES.search
option with configs - Add
search
frontmatter to control per-post inclusion - Refer to Search Functionality for details

Changes
- What does this change?
- Be short and concise. Bullet points can help!
- Before/after screenshots can help as well.
- Don't forget a changeset! Run
pnpm changeset
. - See https://contribute.docs.astro.build/docs-for-code-changes/changesets/ for more info on writing changesets.
New sitemap optional configuration for named sitemap files chunking strategy
Adds a chunks option to the sitemap configuration schema.
This allows users to define custom chunking strategies for
generating sitemaps, providing flexibility in how the sitemap
is split into multiple files.
integrations: [
sitemap({
serialize(item) {
return item
},
chunks: {
'blog': (item) => {
if (/blog/.test(item.url)) {
item.changefreq = 'weekly';
item.lastmod = new Date();
item.priority = 0.9;
return item;
}
},
'glossary': (item) => {
if (/glossary/.test(item.url)) {
item.changefreq = 'weekly';
item.lastmod = new Date();
item.priority = 0.9;
return item;
}
}
},
}),
],
Testing


Docs
yes, to add optional configurations for the chunks
@withastro/maintainers-docs for feedback!

Changes
The only change in v1 is that tinyexec
now ships as ESM-only, which is non-breaking for us. This package was already lightweight (46 KB), but v1 is even smaller (27 KB)
See https://github.com/tinylibs/tinyexec/releases/tag/1.0.0
Testing
Existing tests should pass
Docs
N/A

Changes
No breaking changes for Astro as v3 was only released to drop support for Node <18, which we had already done. It removes polyfills, making for a lighter dependency (removes blob-to-buffer
and cross-fetch
from astro
’s transitive deps).
See https://github.com/seek-oss/capsize/releases/tag/%40capsizecss%2Funpack%403.0.0
Testing
Existing tests should pass
Docs
N/A

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
astro@5.14.2
Patch Changes
-
#14459
916f9c2
Thanks @florian-lefebvre! - Improves font files URLs in development when using the experimental fonts API by showing the subset if present -
b8ca69b
Thanks @ascorbic! - Aligns dev image server file base with Vite rules -
#14469
1c090b0
Thanks @delucis! - Updatestinyexec
dependency -
#14460
008dc75
Thanks @florian-lefebvre! - Fixes a case whereastro:config/server
values typed as URLs would be serialized as strings -
#13730
7260367
Thanks @razonyang! - Fixes a bug in i18n, where Astro caused an infinite loop when a locale that doesn't have an index, and Astro falls back to the index of the default locale. -
6ee63bf
Thanks @matthewp! - Addssecurity.allowedDomains
configuration to validateX-Forwarded-Host
headers in SSRThe
X-Forwarded-Host
header will now only be trusted if it matches one of the configured allowed host patterns. This prevents host header injection attacks that can lead to cache poisoning and other security vulnerabilities.Configure allowed host patterns to enable
X-Forwarded-Host
support:// astro.config.mjs export default defineConfig({ output: 'server', adapter: node(), security: { allowedDomains: [ { hostname: 'example.com' }, { hostname: '*.example.com' }, { hostname: 'cdn.example.com', port: '443' }, ], }, });
The patterns support wildcards (
*
and**
) for flexible hostname matching and can optionally specify protocol and port.Breaking change
Previously,
Astro.url
would reflect the value of theX-Forwarded-Host
header. While this header is commonly used by reverse proxies like Nginx to communicate the original host, it can be sent by any client, potentially allowing malicious actors to poison caches with incorrect URLs.If you were relying on
X-Forwarded-Host
support, addsecurity.allowedDomains
to your configuration to restore this functionality securely. WhenallowedDomains
is not configured,X-Forwarded-Host
headers are now ignored by default. -
#14488
badc929
Thanks @olcanebrem! - Fixes a case where styles on the custom 500 error page would not be included -
#14487
1e5b72c
Thanks @florian-lefebvre! - Fixes a case where the URLs generated by the experimental Fonts API would be incorrect in dev -
#14475
ae034ae
Thanks @florian-lefebvre! - Warns if the font family name is not supported by the provider when using the experimental fonts API -
#14468
2f2a5da
Thanks @delucis! - Updates@capsizecss/unpack
dependency -
Updated dependencies [
b8ca69b
]:- @astrojs/internal-helpers@0.7.4
- @astrojs/markdown-remark@6.3.8
@astrojs/cloudflare@12.6.10
Patch Changes
-
Updated dependencies [
b8ca69b
]:- @astrojs/internal-helpers@0.7.4
- @astrojs/underscore-redirects@1.0.0
@astrojs/markdoc@0.15.8
Patch Changes
- Updated dependencies [
b8ca69b
]:- @astrojs/internal-helpers@0.7.4
- @astrojs/markdown-remark@6.3.8
@astrojs/mdx@4.3.7
Patch Changes
- Updated dependencies []:
- @astrojs/markdown-remark@6.3.8
@astrojs/netlify@6.5.12
Patch Changes
-
#14473
d9634d3
Thanks @florian-lefebvre! - Fixes a bug that caused too many files to be bundled in SSR -
Updated dependencies [
b8ca69b
]:- @astrojs/internal-helpers@0.7.4
- @astrojs/underscore-redirects@1.0.0
@astrojs/node@9.4.5
Patch Changes
- Updated dependencies [
b8ca69b
]:- @astrojs/internal-helpers@0.7.4
@astrojs/vercel@8.2.9
Patch Changes
-
#14473
d9634d3
Thanks @florian-lefebvre! - Fixes a bug that caused too many files to be bundled in SSR -
Updated dependencies [
b8ca69b
]:- @astrojs/internal-helpers@0.7.4
@astrojs/internal-helpers@0.7.4
Patch Changes
@astrojs/markdown-remark@6.3.8
Patch Changes
- Updated dependencies [
b8ca69b
]:- @astrojs/internal-helpers@0.7.4
Last fetched: | Scheduled refresh: Every Saturday
See Customizing GitHub Activity Pages to configure your own
Inspired by prs.atinux.com