Open
Conversation
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
astro-tips | 5931805 | Apr 03 2026, 01:30 AM |
110d217 to
5e3e086
Compare
ba0595d to
c397a02
Compare
4b6ecdb to
00bffd8
Compare
00bffd8 to
5931805
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
12.6.12→13.1.65.16.13→6.1.2Release Notes
withastro/astro (@astrojs/cloudflare)
v13.1.6Compare Source
Patch Changes
4978165Thanks @matthewp! - Fixes a dev-mode crash loop in the Cloudflare adapter when using Starlight by excluding@astrojs/starlightfrom SSR dependency optimizationv13.1.5Compare Source
Patch Changes
#16109
c887b4aThanks @matthewp! - Fix HMR crash when editing content collection files caused by Vite's SSR transform colliding with zod v4'smetaexportUpdated dependencies []:
v13.1.4Compare Source
Patch Changes
#16041
56d2bdeThanks @kylemclean! - Fixes unnecessary prerendering of redirect destinationsUnnecessary files are no longer generated by static builds for redirected routes.
Requests are no longer made at build time to external redirect destination URLs, which could cause builds to fail.
Updated dependencies []:
v13.1.3Compare Source
Patch Changes
3b8d473]:v13.1.2Compare Source
Patch Changes
#15888
925252eThanks @matthewp! - Fixes a bug where dependencies imported by prerender-onlyserver:deferislands could remain as bare imports in server output, causing module resolution failures in preview and Cloudflare Workers.#15934
6f8f0bcThanks @ematipico! - Updates the AstropeerDependencies#astroto be6.0.0.#15875
c43ef8aThanks @matthewp! - Include workerd response details in Cloudflare prerenderer errors to makegetStaticPaths()failures easier to diagnose.Updated dependencies []:
v13.1.1Compare Source
Patch Changes
#15815
d1872eeThanks @matthewp! - Prebundle additional Astro runtime dependencies for Cloudflare development server, speeding up initial start time and preventing required restarts.#15872
3b47b89Thanks @Princesseuh! - Fixes images not working in dev mode when using thecloudflareoptionUpdated dependencies []:
v13.1.0Compare Source
Minor Changes
#15711
b2bd27bThanks @OliverSpeir! - Adds aprerenderEnvironmentoption to the Cloudflare adapter.By default, Cloudflare uses its workerd runtime for prerendering static pages. Set
prerenderEnvironmentto'node'to use Astro's built-in Node.js prerender environment instead, giving prerendered pages access to the full Node.js ecosystem during both build and dev. This is useful when your prerendered pages depend on Node.js-specific APIs or NPM packages that aren't compatible with workerd.Patch Changes
#15845
50fcc8bThanks @aqiray! - fix: show actionable error when running astro preview without prior build#15794
d1ac58eThanks @OliverSpeir! - Fixes image serving inpassthroughmode by using the CloudflareASSETSbinding instead of generic fetch, which does not work in Workers for local assets#15850
660da74Thanks @tristanbes! - fix(cloudflare): forwardconfigPathand otherPluginConfigoptions to the Cloudflare Vite PluginOptions like
configPath,inspectorPort,persistState,remoteBindings, andauxiliaryWorkerswere accepted by the type system but never forwarded tocfVitePlugin(), making them silently ignored.Also fixes
addWatchFileforconfigPathwhich resolved the path relative to the adapter'snode_modulesdirectory instead of the project root.#15843
fcd237dThanks @Calvin-LL! - fix cloudflare image transform ignoring quality parameterUpdated dependencies []:
v13.0.2Patch Changes
#15832
95e12a2Thanks @Princesseuh! - Fixesreturn;syntax not working in the frontmatter correctly in certain contexts#15803
e42b015Thanks @merlinnot! - Fixes the Cloudflare adapter adding aSESSIONKV binding even when sessions are explicitly configured to use a different driver, such asunstorage/drivers/null.Updated dependencies []:
v13.0.1Patch Changes
e20474b]:v13.0.0Compare Source
Major Changes
141c4a2Thanks @ematipico! - Changes the API for creating a customentrypoint, replacing thecreateExports()function with a direct export pattern.What should I do?
If you're using a custom
entryPointin your Cloudflare adapter config, update your existing worker file that usescreateExports()to reflect the new, simplified pattern:my-entry.ts
To create the same custom
entrypointusing the updated API, export the following function instead:my-entry.ts
The manifest is now created internally by the adapter.
#15435
957b9feThanks @rururux! - Changes the default image service fromcompiletocloudflare-binding. Image services options that resulted in broken images in development due to Node JS incompatiblities have now been updated to use the noop passthrough image service in dev mode. - (Cloudflare v13 and Astro6 upgrade guidance)#15400
41eb284Thanks @florian-lefebvre! - Removes theworkerEntryPointoption, which wasn't used anymore. Set themainfield of your wrangler config insteadSee how to migrate
#14306
141c4a2Thanks @ematipico! - Development server now runs in workerdastro devnow runs your Cloudflare application using Cloudflare's workerd runtime instead of Node.js. This means your development environment is now a near-exact replica of your production environment—the same JavaScript engine, the same APIs, the same behavior. You'll catch issues during development that would have only appeared in production, and features like Durable Objects, Workers Analytics Engine, and R2 bindings work exactly as they do on Cloudflare's platform.New runtime
Previously,
Astro.locals.runtimeprovided access to Cloudflare-specific APIs. These APIs have now moved to align with Cloudflare's native patterns.What should I do?
Update occurrences of
Astro.locals.runtime:Astro.locals.runtime.env→ Importenvfromcloudflare:workersAstro.locals.runtime.cf→ Access viaAstro.request.cfAstro.locals.runtime.caches→ Use the globalcachesobjectAstro.locals.runtime(forExecutionContext) → UseAstro.locals.cfContextHere's an example showing how to update your code:
Before:
After:
#15345
840fbf9Thanks @matthewp! - Removes thecloudflareModulesadapter optionThe
cloudflareModulesoption has been removed because it is no longer necessary. Cloudflare natively supports importing.sql,.wasm, and other module types.What should I do?
Remove the
cloudflareModulesoption from your Cloudflare adapter configuration if you were using it:import cloudflare from '@​astrojs/cloudflare'; export default defineConfig({ adapter: cloudflare({ - cloudflareModules: true }) });#14445
ecb0b98Thanks @florian-lefebvre! - Astro v6.0 upgrades to Vite v7.0 as the development server and production bundler - (v6 upgrade guidance)#15037
8641805Thanks @matthewp! - Updates the Wrangler entrypointPreviously, the
mainfield inwrangler.jsoncpointed to the built output, since Wrangler only ran in production after the build completed:{ "main": "dist/_worker.js/index.js", }Now that Wrangler runs in both development (via workerd) and production, Astro provides a default entrypoint that works for both scenarios.
What should I do?
Update your
wrangler.jsoncto use the new entrypoint:{ "main": "@​astrojs/cloudflare/entrypoints/server", }This single entrypoint handles both
astro devand production deployments.#15480
e118214Thanks @alexanderniebuhr! - Drops official support for Cloudflare Pages in favor of Cloudflare WorkersThe Astro Cloudflare adapter now only supports deployment to Cloudflare Workers by default in order to comply with Cloudflare's recommendations for new projects. If you are currently deploying to Cloudflare Pages, consider migrating to Workers by following the Cloudflare guide for an optimal experience and full feature support.
Minor Changes
#15435
957b9feThanks @rururux! - Adds support for configuring the image service as an object with separatebuildandruntimeoptionsIt is now possible to set both a build-time and runtime service independently. Currently,
'compile'is the only available build time option. The supported runtime options are'passthrough'(default) and'cloudflare-binding':See the Cloudflare adapter
imageServicedocs for more information about configuring your image service.#15077
a164c77Thanks @matthewp! - Adds support for prerendering pages using the workerd runtime.The Cloudflare adapter now uses the new
setPrerenderer()API to prerender pages via HTTP requests to a local preview server running workerd, instead of using Node.js. This ensures prerendered pages are built using the same runtime that serves them in production.#14306
141c4a2Thanks @ematipico! - Adds support forastro previewcommandDevelopers can now use
astro previewto test their Cloudflare Workers application locally before deploying. The preview runs using Cloudflare's workerd runtime, giving you a staging environment that matches production exactly—including support for KV namespaces, environment variables, and other Cloudflare-specific features.#15037
8641805Thanks @matthewp! - The Wrangler configuration file is now optional. If you don't have custom Cloudflare bindings (KV, D1, Durable Objects, etc.), Astro will automatically generate a default configuration for you.What should I do?
If your
wrangler.jsonconly contains basic configuration like this:{ "main": "@​astrojs/cloudflare/entrypoints/server", "compatibility_date": "2026-01-28", "assets": { "directory": "./dist", "binding": "ASSETS", }, }You can safely delete the file. Astro will handle this configuration automatically.
You only need a wrangler config file if you're using:
#15006
f361730Thanks @florian-lefebvre! - Adds new session driver object shapeFor greater flexibility and improved consistency with other Astro code, session drivers are now specified as an object:
Specifying the session driver as a string has been deprecated, but will continue to work until this feature is removed completely in a future major version. The object shape is the current recommended and documented way to configure a session driver.
#15556
8fb329bThanks @florian-lefebvre! - Adds support for more@cloudflare/vite-pluginoptionsThe adapter now accepts the following options from Cloudflare's Vite plugin:
auxiliaryWorkersconfigPathinspectorPortpersistStateremoteBindingsexperimental.headersAndRedirectsDevModeSupportFor example, you can now set
inspectorPortto provide a custom port for debugging your Workers:Patch Changes
#15044
7cac71bThanks @florian-lefebvre! - Removes an exposed internal API of the preview server#15080
f67b738Thanks @gameroman! - Updateswranglerdependency to be apeerDependencyover adependency#15039
6cc96e7Thanks @matthewp! - Fixes static content deployment by moving it to another folder, so Wrangler can tell the static and worker content apart#15452
e1aa3f3Thanks @matthewp! - Fixes server-side dependencies not being discovered ahead of time during developmentPreviously, imports in
.astrofile frontmatter were not scanned by Vite's dependency optimizer, causing a "new dependencies optimized" message and page reload when the dependency was first encountered. Astro is now able to scan these dependencies ahead of time.#15391
5d996ccThanks @florian-lefebvre! - Fixes types of thehandle()function exported from/handler, that could be incompatible with types generated bywrangler types#15696
a9fd221Thanks @Princesseuh! - Fixes duplicate logging showing up in some cases when prerendering pages#15309
4b9c8b8Thanks @ematipico! - Update the underneath@cloudflare/workers-typeslibrary to address a warning emitted by the package manager during the installation.#15079
4463a55Thanks @ascorbic! - Fixes auto-provisioning of default bindings (SESSION KV, IMAGES, and ASSETS). Default bindings are now correctly applied whether or not you have awrangler.jsonfile.Previously, these bindings were only added when no wrangler config file existed. Now they are added in both cases, unless you've already defined them yourself.
#15694
66449c9Thanks @matthewp! - Fixes deployment of static sites with the Cloudflare adapterFixes an issue with detecting and building fully static sites that caused deployment errors when using
output: 'static'with the Cloudflare adapter#15565
30cd6dbThanks @ematipico! - Fixes an issue where the use of theCodecomponent would result in an unexpected error.#15121
06261e0Thanks @ematipico! - Fixes a bug where the Astro, with the Cloudflare integration, couldn't correctly serve certain routes in the development server.#15026
90c608cThanks @matthewp! - Improves prebundling of internal Astro modules#15778
4ebc1e3Thanks @ematipico! - Fixes an issue where the computedclientAddresswas incorrect in cases of a Request header with multiple values. TheclientAddressis now also validated to contain only characters valid in IP addresses, rejecting injection payloads.#15669
d5a888bThanks @florian-lefebvre! - Removes thecssescdependencyThis CommonJS dependency could sometimes cause errors because Astro is ESM-only. It is now replaced with a built-in ESM-friendly implementation.
#15075
ee2c260Thanks @matthewp! - Adds deprecation errors forAstro.locals.runtimeproperties to help migrate from Astro v5 to v6When accessing the removed
Astro.locals.runtimeproperties on Cloudflare, developers now receive clear error messages explaining the migration path:Astro.locals.runtime.env→ Useimport { env } from "cloudflare:workers"Astro.locals.runtime.cf→ UseAstro.request.cfAstro.locals.runtime.caches→ Use the globalcachesobjectAstro.locals.runtime.ctx→ UseAstro.locals.cfContext#15336
9cce92eThanks @ascorbic! - Fixes a dev server issue where framework components from linked packages would fail to load with a 504 error.This could occur when using
client:onlyor other client directives with components from monorepo packages (linked viafile:or workspace protocol). The first request would trigger Vite's dependency optimizer mid-request, causing concurrent client module requests to fail.#15255
a66783aThanks @florian-lefebvre! - Fixes a case where the types ofhandle()could mismatch with the ones from the user's project. They now rely on globals, that can be obtained by runningwrangler types#15045
31074fcThanks @ematipico! - Fixes an issue where using the Vue integration with the Cloudflare adapter resulted in some runtime errors.#15386
a0234a3Thanks @OliverSpeir! - Updatesastro add cloudflareto use the latest validcompatibility_datein the wrangler config, if available#15432
e2ad69eThanks @OliverSpeir! - Removes unnecessary warning about sharp from being printed at start of dev server and build#15588
425ea16Thanks @rururux! - Fixes an issue whereesbuildwould throw a "Top-level return cannot be used inside an ECMAScript module" error during dependency scanning in certain environments.#15450
50c9129Thanks @florian-lefebvre! - Fixes a case wherebuild.serverEntrywould not be respected when using the new Adapter API#15030
b5aa52bThanks @ematipico! - Fixed an issue where the featureexperimental.chromeDevtoolsWorkspacewasn't supported by the new version of the adapter.#15648
802426bThanks @rururux! - Restore and fix<Code />component functionality on Cloudflare Workers.#15478
ee519e5Thanks @matthewp! - Fixes fully static sites to not output server-side worker code. When all routes are prerendered, the_worker.jsdirectory is now removed from the build output.#15636
5ecd04cThanks @florian-lefebvre! - Adds an error when running on Stackblitz, sinceworkerddoesn't support it#15269
6f82aaeThanks @ematipico! - Fixes a regression wherebuild.serverEntrystopped working as expected.#15798
05771cfThanks @rururux! - Fixes a regression where using the adapter would throw an error when using an integration that uses JSX.#15053
674b63fThanks @matthewp! - Excludesastro:*andvirtual:astro:*from client optimizeDeps in core. Needed for prefetch users since virtual modules are now in the dependency graph.#15495
5b99e90Thanks @leekeh! - Refactors to usemiddlewareModeadapter feature (set toclassic)Updated dependencies [
4ebc1e3,4e7f3e8,a164c77,cf6ea6b,a18d727,240c317,745e632]:v12.6.13Compare Source
Patch Changes
c2cd371]:withastro/astro (astro)
v6.1.2Compare Source
Patch Changes
#16104
47a394dThanks @matthewp! - Fixesastro previewignoringvite.preview.allowedHostsset inastro.config.mjs#16047
711f837Thanks @matthewp! - Fixes catch-all routes incorrectly intercepting requests for static assets when using the@astrojs/nodeadapter in middleware mode.#15981
a60cbb6Thanks @moktamd! - Fix Zod v4 validation error formatting to show human-readable messages instead of raw JSONv6.1.1Compare Source
Patch Changes
#16105
23d60deThanks @matthewp! - Fix dev toolbar audit crash when encountering theimageARIA role#16089
999c875Thanks @martrapp! - Fixes an issue with the client router where Vue's:deep()notation was ignored in dev mode.v6.1.0Compare Source
Minor Changes
#15804
a5e7232Thanks @merlinnot! - Allows setting codec-specific defaults for Astro's built-in Sharp image service viaimage.service.config.You can now configure encoder-level options such as
jpeg.mozjpeg,webp.effort,webp.alphaQuality,avif.effort,avif.chromaSubsampling, andpng.compressionLevelwhen usingastro/assets/services/sharpfor compile-time image generation.These settings apply as defaults for the built-in Sharp pipeline, while per-image
qualitystill takes precedence when set on<Image />,<Picture />, orgetImage().#15455
babf57fThanks @AhmadYasser1! - AddsfallbackRoutesto theIntegrationResolvedRoutetype, exposing i18n fallback routes to integrations via theastro:routes:resolvedhook for projects usingfallbackType: 'rewrite'.This allows integrations such as the sitemap integration to properly include generated fallback routes in their output.
#15340
10a1a5aThanks @trueberryless! - Adds support for advanced configuration of SmartyPants in Markdown.You can now pass an options object to
markdown.smartypantsin your Astro configuration to fine-tune how punctuation, dashes, and quotes are transformed.This is helpful for projects that require specific typographic standards, such as "oldschool" dash handling or localized quotation marks.
See the
retext-smartypantsoptions for more information.Patch Changes
#16025
a09f319Thanks @koji-1009! - Instructs the client router to skip view transition animations when the browser is already providing its own visual transition, such as a swipe gesture.#16055
ccecb8fThanks @Gautam-Bharadwaj! - Fixes an issue whereclient:onlycomponents could have duplicateclient:component-pathattributes added in MDX in rare cases#16081
44fc340Thanks @crazylogic03! - Fixes theemitFile() is not supported in serve modewarning that appears duringastro devwhen using integrations that inject before-hydration scripts (e.g.@astrojs/react)#16068
31d733bThanks @Karthikeya1500! - Fixes the dev toolbar a11y audit incorrectly classifyingmenuitemradioas a non-interactive ARIA role.#16080
e80ac73Thanks @ematipico! - Fixesexperimental.queuedRenderingincorrectly escaping the HTML output of.htmlpage files, causing the page content to render as plain text instead of HTML in the browser.#16048
13b9d56Thanks @matthewp! - Fixes a dev server crash (serverIslandNameMap.get is not a function) that occurred when navigating to a page withserver:deferafter first visiting a page without one, when using@astrojs/cloudflare#16093
336e086Thanks @Snugug! - Fixes Zod meta not correctly being rendered on top-level schema when converted into JSON Schema#16043
d402485Thanks @ematipico! - FixescheckOriginCSRF protection inastro devbehind a TLS-terminating reverse proxy. The dev server now readsX-Forwarded-Proto(gated onsecurity.allowedDomains, matching production behaviour) so the constructed request origin matches thehttps://origin the browser sends. Also ensuressecurity.allowedDomainsandsecurity.checkOriginare respected in dev.#16064
ba58e0dThanks @ematipico! - Updates the dependencysvgoto the latest, to fix a security issue.#16007
2dcd8d5Thanks @florian-lefebvre! - Fixes a case where fonts files would unecessarily be copied several times during the build#16017
b089b90Thanks @felmonon! - Fix theastro syncerror message whengetImage()is called while loading content collections.#16014
fa73fbbThanks @matthewp! - Fixes a build error where usingastro:config/clientinside a<script>tag would cause Rollup to fail with "failed to resolve importvirtual:astro:routesfromvirtual:astro:manifest"#16054
f74465aThanks @seroperson! - Fixes an issue with the development server, where changes to the middleware weren't picked, and it required a full restart of the server.#16033
198d31bThanks @adampage! - Fixes a bug where the the roleimagewas incorrectly reported by audit tool bar.#15935
278828cThanks @oliverlynch! - Fixes cached assets failing to revalidate due to redirect check mishandling Not Modified responses.#16075
2c1ae85Thanks @florian-lefebvre! - Fixes a case where invalid URLs would be generated in development when using font families with an obliquestyleand angles#16062
87fd6a4Thanks @matthewp! - Warns on dev server startup when Vite 8 is detected at the top level of the user's project, and automatically adds a"overrides": { "vite": "^7" }entry topackage.jsonwhen runningastro add cloudflare. This prevents arequire_dist is not a functioncrash caused by a Vite version split between Astro (requires Vite 7) and packages like@tailwindcss/vitethat hoist Vite 8.Updated dependencies [
10a1a5a]:v6.0.8Compare Source
Patch Changes
#15978
6d182feThanks @seroperson! - Fixes a bug where Astro Actions didn't properly support nested object properties, causing problems when users used zod functions such assuperRefineordiscriminatedUnion.#16011
e752170Thanks @matthewp! - Fixes a dev server hang on the first request when using the Cloudflare adapter#15997
1fddff7Thanks @ematipico! - FixesAstro.rewrite()failing when the target path contains duplicate slashes (e.g.//about). The duplicate slashes are now collapsed before URL parsing, preventing them from being interpreted as a protocol-relative URL.v6.0.7Compare Source
Patch Changes
#15950
acce5e8Thanks @matthewp! - Fixes a build regression in projects with multiple frontend integrations whereserver:deferserver islands could fail at runtime when all pages are prerendered.#15988
c93b4a0Thanks @ossaidqadri! - Fix styles from dynamically imported components not being injected on first dev server load.#15968
3e7a9d5Thanks @chasemccoy! - FixesrenderMarkdownin custom content loaders not resolving images in markdown content. Images referenced in markdown processed byrenderMarkdownare now correctly optimized, matching the behavior of the built-inglob()loader.#15990
1e6017fThanks @ematipico! - Fixes an issue whereAstro.currentLocalewould always be the default locale instead of the actual one when using a dynamic route like[locale].astroor[locale]/index.astro. It now resolves to the correct locale from the URL.#15990
1e6017fThanks @ematipico! - Fixes an issue where visiting an invalid locale URL (e.g./asdf/) would show the content of a dynamic[locale]page with a 404 status code, instead of showing your custom 404 page. Now, the correct 404 page is rendered when the locale in the URL doesn't match any configured locale.#15960
1d84020Thanks @matthewp! - Fixes Cloudflare dev server islands withprerenderEnvironment: 'node'by sharing the serialized manifest encryption key across dev environments and routing server island requests through the SSR runtime.#15735
9685e2dThanks @fa-sharp! - Fixes an EventEmitter memory leak when serving static pages from Node.js middleware.When using the middleware handler, requests that were being passed on to Express / Fastify (e.g. static files / pre-rendered pages / etc.) weren't cleaning up socket listeners before calling
next(), causing a memory leak warning. This fix makes sure to run the cleanup before callingnext().v6.0.6Compare Source
Patch Changes
#15965
2dca307Thanks @matthewp! - Fixes client hydration for components imported through Node.js subpath imports (package.json#imports, e.g.#components/*), for example when using the Cloudflare adapter in development.#15770
6102ca2Thanks @jpc-ae! - Updates thecreate astrowelcome message to highlight the graceful dev/preview server quit command rather than the kill process shortcut[#15953](htt
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.
This PR was generated by Mend Renovate. View the repository job log.