Skip to content

Update weekly minor updates - #771

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/weekly-minor-updates
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/weekly-minor-updates

Conversation

@renovate

@renovate renovate Bot commented Jun 29, 2026 •

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
@formkit/auto-animate 0.9.0 → 0.10.0 age confidence dependencies minor
axios (source) ^1.18.0 → ^1.20.0 age confidence dependencies minor
html2canvas-pro (source) 2.3.3 → 2.5.1 age confidence dependencies minor
i18next-cli ^1.67.3 → ^1.74.4 age confidence devDependencies minor
node (source) 24.16.0 → 24.21.0 age confidence minor
node 24.16.0 → 24.21.0 age confidence uses-with minor
npm (source) ^12.0.2 → ^12.2.0 age confidence dependencies minor
react-hook-form (source) 7.80.0 → 7.89.0 age confidence dependencies minor
react-icons 5.6.0 → 5.7.0 age confidence dependencies minor
sass 1.99.0 → 1.105.1 age confidence devDependencies minor

Release Notes

formkit/auto-animate (@​formkit/auto-animate)

v0.10.0

Compare Source

Features

  • Marko v6 integration — a new <auto-animate> tag exported from @formkit/auto-animate/marko (#​239). Pass your parent element's tag variable (<ul/listRef> → parent=listRef), with optional options and a reactive enabled attribute. SSR/resume safe. Thanks @​defunkt-dev!

Docs

CI

  • Releases are now published to npm via OIDC trusted publishing on v* tag pushes.
axios/axios (axios)

v1.20.0

Compare Source

v1.20.0 — August 19, 2026

This release hardens runtime option handling, adds RFC 9110 status-code aliases, fixes Node.js and XHR reliability issues, and refreshes project tooling and documentation.

⚠️ Breaking Changes & Deprecations

  • HTTP Status Naming: Added ContentTooLarge (413) and UnprocessableContent (422), while retaining PayloadTooLarge and UnprocessableEntity as backward-compatible deprecated aliases. (#​11082)

🔒 Security Fixes

  • Runtime Option Handling: Hardened behavioral configuration reads against shared and foreign prototype pollution and normalized unsafe interceptor replacement objects. This also clarifies Fetch redirect and custom implementation behavior, HTTP/2 DNS and proxy handling, CIDR-based NO_PROXY matching, and malformed data URI rejection; see the PR for documented compatibility effects. (#​11141)

🐛 Bug Fixes

  • Interceptor Lifecycle: Prevented unbounded handler-array growth by trimming trailing ejected interceptors without changing iteration semantics, and kept interceptor operations safe when the public handlers field is nullish. (#​11087, #​11118)
  • Request Error Preservation: Prevented custom Error.prepareStackTrace implementations that return non-string values from replacing the original request failure with an unrelated TypeError. (#​11109)
  • XHR Reliability: Navigation-canceled requests now reject with ECONNABORTED instead of resolving with status 0, while successful downloads flush their final progress callback during the live loadend dispatch. (#​11094, #​11121)
  • Node.js Socket Memory: Removed request-context retention from per-socket error listeners, preventing completed response data from being pinned for the lifetime of pooled keep-alive sockets. (#​11091)
  • Core Methods and HTTP Errors: Prevented structural method-header buckets from leaking into outgoing headers, standardized invalid DNS lookup and httpVersion failures as AxiosError.ERR_BAD_OPTION_VALUE, and corrected the timeoutErrorMessage merge strategy. (#​11096)

🔧 Maintenance & Chores

🌟 New Contributors

We are thrilled to welcome our new contributors. Thank you for helping improve axios:

Full Changelog (axios/axios@v1.19.0...v1.20.0)

yorickshan/html2canvas-pro (html2canvas-pro)

v2.5.1

Compare Source

Features
  • css: support repeating-conic-gradient (11662a0)
  • render: device-pixel text-clip surfaces with stroke and shadow support (cc779b0)
Bug Fixes
  • cache: suspend LRU eviction per nested defer window (0310530)
  • cache: suspend LRU eviction while a render preloads its images (4934544)
  • clone: append ::after pseudo content after element children (c150c75)
  • clone: clamp quote depth for unbalanced close-quotes (875bbc2)
  • css: correct zoom coordinate space and isolated blend groups (b4a3e03)
  • css: skip unsupported image functions in list-style-image (6285ecb)
  • karma: skip Firefox launcher with a warning when Firefox is missing (980934a)
  • render: contain list-style images in the 1em marker box (31c40e8)
  • render: correct coordinate math in mask, repeating and radial gradients (36e3ff7)
  • render: draw list markers as geometric shapes and input accent blue (116d2a4), references #​2a2a2a #​0075ff
  • render: keep the surface-root overflow clip inside composited surfaces (00371f0)
  • render: scale canvas shadow and filter metrics to device space (7e42bff)
  • render: use browser default accent blue for auto accent-color (d0778d8), references #​2a2a2a #​0075ff
  • server: separate static file serving paths to prevent 404 errors (8a652b7)
  • text: apply -webkit-line-clamp to flow-root containers (dfbf14f)

v2.5.0

Compare Source

Features
  • css: add conic/repeating-radial gradients, mask-image, backdrop-filter and more (5e2a2ef)
  • css: add text-emphasis, box-reflect, image-set and border-image outset/width (51bee56)
  • implement background-clip: text support with TextClipRenderer (2f8cdfa)
Bug Fixes
  • render background-clip: text with multiple text fragments (09e487b), closes #​243

v2.4.5

Compare Source

Bug Fixes
  • correct box-shadow scaling, clipping and inset rendering (a12e968)
  • keep CSS transforms when getTransform is unavailable (fb85d91)
  • preserve box shadows through effective canvas transforms (a81ef16)

v2.4.4

Compare Source

Bug Fixes
  • bound shadow mask displacement inside filter surfaces (69786e5)
  • composite supported filters and opacity on layer surfaces (0fe14a9)
  • harden filter surfaces and verify native WebKit rendering (ceaef3c)
  • rasterize box shadows within bounded filter surfaces (8d9aebe)
  • text-renderer: keep CJK on the alphabetic baseline with letter-spacing (7710c4b)
  • wait for cloned demo styles before capture (c4ed25b)
Performance Improvements
  • add reproducible surface and full-capture benchmarks (288bf60)
  • use native layer filters with a verified SVG fallback (9568fb6)

v2.4.3

Compare Source

Bug Fixes
  • preserve quoted font family names during serialization (0b8036c)

v2.4.2

Compare Source

Bug Fixes
  • remove horizontal seam on radial gradients whose vertical radius exceeds the horizontal one (a21be92)

v2.4.1

Compare Source

Bug Fixes
  • prevent SVG offsets from serialization (66362ea)

v2.4.0

Compare Source

Bug Fixes
  • canvas-renderer: preserve constrained input text (d8c943a)
  • document-cloner: restore scroll after onclone (ad66343)

v2.3.9

Compare Source

Bug Fixes
  • adjust mask rectangle anchoring to prevent inverted inset box-shadow rendering (67d21ac)

v2.3.8

Compare Source

Features
  • add white-space property descriptor and implement text wrapping for textareas (0463ea8)
  • enable CORS loading for cross-origin images in Cache class (79fb9c6)

v2.3.7

Compare Source

Features
  • adjust fieldset bounds to center legend vertically in ElementContainer (7f95068)

v2.3.6

Compare Source

Features
  • add legendBounds handling in ElementContainer and update CanvasRenderer for fieldset borders (f8878d2)
  • enhance DocumentCloner to preserve shadow roots and attributes in custom element clones (1e7a6db)
Bug Fixes
  • iterate attributes by index in DocumentCloner (904fb09)

v2.3.5

Compare Source

Features
  • add regression tests for slotted shadow DOM content and improve node parsing logic (ae86ba9)

v2.3.4

Compare Source

Features
  • add regression tests and handling for whitespace-only computed CSS values (146f373)
i18next/i18next-cli (i18next-cli)

v1.74.4

Compare Source

  • fix(extract): a conditional namespace argument resolves to the namespaces in its branches.
    useTranslation(confirmEmail ? ['reset-email-page', 'reset-page'] : 'reset-page') filed
    t('form.title') under defaultNS, so status reported it as absent and extract removed the
    existing translations from reset-page and reset-email-page. The key is now extracted into the
    primary namespace of every branch (here reset-email-page and reset-page), also for
    <Trans t={t}>. Fixes #​299.

v1.74.3

Compare Source

  • fix(extract): dynamic keys typed by a declaration in a file without any translation call
    resolve again when that declaration builds on one from a file that sorts after it. In 1.74.2,
    type Kind = Base | 'extra' in api/types.ts with Base declared in shared/base.ts expanded
    t(`kind.${kind}`) to kind.extra only, and the same happened to interface members,
    function return types and functions returning an enum member declared further down the list.
    Such declarations are now resolved again once every file has been scanned, which also removes
    the file-order dependence this had before 1.74.2.

  • feat(extract): more implicitly typed values expand to their finite set of keys. Fixes
    #​298:

    • members of an object returned by a function with an object return type:
      const animal = getAnimal(); t(`animal.${animal.type}`), also through
      const { type } = getAnimal(), const kind = animal.type or getAnimal().type.
    • unions and intersections of object types (type Animal = Duck | Dog gives animal.type the
      values of both) and generic object types (type AnimalBase<T extends AnimalType> = { type: T }
      used as AnimalBase<'DUCK'>, or bare, which falls back to the parameter's default or
      constraint).
    • (typeof COLOR)[keyof typeof COLOR] for an as const object or an enum.
    • elements of an array, colors[i], without an annotation on the variable they are assigned to.

    Narrowing is not followed: after if (color !== 'BLUE'), color.BLUE is still extracted.

  • fix(extract): shorthand options resolve like their long form. t('k', { ns }) filed the key
    under the default namespace, { defaultValue } was ignored and
    useTranslation('ns', { keyPrefix }) lost its prefix. Thanks to
    @​aaronshaf for reporting it in
    #​291.

v1.74.2

Compare Source

  • fix(extract): the output no longer depends on the order in which glob happens to return the
    input files. When two call sites give one key different defaults (t('k', 'Adding...') in one
    file, t('k', 'Importing...') in another), the first file visited wins, so an unchanged source
    tree could produce a different catalog from run to run and flip CI checks that compare against a
    committed catalog. Files are now visited in sorted path order, which makes the winner stable. If
    your sources contain such conflicts, the kept default may change once with this release. To
    hear about them instead of silently keeping one default, set
    extract.warnOnConflicts to 'warn' or 'error'. Fixes
    #​296.
  • perf(extract): files that contain no translation call, hook, TFunction, getFixedT or Trans
    component (as configured via functions, useTranslationNames and transComponents) are no
    longer parsed and walked a second time for keys. The constants pre-scan still reads every file,
    so types and as const values declared in such files keep resolving dynamic keys elsewhere.
    Plugins with an onVisitNode hook still see every file. On large trees where most files hold no
    translations this cuts extraction time considerably. Fixes
    #​297.
  • chore: update dependencies

v1.74.1

Compare Source

  • fix(extract): keys wrapped in parentheses are no longer dropped. t(('key')) and
    t(cond ? 'a' : ('b')) produced nothing, which is easy to hit without meaning to, since Prettier
    wraps the longer branch of a ternary in parentheses when the call does not fit on one line. The
    same wrapper broke the options argument (t('item', ({ count })) extracted no plural forms), a
    parenthesized default value (t('welcome', ('Welcome!'))), key arrays and selectors
    (t((['a', 'b'])), t((($) => $.sel.key))), useTranslation(('ns')), and option values such as
    { ns: ('other') }, which silently filed the key under the default namespace. Fixes
    #​295.

v1.74.0

Compare Source

  • fix(extract): finite dynamic keys now resolve through renaming imports. import { ResourceStatus as Status } from './types' followed by t(`status.${s}`) used to expand to nothing, because
    the resolver's tables are keyed by the declared type name and nothing mapped the local binding
    back to it. Applies to type aliases, enums, interfaces, as const arrays and helper functions
    alike. Part of #​294.
  • feat(extract): node_modules is no longer ignored unconditionally. The default ignore is
    dropped as soon as one of your extract.input patterns mentions it. Glob a dependency's
    .d.ts to let the type-aware resolver expand the string unions and enums it declares, or glob a
    package's sources to extract the keys it ships. Fixes
    #​294 and
    #​213.

v1.73.3

Compare Source

  • fix(extract): default values that are not string literals are now resolved statically instead of
    being dropped. t('greeting', STRINGS.greeting), t('bye', FAREWELL),
    t('k', `${GREETING} there`) and the same expressions inside defaultValue /
    defaultValue_one / defaultValue_other options pick up the value from a module-scope const,
    object map or enum. Ambiguous expressions such as ternaries still fall back to the key. Fixes
    #​293.

v1.73.2

Compare Source

  • fix(deps): react is no longer a runtime dependency; it only lives in devDependencies for the
    type import. The CLI only needs react-i18next at runtime, which resolves React from the
    consuming project. Previously the ^19.2.8 floor could not dedupe against a project pinning an
    older React patch (Expo SDK 57 pins react@19.2.3) and nested a second copy under
    node_modules/i18next-cli, which Expo Doctor flagged as a duplicate. Now a single React copy is
    used. Fixes #​292.

v1.73.1

Compare Source

  • fix(extract): the <Trans> child error added for
    #​246 now also fires for {table.name},
    {fn()}, {`a ${b}`} and any other child expression the extractor cannot serialise, not
    only for bare identifiers like {name}. react-i18next inlines the value at runtime, while
    extraction silently produced an empty <1></1> placeholder, so the key never matched. The
    message suggests the {{name: table.name}} object form. It also no longer asks for a values
    prop: react-i18next reads the value from the {{name}} object child itself, so
    <Trans>See table {{name}}</Trans> works on its own. Extraction output is unchanged.
    Fixes #​290.

v1.73.0

Compare Source

  • feat: init runs without the wizard. --yes takes the detected defaults for every question
    not answered by --locales, --input, --output, --backend <local|locize|other> or
    --file-type <ts|js>; --project-id <id> (or LOCIZE_PROJECTID) supplies the Locize project id
    and skips the signup page and the credential prompts. Made for scripts and AI coding agents,
    which cannot drive the prompts.
  • feat: init --agent-note (also the last wizard question, default No) appends a short
    ## Internationalization section to AGENTS.md (and CLAUDE.md when present; when neither
    exists, AGENTS.md is created, plus a CLAUDE.md importing it if the project has a .claude/
    folder) so the next agent session knows where the locale files are and how translations are
    managed. The exact text is in the README; --no-agent-note skips the question. Nothing is
    written unless you say yes.
  • change: the localize agent prompt (--print-agent-prompt) and the i18next-localization
    skill no longer presume Locize. The agent asks the developer once, before creating the config,
    whether to manage the translations with Locize or keep the files in the repository, and never
    creates a project or asks for an API key unless they chose Locize. The prompt now creates the
    config with init --yes ... instead of the interactive wizard.

v1.72.4

Compare Source

  • docs: the README shows the skills.sh install badge for the i18next-localization Agent Skill, and
    i18next-cli --help now ends with a one-line hint on installing it
    (npx skills add i18next/i18next-cli). No other command prints anything new.

v1.72.3

Compare Source

  • feat(funnel): the Locize hint after status, extract and sync is now a single line that
    names the untranslated-key gap and the one command that fills it (npx i18next-cli localize),
    each with its own ?from= tagged register link. It only appears when secondary locales
    actually have untranslated keys; the 24h cooldown and the CI/non-TTY suppression are unchanged.

v1.72.2

Compare Source

  • fix: extract dynamic keys built from for...of loop variables. for (const unit of UNITS) over
    an as const string array now binds unit while the loop body is walked, just like .map() /
    .forEach() callback parameters already did.
  • fix: capture as const arrays of object literals (e.g. [{ unit: 'day' }, { unit: 'hour' }]),
    so both for (const { unit } of UNITS) and UNITS.forEach(({ unit }) => ...) resolve the
    destructured properties.
  • fix: resolve object destructuring of a known as const object, e.g. const { unit } = rate;
    followed by t(`msg ${unit}`)
    (#​289).

v1.72.1

Compare Source

  • fix: the interactive instrument prompt crashed because it still used inquirer's list prompt
    type, which was removed in inquirer 13; switched to select
    (#​288).

v1.72.0

Compare Source

  • feat: locize-sync --changed-only [--base <ref>] syncs and AI-auto-translates only the keys
    that changed on the current git branch vs. the base branch — ideal for translating just a pull
    request's diff instead of the whole project. The source-language files are diffed against the
    merge-base with the base branch (auto-detected via origin/HEAD, main, master, or set with
    --base); key creation, value updates and auto-translation are restricted to those keys, and
    deletions are skipped. Changed keys are scoped per namespace file, and when any plural variant
    of a key changed, all its plural forms are included (target languages often need more CLDR
    plural forms than the source). Also configurable via locize.changedOnly /
    locize.changedOnlyBase. Requires git and locize-cli >= 12.7.
  • feat: sync --changed-only [--base <ref>] applies the same branch-diff scoping to the local
    synchronizer: only primary-language keys added or modified on the branch are propagated to the
    secondary language files, and obsolete keys are left in place. Works with JSON, JSON5 and YAML
    translation files (JS/TS resource modules cannot be parsed from git history and fail with a
    clear message). Unusable git setups (git missing, not a repository, unresolvable base ref) fail
    the command with actionable errors that mention actions/checkout fetch-depth: 0 for shallow
    CI clones.

v1.71.3

Compare Source

  • fix: fallbackNS accounting now works when the fallback namespace lives in its own file
    outside a merged output (mergeNamespaces: true), e.g. split out and hidden via
    ignoreNamespaces: status and extract look up a fallback namespace missing from the
    merged file at its per-namespace path, and a function output resolves the merged file
    without a namespace (matching what extract writes), so hybrid layouts are expressible via
    an output function. When a fallbackNS is listed in ignoreNamespaces but its
    translations cannot be found, status now warns instead of silently reporting the keys as
    absent (#​287).

v1.71.2

Compare Source

  • fix: extract no longer scales quadratically with the number of keys: selector-API /
    returnObjects keys are matched via an O(key depth) Set lookup instead of one regex per
    object key, and the per-key leaf check uses a precomputed ancestor-prefix Set instead of
    scanning all keys. A 4-minute run on a ~11,500-key monorepo drops to seconds; written
    output is byte-identical (#​286).

v1.71.1

Compare Source

  • feat: .reduce()/.reduceRight() over an as const array now bind the element callback
    parameter (the second one, (acc, el) => …) like .map()/.forEach() already did, so
    ERRORS.reduce((acc, n) => { acc[n] = t(`errors.${n}.title`) }, {}) extracts every element
    without the (typeof ERRORS)[number] cast workaround
    (#​285).

v1.71.0

Compare Source

  • feat: new status.ignoreKeys config option: glob patterns (same shape as preservePatterns,
    optional ns: prefix) for keys that status should not report or fail on, e.g. keys that are
    intentionally empty in some locales. Only affects status; extract is unchanged
    (#​284).

v1.70.4

Compare Source

  • feat: useTranslation(ns) where ns is a function parameter now resolves to the parameter's
    string default (({ ns = 'a' }) =>, (ns = 'a') =>), or, without a default, to the first
    member of its inline union type ({ ns: 'a' | 'b' }), mirroring the TFunction<'a' | 'b'>
    rule (#​284).

v1.70.3

Compare Source

  • fix: TFunction<Ns> members are now found inside intersection types
    (Base & { t?: TFunction<Ns> }), including optional t?: and overload implementation
    signatures (#​284).
  • fix: named type aliases (TFunction<Namespace>, <Ns extends Namespace>) are no longer
    resolved to their first member. Introduced in 1.70.2, this could attribute keys to an arbitrary
    namespace when the alias is an app-wide union. Inline unions and literal generic constraints still
    resolve to the first member.

v1.70.2

Compare Source

  • fix: namespace detection for union / generic / array forms
    (#​284):
    • TFunction<'a' | 'b'>, TFunction<Ns> with <Ns extends 'a' | 'b'>, and TFunction<Alias>
      with a local type Alias = 'a' | 'b' resolve to the first member (plain, destructured and
      props.t member-call forms).
    • useTranslation(['a', 'b'] as const) and useTranslation(NS) with a local
      const NS = ['a', 'b'] are resolved like the inline array form.

v1.70.1

Compare Source

  • feat: further namespace detection improvements
    (#​284):
    • ReturnType<typeof useTranslation<'ns', 'keyPrefix'>>['t'] on parameters (plain and
      destructured) is treated like TFunction<'ns', 'keyPrefix'>.
    • A locally declared wrapper that forwards its first parameter as the key to an already scoped
      translation function (e.g. const t = useCallback((key, opts) => tLocal(key, opts), [...]))
      inherits that function's namespace / keyPrefix.
  • fix: t() calls inside fenced code blocks (```) of doc comments are no longer extracted
    as real call sites.

v1.70.0

Compare Source

  • feat: improve namespace detection for t functions whose namespace is not a plain
    useTranslation('ns') literal (#​284):
    • useTranslation(ns ?? 'fallback') / useTranslation(ns || 'fallback') now resolve to the
      statically known side (the fallback literal when the left side is dynamic) instead of
      silently falling back to defaultNS.
    • TFunction<'ns'> / TFunction<'ns', 'keyPrefix'> is now honoured on destructured
      parameters as well (({ t }: { t: TFunction<'ns'> }), ({ t }: Props) with a local
      interface or type alias), not only on plain (t: TFunction<'ns'>) parameters.
      These previously caused status / extract to attribute such keys to the default namespace
      and report them as missing.

v1.69.2

Compare Source

  • fix: support the AST shape of @swc/core 1.16, which types function, arrow and method
    bodies as FunctionBody instead of BlockStatement (plain blocks like if (x) { … } are
    unchanged). Every "is this a function body?" check silently went false, which broke selector
    calls with a block body (t($ => { return $.a.b })), return-type inference from a function
    body (finite dynamic keys), and React component-boundary detection in the instrumenter — so
    useTranslation() / <Trans> were no longer injected. Both node types are now accepted.

v1.69.1

Compare Source

  • fix(lint): report hardcoded strings at the line where they actually occur. Line numbers were
    resolved by searching the raw source text, so a short string was reported at the first place
    it appeared as a substring anywhere in the file — e.g. <span>in</span> on line 4 was reported
    on line 1 because of import './settings.scss'. Lines are now taken from the AST node's span,
    falling back to the text search only when no span is available. This also fixes
    i18next-instrument-ignore / i18next-instrument-ignore-next-line being ignored for such
    strings, since the directives suppress issues by line
    (#​283).

v1.69.0

Compare Source

  • feat(lint): support acceptedTags: 'all' to lint every JSX tag, including custom
    components, instead of the recommended built-in tag list. Useful together with
    acceptedAttributes in codebases with many custom JSX elements where maintaining an
    explicit tag accept-list is impractical. ignoredTags and transComponents still take
    precedence, and the default behavior when acceptedTags is unset is unchanged
    (#​282).

v1.68.0

Compare Source

  • feat(status): add --unused to report only unused translation keys — keys present in the
    translation files but no longer used in the source code. "Unused" is defined as what
    extract with removeUnusedKeys would delete: the report runs the extractor in dry-run
    mode (with removeUnusedKeys forced on, regardless of the config) and diffs the existing
    key set against the pruned result, so it inherits all of extract's edge-case handling
    (plural variants, context variants, preservePatterns, ignoreNamespaces). The command
    never modifies any files and exits with a non-zero status code when unused keys are found
    (or when source files failed to parse, since that could cause false positives), making it
    a dedicated CI check alongside the missing-translations check status <locale>. Combines
    with the locale argument and --namespace, e.g. i18next-cli status en --unused. Note
    that static analysis cannot detect dynamically constructed keys; to find keys that are
    truly unused at runtime, see https://www.locize.com/docs/guides/find-unused-translations
    (#​281).

v1.67.9

Compare Source

  • fix(types): derive defaultNS from the generated resources when extract.defaultNS is
    false. i18next's type system cannot express defaultNS: false — DefaultNamespace = TypeOptions['defaultNS'] feeds Ns extends Namespace, so emitting false made every
    t() call silently accept any string and the generated definitions checked nothing. The
    namespace is now taken from the keys of the generated Resources interface (deduplicated
    and sorted, preferring 'translation', and preferring a namespace inside types.basePath
    over one resolved outside of it), with a warning naming the pick. false is still emitted
    when the resource files are named after locales (en.json + de.json), where deriving
    would turn sibling languages into namespaces. Only affects i18next.d.ts on first
    creation; resources.d.ts and --ci behavior are unchanged
    (#​280).

v1.67.8

Compare Source

  • fix(extract): make the key sort order transitive, so extract is idempotent. The
    comparator compared base keys for plural/plural pairs but full keys for every other
    pair, which produced a cycle (foo_solved < foo_zero < foo_one < foo_other < foo_solved)
    for a key that has both plural forms and a context variant in a locale with a zero
    plural (lv, ru, pl, lt, uk, …). The resulting order then depended on the input order, so
    the same file flipped key order back and forth on every extract/download cycle. Keys are
    now always compared by base key first, then by variant rank (plain key, cardinal plurals,
    ordinal plurals) (#​279).
  • feat(extract): resolve finite string-literal unions through the element type of an
    iterated array. function f(items: IProps[]) with
    items.map(({ size }) => t(`some_${size}`)) now expands to one key per union member,
    as does member access on the callback element (items.forEach(item => t(`some_${item.size}`))) and a typed array variable (const items: IProps[] = …).
    Covers T[], Array<T> and ReadonlyArray<T> for map/forEach/flatMap/filter/
    find/some/every (#​210).

v1.67.7

Compare Source

  • fix(instrument): skip module-scope strings instead of wrapping them in a t() call. A
    top-level config/registry literal (export const SECTIONS = [{ label: 'Appearance' }])
    used to be rewritten to i18next.t(...) — evaluated once when the module is first
    imported, so it may run before i18next is initialized and never updates on language
    change. Such candidates are now left untouched and reported with a warning pointing at
    the hook alternative. Strings inside plain (non-component) functions are still
    instrumented with i18next.t() as before
    (#​278).
  • fix(instrument): a generated import i18next from 'i18next' is no longer appended to the
    same line as a semicolon-terminated import
    (import { X } from "./x";import i18next from 'i18next'). The insertion point now moves
    past the end of the line, and a leading newline is added when the last import ends at
    EOF without one (#​278).

v1.67.6

Compare Source

  • fix(lint): a directory whose name matches the input globs (e.g. a folder called
    abc.tsx) no longer aborts the run with EISDIR: illegal operation on a directory, read. Source-file globs now pass nodir: true, which also covers the extractor and
    the instrumenter (#​277).

v1.67.5

Compare Source

  • fix(extract): correct line/column in plugin location metadata for files containing
    multi-byte characters (em dashes, accented letters, CJK, emoji). SWC reports AST spans
    as UTF-8 byte offsets, but the extractor treated them as JavaScript string indices, so
    every multi-byte character shifted all following locations. The span base was also
    computed by mixing a byte offset with a character index, which additionally skewed
    locations in files whose leading comments contain multi-byte characters — that part
    affected the linter and instrumenter too
    (#​276).

v1.67.4

Compare Source

  • fix(extract): resolve finite string-literal unions that reach a key through an
    interface- or object-typed function parameter. interface IProps { size: ChangeType }
    with function f({ size }: IProps) { return t(`some_${size}`) } now expands to one key
    per union member. Covers destructured props (including renamed and defaulted ones),
    member access on the parameter itself (t(`some_${props.size}`)), object type aliases
    (type Props = { size: 'x' | 'y' }) and inline type literals. Bindings are scoped to the
    function, so nothing leaks to same-named identifiers elsewhere
    (#​210).
nodejs/node (node)

v24.21.0: 2026-09-08, Version 24.21.0 'Krypton' (LTS), @​aduh95

Compare Source

Notable Changes
  • [71106e1f17] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #​65495
  • [afca0a912d] - (SEMVER-MINOR) crypto: support loading private keys through STORE loaders (Filip Skokan) #​63949
  • [6274fccbd9] - deps: update OpenSSL to 3.5.8 (Node.js GitHub Bot) #​65542
  • [53cba013c7] - deps: update Undici to 7.29.1 (Node.js GitHub Bot) #​65789
  • [0529772798] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #​65024
  • [41c7062b81] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #​64974
  • [5197b5a3c5] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #​65416
  • [35c635b032] - (SEMVER-MINOR) util: add non-throwing MIMEType.parse (James M Snell) #​64965
Commits

❗ Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Etc/UTC)

  • Branch creation
    • "before 5am on monday"
  • 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 29, 2026 •

Copy link
Copy Markdown

Deploying talishar-fe-temp with  Cloudflare Pages  Cloudflare Pages

Latest commit: 289a6b0
Status: ✅  Deploy successful!
Preview URL: https://583570e5.talishar-fe-temp.pages.dev
Branch Preview URL: https://renovate-weekly-minor-update.talishar-fe-temp.pages.dev

View logs

@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Jun 29, 2026
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 4 times, most recently from b1579bf to 4922e3c Compare July 5, 2026 05:50
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 4 times, most recently from cbe7e33 to 07d76b9 Compare July 16, 2026 15:04
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 6 times, most recently from 2eaf028 to 5a3aa59 Compare July 25, 2026 02:34
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 6 times, most recently from 6dc94c3 to 42e26a4 Compare August 1, 2026 09:01
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 6 times, most recently from cd10110 to e1fbeeb Compare August 10, 2026 09:26
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 2 times, most recently from 8305a41 to 7264edb Compare August 12, 2026 03:51
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 7 times, most recently from 77f9596 to 8ffb572 Compare September 7, 2026 21:01
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 9 times, most recently from 9027a13 to b7bf4da Compare September 15, 2026 19:01
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 7 times, most recently from 9c5663e to 06bcb8f Compare September 23, 2026 09:53
@renovate
renovate Bot force-pushed the renovate/weekly-minor-updates branch 5 times, most recently from c93c1d7 to fe972dc Compare September 30, 2026 04:03
@renovate

renovate Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm warn Unknown env config "store". This will error in a future major version of npm. See `npm help npmrc` for supported config options.
npm error code EALLOWREMOTE
npm error Fetching packages of type "remote" have been disabled
npm error Refusing to fetch "https://registry.npmjs.org/npm/-/npm-12.2.0.tgz"
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-10-04T09_55_22_972Z-debug-0.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants