Repository navigation
chore(deps): update all non-major dependencies - #217
Merged
Merged
Conversation
971C
commit: |
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:
^3.15.2→^3.16.0^4.1.0→^4.2.02.12.0→2.13.02.13.3(+2)2.12.0→2.13.02.13.3(+2)^26.2.0→^26.4.0^3.5.41→^3.5.42^10.9.0→^10.9.124.19.0→24.20.0^5.2.0→^5.3.0^4.125.0→^4.127.1^4.4.3→^4.5.24.5.4(+1)Release Notes
nuxt/content (@nuxt/content)
v3.16.0Compare Source
Bug Fixes
hub.db(#3822) (8841abc)#content/adapterto prevent prerender failure (#3830) (400390a)nuxt/test-utils (@nuxt/test-utils)
v4.2.0Compare Source
👉 Changelog
compare changes
🚀 Enhancements
🩹 Fixes
mockNuxtImportsourcemap mapped position (#1787)setupTimeoutin playwright + surface server logs (#1785)includeSourcein both projects indefineVitestConfig(#1763)taskkillto kill processes on windows (#1760)🏡 Chore
latestranges with caret ranges (#1773)✅ Tests
🤖 CI
🎉 New Contributors
❤️ Contributors
kane50613/takumi (@takumi-rs/core)
v2.13.0Resolve
twutilities through CSS variablesUtilities now read the CSS variables Tailwind compiles them to, falling back to the built-in value. Define tokens in
:root.--color-brand-500makesbg-brand-500work, and spacing, fonts, shadows, animations and breakpoints follow the same rule.Gradients now match Tailwind on two counts. Stops alone no longer paint without
bg-linear-*,bg-radialorbg-conic, and a missingtostop fades totransparent.Let stylesheet rules win over
twutilitiesUtilities now sit in the last cascade layer, below unlayered CSS and above rules in a named
@layer. Important reverses that order. An important utility beats unlayered important CSS but loses to one in a named layer. Inline important declarations stay on top. A template that relied ontwbeating a matching rule needs a fix. Move that rule into a layer, or mark the utility!.Honor
!importantin inline stylesAn inline
!importantdeclaration now outranks important rules and animations. Both thestyleobject and an HTMLstyleattribute read the marker.Inherit
text-fitfrom a parenttext-fitnow inherits. Descendant text uses the inherited value to calculate its scale.Parse
@themeblocks as:rootrulesA Tailwind v4 source stylesheet now works in
csswithout compiling it first.@themedeclarations land on:root, and@keyframesinside the block register. Modifiers likereferenceread the same way. Theprefix()modifier is not supported.Wrap
box-sizing: content-boxtext inside its paddingA box with
box-sizing: content-boxand horizontal padding wrapped its textagainst the border box, so the text took fewer lines than it needed and
overflowed the bottom of the box.
Cut allocations in style property parsing
Parsing a string-valued property copied the value before handing it to cssparser. Normalizing a kebab-case or camelCase property name allocated a second string just to trim leading underscores. String values now parse in place, and names normalize in one allocation.
Compose filters and transforms through custom properties
Filter, translate, scale and grid-line utilities now compose through
--tw-*variables like Tailwind's compiled CSS. Stacked filters follow Tailwind's fixed chain order instead of class order.Size
autotable columns by their contentAn all-
autotable shared its free space evenly, so a one-word column took asmuch room as a paragraph. Each column now grows in proportion to its
max-content width, the way Blink distributes it, and never below the widest
word it has to hold. A table narrower than its content still approximates.
Escape control characters in serialized CSS strings
A quoted string containing a newline left it unescaped. This produced invalid CSS. CSS strings now use cssparser's escaping.
Write a
cssentry as an objectA
cssentry can be a rule,{ selector, style, rules }, or an animation,{ keyframes, steps }. Takumi checks the selector and every value before the entry reaches the parser, so a token that comes from application data cannot escape the rule it was written for. Thekeyframesoption is deprecated and goes away in v3.Turn on Preflight through
@import "tailwindcss"The import line at the top of a Tailwind v4 stylesheet now works. Preflight replaces the UA preset. Margins and padding go, lists lose their markers, and
h1throughh6drop their font sizing. It also brings the universal border reset, link and table resets, block-level images, andhiddenon any element. Author rules outrank Preflight, apart fromhidden, which it marks important. Other@importtargets stay unsupported.Support the
disclosure-openanddisclosure-closedcounter styleslist-style-typenow acceptsdisclosure-openanddisclosure-closed, drawing the triangles CSS Counter Styles defines.disclosure-closedpoints the way the text runs, so it flips underdirection: rtl. Font subsetting covers all three characters.Report text runs for a node that holds text directly
measurereturned no text runs for<div>word</div>, the shape an HTML parseproduces most often, while
<div><span>word</span></div>reported them. Therender was correct either way; only the measurement was missing its geometry.
Support legacy WebKit box alignment properties
Map
-webkit-box-orienttoflex-direction,-webkit-box-packtojustify-content, and-webkit-box-aligntoalign-items.Stop a box narrower than its padding from panicking
A box whose horizontal padding exceeds its own width left the text a negative
width to lay out in, which tripped an assertion inside the text layouter and
crashed the render. The width the text lays out against now stops at zero.
Write a group of
cssentries as an objectA
cssentry can be{ media, rules },{ supports, rules }, or{ layer, rules }. A layer withoutrulesdeclares its order alone. Takumi reads each prelude with the grammar its rule takes, so it cannot close the rule and open another.Expand
@applyinside stylesheet rules.card { @apply mt-4 bg-brand-500; }now expands through thetwparser where it is written,!suffix included. Variants likemd:are rejected. A static render has nothing for them to gate on.Rename the
stylesheetsrender option tocsscsstakes inline CSS as one string or a list. The oldstylesheetsname still works everywhere and warns once ontakumi-jsandtakumi-pdf.Support legacy WebKit display values
Map
-webkit-boxand-webkit-flextoflex, and-webkit-inline-boxand-webkit-inline-flextoinline-flex.Render
<text>elements in SVG image sourcesSVG images with
<text>,<tspan>andtextPathnow draw their text usingthe registered fonts instead of dropping it. Glyphs render from font outlines;
color emoji glyphs inside SVG text are not supported.
Accept CSS-wide keywords on shorthand properties
margin: inherit,padding: initialandborder: unsetwere rejected. Only longhands took CSS-wide keywords. A shorthand now expands the keyword across the longhands it targets.Reject trailing content in
stylevaluesA
styleobject acceptedwidth: "55px zzz", applied55px, and ignored the rest. It now rejects the whole value, the way a stylesheet already drops such a declaration. A substitutedvar()value follows the same rule.Take an inline-block's baseline from the lines it actually laid out
An inline-block with horizontal padding re-wrapped its content against the
border box to find its baseline, so text beside it aligned with the wrong line.
vuejs/core (@vue/compiler-sfc)
v3.5.42Compare Source
Bug Fixes
eslint/eslint (eslint)
v10.9.1Compare Source
actions/node-versions (node)
v24.20.0: 24.20.0Compare Source
Node.js 24.20.0
vuejs/router (vue-router)
v5.3.0Compare Source
🚀 Features
typeof useRoutein a type context - by @Anoesj in #2759 (7a4c8)🐞 Bug Fixes
falseinEditableTreeNode- by @Anoesj in #2752 (8e2e1)🏎 Performance
json5andyamlwithconfbox- by @danielroe in #2769 (aab28)View changes on GitHub
cloudflare/workers-sdk (wrangler)
v4.127.1Compare Source
Patch Changes
#15383
eb01850Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15393
e1df91aThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
Updated dependencies [
eb01850,e1df91a,b23de74,015550a,015550a,015550a,3650d29,b23de74]:v4.127.0Compare Source
Minor Changes
#15356
fe265f8Thanks @rubuy-74! - Add support for configuring a per-workflow max concurrency limit viaworkflows[].concurrency.limitin your Wrangler config.The limit is the maximum number of Workflow instances that can run concurrently. It is validated as a positive integer and persisted on deploy; the ceiling is enforced server-side. Concurrency is ignored in local development.
{ "workflows": [ { "binding": "MY_WORKFLOW", "name": "my-workflow", "class_name": "MyWorkflow", "concurrency": { "limit": 10 } } ] }Patch Changes
#15367
412c79eThanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15375
92874f6Thanks @WillTaylorDev! - Uploadwrangler previewmodules as multipart form datawrangler previewused to base64 the bundle, its modules, and any sourcemaps into a single JSON request body. Base64 inflates content by a third, so a Worker with a large sourcemap could exceed the API request size limit and fail to deploy.The preview deployment request is now
multipart/form-data. The deployment settings travel in ametadatapart and each module follows as its own part carrying raw bytes, matching howwrangler deployalready uploads a Worker.Updated dependencies [
412c79e]:v4.126.0Compare Source
Minor Changes
#15332
d1cc3afThanks @pombosilva! - Adddefault_retentionto Workflow bindings for configuring how long instances are retainedWorkflow instances are retained for an account-wide default period after they finish. You can now set a per-Workflow default in your Wrangler configuration, applied to instances that do not specify their own retention:
{ "workflows": [ { "binding": "MY_WORKFLOW", "name": "my-workflow", "class_name": "MyWorkflow", "default_retention": { "success_retention": "3 days", "error_retention": "7 days" } } ] }Each side is optional and accepts either a duration string such as
"3 days"or a whole number of milliseconds. Durations are interpreted by the Workflows API, which also caps them at your account's retention limit.#15064
693ca29Thanks @tpmmorris! - Include a chronological list of handler events in email test harness results, so programmatic local email tests can assert the order in which messages are received, forwarded, replied to, or rejected.#15065
ad89456Thanks @mtlemilio! - Add experimentalwrangler hyperdrive planetscale signaturefor provisioning Cloudflare-billed PlanetScale databaseswrangler hyperdrive planetscale signatureprints a signed authorization as JSON, proving to PlanetScale that Cloudflare will be billed for the database you are about to create:pscale database createdefaults to Vitess, so pass--engine postgresqlfor a Postgres database, and--format jsonis recommended when the output is consumed by an agent.This requires
pscalev0.313.0 or newer. Wrangler authorizes the Cloudflare billing side only, so your PlanetScale credentials stay between you andpscale.The signature is a cryptographically signed token that authorizes creating a database billed to your Cloudflare account. Treat it as a credential and do not share it. Piping it, as above, is recommended over passing it as a command line argument.
This command is experimental and its interface may change.
#15134
c66d2d5Thanks @gpanders! - Enable FUSE-capable local container developmentMiniflare now automatically passes the Docker privileges needed for FUSE to local Durable Object containers when using local rootless Docker on Linux with
/dev/fuseavailable, or a local Docker engine on macOS or through WSL where Linux containers run in a VM. This applies to Wrangler, the Cloudflare Vite plugin, and direct Miniflare use.#15326
9fcb1c9Thanks @jamesopstad! - Record the selected mode in the Build Output Specification top-levelconfig.jsonThe mode a build was produced in is now written to
.cloudflare/output/v0/config.jsonas amodefield, alongside the account and compliance settings.#14966
a4c3458Thanks @yomna-shousha! - Add pull request metadata towrangler previewdeploymentswrangler previewnow detects the pull request associated with the current CI run (GitHub Actions, GitLab CI, CircleCI, and a genericPULL_REQUEST_URL/PR_URL/CHANGE_URLfallback) and attaches it, along with the repository URL, to the preview deployment as annotations (workers/pull_request_number,workers/pull_request_url,workers/repository_url).This is best effort: if no pull request can be detected, nothing changes. When a pull request is detected, its URL is now also shown in the
wrangler previewcommand output.#15307
433fa98Thanks @for-the-kidz! - Add pull request title towrangler previewdeployment annotationswrangler previewnow also detects the title of the pull/merge request associated with the current CI run (GitHub Actions and GitLab CI, plus a genericPULL_REQUEST_TITLEfallback) and attaches it to the preview deployment as theworkers/pull_request_titleannotation, alongside the existing pull request number/URL, repository URL, and commit SHA annotations.This is best effort: if no pull request title can be detected, nothing changes.
Patch Changes
#15294
4a67a28Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15328
2d78137Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15346
04e8564Thanks @dependabot! - Update dependencies of "miniflare", "wrangler"The following dependency versions have been updated:
#15246
daefb3cThanks @edmundhung! - Prepare autoconfig for multiple configuration targetsAdd target-specific configuration output and command detection while preserving Wrangler's existing setup and deployment behavior.
#15320
c809851Thanks @Om-singhaI! - Fixwrangler login --use-keyringincorrectly reporting thatsecret-toolis missing on LinuxLibsecret's
secret-tooldoes not support--version; it prints usage and exits 2, which Wrangler previously interpreted as unavailable. Wrangler now reports it missing only when launching the executable fails.#15336
22182daThanks @podonnell-dev! -[private beta]: Explain unavailable Preview URLs afterwrangler previewdeploymentsWhen a Preview deployment has no active URLs, Wrangler now explains how to enable Preview Deployments on workers.dev or a custom domain.
#15296
d589d30Thanks @MattieTK! - Stop automatically offering to install Cloudflare skills for new usersWrangler will no longer prompt new users to install Cloudflare skills after commands complete. It will continue to offer updates to skills that Wrangler previously installed.
Updated dependencies [
aa54b49,4a67a28,2d78137,04e8564,693ca29,693ca29,693ca29,37ed753,f76b68e,c66d2d5,693ca29,74de3ab,0cb8690,dd5148d,82d11fc]:colinhacks/zod (zod)
v4.5.2Compare Source
Commits:
a354314fix(docs): keep blog posts out of the docs collection (#6484)d378c42ci: drop canary publishing from the release workflow (#6487)212b941fix(v4): let a prototype method getter answer a bare call so vi.spyOn works (#6488)e7576f5docs(blog): let the page show through the navbar in dark mode (#6489)fedb06ffix(docs): match the blog TOC hover bar to the 2px active indicator6c932fcchore: bump devcontainer image to Node 24 (#6470)6635d9ddocs(blog): soften the "method memoization" attribution019ae29fix(docs): drop ISR on the docs route so the home page hydrates652bb43chore(docs): drop the scroll log from the route-change scroller571c8e8fix(docs): render blog tabs with the stock fumadocs tab card9a193aa4.5.2v4.5.1Compare Source
Commits:
2e862dbci: gate the GitHub release and JSR publish on the version being live on npm8e033804.5.1v4.5.0Compare Source
Zod 4.5 is now available.
At a glance:
z.compile()— the flagship feature of Zod 4.5z.creditCard()— 12–19 digits plus Luhn checksumz.properties()— the multi-property counterpart toz.property()z.deepPartial()/.exactPartial()z.validate(): boolean— a fast-path to verify input validity without a full parse (up to 16x faster on invalid data)bn), Central Kurdish (ckb), Hindi (hi), Kannada (kn), Norwegian Nynorsk (nn), Brazilian Portuguese (pt-BR), Slovak (sk), Turkmen (tk)z.compile()You can now pre-compile any Zod schema using
z.compile(schema). This dramatically speeds up parsing performance.A compiled schema can be used exactly like an uncompiled one. There are no special rules around compiled schemas. They're just faster.
On objects, arrays, and unions, this speeds up parsing by a factor of ~3–7. More complex schemas stand to benefit more than simpler ones.
Time per parse by schema type, standard parser vs compiled — lower is better (benchmark)
Below are the Moltar benchmark results comparing Zod (compiled and uncompiled) against the Moltar ParseSafe bench.
Throughput on the moltar benchmark fixture (parseSafe: returns a new object with unknown keys stripped) — higher is better (benchmark)
And the equivalent results for the Moltar AssertLoose bench. Tested against the new
z.validate(schema, input)function (detailed later in the post).Throughput on the moltar benchmark fixture (assertLoose: returns a boolean, unknown keys allowed) — higher is better (benchmark)
Zod's entire test suite runs twice—once normally and again with auto-compilation enabled globally—to ensure perfect fidelity.
How it works
Under the hood,
z.compile()walks the entire schema once and produces a hyperoptimized snippet of flat, loop-free JavaScript that can validate inputs far faster than a standard runtime validator. This snippet can be executed vianew Function()(effectively a more powerfuleval) to serve as a fast-path validator. Schemas use this to "fast check" validity, falling back to the regular runtime logic on validation failure to provide granular error information.Take this simple
Pointschema:Here is the generated snippet for it:
For the large majority of inputs, the generated function validates the data with the fastest logic JavaScript can express: straight-line
typeofchecks and property reads, with no interpreter in between. When it can't handle an input, Zod falls back to the standard parser.This is the function Zod generates for the
Playerschema above:Armed with the power of
new Function(), this happens in-process at runtime. There is no need to integrate with your build system.import "zod/compile"To compile every schema in an application, import
zod/compileonce at the top of your entry point. Every schema constructed after that import is automatically compiled the first time it's used to parse data.It also works as a Node.js CLI flag, which guarantees it runs before any module defines a schema:
Or set
preloadinbunfig.tomlornub.jsonc.{ "preload": ["zod/compile"] }All schemas benefit to varying degrees, though complex object/tuple/array schemas benefit more than simple scalar validators.
z.creditCard()A new string format: 12–19 digits, optionally separated by single spaces or hyphens, with a valid Luhn checksum. (#5931)
z.properties()The multi-property counterpart to
z.property(). (#5912)z.deepPartial()Back in functional form after being removed as a method in Zod 4. (#5928)
The result is still a
ZodObject, so.shapeand.extend()keep working..exactPartial()Like
.partial(), but wraps each field inz.exactOptional()instead ofz.optional(): keys may be omitted, but an explicitundefinedis rejected. This matches TypeScript'sPartial<>underexactOptionalPropertyTypes. (#6065)In Zod Mini it's a top-level function:
z.exactPartial(Recipe).z.validate()Standalone boolean validation, in Zod, Zod Mini, and Zod Core. It answers "is this input valid?" without constructing a
ZodError, which makes rejection cheap: on invalid input it is up to 16x faster than.safeParse().success. The return type is a guard on the schema's input type, andz.validateAsync()covers schemas with async refinements. (#6471)z.input()/z.output()Project a schema onto its input or output side. Useful for validating the two halves of a codec independently. (#5928)
This is a no-op on schemas
Configuration
📅 Schedule: (UTC)
🚦 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.