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.8→2.4.94.12.8→4.12.94.76.0→4.78.0Release Notes
biomejs/biome (@biomejs/biome)
v2.4.9Compare Source
Patch Changes
#9315
085d324Thanks @ematipico! - Added a new nursery CSS rulenoDuplicateSelectors, that disallows duplicate selector lists within the same at-rule context.For example, the following snippet triggers the rule because the second selector and the first selector are the same:
#9567
b7ab931Thanks @ematipico! - Fixed #7211:useOptionalChainnow detects negated logical OR chains. The following code is now considered invalid:#8670
607ebf9Thanks @tt-a1i! - Fixed #8345:useAdjacentOverloadSignaturesno longer reports false positives for static and instance methods with the same name. Static methods and instance methods are now treated as separate overload groups.#9476
97b80a8Thanks @masterkain! - Fixed#9475: Fixed a panic when Biome analyzed ambient TypeScript modules containing class constructor, getter, or setter signatures that reference local type aliases. Biome now handles these declarations without crashing during semantic analysis.#9553
0cd5298Thanks @dyc3! - Fixed a bug where enabling the rules of a whole group, would enable rules that belonged to a domain under the same group.For example,
linter.rules.correctness = "error"no longer enables React- or Qwik-specific correctness rules unlesslinter.domains.react,linter.domains.qwik, or an explicit rule config also enables them, or their relative dependencies are installed.#9586
4cafb71Thanks @dyc3! - Fixed #8828: Grit patterns usingexport { $foo } from $sourcenow match named re-exports in JavaScript and TypeScript files.#9550
d4e3d6eThanks @dyc3! - Fixed #9548: Biome now parses conditional expressions whose consequent is an arrow function returning a parenthesized object expression.#8696
a7c19ccThanks @Faizanq! - Fixed #8685 wherenoUselessLoneBlockStatementswould remove empty blocks containing comments. The rule now preserves these blocks since comments may contain important information like TODOs or commented-out code.#9557
6671ac5Thanks @datalek! - Fixed #9557: Biome's LSP server no longer crashes on startup when used with editors that don't sendworkspaceFoldersduring initialization. This affected any LSP client that only sendsrootUri, which is valid per the LSP specification.#9455
1710cf1Thanks @omar-y-abdi! - Fixed #9174:useExpectnow correctly rejects asymmetric matchers in Vitest or Jest likeexpect.stringContaining(),expect.objectContaining(), and utilities likeexpect.extend()that are not valid assertions. Previously these constructs caused false negatives, allowing tests without real assertions to pass the lint rule.#9584
956e367Thanks @ematipico! - Fixed a bug where Vue directive attribute values likev-bind:class="{'dynamic': true}"were incorrectly parsed as JavaScript statements instead of expressions. Object literals inside directive values like:class,v-if, andv-htmlare now correctly parsed as expressions, preventing spurious parse errors.#9474
e168494Thanks @ematipico! - Added the new nursery rulenoUntrustedLicenses. This rule disallows dependencies that ship with invalid licenses or licenses that don't meet the criteria of your project/organisation.The rule has the following options:
allow: a list of licenses that can be allowed. Useful to bypass possible invalid licenses from downstream dependencies.deny: a list of licenses that should trigger the rule. Useful to deny licenses that don't fit your project/organisation.When both
denyandalloware provided,denytakes precedence.requireOsiApproved: whether the licenses need to be approved by the Open Source Initiative.requireFsfLibre: whether the licenses need to be approved by the Free Software Foundation.#9544
723798bThanks @ViniciusDev26! - Added an unsafe fix touseConsistentMethodSignaturesthat automatically converts between method-style and property-style signatures.#9555
8a3647bThanks @ematipico! - Fixed#188: the Biome Language Server no longer panics when open files change abruptly, such as during git branch checkouts.#9605
f65c637Thanks @ematipico! - Fixed #9589. Now Biome correctly parses object expressions inside props and directives. The following code doesn't emit errors anymore:#9565
ccb249eThanks @eyupcanakman! - Fixed #9505:noUselessStringConcatno longer reports tagged template literals as useless string concatenations. Tagged templates invoke a function and can return non-string values, so combining them with+is not equivalent to a single template literal.#9534
4d050dfThanks @Netail! - Added the nursery rulenoInlineStyles. The rule disallows the use of inlinestyleattributes in HTML and thestyleprop in JSX, includingReact.createElementcalls. Inline styles make code harder to maintain and can interfere with Content Security Policy.#9611
cddaa44Thanks @gaauwe! - Fixed a regression where Biome LSP could misread editor settings sent throughworkspace/didChangeConfigurationwhen the payload was wrapped in a top-levelbiomekey. This causedrequireConfigurationand related settings to be ignored in some editors.honojs/hono (hono)
v4.12.9Compare Source
What's Changed
parseBodyfrom bodyCache to prevent TypeError by @yusukebe in #4807PickResponseByStatusCodetype by @yusukebe in #4791fire()fallback behavior consistent withhandle()by @yusukebe in #4821New Contributors
Full Changelog: honojs/hono@v4.12.8...v4.12.9
cloudflare/workers-sdk (wrangler)
v4.78.0Compare Source
Minor Changes
#13031
eeaa473Thanks @WalshyDev! - Add support for Cloudflare Access Service Token authentication via environment variablesWhen running
wrangler devwith remote bindings behind a Cloudflare Access-protected domain, Wrangler previously requiredcloudflared access loginwhich opens a browser for interactive authentication. This does not work in CI/CD environments.You can now set the
CLOUDFLARE_ACCESS_CLIENT_IDandCLOUDFLARE_ACCESS_CLIENT_SECRETenvironment variables to authenticate using an Access Service Token instead:Additionally, when running in a non-interactive environment (CI) without these credentials, Wrangler now throws a clear, actionable error instead of hanging on
cloudflared access login.#13027
9fcdfcaThanks @G4brym! - feat: Addai_search_namespacesandai_searchbinding typesTwo new binding types for AI Search:
ai_search_namespaces: Namespace binding —namespaceis required and auto-provisioned at deploy time if it doesn't exist (like R2 buckets)ai_search: Single instance binding bound directly to a pre-existing instance in the default namespaceBoth are remote-only in local dev.
#12874
53ed15aThanks @xortive! - Add Workers VPC service support for Hyperdrive originsHyperdrive configs can now connect to databases through Workers VPC services using the
--service-idoption:This enables Hyperdrive to connect to databases hosted in private networks that are accessible through Workers VPC TCP services.
#12852
6b50bfaThanks @Carolx715! - Add interactive data catalog validation to R2 object and lifecycle commands.When performing R2 operations that could affect data catalog state (object put, object delete, lifecycle add, lifecycle set), Wrangler now validates with the API and prompts users for confirmation if a conflict is detected. For bulk put operations, Wrangler prompts upfront before starting the batch. Users can bypass prompts with
--force(-y). In non-interactive/CI environments, the operation proceeds automatically.#13030
0386553Thanks @natewong1313! - Add local mode support for Stream bindingsMiniflare and
wrangler devnow support using Cloudflare Stream bindings locally.Supported operations:
upload()— upload video via URLvideo(id).details(),.update(),.delete(),.generateToken()videos.list()captions.generate(),.list(),.delete()downloads.generate(),.get(),.delete()watermarks.generate(),.list(),.get(),.delete()The following are not yet supported in local mode and will throw:
createDirectUpload()FileFileData is persisted across restarts by default. You must set
streamPersist: falsein Miniflare options to disable persistence.#12874
53ed15aThanks @xortive! - Add--cert-verification-modeoption towrangler vpc service createandwrangler vpc service updateYou can now configure the TLS certificate verification mode when creating or updating a VPC connectivity service. This controls how the connection to the origin server verifies TLS certificates.
Available modes:
verify_full(default) -- verify certificate chain and hostnameverify_ca-- verify certificate chain only, skip hostname checkdisabled-- do not verify the server certificate at allThis applies to both TCP and HTTP VPC service types. When omitted, the default
verify_fullbehavior is used.#12874
53ed15aThanks @xortive! - Add TCP service type support for Workers VPCYou can now create TCP services in Workers VPC using the
--type tcpoption:This enables exposing TCP-based services like PostgreSQL, MySQL, and other database servers through Workers VPC.
Patch Changes
#13039
bc24ec8Thanks @petebacondarwin! - fix: Angular auto-config now correctly handles projects without SSR configuredPreviously, running
wrangler deploy(orwrangler setup) on a plain Angular SPA (created withng newwithout--ssr) would crash withCannot set properties of undefined (setting 'experimentalPlatform'), because the auto-config code unconditionally assumed SSR was configured.Angular projects without SSR are now treated as assets-only deployments: no
wrangler.jsoncmainentry is generated,angular.jsonis not modified, nosrc/server.tsis created, and no extra dependencies are installed.#13036
0b4c21aThanks @pbrowne011! - Fixwrangler deploy --dry-runskipping asset build-artifact validation checksPreviously,
--dry-runskipped the entire asset sync step, which meant it also skipped validation that runs during asset manifest building. This included the check that errors when a_worker.jsfile or directory would be uploaded as a public static asset (which can expose private server-side code), as well as the per-file size limit check.With this fix,
--dry-runnow runsbuildAssetManifestagainst the asset directory when assets are configured, performing the same file-system validation as a real deploy without uploading anything or making any API calls.#13061
535582dThanks @petebacondarwin! - fix: resolve secondary worker types when environment overrides the worker name in multi-worker type generationWhen running
wrangler typeswith multiple-cconfig flags and the secondary worker has named environments that override the worker name (e.g. a worker nameddo-workerwith envstagingwhose effective name becomesdo-worker-staging), service bindings and Durable Object bindings in the primary worker that referencedo-worker-stagingnow correctly resolve to the typed entry point instead of falling back to an unresolved comment type such asDurableObjectNamespace /* MyClass from do-worker-staging */.The fix extends the secondary entries map to also register environment-specific worker names, so that lookups by the env-qualified name (e.g.
do-worker-staging) resolve to the same source file as the base worker name.#13058
992f9a3Thanks @petebacondarwin! - fix: patch undici to prevent fetch() throwing on 401 responses with a request bodyFetching with a request body (string, JSON, FormData, etc.) to an endpoint that returns a 401 would throw
TypeError: fetch failedwith causeexpected non-null body source. This affectedUnstable_DevWorker.fetch()and any other use of undici's fetch in wrangler.The root cause is
isTraversableNavigable()in undici returningtrueunconditionally, causing the 401 credential-retry logic to run in Node.js where it should never apply (there is no browser UI to prompt for credentials). This is tracked upstream in nodejs/undici#4910. Until an upstream fix is released, we apply a patch to undici that returnsfalsefromisTraversableNavigable().#13017
91b7f73Thanks @petebacondarwin! - fix: prevent Docker container builds from spawning console windows on WindowsOn Windows,
detached: trueinchild_process.spawn()gives each child process its own visible console window, causing many windows to flash open duringwrangler deploywith[[containers]]. Thedetachedoption is now only set on non-Windows platforms (where it is needed for process group cleanup), andwindowsHide: trueis added to further suppress console windows on Windows.#12996
f6cdab2Thanks @guybedford! - Fix source phase imports in bundled and non-bundled WorkersWrangler now preserves
import sourcesyntax when it runs esbuild, including module format detection and bundled deploy output. This fixes both--no-bundleand bundled deployments for Workers that import WebAssembly using source phase imports.#12931
ce65246Thanks @dario-piotrowicz! - Improve error message when modules cannot be resolved during bundlingWhen a module cannot be resolved during bundling, Wrangler now suggests using the
aliasconfiguration option to substitute it with an alternative implementation. This replaces esbuild's default suggestion to "mark the path as external", which is not a supported option in Wrangler.For example, if you try to import a module that doesn't exist:
Wrangler will now suggest:
This provides actionable guidance for resolving import errors.
#13049
7a5be20Thanks @nikitassharma! - add library-push flag to containers registries credentialsThis flag is not available for public use.
#13018
9c5ebf5Thanks @tgarg-cf! - Validate that queue consumers in wrangler config only use the "worker" typePreviously, non-worker consumer types (e.g.
http_pull) could be specified in thequeues.consumersconfig. Now, wrangler will error if a consumertypeother than"worker"is specified in the config file.To configure non-worker consumer types, use the
wrangler queues consumerCLI commands instead (e.g.wrangler queues consumer http-pull add).Updated dependencies [
9fcdfca,1faff35,f4ea4ac,0386553]:v4.77.0Compare Source
Minor Changes
#13023
593c4dbThanks @jamesopstad! - Addwrangler versions uploadsupport for the experimentalsecretsconfiguration propertyWhen the new
secretsproperty is defined,wrangler versions uploadnow validates that all secrets declared insecrets.requiredare configured on the Worker before the upload succeeds. If any required secrets are missing, the upload fails with a clear error listing which secrets need to be set.When
secretsis not defined, the existing behavior is unchanged.#12732
c2e9163Thanks @jamesopstad! - Add deploy support for the experimentalsecretsconfiguration propertyWhen the new
secretsproperty is defined,wrangler deploynow validates that all secrets declared insecrets.requiredare configured on the Worker before the deploy succeeds. If any required secrets are missing, the deploy fails with a clear error listing which secrets need to be set.When
secretsis not defined, the existing behavior is unchanged.Patch Changes
#12896
451dae3Thanks @petebacondarwin! - fix: Add retry and timeout protection to remote preview API callsRemote preview sessions (
wrangler dev --remote) now automatically retry transient 5xx API errors (up to 3 attempts with linear backoff) and enforce a 30-second per-request timeout. Previously, a single hung or failed API response during session creation or worker upload could block the dev session reload indefinitely.#12569
379f2a2Thanks @MattieTK! - Useqwik add cloudflare-workersinstead ofqwik add cloudflare-pagesfor Workers targetsBoth the wrangler autoconfig and C3 Workers template for Qwik were running
qwik add cloudflare-pageseven when targeting Cloudflare Workers. This caused the wrong adapter directory structure to be scaffolded (adapters/cloudflare-pages/instead ofadapters/cloudflare-workers/), and required post-hoc cleanup of Pages-specific files like_routes.json.Qwik now provides a dedicated
cloudflare-workersadapter that generates the correct Workers configuration, includingwrangler.jsoncwithmainandassetsfields, apublic/.assetsignorefile, and the correctadapters/cloudflare-workers/vite.config.ts.Also adds
--skipConfirmation=trueto allqwik addinvocations so the interactive prompt is skipped in automated contexts.#11899
9a1cf29Thanks @hoodmane! - Remove cf-requirements support for Python workers. It hasn't worked with the runtime for a while now.#11800
875da60Thanks @southpolesteve! - Add upgrade hint to unexpected configuration field warnings when an update is availableWhen Wrangler encounters unexpected fields in the configuration file and a newer version of Wrangler is available, it now displays a message suggesting to update. This helps users who may be using configuration options that were added in a newer version of Wrangler.
Updated dependencies [
b8f3309,5aaaab2,5aaaab2,f8516dd,9c9fe30,6a6449e]: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.