deps(fe): Update fe - #183
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/fe
branch
18 times, most recently
from
April 17, 2026 10:35
8bf7e9e to
faaf43a
Compare
renovate
Bot
force-pushed
the
renovate/fe
branch
8 times, most recently
from
April 22, 2026 17:59
a9b767f to
64422bb
Compare
renovate
Bot
force-pushed
the
renovate/fe
branch
10 times, most recently
from
May 6, 2026 08:26
00cd572 to
c8b73b3
Compare
renovate
Bot
force-pushed
the
renovate/fe
branch
11 times, most recently
from
May 14, 2026 09:53
f515b46 to
0e1d656
Compare
renovate
Bot
force-pushed
the
renovate/fe
branch
8 times, most recently
from
May 19, 2026 19:15
1547384 to
712706c
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:
^2.0.5→^2.1.0^3.3.5→^3.3.6^5.2.9→^5.3.0^7.2.0→^7.3.1^7.2.0→^7.3.1^7.2.0→^7.3.1^1.15.2→^1.16.0^5.1.2→^5.3.6^0.11.3→^1.0.1^0.73.1→^2.5.2^5.96.2→^5.101.4^5.96.2→^5.101.4^6.1.13→^6.1.38^5.2.10→^5.2.11^3.7.1→^3.7.2^24.12.2→^24.13.3^8.58.1→^8.65.0^8.58.1→^8.65.0^14.7.0→^14.9.0^14.2.1→^14.3.0^1.11.20→^1.11.21^10.2.0→^10.8.0^4.4.4→^4.4.5^7.0.1→^7.0.2^10.8.0→^10.10.0^4.4.7→^4.5.1^1.21.0→^1.23.0^3.0.4→^4.0.2^11.2.0→^11.3.2^17.6.0→^17.14.1^2.29.7→^2.30.1^6.0.2→^7.0.2^1.11.7→^1.11.8^1.3.7→^1.3.9^3.5.32→^3.5.40^5.0.4→^5.2.0^3.2.6→^3.3.84.13.0→4.17.1Release Notes
eslint/rewrite (@eslint/compat)
v2.1.0Compare Source
Features
includeIgnoreFile()to config-helpers (#430) (9b51352)eslint/eslintrc (@eslint/eslintrc)
v3.3.6Compare Source
Bug Fixes
js-yamlto 4.3.0 to address security vulnerability (#235) (0c5de74)fontsource/font-files (@fontsource/noto-sans-sc)
v5.3.0Compare Source
FortAwesome/Font-Awesome (@fortawesome/free-brands-svg-icons)
v7.3.1Compare Source
Change log available at https://fontawesome.com/docs/changelog/
v7.3.0Compare Source
nuxt/eslint (@nuxt/eslint)
v1.16.0Compare Source
🚀 Features
View changes on GitHub
harlan-zw/nuxt-seo (@nuxtjs/seo)
v5.3.6Compare Source
🐞 Bug Fixes
View changes on GitHub
v5.3.4Compare Source
🚀 Features
View changes on GitHub
v5.3.3Compare Source
No significant changes
View changes on GitHub
v5.3.2Compare Source
No significant changes
View changes on GitHub
v5.3.1Compare Source
🐞 Bug Fixes
View changes on GitHub
v5.3.0Compare Source
🚀 Features
🐞 Bug Fixes
🏎 Performance
View changes on GitHub
v5.2.6Compare Source
🐞 Bug Fixes
View changes on GitHub
v5.2.5Compare Source
🐞 Bug Fixes
View changes on GitHub
v5.2.4Compare Source
🐞 Bug Fixes
View changes on GitHub
v5.2.3Compare Source
🐞 Bug Fixes
View changes on GitHub
v5.2.2Compare Source
🐞 Bug Fixes
View changes on GitHub
v5.2.1Compare Source
No significant changes
View changes on GitHub
v5.2.0Compare Source
🚀 Features
🐞 Bug Fixes
View changes on GitHub
v5.1.4Compare Source
🚀 Features
🐞 Bug Fixes
View changes on GitHub
v5.1.3Compare Source
🐞 Bug Fixes
View changes on GitHub
vuejs/pinia (@pinia/nuxt)
v1.0.1Compare Source
🐞 Bug Fixes
View changes on GitHub
v1.0.0Compare Source
🚀 Features
🐞 Bug Fixes
View changes on GitHub
kane50613/takumi (@takumi-rs/core)
v2.5.0Add
setGlyphCacheMaxBytesThe resolved-glyph and glyph-mask caches share an 8 MiB budget that no binding exposed.
cacheMaxByteslooks like the knob for it but covers a different set of caches: decoded images, SVG rasters, and parsed stylesheets.setGlyphCacheMaxBytessets the glyph budget. It is a module-level function rather than aRendereroption because those caches live in the module and are shared by every renderer, and the budget is read the first time a cache is used, so the call has to come before the first render.The default suits Latin text. A CJK outline runs a few kilobytes, so 8 MiB holds on the order of a thousand of them and a page of Chinese re-rasterizes glyphs it evicted a moment earlier.
takumi-jsforwards it too. That one records the budget and hands it to the backend as it loads, so it stays synchronous and cannot race the resolution.v2.4.2Stop copying Uint8Array font and image inputs on the native binding
Buffer inputs were already passed to render tasks as ref-counted views, but Uint8Array inputs went through a full
to_veccopy first. Both now cross into the async tasks zero-copy; only bare ArrayBuffer inputs still copy.v2.4.0Unify decoded resources behind one budgeted cache
Decoded images had a byte budget, but each SVG kept up to 32 rasterized pixmaps outside it, and every render re-parsed its stylesheets from scratch.
ImageCacheis nowResourceCache: SVG sources, their rasterized pixmaps, and parsed stylesheets all weigh against the same budget as decoded images. The default budget drops from 64 MiB to 16 MiB and becomes configurable —new Renderer({ cacheMaxBytes })in the bindings,ResourceCache::new(max_bytes)in Rust, with0disabling caching. SVG rasters and parsed stylesheets now also survive across renders, so a server re-rendering the same template stops re-rasterizing and re-parsing per request. Rust callers:RenderOptions.stylesheetis nowArc<StyleSheet>; passsheet.into().Return an error for viewports too large to allocate
A viewport whose pixel buffer overflowed the backing allocation used to fall back to a 1x1 canvas, so the render produced a valid-looking but wrong tiny image with no error. The root canvas is now built through a fallible path that surfaces the allocation failure as an
InvalidViewporterror instead. Internal offscreen canvases keep their bounded sizes and are unaffected.Blend animated WebP frames by default on the native binding
AnimatedWebpOptions::builder()leftblendanddisposeunset, so they fell back tofalsewhile the type'sDefaultand the wasm backend useblend: true. Native animated WebP now alpha-blends frames over prior content like wasm does, so animations with partially transparent later frames render the same on both backends. The builder defaults are pinned to theDefaultvalues.Convert native panics into catchable errors instead of aborting the process
The published napi artifacts are now built with unwind panics, so a Rust panic reached through malformed input surfaces as a JS error rather than killing the host process. Wasm keeps abort panics by design.
v2.3.0Accept raw RGBA pixels as an image source
An image node's
srctakes{ width, height, data, premultiplied? }and renders the pixels without decoding; theBitmapJSX helper wraps it as an<img>.v2.2.0Extend the built-in Geist to weight 300
The embedded last-resort font covers
wght300..800 and trims unused stylistic sets, ending up slightly smaller than before.Claim generic font families from the JS font API
Font descriptors accept
generic(e.g."monospace"), so stacks like Tailwind'sfont-monoresolve to registered fonts without naming the family.v2.0.2Accept a promise in the
fontsoptionfontsnow takesPromise<FontLoader[]>as well as the plain list, sogoogleFontsresults pass straight through withoutawait.Extend the embedded font weight axis to 800
The embedded last-resort Geist subset now covers weights 400 to 800.
v2.0.0Make the embedded font a true last resort
Both bindings now embed one font: a Latin Geist subset with a 400 to 700
weight axis (Geist Mono and Manrope are gone). It no longer claims the
sans-serifgeneric family and always sorts after registered fonts infallback selection, so generic families and unstyled text resolve to the fonts
you load. The new
FontResource::last_resortmarks a font's families to sortafter every normal registration.
Cap animation frame rate per format
Browsers clamp any animation frame of 10ms or less to 100ms, so a high frame
rate stalls instead of playing fast.
write_animationnow rejects a frame rateabove
AnimationFormat::max_fpswith the newAnimationFrameRateTooHigherror:90 fps for WebP and APNG, 50 fps for GIF (centisecond delays). The napi and WASM
renderAnimationbindings surface the error.Apply structured keyframes in
renderAnimationrenderAnimationaccepted akeyframesoption but never registered it, sostructured keyframes animated with
renderyet stayed static in animations. Itnow extends the stylesheet with them like the other entry points.
Fix buffer pool bucket capacity invariant
Release now buckets a buffer by the floor power of two its capacity guarantees,
and
acquire_dirtyreserves beforeset_len. A pooled buffer can no longer belengthened past its allocation.
Skip mask copies and per-pixel mask lookups in canvas fast paths
Borrow the combined constraint mask directly when it already matches the
canvas viewport instead of copying it per draw, and hoist mask lookups out of
the per-pixel blit loops. Output is unchanged.
Make subset-group font selection deterministic
Subsets registered under one logical family (via
FontResource::subset_of) were keptin registration order. Callers commonly register fonts concurrently, so that order — and
therefore which subset won for a codepoint covered by more than one (e.g. overlapping
weight subsets, where the loser is faux-bolded) — varied per process. Identical input
could render to different bytes run to run.
Subsets are now held in a
BTreeSet, ordered by their family name, so expansion andselection no longer depend on registration timing. Same input renders identically.
Shrink the published binaries
Size-optimize the layout and shaping crates that never run per pixel, cutting
the published WASM and native binary size.
Share the renderer facade between the napi and wasm bindings
The napi and wasm
Rendererwrappers now build on a sharedprepareRenderInputhelper in
@takumi-rs/helpers/renderer, so their option types and render bodieslive in one place. Both backends check
signalbefore and after resolvingfonts and images: on native, an already-aborted signal now throws before any
resource fetch.
Fix gradient stop snapping panic for oversized stop lists
Gradients with more color stops than the LUT can hold no longer panic. The
sample-index clamp and normalization passes stay within LUT bounds.
Reuse per-scene state across animation frames
Compute each scene's font snapshot once and share its image and stylesheet
handles across frames instead of re-snapshotting and deep-cloning the whole
option tree per frame. Frame output is unchanged.
Remove
encodeFramesRenderer.encodeFramesand itsEncodeFramesOptions/AnimationFrameSourcetypes are gone.
renderAnimationcovers scene-based animation; pre-renderedframe encoding had no callers.
Replace
fetchResources/extractResourceUrlswithprepareImages@takumi-rs/helpersexportsprepareImages({ node, sources?, fetchCache?, fetch?, timeout? }),which collects a node tree's remote images and fetches the ones not already supplied. Pass a
fetchCache(aMap<string, Promise<ArrayBuffer>>, or anyMap-like store) to coalesceconcurrent fetches of the same URL and reuse the bytes across renders; a failed fetch is
evicted so a later call retries.
The
extractResourceUrlsandfetchResourceshelpers are removed. Theimagesrender optiontakes the same group form:
{ sources, fetchCache, fetch, timeout }.Stream animation frames straight into the encoder
Add
write_animation, which renders a timeline and feeds each frame to theencoder as it arrives, holding one raw frame at a time instead of the whole
sequence. Both the napi and WASM
renderAnimationbindings use it, so a highframe rate or a long duration no longer exhausts memory. On native the WebP
encoder still runs frames in parallel, now over bounded chunks. The WASM WebP
encoder now merges runs of identical frames like the native one, so a static or
slow animation encodes and stores far less. The eager
render_animation+write_animated_*path stays for callers that want every frame at once.Guard shadow and blur buffer sizing against overflow
Extreme blur radii could overflow the
u32shadow-buffer area and panic orover-allocate. Sizing now uses saturating math and skips shadows above a 256
Mi-pixel budget.
Type keyframe declarations with
csstypeinstead of DOM'sCSSStyleDeclarationKeyframesMapandKeyframeRuletyped each keyframe's declarations asRecord<string, CSSStyleDeclaration>, requiring every CSS property on a singleoffset and needing the
DOMlib. Declarations are now typed withcsstype'sProperties, an optional peer dependency, so a single offset only needs theproperties it sets and consumers without the
DOMlib still typecheck.Accept a bare URL string in
fontsfontsentries can now be a URL string, e.g.fonts: ["https://example.com/Inter.woff2"].The bytes are fetched on demand and keyed by the URL; family name, weight, and style come
from the font file. The object form stays for overriding those. Adds
fontFromUrlto@takumi-rs/helpers.Cap image decode dimensions and GIF frame volume
Decoders reject images beyond 8192x8192 (via
image::Limitsfor PNG and JPEG,dimension checks for WebP) and GIFs beyond a total-frame pixel budget, stopping
decode-bomb OOM.
v1.8.7Compare Source
Patch Changes
81c3678: Removed the seperate .d.ts file and updated tsdown to v0.22.39604fd7: Split package export types per import/require condition so CJS consumers resolve.d.cts9604fd7]v1.8.6Compare Source
Patch Changes
v1.8.5Compare Source
Patch Changes
v1.8.4Compare Source
Patch Changes
v1.8.3Compare Source
Patch Changes
bfc6e55: Join rayon's worker threads on N-API teardown to fix a Windows crash (0xC0000005) when Node exits after rendering (#763)v1.8.2Compare Source
Patch Changes
v1.8.1Compare Source
Patch Changes
v1.8.0Compare Source
Minor Changes
ae2c9aa: Built with nightly Rust toolchain withpanic=immediate-abortto reduce binary sizePatch Changes
v1.7.0Compare Source
Patch Changes
b908a4d]4748c22]42d0d03]80e29da]v1.6.0Compare Source
Patch Changes
v1.5.1Compare Source
Patch Changes
v1.5.0Compare Source
Patch Changes
v1.4.1Compare Source
Patch Changes
v1.4.0Compare Source
Patch Changes
1d5daed: Fix missingindex.d.tsfile #715e83ab19]v1.3.0Compare Source
Patch Changes
v1.2.1Compare Source
Patch Changes
v1.1.2Compare Source
Patch Changes
v1.1.1Compare Source
Patch Changes
v1.1.0Compare Source
Patch Changes
v1.0.16Compare Source
Patch Changes
v1.0.15Compare Source
Patch Changes
v1.0.14Compare Source
Patch Changes
v1.0.13Compare Source
Patch Changes
v1.0.12Compare Source
Patch Changes
v1.0.11Compare Source
Patch Changes
v1.0.10Compare Source
Patch Changes
v1.0.9Compare Source
Patch Changes
v1.0.8Compare Source
Patch Changes
8886c01]b287c43]v1.0.7Compare Source
Patch Changes
v1.0.6Compare Source
Patch Changes
Configuration
📅 Schedule: (UTC)
🚦 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.