Merged
Conversation
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:
2.4.0→2.4.44.11.9→4.12.14.65.0→4.67.0Release Notes
biomejs/biome (@biomejs/biome)
v2.4.4Compare Source
Patch Changes
#9150
6946835Thanks @dyc3! - Fixed #9138: Astro files containing---in HTML content (e.g.,<h1>---Hi</h1>) are now parsed correctly, both when a frontmatter block is present and when there is no frontmatter at all.#9150
aa6f837Thanks @dyc3! - Fixed #9138: The HTML parser incorrectly failing to parse bracket characters ([and]) in text content (e.g.<div>[Foo]</div>).#9151
c0d4b0cThanks @dyc3! - Fixed parsing of Svelte directive keywords (use,style) when used as plain text content in HTML/Svelte files. Previously,<p>use JavaScript</p>or<p>style it</p>would incorrectly produce a bogus element instead of proper text content.#9162
7f1e060Thanks @dyc3! - Fixed #9161: The Vue parser now correctly handles colon attributes likexlink:hrefandxmlns:xlinkby parsing them as single attributes instead of splitting them into separate tokens.#9164
458211bThanks @dyc3! - Fixed #9161: ThenoAssignInExpressionsrule no longer flags assignments in Vue v-on directives (e.g.,@click="counter += 1"). Assignments in event handlers are idiomatic Vue patterns and are now skipped by the rule.v2.4.3Compare Source
Patch Changes
#9120
aa40fc2Thanks @ematipico! - Fixed #9109, where the GitHub reporter wasn't correctly enabled whenbiome ciruns on GitHub Actions.#9128
8ca3f7fThanks @dyc3! - Fixed #9107: The HTML parser can now correctly parse Astro directives (client/set/class/is/server), which fixes the formatting for Astro directives.#9124
f5b0e8dThanks @ematipico! - Fixed #8882 and #9108: The Astro frontmatter lexer now correctly identifies the closing---fence when the frontmatter contains multi-line block comments with quote characters, strings that mix quote types (e.g."it's"), or escaped quote characters (e.g."\").#9142
3ca066bThanks @THernandez03! - Fixed #9141: ThenoUnknownAttributerule no longer reportsclosedbyas an unknown attribute on<dialog>elements.#9126
792013eThanks @ematipico! - Added missing Mocha globals to theTestdomain:context,run,setup,specify,suite,suiteSetup,suiteTeardown,teardown,xcontext,xdescribe,xit, andxspecify. These are injected by Mocha's BDD and TDD interfaces and were previously flagged as undeclared variables in projects using Mocha.#8855
6918c9eThanks @ruidosujeira! - Fixed #8840. Now the Biome CSS parser correctly parsesnot + scroll-stateinside@containerqueries.#9111
4fb55cfThanks @Jayllyz! - Slightly improved performance ofnoIrregularWhitespaceby adding early return optimization and simplifying character detection logic.#8975
086a0c5Thanks @FrankFMY! - Fixed #8478:useDestructuringno longer suggests destructuring when the variable has a type annotation, likeconst foo: string = object.foo.v2.4.2Compare Source
Patch Changes
#9103
fc9850cThanks @dyc3! - Fixed #9098:useImportTypeno longer incorrectly flags imports used in Svelte control flow blocks ({#if},{#each},{#await},{#key}) as type-only imports.#9106
f4b7296Thanks @dyc3! - Updated rule source metadata for rules fromhtml-eslint.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoConditionalExpect. This rule disallows conditionalexpect()calls inside tests, which can lead to tests that silently pass when assertions never run.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightElementHandle. Prefers locators to element handles.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightEval. Disallowspage.$eval()andpage.$$eval()methods.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightForceOption. Disallows theforceoption on user interactions.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightMissingAwait. Enforces awaiting async Playwright APIs.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightNetworkidle. Disallows deprecatednetworkidlewait option.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightPagePause. Disallowspage.pause()debugging calls in committed code.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightUselessAwait. Disallows unnecessaryawaiton synchronous Playwright methods.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightWaitForNavigation. Prefers modern navigation APIs over deprecatedwaitForNavigation().#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightWaitForSelector. Prefers locators over deprecatedwaitForSelector().#8960
4a5ff40Thanks @abossenbroek! - Added the nursery rulenoPlaywrightWaitForTimeout. Disallows hard-coded timeouts withwaitForTimeout().#8960
4a5ff40Thanks @abossenbroek! - EnhancednoSkippedTeststo detect Playwright patterns (.fixme,test.describe,test.step, bracket notation, bare calls). ConsolidatednoPlaywrightSkippedTestinto this rule.#9101
0c0fb6fThanks @siketyan! - Fixed#9080: ThenoUnusedVariablesrule no longer reports a top-levelPropsinterface or type alias as unused in Astro files.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery ruleuseExpect. This rule ensures that test functions contain at least oneexpect()assertion.#8960
4a5ff40Thanks @abossenbroek! - Added the nursery ruleusePlaywrightValidDescribeCallback. Validates that describe callback signatures are not async.v2.4.1Compare Source
Patch Changes
#9092
6edd600Thanks @ematipico! - Fixed #9052. This PR reverts changes introduced by #8519, which caused unwanted changes on how paths are resolved.#9091
3bf674dThanks @ematipico! - Fixed #9090, where SCSS files were incorrectly processed by Biome. This was a regressions caused by the latest developments for supporting SCSS out of the box.#9100
66931a8Thanks @siketyan! - Fixed #9081: ThenoUnknownPseudoElementrule no longer reports false positives for any known pseudo elements in CSS modules. This was a regression introduced in v2.4.0.#9102
d01b903Thanks @ematipico! - Fixed #9095, where Biome didn't print anything in stdin mode. This was a regression caused by a recent, internal refactor.honojs/hono (hono)
v4.12.1Compare Source
What's Changed
ApplyGlobalResponsefromhono/clientby @sushichan044 in #4743Full Changelog: honojs/hono@v4.12.0...v4.12.1
v4.12.0Compare Source
Release Notes
Hono v4.12.0 is now available!
This release includes new features for the Hono client, middleware improvements, adapter enhancements, and significant performance improvements to the router and context.
$pathfor Hono ClientThe Hono client now has a
$path()method that returns the path string instead of a full URL. This is useful when you need just the path portion for routing or key-based operations:Unlike
$url()which returns aURLobject,$path()returns a plain path string, making it convenient for use with routers or as cache keys.Thanks @ShaMan123!
ApplyGlobalResponseType Helper for RPC ClientThe new
ApplyGlobalResponsetype helper allows you to add global error response types to all routes in the RPC client. This is useful for typing common error responses fromapp.onError()or global middlewares:Thanks @mohankumarelec!
SSG Redirect Plugin
A new
redirectPluginfor SSG generates static HTML redirect pages for HTTP redirect responses (301, 302, 303, 307, 308):The generated redirect pages include a
<meta http-equiv="refresh">tag, a canonical link, and arobots noindexmeta tag.Thanks @3w36zj6!
onAuthSuccessCallback for Basic AuthThe Basic Auth middleware now supports an
onAuthSuccesscallback that is invoked after successful authentication. This allows you to set context variables or perform logging without re-parsing the Authorization header:The callback also works with async functions and the
verifyUsermode.Thanks @AprilNEA!
getConnInfofor AWS Lambda, Cloudflare Pages, and NetlifygetConnInfo()is now available for three additional adapters:Thanks @rokasta12!
alwaysRedirectOption for Trailing Slash MiddlewareThe trailing slash middleware now supports an
alwaysRedirectoption. When enabled, the middleware redirects before executing handlers, which fixes the issue where trailing slash handling doesn't work with wildcard routes:Progressive Locale Code Truncation
The
normalizeLanguagefunction in the language middleware now supports RFC 4647 Lookup-based progressive truncation. Locale codes likeja-JPwill matchjawhen only the base language is insupportedLanguages:Thanks @sorafujitani!
exportsField forExecutionContextThe
ExecutionContexttype now includes anexportsproperty for Cloudflare Workers. You can use module augmentation to type it with Wrangler's generated types:Thanks @toreis-up!
Performance Improvements
TrieRouter 1.5x ~ 2.0x Faster
The TrieRouter has been significantly optimized with reduced spread syntax usage, O(1)
hasChildrenchecks, lazy regular expression generation, and removal of redundant processes:GET /userGET /user/lookup/username/heyGET /static/index.htmlThanks @EdamAme-x!
Fast Path for
c.json()c.json()now has the same fast path optimization asc.text(). When no custom status, headers, or finalized state exists, the Response is created directly without allocating aHeadersobject:Benchmark results:
Thanks @mgcrea!
New features
ApplyGlobalResponsetype helper for RPC Client #4556alwaysRedirectoption to support wildcard routes #4658Performance
createResponseInstancefor new Response #4733All changes
ApplyGlobalResponsetype helper for RPC Client by @mohankumarelec in #4556alwaysRedirectoption to support wildcard routes by @yusukebe in #4658createResponseInstancefor new Response by @yusukebe in #4733New Contributors
Full Changelog: honojs/hono@v4.11.10...v4.12.0
v4.11.10Compare Source
What's Changed
91def7c)Full Changelog: honojs/hono@v4.11.9...v4.11.10
cloudflare/workers-sdk (wrangler)
v4.67.0Compare Source
Minor Changes
#12401
8723684Thanks @jonesphillip! - Add validation retry loops to pipelines setup commandThe
wrangler pipelines setupcommand now prompts users to retry when validation errors occur, instead of failing the entire setup process. This includes:This improves the setup experience by allowing users to correct mistakes without restarting the entire configuration flow.
#12395
aa82c2bThanks @cmackenzie1! - Generate typed pipeline bindings from stream schemasWhen running
wrangler types, pipeline bindings now generate TypeScript types based on the stream's schema definition. This gives you full autocomplete and type checking when sending data to your pipelines.If your stream has a schema with fields like
user_id(string) andevent_count(int32), the generated types will be:For unstructured streams or when not authenticated, bindings fall back to the generic
Pipeline<PipelineRecord>type.Patch Changes
#12592
aaa7200Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#12606
2f19a40Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#12604
e2a6600Thanks @petebacondarwin! - fix: pass--envflag to auxiliary workers in multi-worker modeWhen running
wrangler devwith multiple config files (e.g.-c ./apps/api/wrangler.jsonc -c ./apps/queues/wrangler.jsonc -e=dev), the--envflag was not being passed to auxiliary (non-primary) workers. This meant that environment-specific configuration (such as queue bindings) was not applied to auxiliary workers, causing features like queue consumers to not be triggered in local development.#12597
0b17117Thanks @sdnts! - The maximum allowed delivery and retry delays for Queues is now 24 hours#12598
ca58062Thanks @mattzcarey! - Stop redactingwrangler whoamioutput in non-interactive modewrangler whoamiis explicitly invoked to retrieve account info, so email and account names should always be visible. Redacting them in non-interactive/CI environments makes it difficult for coding agents and automated tools to identify which account to use. Other error messages that may appear unexpectedly in CI logs (e.g. multi-account selection errors) remain redacted.Updated dependencies [
f239077,aaa7200,2f19a40,5f9f0b4,452cdc8,527e4f5,0b17117]:v4.66.0Compare Source
Minor Changes
#12466
caf9b11Thanks @petebacondarwin! - AddWRANGLER_CACHE_DIRenvironment variable and smart cache directory detectionWrangler now intelligently detects where to store cache files:
WRANGLER_CACHE_DIRenv var if setnode_modules/.cache/wrangleror.wrangler/cache)node_modules/.cache/wranglerifnode_modulesexists.wrangler/cacheThis improves compatibility with Yarn PnP, pnpm, and other package managers that don't use traditional
node_modulesdirectories, without requiring any configuration.#12572
936187dThanks @dario-piotrowicz! - Ensure thenodejs_compatflag is always applied in autoconfigPreviously, the autoconfig feature relied on individual framework configurations to specify Node.js compatibility flags, some could set
nodejs_compatwhile othersnodejs_als.Now instead
nodejs_compatis always included as a compatibility flag, this is generally beneficial and the user can always remove the flag afterwards if they want to.#12560
c4c86f8Thanks @taylorlee! - Support--tagand--messageflags onwrangler deployThey have the same behavior that they do as during
wrangler versions upload, as bothare set on the version.
The message is also reused for the deployment as well, with the same behavior as used
during
wrangler versions deploy.Patch Changes
#12543
5a868a0Thanks @G4brym! - Fix AI Search binding failing in local devUsing AI Search bindings with
wrangler devwould fail with "RPC stub points at a non-serializable type". AI Search bindings now work correctly in local development.#12552
c58e81bThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#12568
33a9a8fThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#12576
8077c14Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#12466
caf9b11Thanks @petebacondarwin! - fix: exclude.wranglerdirectory from Pages uploadsThe
.wranglerdirectory contains local cache and state files that should never be deployed. This aligns Pages upload behavior with Workers Assets, which already excludes.wranglervia.assetsignore.#12556
7d2355eThanks @ascorbic! - Fix port availability check probing the wrong host when host changesmemoizeGetPortcorrectly invalidated its cached port when called with a different host, but then still probed the original host for port availability. This could return a port that was free on the original host but already in use on the requested one, leading to bind failures at startup.#12562
7ea69afThanks @MattieTK! - Support function-based Vite configs in autoconfig setupwrangler setupandwrangler deploy --x-autoconfigcan now automatically add the Cloudflare Vite plugin to projects that use function-baseddefineConfig()patterns. Previously, autoconfig would fail with "Cannot modify Vite config: expected an object literal but found ArrowFunctionExpression" for configs like:This pattern is used by several official framework templates, including React Router's
node-postgresandnode-custom-servertemplates. The followingdefineConfig()patterns are now supported:defineConfig({ ... })(object literal, already worked)defineConfig(() => ({ ... }))(arrow function with expression body)defineConfig(({ isSsrBuild }) => ({ ... }))(arrow function with destructured params)defineConfig(() => { return { ... }; })(arrow function with block body)defineConfig(function() { return { ... }; })(function expression)#12548
5cc7158Thanks @dario-piotrowicz! - Fix.assetsignoreformatting when autoconfig creates a new filePreviously, when
wrangler setuporwrangler deploy --x-autoconfigcreated a new.assetsignorefile via autoconfig, it would add unnecessary leading empty lines before the wrangler-specific entries. Empty separator lines should only be added when appending to an existing.assetsignorefile. This fix ensures newly created.assetsignorefiles start cleanly without leading blank lines.#12556
7d2355eThanks @ascorbic! - Improve error message when port binding is blocked by a sandbox or security policyWhen running
wrangler devinside a restricted environment (such as an AI coding agent sandbox or locked-down container), the port availability check would fail with a rawEPERMerror. This now provides a clear message explaining that a sandbox or security policy is blocking network access, rather than the generic permission error that previously pointed at the file system.#12545
c9d0f9dThanks @dario-piotrowicz! - Improve framework detection when multiple frameworks are foundWhen autoconfig detects multiple frameworks in a project, Wrangler now applies smarter logic to select the most appropriate one. Selecting the wrong one is acceptable locally where the user can change the detected framework, in CI an error is instead thrown.
#12548
5cc7158Thanks @dario-piotrowicz! - Add trailing newline to generatedpackage.jsonandwrangler.jsoncfiles#12548
5cc7158Thanks @dario-piotrowicz! - Fix.gitignoreformatting when autoconfig creates a new filePreviously, when
wrangler setuporwrangler deploycreated a new.gitignorefile via autoconfig, it would add unnecessary leading empty lines before the wrangler-specific entries. Empty separator lines should only be added when appending to an existing.gitignorefile. This fix ensures newly created.gitignorefiles start cleanly without leading blank lines.#12545
c9d0f9dThanks @dario-piotrowicz! - Throw actionable error when autoconfig is run in the root of a workspaceWhen running Wrangler commands that trigger auto-configuration (like
wrangler devorwrangler deploy) in the root directory of a monorepo workspace, a helpful error is now shown directing users to run the command in a specific project's directory instead.Updated dependencies [
5a868a0,c58e81b,33a9a8f,8077c14,caf9b11,9a565d5,7f18183,39491f9,43c462a]: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: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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.