Eli Bosley
4ff6a1aaa0
Add Claude Code GitHub Workflow ( #1541 )
...
## 🤖 Installing Claude Code GitHub App
This PR adds a GitHub Actions workflow that enables Claude Code
integration in our repository.
### What is Claude Code?
[Claude Code](https://claude.ai/code ) is an AI coding agent that can
help with:
- Bug fixes and improvements
- Documentation updates
- Implementing new features
- Code reviews and suggestions
- Writing tests
- And more!
### How it works
Once this PR is merged, we'll be able to interact with Claude by
mentioning @claude in a pull request or issue comment.
Once the workflow is triggered, Claude will analyze the comment and
surrounding context, and execute on the request in a GitHub action.
### Important Notes
- **This workflow won't take effect until this PR is merged**
- **@claude mentions won't work until after the merge is complete**
- The workflow runs automatically whenever Claude is mentioned in PR or
issue comments
- Claude gets access to the entire PR or issue context including files,
diffs, and previous comments
### Security
- Our Anthropic API key is securely stored as a GitHub Actions secret
- Only users with write access to the repository can trigger the
workflow
- All Claude runs are stored in the GitHub Actions run history
- Claude's default tools are limited to reading/writing files and
interacting with our repo by creating comments, branches, and commits.
- We can add more allowed tools by adding them to the workflow file
like:
```
allowed_tools: Bash(npm install),Bash(npm run build),Bash(npm run lint),Bash(npm run test)
```
There's more information in the [Claude Code action
repo](https://github.com/anthropics/claude-code-action ).
After merging this PR, let's try mentioning @claude in a comment on any
PR to get started!
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced automated code review using Claude AI for pull requests.
* Added Claude AI code assistance, triggered by comments containing
"@claude" in issues and pull requests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-25 15:00:03 -04:00
Eli Bosley
86b6c4f85b
fix: inject Tailwind CSS into client entry point ( #1537 )
...
Added a Vite plugin to automatically inject the Tailwind CSS import into
the `unraid-components.client.js` entry file, enhancing the integration
of Tailwind CSS within the application. This change improves the setup
for styling components consistently across the project.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added automated validation to ensure Tailwind CSS styles are correctly
included in the custom elements build output.
* **Chores**
* Updated the build process to include a CSS validation step after
manifest generation.
* Enhanced development build configuration to enable CSS source maps and
optimize Tailwind CSS injection into web components.
* Extended CSS theme with new responsive breakpoint variables.
* Improved CSS class specificity in user profile, server state, and
update modal components for consistent styling.
* Removed redundant style blocks and global CSS imports from multiple
components to streamline styling and reduce duplication.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-23 15:30:57 -04:00
Pujit Mehrotra
45bd73698b
fix(connect): omit extraneous fields during connect config validation ( #1538 )
...
Prevent extraneous fields from migrating to `connect.json` from
`myservers.cfg`
2025-07-23 13:55:35 -04:00
Pujit Mehrotra
fee7d4613e
refactor: add & use ConfigFilePersister primitive ( #1534 )
...
Add `ConfigFilePersister<T>` to provide automatic JSON file persistence
for configs. It bridges the gap between in-memory configuration (via
`ConfigService`) and persistent file storage, with minimal developer
effort.
## Key Features
- **Reactive Persistence**: Automatically saves config changes to disk
when `ConfigService` updates
- **NestJS Integration**: Implements lifecycle hooks for proper
initialization and cleanup
- **Standalone Operations**: Provides direct file access via
`getFileHandler()` for non-reactive use cases
- **Change Detection**: Only writes to disk when configuration actually
changes (performance optimization)
- **Error Handling**: Includes logging and graceful error handling
throughout
## How to Implement
Extend the class and implement these required methods:
```typescript
@Injectable()
class MyConfigPersister extends ConfigFilePersister<MyConfigType> {
constructor(configService: ConfigService) {
super(configService);
}
// Required: JSON filename in config directory
fileName(): string {
return "my-config.json";
}
// Required: ConfigService key for reactive updates
configKey(): string {
return "myConfig";
}
// Required: Default values for new installations
defaultConfig(): MyConfigType {
return { enabled: false, timeout: 5000 };
}
// optionally, override validate() and/or migrateConfig()
}
```
## Lifecycle Behavior
- **Initialization** (`onModuleInit`): Loads config from disk → sets in
ConfigService → starts reactive subscription
- **Runtime**: Automatically persists to disk when ConfigService changes
(buffered every 25ms)
- **Shutdown** (`onModuleDestroy`): Final persistence and cleanup
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
* **New Features**
* Introduced a unified, robust configuration file management system with
automatic migration, validation, and efficient persistence for plugins
and services.
* **Refactor**
* Centralized configuration persistence logic into a shared base class,
simplifying and standardizing config handling.
* Refactored multiple config persisters to extend the new base class,
removing redundant manual file and lifecycle management.
* Removed legacy config state management, persistence helpers, and
related modules, streamlining the codebase.
* Simplified test suites to focus on core functionality and error
handling.
* **Chores**
* Updated dependencies to support the new configuration management
system.
* Integrated the new API config module into plugin modules for
consistent configuration handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-23 13:34:12 -04:00
Michael Datelle
b6acf50c0d
refactor: update modals and color picker ( #1494 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* The Welcome modal now automatically appears when visiting the
`/welcome` page.
* "Create a password" button in the Welcome modal is now disabled while
loading.
* **Refactor**
* Activation and Welcome modals now use a new Dialog component for
improved layout and styling.
* Theme and server selection components now use a simplified Select
dropdown with options passed as data for a cleaner interface.
* **Tests**
* Updated modal-related tests to use the new Dialog component and
improved mocking for more accurate and maintainable test coverage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: mdatelle <mike@datelle.net >
2025-07-23 08:28:31 -04:00
renovate[bot]
8279531f2b
fix(deps): pin dependency @nuxt/ui to 3.2.0 ( #1532 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@nuxt/ui](https://ui.nuxt.com )
([source](https://redirect.github.com/nuxt/ui )) | dependencies | pin |
[`^3.2.0` ->
`3.2.0`](https://renovatebot.com/diffs/npm/@nuxt%2fui/3.2.0/3.2.0 ) |
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 14:41:25 -04:00
Eli Bosley
0a18b38008
fix: truncate log files when they take up more than 5mb of space ( #1530 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Updated configuration to enable WAN access, set custom ports, and add
new fields such as version and sandbox mode.
* **Bug Fixes**
* Improved log rotation reliability by directly managing log file size
and truncation every 20 minutes, with enhanced error handling and
logging.
* **Chores**
* Removed legacy log rotation configuration files and related test cases
to streamline maintenance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 14:40:39 -04:00
Eli Bosley
23b2b88461
fix: use async for primary file read/writes ( #1531 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Refactor**
* Improved application performance and responsiveness by converting all
synchronous file system operations to asynchronous ones throughout the
application.
* Enhanced reliability of file checks and file writing, ensuring
non-blocking behavior during configuration, notification handling, and
service operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 14:40:30 -04:00
Eli Bosley
f5352e3a26
fix: add missing breakpoints ( #1535 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Introduced new CSS custom properties for additional responsive
breakpoints, enhancing layout adaptability across a wider range of
screen sizes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 10:14:48 -04:00
Pujit Mehrotra
9dfdb8dce7
fix: make settings grid responsive ( #1463 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced a new SettingsGrid component for consistent and responsive
grid layouts.
* **Refactor**
* Updated settings-related layouts to use the new SettingsGrid
component, improving maintainability and visual consistency across the
interface.
* **Chores**
* Removed an unused CSS breakpoint variable from global styles.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-22 09:21:35 -04:00
Michael Datelle
407585cd40
feat(web): install and configure nuxt ui ( #1524 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced a primary color palette and enhanced color theming for the
UI.
* Added and showcased new UI button variants with primary color styling
on the main page.
* Integrated the @nuxt/ui module to enable advanced UI components and
theming options.
* **Style**
* Updated keyframe animations in global styles for improved CSS
structure.
* Refined color variables and UI color states for both light and dark
modes.
* **Chores**
* Added @nuxt/ui as a project dependency.
* Centralized UI configuration for easier theming management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: mdatelle <mike@datelle.net >
2025-07-21 17:14:41 -04:00
Pujit Mehrotra
05056e7ca1
fix(notifications): gracefully handle & mask invalid notifications ( #1529 )
...
prevents log explosion due to large, invalid notifications.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved handling of invalid or corrupted notifications by displaying
a warning message instead of causing errors or interruptions.
* Enhanced robustness in displaying notification timestamps by
gracefully handling invalid date formats.
* **Refactor**
* Improved internal date formatting for notifications, ensuring more
consistent and user-friendly display.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
- https://app.asana.com/0/0/1210811542761865
2025-07-21 15:28:05 -04:00
renovate[bot]
a74d935b56
fix(deps): pin dependencies ( #1528 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@tailwindcss/cli](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli ))
| dependencies | pin | [`^4.1.11` ->
`4.1.11`](https://renovatebot.com/diffs/npm/@tailwindcss%2fcli/4.1.11/4.1.11 )
|
| [@tailwindcss/vite](https://tailwindcss.com )
([source](https://redirect.github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ))
| devDependencies | pin | [`^4.1.11` ->
`4.1.11`](https://renovatebot.com/diffs/npm/@tailwindcss%2fvite/4.1.11/4.1.11 )
|
|
[tw-animate-css](https://redirect.github.com/Wombosvideo/tw-animate-css )
| dependencies | pin | [`^1.3.5` ->
`1.3.5`](https://renovatebot.com/diffs/npm/tw-animate-css/1.3.5/1.3.5 ) |
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40MC4wIiwidXBkYXRlZEluVmVyIjoiNDEuNDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 13:13:23 -04:00
Eli Bosley
2c62e0ad09
feat: tailwind v4 ( #1522 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Streamlined Tailwind CSS integration using Vite plugin, eliminating
the need for separate Tailwind config files.
* Updated theme and color variables for improved consistency and
maintainability.
* **Style**
* Standardized spacing, sizing, and font classes across all components
using Tailwind’s default scale.
* Reduced excessive gaps, padding, and font sizes for a more compact and
cohesive UI.
* Updated gradient, border, and shadow classes to match Tailwind v4
conventions.
* Replaced custom pixel-based classes with Tailwind’s bracketed
arbitrary value syntax where needed.
* Replaced focus outline styles from `outline-none` to `outline-hidden`
for consistent focus handling.
* Updated flex shrink/grow utility classes to use newer shorthand forms.
* Converted several component templates to use self-closing tags for
cleaner markup.
* Adjusted icon sizes and spacing for improved visual balance.
* **Chores**
* Removed legacy Tailwind/PostCSS configuration files and related
scripts.
* Updated and cleaned up package dependencies for Tailwind v4 and
related plugins.
* Removed unused or redundant build scripts and configuration exports.
* Updated documentation to reflect new Tailwind v4 usage.
* Removed Prettier Tailwind plugin from formatting configurations.
* Removed Nuxt Tailwind module in favor of direct Vite plugin
integration.
* Cleaned up ESLint config by removing Prettier integration.
* **Bug Fixes**
* Corrected invalid or outdated Tailwind class names and syntax.
* Fixed issues with max-width and other utility classes for improved
layout consistency.
* **Tests**
* Updated test assertions to match new class names and styling
conventions.
* **Documentation**
* Revised README and internal notes to clarify Tailwind v4 adoption and
configuration changes.
* Added new development notes emphasizing Tailwind v4 usage and
documentation references.
* **UI Components**
* Enhanced BrandButton stories with detailed variant, size, and padding
showcases for better visual testing.
* Improved theme store to apply dark mode class on both `<html>` and
`<body>` elements for compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 09:58:02 -04:00
renovate[bot]
1a8da6d92b
fix(deps): update all non-major dependencies ( #1510 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [@eslint/js](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js ))
| [`9.30.1` ->
`9.31.0`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.30.1/9.31.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/ )
([source](https://redirect.github.com/rollup/rollup )) | [`4.44.2` ->
`4.45.1`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.44.2/4.45.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/addon-docs](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/docs )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/docs ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/builder-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/builders/builder-vite/#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/builders/builder-vite ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2fbuilder-vite/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@storybook/vue3-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/vue3-vite )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/vue3-vite ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/@storybook%2fvue3-vite/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [@swc/core](https://swc.rs )
([source](https://redirect.github.com/swc-project/swc )) | [`1.12.11` ->
`1.12.14`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.11/1.12.14 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.16.3` ->
`22.16.4`](https://renovatebot.com/diffs/npm/@types%2fnode/22.16.3/22.16.4 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.36.0` ->
`8.37.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.36.0/8.37.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [cron](https://redirect.github.com/kelektiv/node-cron ) | [`4.3.1` ->
`4.3.2`](https://renovatebot.com/diffs/npm/cron/4.3.1/4.3.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [eslint](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint )) | [`9.30.1` ->
`9.31.0`](https://renovatebot.com/diffs/npm/eslint/9.30.1/9.31.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[eslint-plugin-storybook](https://redirect.github.com/storybookjs/storybook/code/lib/eslint-plugin#readme )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/eslint-plugin ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/eslint-plugin-storybook/9.0.16/9.0.17 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [graphql-ws](https://the-guild.dev/graphql/ws )
([source](https://redirect.github.com/enisdenjo/graphql-ws )) | [`6.0.5`
-> `6.0.6`](https://renovatebot.com/diffs/npm/graphql-ws/6.0.5/6.0.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [nuxt](https://nuxt.com )
([source](https://redirect.github.com/nuxt/nuxt/tree/HEAD/packages/nuxt ))
| [`3.17.6` ->
`3.17.7`](https://renovatebot.com/diffs/npm/nuxt/3.17.6/3.17.7 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [storybook](https://storybook.js.org )
([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/core ))
| [`9.0.16` ->
`9.0.17`](https://renovatebot.com/diffs/npm/storybook/9.0.16/9.0.17 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ))
| [`8.36.0` ->
`8.37.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.36.0/8.37.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.6.2` ->
`8.7.1`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.7.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.6.2` ->
`8.7.1`](https://renovatebot.com/diffs/npm/zx/8.6.2/8.7.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
###
[`v9.31.0`](https://redirect.github.com/eslint/eslint/compare/v9.30.1...d5054e5454a537e9ade238c768c262c6c592cbc1 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.30.1...v9.31.0 )
</details>
<details>
<summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary>
###
[`v4.45.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4451 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.45.0...v4.45.1 )
*2025-07-15*
##### Bug Fixes
- Resolve crash when using certain conditional expressions
([#​6009](https://redirect.github.com/rollup/rollup/issues/6009 ))
##### Pull Requests
- [#​6009](https://redirect.github.com/rollup/rollup/pull/6009 ):
Add hasDeoptimizedCache flag for ConditionalExpression
([@​TrickyPi](https://redirect.github.com/TrickyPi ))
###
[`v4.45.0`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4450 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.44.2...v4.45.0 )
*2025-07-12*
##### Features
- Improve tree-shaking when both branches of a conditional expression
return the same boolean value
([#​6000](https://redirect.github.com/rollup/rollup/issues/6000 ))
- In environments that support both CJS and ESM, prefer the ESM build of
Rollup
([#​6005](https://redirect.github.com/rollup/rollup/issues/6005 ))
##### Bug Fixes
- Ensure static blocks do not prevent tree-shaking if they access `this`
([#​6001](https://redirect.github.com/rollup/rollup/issues/6001 ))
##### Pull Requests
- [#​6000](https://redirect.github.com/rollup/rollup/pull/6000 ):
feat: improve get literal value for conditional expression
([@​ahabhgk](https://redirect.github.com/ahabhgk ),
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​6001](https://redirect.github.com/rollup/rollup/pull/6001 ):
Correct the parent scope for static blocks
([@​TrickyPi](https://redirect.github.com/TrickyPi ),
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​6005](https://redirect.github.com/rollup/rollup/pull/6005 ):
fix: export field order prefer esm
([@​DylanPiercey](https://redirect.github.com/DylanPiercey ))
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-docs)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
</details>
<details>
<summary>storybookjs/storybook (@​storybook/addon-links)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
</details>
<details>
<summary>storybookjs/storybook
(@​storybook/builder-vite)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#9017 )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
- Addon Vitest: Fix support for plain `stories.tsx` files -
[#​32041](https://redirect.github.com/storybookjs/storybook/pull/32041 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- Onboarding: Intent survey -
[#​31944](https://redirect.github.com/storybookjs/storybook/pull/31944 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
- UI: Fix text color for failing stories in sidebar -
[#​32042](https://redirect.github.com/storybookjs/storybook/pull/32042 ),
thanks [@​ghengeveld](https://redirect.github.com/ghengeveld )!
</details>
<details>
<summary>swc-project/swc (@​swc/core)</summary>
###
[`v1.12.14`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11214---2025-07-14 )
[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.12.11...v1.12.14 )
##### Bug Fixes
- **(es/minifier)** Don't inline arrow when it contain `this`
([#​10825](https://redirect.github.com/swc-project/swc/issues/10825 ))
([8b43bb3](8b43bb35bc ))
- **(es/parser)** Make `export` in NS to not affect file type
([#​10799](https://redirect.github.com/swc-project/swc/issues/10799 ))
([ae22033](ae22033dc4 ))
- **(es/parser)** Correctly check ambient context
([#​10802](https://redirect.github.com/swc-project/swc/issues/10802 ))
([f97ea03](f97ea03523 ))
##### Features
- **(es/parser)** Enable support for dynamic import with `defer` phase
([#​10845](https://redirect.github.com/swc-project/swc/issues/10845 ))
([097d29d](097d29d21c ))
- **(plugin)** Remove `bytecheck` to make Wasm plugins backward
compatible
([#​10842](https://redirect.github.com/swc-project/swc/issues/10842 ))
([30ad808](30ad80809c ))
##### Miscellaneous Tasks
- **(bindings)** Fix dependency issues
([7c57fbb](7c57fbb103 ))
- **(deps)** Update `class-validator` to avoid comments
([#​10819](https://redirect.github.com/swc-project/swc/issues/10819 ))
([bacfa4b](bacfa4b56d ))
- **(ide)** Enable `--workspace` for rust-analyzer check
([#​10809](https://redirect.github.com/swc-project/swc/issues/10809 ))
([92647ff](92647ff9d9 ))
##### Performance
- **(es/minifier)** Use `u8` for `remaining_depth`
([#​10833](https://redirect.github.com/swc-project/swc/issues/10833 ))
([ed6956a](ed6956a46e ))
- **(hstr)** Inline one more byte
([#​10817](https://redirect.github.com/swc-project/swc/issues/10817 ))
([3886c97](3886c9720d ))
- **(hstr)** Remove static tag
([#​10832](https://redirect.github.com/swc-project/swc/issues/10832 ))
([66ae1e8](66ae1e8d5a ))
##### Refactor
- **(es/helpers)** Make inline helpers optional at compile time
([#​10808](https://redirect.github.com/swc-project/swc/issues/10808 ))
([53f3881](53f38811cc ))
- **(es/lexer)** Don't store buffer in lexer
([#​10830](https://redirect.github.com/swc-project/swc/issues/10830 ))
([cac40f1](cac40f135d ))
- **(es/lints)** Remove warnings without features
([#​10794](https://redirect.github.com/swc-project/swc/issues/10794 ))
([41d507f](41d507fe1e ))
- **(es/parser)** Reduce token query
([#​10834](https://redirect.github.com/swc-project/swc/issues/10834 ))
([5cd5185](5cd5185a7a ))
- **(es/parser)** Reduce call to `parse_decorators`
([#​10846](https://redirect.github.com/swc-project/swc/issues/10846 ))
([356d3a0](356d3a0850 ))
- **(es/parser)** Remove duplicate check
([#​10847](https://redirect.github.com/swc-project/swc/issues/10847 ))
([2b04efd](2b04efd540 ))
- **(es/preset-env)** Use strpool,phf for corejs2 data
([#​10803](https://redirect.github.com/swc-project/swc/issues/10803 ))
([1652fd8](1652fd8038 ))
- **(es/react)** Remove redundant `replace` calls
([#​10795](https://redirect.github.com/swc-project/swc/issues/10795 ))
([a670b37](a670b37c33 ))
- **(es/react)** Remove `count_children`
([#​10818](https://redirect.github.com/swc-project/swc/issues/10818 ))
([2116ab2](2116ab2fa2 ))
- **(hstr)** Cleanup duplicate header
([#​10812](https://redirect.github.com/swc-project/swc/issues/10812 ))
([630dde9](630dde93c9 ))
- **(hstr)** Make the deallocation of `Atom`s explicit
([#​10813](https://redirect.github.com/swc-project/swc/issues/10813 ))
([406433d](406433d55d ))
- **(hstr)** Remove `is_global`
([#​10820](https://redirect.github.com/swc-project/swc/issues/10820 ))
([afda0f9](afda0f9d0d ))
##### Testing
- **(es/plugin)** Test memory layout of archived types
([#​10841](https://redirect.github.com/swc-project/swc/issues/10841 ))
([502e991](502e991a8b ))
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(@​typescript-eslint/eslint-plugin)</summary>
###
[`v8.37.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#8370-2025-07-14 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.36.0...v8.37.0 )
##### 🩹 Fixes
- **eslint-plugin:** \[unified-signatures] fix false positives for
ignoreOverloadsWithDifferentJSDoc option
([#​11381](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381 ))
##### ❤️ Thank You
- Yukihiro Hasegawa [@​y-hsgw](https://redirect.github.com/y-hsgw )
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning )
and
[releases](https://main--typescript-eslint.netlify.app/users/releases )
on our website.
</details>
<details>
<summary>kelektiv/node-cron (cron)</summary>
###
[`v4.3.2`](https://redirect.github.com/kelektiv/node-cron/blob/HEAD/CHANGELOG.md#432-2025-07-13 )
[Compare
Source](https://redirect.github.com/kelektiv/node-cron/compare/v4.3.1...v4.3.2 )
##### 🛠 Builds
- **deps:** update dependency luxon to ~3.7.0
([db69c74](db69c74501 ))
##### ♻️ Chores
- **action:** update github/codeql-action action to v3.29.0
([#​990](https://redirect.github.com/kelektiv/node-cron/issues/990 ))
([a3fbb3c](a3fbb3cc4d ))
- **action:** update github/codeql-action action to v3.29.2
([0403c53](0403c53320 ))
- **action:** update marocchino/sticky-pull-request-comment action to
v2.9.3
([eda0c4d](eda0c4df35 ))
- **action:** update ossf/scorecard-action action to v2.4.2
([#​991](https://redirect.github.com/kelektiv/node-cron/issues/991 ))
([29a3a60](29a3a604ef ))
- **action:** update step-security/harden-runner action to v2.12.1
([ba49a56](ba49a5656c ))
- **action:** update step-security/harden-runner action to v2.12.2
([845202e](845202ee97 ))
- **deps:** lock file maintenance
([#​989](https://redirect.github.com/kelektiv/node-cron/issues/989 ))
([bc1bf72](bc1bf72ff7 ))
- **deps:** lock file maintenance
([#​999](https://redirect.github.com/kelektiv/node-cron/issues/999 ))
([e78d986](e78d9869d6 ))
- **deps:** update dependency
[@​swc](https://redirect.github.com/swc )/core to v1.12.1
([#​992](https://redirect.github.com/kelektiv/node-cron/issues/992 ))
([b5d3bd3](b5d3bd3328 ))
- **deps:** update dependency
[@​swc](https://redirect.github.com/swc )/core to v1.12.5
([d374494](d374494609 ))
- **deps:** update dependency
[@​swc](https://redirect.github.com/swc )/core to v1.12.9
([8060c41](8060c41685 ))
- **deps:** update dependency
[@​types](https://redirect.github.com/types )/node to v22.15.32
([#​993](https://redirect.github.com/kelektiv/node-cron/issues/993 ))
([ce9743b](ce9743ba05 ))
- **deps:** update dependency
[@​types](https://redirect.github.com/types )/node to v22.16.0
([7bae5b1](7bae5b1ef8 ))
- **deps:** update linters
([24eb53f](24eb53ff67 ))
- **deps:** update linters
([#​995](https://redirect.github.com/kelektiv/node-cron/issues/995 ))
([9395484](9395484758 ))
- **deps:** update node.js to v23.11.1
([#​985](https://redirect.github.com/kelektiv/node-cron/issues/985 ))
([674a344](674a3448b5 ))
- **deps:** update semantic-release related packages
([cc2676a](cc2676aa88 ))
- **deps:** update semantic-release related packages
([#​994](https://redirect.github.com/kelektiv/node-cron/issues/994 ))
([4d738df](4d738df05f ))
</details>
<details>
<summary>eslint/eslint (eslint)</summary>
###
[`v9.31.0`](https://redirect.github.com/eslint/eslint/compare/v9.30.1...14053edc64bd378ab920575f2488fbfcbb5a4ea0 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.30.1...v9.31.0 )
</details>
<details>
<summary>enisdenjo/graphql-ws (graphql-ws)</summary>
###
[`v6.0.6`](https://redirect.github.com/enisdenjo/graphql-ws/blob/HEAD/CHANGELOG.md#606 )
[Compare
Source](https://redirect.github.com/enisdenjo/graphql-ws/compare/v6.0.5...v6.0.6 )
##### Patch Changes
-
[#​648](https://redirect.github.com/enisdenjo/graphql-ws/pull/648 )
[`1f53bb4`](1f53bb48b1 )
Thanks [@​enisdenjo](https://redirect.github.com/enisdenjo )! - Fix
building issues causing CJS type definitions referencing ESM modules
</details>
<details>
<summary>nuxt/nuxt (nuxt)</summary>
###
[`v3.17.7`](https://redirect.github.com/nuxt/nuxt/releases/tag/v3.17.7 )
[Compare
Source](https://redirect.github.com/nuxt/nuxt/compare/v3.17.6...v3.17.7 )
> 3.17.7 is the last patch release before v3.18.
##### ✅ Upgrading
Our recommendation for upgrading is to run:
```sh
npx nuxt upgrade --dedupe
```
This will deduplicate your lockfile as well, and help ensure that you
pull in updates from other dependencies that Nuxt relies on,
particularly in the unjs ecosystem.
##### 👉 Changelog
[compare
changes](https://redirect.github.com/nuxt/nuxt/compare/v3.17.6...v3.17.7 )
##### 🩹 Fixes
- **nuxt:** Safe-guard `extraPageMetaExtractionKeys`
([#​32510](https://redirect.github.com/nuxt/nuxt/pull/32510 ))
- **nuxt:** Expose `loadBuilder` error cause
([8f13ce3c2](https://redirect.github.com/nuxt/nuxt/commit/8f13ce3c2 ))
- **vite:** Handle resolving string vite input
([#​32527](https://redirect.github.com/nuxt/nuxt/pull/32527 ))
- **nuxt:** Wrap only server components with island generic
([#​32540](https://redirect.github.com/nuxt/nuxt/pull/32540 ))
- **vite:** Ignore when client entry cannot be resolved
([19a292f34](https://redirect.github.com/nuxt/nuxt/commit/19a292f34 ))
- **nuxt:** Normalize segment catchall pattern before checking for
parent
([#​32413](https://redirect.github.com/nuxt/nuxt/pull/32413 ))
- **nuxt:** Update warning message to warn against `null` values
([c1b83eab5](https://redirect.github.com/nuxt/nuxt/commit/c1b83eab5 ))
- **nuxt:** Ensure `semver.satisfies` returns true for pre-release
versions
([#​32574](https://redirect.github.com/nuxt/nuxt/pull/32574 ))
- **nuxt:** Scroll to anchor if present when changing page without saved
position
([#​32376](https://redirect.github.com/nuxt/nuxt/pull/32376 ))
- **nuxt:** Handle `execute being passed to `watch\`
([#​32591](https://redirect.github.com/nuxt/nuxt/pull/32591 ))
##### 📖 Documentation
- Update fetch types
([#​32522](https://redirect.github.com/nuxt/nuxt/pull/32522 ))
- Clarify that runtime env variables must start with `NUXT_`
([#​32223](https://redirect.github.com/nuxt/nuxt/pull/32223 ))
- Fix key change behavior in `useAsyncData` and `useFetch` migration
([#​32560](https://redirect.github.com/nuxt/nuxt/pull/32560 ))
- Change return type of async data from `undefined` to `null` in v3 docs
([#​32562](https://redirect.github.com/nuxt/nuxt/pull/32562 ))
- Add section on custom hooks for Nuxt modules
([#​32586](https://redirect.github.com/nuxt/nuxt/pull/32586 ))
- Provide `async` keyword
([#​32587](https://redirect.github.com/nuxt/nuxt/pull/32587 ))
- Move augmenting hook types in hooks page
([#​32595](https://redirect.github.com/nuxt/nuxt/pull/32595 ))
- Add section about module loading order
([#​32597](https://redirect.github.com/nuxt/nuxt/pull/32597 ))
##### ✅ Tests
- Reenable skipped unit tests
([8fc9b9ee9](https://redirect.github.com/nuxt/nuxt/commit/8fc9b9ee9 ))
- Update test snapshot for `generateTypes`
([c0855439d](https://redirect.github.com/nuxt/nuxt/commit/c0855439d ))
- Improve page scanning test stability
([84b96f3de](https://redirect.github.com/nuxt/nuxt/commit/84b96f3de ))
- Pass timeZone in to `<NuxtTime>` test
([#​32558](https://redirect.github.com/nuxt/nuxt/pull/32558 ))
- Add more useAsyncData + useFetch tests
([#​32585](https://redirect.github.com/nuxt/nuxt/pull/32585 ))
- Avoid hard-coding async-data keys
([bfca95118](https://redirect.github.com/nuxt/nuxt/commit/bfca95118 ))
##### ❤️ Contributors
- Daniel Roe
([@​danielroe](https://redirect.github.com/danielroe ))
- Julien Huang
([@​huang-julien](https://redirect.github.com/huang-julien ))
- abeer0 ([@​iiio2](https://redirect.github.com/iiio2 ))
- Bobbie Goede
([@​BobbieGoede](https://redirect.github.com/BobbieGoede ))
- Damian Głowala
([@​DamianGlowala](https://redirect.github.com/DamianGlowala ))
- Nestor Vera ([@​hacknug](https://redirect.github.com/hacknug ))
- Ezra Ashenafi ([@​Eazash](https://redirect.github.com/Eazash ))
- Mike Laumann Bellika
([@​MikeBellika](https://redirect.github.com/MikeBellika ))
- Maxime Pauvert
([@​maximepvrt](https://redirect.github.com/maximepvrt ))
- Chriest Yu ([@​jcppman](https://redirect.github.com/jcppman ))
- Andrei Hudalla
([@​paranoidPhantom](https://redirect.github.com/paranoidPhantom ))
- Sigrid Huemer ([@​s1gr1d](https://redirect.github.com/s1gr1d ))
- xjccc ([@​xjccc](https://redirect.github.com/xjccc ))
</details>
<details>
<summary>storybookjs/storybook (storybook)</summary>
###
[`v9.0.17`](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...06a11ce246b2e7a52d41e43420e37162c55133aa )
[Compare
Source](https://redirect.github.com/storybookjs/storybook/compare/v9.0.16...v9.0.17 )
</details>
<details>
<summary>typescript-eslint/typescript-eslint
(typescript-eslint)</summary>
###
[`v8.37.0`](https://redirect.github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/typescript-eslint/CHANGELOG.md#8370-2025-07-14 )
[Compare
Source](https://redirect.github.com/typescript-eslint/typescript-eslint/compare/v8.36.0...v8.37.0 )
##### 🚀 Features
- **typescript-estree:** infer tsconfigRootDir from call stack
([#​11370](https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11370 ))
##### ❤️ Thank You
- Josh Goldberg ✨
You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning )
and
[releases](https://main--typescript-eslint.netlify.app/users/releases )
on our website.
</details>
<details>
<summary>google/zx (zx)</summary>
###
[`v8.7.1`](https://redirect.github.com/google/zx/releases/tag/8.7.1 ): —
Pipe Whisperer
[Compare
Source](https://redirect.github.com/google/zx/compare/8.7.0...8.7.1 )
Continues
[v8.7.0](https://redirect.github.com/google/zx/releases/tag/8.7.0 ):
handles new `ps()` corner case and improves `$.kill` mechanics on
Windows
[#​1266](https://redirect.github.com/google/zx/issues/1266 )
[#​1267](https://redirect.github.com/google/zx/pull/1267 )
[#​1269](https://redirect.github.com/google/zx/pull/1269 )
[webpod/ps#14 ](https://redirect.github.com/webpod/ps/pull/14 )
###
[`v8.7.0`](https://redirect.github.com/google/zx/releases/tag/8.7.0 ): —
Solder Savior
[Compare
Source](https://redirect.github.com/google/zx/compare/8.6.2...8.7.0 )
Important fixes for annoying flaky bugs
#### kill() 🐞
We've found an interesting case
[#​1262](https://redirect.github.com/google/zx/pull/1262 )
```js
const p = $`sleep 1000`
const {pid} = p // 12345
await p.kill()
```
If we kill the process again, the result might be unexpected:
```js
await ps({pid}) // {pid: 12345, ppid: 67890, command: 'another command', ...}
p.kill()
```
This happens because the `pid` may be reused by the system for another
process, so we've added extra assertions to prevent indeterminacy:
```js
p.kill() // Error: Too late to kill the process.
p.abort() // Error: Too late to abort the process.
```
#### ps() 🐛
- `ps()` uses
**[wmic](https://en.wikipedia.org/wiki/Windows_Management_Instrumentation )**
internally on Windows, it relies on *fragile* heuristics to parse the
output. We have improved this logic to handle more format variants, but
over time (in v9 maybe) we're planning to change the approach.
[#​1256](https://redirect.github.com/google/zx/pull/1256 )
[#​1263](https://redirect.github.com/google/zx/issues/1263 )
[webpod/ps#12 ](https://redirect.github.com/webpod/ps/pull/12 )
[webpod/ingrid#6 ](https://redirect.github.com/webpod/ingrid/pull/6 )
```js
const [root] = await ps.lookup({ pid: process.pid })
assert.equal(root.pid, process.pid)
```
###
[`v8.6.2`](https://redirect.github.com/google/zx/releases/tag/8.6.2 ): —
Flow Unstoppable
[Compare
Source](https://redirect.github.com/google/zx/compare/8.6.1...8.6.2 )
Fixes `$.prefix` & `$.postfix` values settings via env variables
[#​1261](https://redirect.github.com/google/zx/pull/1261 )
[#​1260](https://redirect.github.com/google/zx/issues/1260 )
###
[`v8.6.1`](https://redirect.github.com/google/zx/releases/tag/8.6.1 ): —
Drain Hero
[Compare
Source](https://redirect.github.com/google/zx/compare/8.6.0...8.6.1 )
- Use `process.env.SHELL` as default shell if defined
[#​1252](https://redirect.github.com/google/zx/pull/1252 )
```bash
SHELL=/bin/zsh zx script.js
```
- Accept numeric strings as `parseDuration()` arg
[#​1249](https://redirect.github.com/google/zx/pull/1249 )
```js
await sleep(1000) // 1 second
await sleep('1000') // 1 second
```
- Update docker base image to `node:24-alpine`
[#​1239](https://redirect.github.com/google/zx/pull/1239 )
- Docs improvements
[#​1242](https://redirect.github.com/google/zx/pull/1242 )
[#​1243](https://redirect.github.com/google/zx/pull/1243 )
[#​1246](https://redirect.github.com/google/zx/pull/1246 )
[#​1248](https://redirect.github.com/google/zx/pull/1248 )
[#​1251](https://redirect.github.com/google/zx/pull/1251 )
###
[`v8.6.0`](https://redirect.github.com/google/zx/releases/tag/8.6.0 ): —
Valve Vanguard
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.5...8.6.0 )
- Enabled `thenable` params processing for `$` literals
[#​1237](https://redirect.github.com/google/zx/pull/1237 )
```js
const a1 = $`echo foo`
const a2 = new Promise((resolve) => setTimeout(resolve, 20, ['bar', 'baz']))
await $`echo ${a1} ${a2}` // foo bar baz
```
- A dozen of internal refactorings
[#​1225](https://redirect.github.com/google/zx/pull/1225 )
[#​1226](https://redirect.github.com/google/zx/pull/1226 )
[#​1228](https://redirect.github.com/google/zx/pull/1228 )
[#​1229](https://redirect.github.com/google/zx/pull/1229 )
[#​1230](https://redirect.github.com/google/zx/pull/1230 )
[#​1231](https://redirect.github.com/google/zx/pull/1231 )
[#​1232](https://redirect.github.com/google/zx/pull/1232 )
[#​1233](https://redirect.github.com/google/zx/pull/1233 )
[#​1234](https://redirect.github.com/google/zx/pull/1234 )
[#​1235](https://redirect.github.com/google/zx/pull/1235 )
[#​1236](https://redirect.github.com/google/zx/pull/1236 )
[#​1238](https://redirect.github.com/google/zx/pull/1238 )
[#​1239](https://redirect.github.com/google/zx/pull/1239 )
- Deps bumping
- Bytes shrinking
- Docs improvements
###
[`v8.5.5`](https://redirect.github.com/google/zx/releases/tag/8.5.5 ): —
PVC Wizard
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.4...8.5.5 )
Minor feature polish.
- `ProcessPromise` and `ProcessOutput` `lines()` getters now accept a
custom delimiter
[#​1220](https://redirect.github.com/google/zx/issues/1220 )
[#​1218](https://redirect.github.com/google/zx/issues/1218 )
```ts
const cwd = tempdir()
const delimiter = '\0'
const p1 = $({
cwd
})`touch foo bar baz; find ./ -type f -print0 -maxdepth 1`
(await p1.lines(delimiter)).sort() // ['./bar', './baz', './foo']
// or via options
const lines = []
const p2 = $({
delimiter,
cwd,
})`find ./ -type f -print0 -maxdepth 1`
for await (const line of p2) {
lines.push(line)
}
lines.sort() // ['./bar', './baz', './foo']
```
- Handle `.nothrow()` option in `ProcessProcess[AsyncIterator]`
[#​1216](https://redirect.github.com/google/zx/pull/1216 )
[#​1217](https://redirect.github.com/google/zx/pull/1217 )
- Updates yaml to
[v2.8.0](https://redirect.github.com/eemeli/yaml/releases/tag/v2.8.0 )
[#​1221](https://redirect.github.com/google/zx/pull/1221 )
###
[`v8.5.4`](https://redirect.github.com/google/zx/releases/tag/8.5.4 ): —
Pipe Dreamer
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.3...8.5.4 )
- Fixed the `pipe(file: string)` signature type declaration
[#​1208](https://redirect.github.com/google/zx/issues/1208 )
[#​1209](https://redirect.github.com/google/zx/issues/1209 )
###
[`v8.5.3`](https://redirect.github.com/google/zx/releases/tag/8.5.3 ): —
Trap Master
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.2...8.5.3 )
- Another portion of JSR related improvements
[#​1193](https://redirect.github.com/google/zx/pull/1193 )
[#​1192](https://redirect.github.com/google/zx/pull/1192 )
- Goods refactoring
[#​1195](https://redirect.github.com/google/zx/pull/1195 )
- Fixes `expBackoff` implementation
- Sets `$.log.output` as default `spinner()` output
- Makes configurable `question()` I/O
- Added
[Graaljs](https://www.graalvm.org/latest/reference-manual/js/NodeJS/ )
compatability test
[#​1194](https://redirect.github.com/google/zx/pull/1194 )
- Docs improvements, usage examples updates
[#​1198](https://redirect.github.com/google/zx/pull/1198 )
###
[`v8.5.2`](https://redirect.github.com/google/zx/releases/tag/8.5.2 ): —
Threaded Perfection
[Compare
Source](https://redirect.github.com/google/zx/compare/8.5.0...8.5.2 )
- Various JSR fixes
[#​1189](https://redirect.github.com/google/zx/pull/1189 )
[#​1186](https://redirect.github.com/google/zx/pull/1186 )
[#​1179](https://redirect.github.com/google/zx/pull/1179 )
[#​1187](https://redirect.github.com/google/zx/pull/1187 )
- Docs improvements
[#​1185](https://redirect.github.com/google/zx/pull/1185 )
[#​1181](https://redirect.github.com/google/zx/pull/1181 )
###
[`v8.5.0`](https://redirect.github.com/google/zx/releases/tag/8.5.0 ): —
Flow Splitter
[Compare
Source](9ba1fb4b8d ...8.5.0)
In this release we're significantly expanding the zx setup capabilities.
#### zx@lite
Just core functions without extras, ~7x smaller than the full version.
[#​1131](https://redirect.github.com/google/zx/pull/1131 )
```shell
npm i zx@lite
npm i zx@8.5.0-lite
```
Detailed comparison: [zx/versions](https://google.github.io/zx/versions )
```ts
import { $ } from 'zx'
await $`echo foo`
```
#### Channels
We have completely reforged the distribution flow. Now zx is available
in multiple formats:
- [npmjs](https://www.npmjs.com/package/zx )
- [GH npm](https://redirect.github.com/google/zx/pkgs/npm/zx )
- [GH repo](https://redirect.github.com/google/zx )
- [GH docker](https://redirect.github.com/google/zx/pkgs/container/zx )
- [JSR](https://jsr.io/@​webpod/zx )
-
[Homebrew](https://redirect.github.com/Homebrew/homebrew-core/blob/master/Formula/z/zx.rb )
```shell
### npm pkg from registry.npmjs.org
npm i zx
### install directly from the GH
npm i google/zx
### from GH the npm registry
npm i --registry=https://npm.pkg.github.com @​google/zx
### fetch from the JSR
### https://jsr.io/docs/using-packages
### @​webpod is temporary JSR scope until @​google/zx becomes ready, we'll migrate later
npx jsr add @​webpod/zx
deno add jsr:@​webpod/zx
### homebrew formula
### https://github.com/Homebrew/homebrew-core/blob/master/Formula/z/zx.rb
brew install zx
```
[#​1141](https://redirect.github.com/google/zx/pull/1141 )...
[#​1157](https://redirect.github.com/google/zx/pull/1157 )
#### Docker
If you'd prefer to run zx in a container, you can pull the image from
the GH docker registry.
[node:22-alpine](https://hub.docker.com/_/node ) is used as a base.
[#​1142](https://redirect.github.com/google/zx/pull/1142 )
[#​1145](https://redirect.github.com/google/zx/pull/1145 )
```shell
docker pull ghcr.io/google/zx:8.5.0
docker run -t ghcr.io/google/zx:8.5.0 -e="await \$({verbose: true})\`echo foo\`"
docker run -t -i -v ./:/script ghcr.io/google/zx:8.5.0 script/t.js
```
#### Chores
- Introduced fetch pipe helper to bypass string size limits
[#​1130](https://redirect.github.com/google/zx/pull/1130 )
[#​977](https://redirect.github.com/google/zx/issues/977 )
```ts
const p1 = fetch('https://example.com ').pipe($`cat`)
const p2 = fetch('https://example.com ').pipe`cat`
```
- Added `glob.sync` shortcut
[#​1135](https://redirect.github.com/google/zx/pull/1135 )
```ts
import { glob } from 'zx'
const packages = glob.sync(['package.json', 'packages/*/package.json'])
```
- Restored CLI flags and envars symmetry
[#​1137](https://redirect.github.com/google/zx/pull/1137 )
[#​1138](https://redirect.github.com/google/zx/pull/1138 )
```shell
ZX_REGISTRY='https://custom-registry.example.com ' zx script.js
```
- Enhanced errors stacktrace formatting
[#​1166](https://redirect.github.com/google/zx/pull/1166 )
- Improved 3rd party licenses digest
[#​1140](https://redirect.github.com/google/zx/pull/1140 )
- Enabled zizmor checks
[#​1126](https://redirect.github.com/google/zx/pull/1126 )
- Docs improvements
[#​1128](https://redirect.github.com/google/zx/pull/1128 )
[#​1134](https://redirect.github.com/google/zx/pull/1134 )
[#​1136](https://redirect.github.com/google/zx/pull/1136 )
[#​1164](https://redirect.github.com/google/zx/pull/1164 )
###
[`v8.4.2`](https://redirect.github.com/google/zx/compare/8.4.1...9ba1fb4b8d17a4f5f0067d438b49568606469903 )
[Compare
Source](https://redirect.github.com/google/zx/compare/8.4.1...9ba1fb4b8d17a4f5f0067d438b49568606469903 )
###
[`v8.4.1`](https://redirect.github.com/google/zx/releases/tag/8.4.1 ): –
Rusty Elbow
[Compare
Source](https://redirect.github.com/google/zx/compare/8.4.0...8.4.1 )
Logger enhancements are arriving in this release.
[#​1119](https://redirect.github.com/google/zx/issues/1119 )
[#​1122](https://redirect.github.com/google/zx/pull/1122 )
[#​1123](https://redirect.github.com/google/zx/pull/1123 )
[#​1125](https://redirect.github.com/google/zx/pull/1125 )
- You can customize the output by defining your own formatters for each
log entry kind.
```ts
$.log.formatters = {
cmd: (entry: LogEntry) => `CMD: ${entry.cmd}`,
fetch: (entry: LogEntry) => `FETCH: ${entry.url}`
//...
}
```
- Cmd highlighter now *should* properly detect bins and arguments. If
still not, please report it in
[#​1122](https://redirect.github.com/google/zx/pull/1122 )
- Switched to TS 5.8
[#​1120](https://redirect.github.com/google/zx/pull/1120 )
- Applied [zizmor](https://woodruffw.github.io/zizmor/ ) to check GHA
workflows
[#​1126](https://redirect.github.com/google/zx/pull/1126 )
- Prettier is now enabled as a pre-commit hook
[#​1118](https://redirect.github.com/google/zx/pull/1118 )
###
[`v8.4.0`](https://redirect.github.com/google/zx/releases/tag/8.4.0 ): –
Drip Detective
[Compare
Source](https://redirect.github.com/google/zx/compare/8.3.2...8.4.0 )
Try the new batch of enhancements: `npm i zx@8.4.0`
https://www.npmjs.com/package/zx/v/8.4.0
#### Changes
- The CLI option `--prefer-local` now allows linking both external
binaries and packages
[#​1116](https://redirect.github.com/google/zx/pull/1116 )
[#​1117](https://redirect.github.com/google/zx/pull/1117 )
```js
const cwd = tmpdir()
const external = tmpdir()
await fs.outputJson(path.join(external, 'node_modules/a/package.json'), {
name: 'a',
version: '1.0.0',
type: 'module',
exports: './index.js',
})
await fs.outputFile(
path.join(external, 'node_modules/a/index.js'),
`
export const a = 'AAA'
`
)
const script = `
import {a} from 'a'
console.log(a);
`
const out = await $`zx --cwd=${cwd} --prefer-local=${external} --test <<< ${script}`
assert.equal(out.stdout, 'AAA\n')
```
- The `quote` has been slightly changed for a conner case, when zx
literal gets an array.
[#​999](https://redirect.github.com/google/zx/issues/999 )
[#​1113](https://redirect.github.com/google/zx/issues/1113 )
```js
const p = $({prefix: '', postfix: ''})`echo ${[1, '', '*', '2']}`
// before
p.cmd // `echo 1 $'*' 2`)
// after
p.cmd // `echo 1 $'' $'*' 2`)
```
- Provided support for custom script extensions via CLI
[#​1104](https://redirect.github.com/google/zx/pull/1104 )
[#​1105](https://redirect.github.com/google/zx/pull/1105 )
```bash
zx script.zx # Unknown file extension "\.zx"
zx --ext=mjs script.zx # OK
```
- Enhanced `nothrow` option to suppress any errors
[#​1108](https://redirect.github.com/google/zx/pull/1108 )
[#​1109](https://redirect.github.com/google/zx/pull/1109 )
```js
const err = new Error('BrokenSpawn')
const o = await $({
nothrow: true,
spawn() {
throw err
},
})`echo foo`
o.ok // false
o.exitCode // null
o.message // BrokenSpawn...
o.cause // err
```
- `@types/node` and `@types/fs-extra` deps replaced with triple-slash
typing refs
[#​1102](https://redirect.github.com/google/zx/pull/1102 )
- Made `ProcessOutput` iterable
[#​1101](https://redirect.github.com/google/zx/pull/1101 )
- Handle inappropriate `ProcessPromise` instantiation
[#​1097](https://redirect.github.com/google/zx/pull/1097 )
[#​1098](https://redirect.github.com/google/zx/pull/1098 )
- Pass origin error as `ProcessOuput` cause
[#​1110](https://redirect.github.com/google/zx/pull/1110 )
- Separated build and release steps
[#​1106](https://redirect.github.com/google/zx/pull/1106 )
- Internal improvements
- Introduced API bus
[#​1083](https://redirect.github.com/google/zx/pull/1083 )
- Optimized `ProcessOutput` inners
[#​1096](https://redirect.github.com/google/zx/pull/1096 )
[#​1095](https://redirect.github.com/google/zx/pull/1095 )
- Pinned deps
[#​1099](https://redirect.github.com/google/zx/pull/1099 )
[#​1100](https://redirect.github.com/google/zx/pull/1100 )
- Switched to explicit `.ts` extensions for relative imports
[#​1111](https://redirect.github.com/google/zx/pull/1111 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
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](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 14:55:56 -04:00
github-actions[bot]
81808ada0f
chore(main): release 4.10.0 ( #1505 )
...
🤖 I have created a release *beep* *boop*
---
## [4.10.0](https://github.com/unraid/api/compare/v4.9.5...v4.10.0 )
(2025-07-15)
### Features
* trial extension allowed within 5 days of expiration
([#1490 ](https://github.com/unraid/api/issues/1490 ))
([f34a33b ](f34a33bc9f ))
### Bug Fixes
* delay `nginx:reload` file mod effect by 10 seconds
([#1512 ](https://github.com/unraid/api/issues/1512 ))
([af33e99 ](af33e999a0 ))
* **deps:** update all non-major dependencies
([#1489 ](https://github.com/unraid/api/issues/1489 ))
([53b05eb ](53b05ebe5e ))
* ensure no crash if emhttp state configs are missing
([#1514 ](https://github.com/unraid/api/issues/1514 ))
([1a7d35d ](1a7d35d3f6 ))
* **my.servers:** improve DNS resolution robustness for backup server
([#1518 ](https://github.com/unraid/api/issues/1518 ))
([eecd9b1 ](eecd9b1017 ))
* over-eager cloud query from web components
([#1506 ](https://github.com/unraid/api/issues/1506 ))
([074370c ](074370c42c ))
* replace myservers.cfg reads in UpdateFlashBackup.php
([#1517 ](https://github.com/unraid/api/issues/1517 ))
([441e180 ](441e1805c1 ))
* rm short-circuit in `rc.unraid-api` if plugin config dir is absent
([#1515 ](https://github.com/unraid/api/issues/1515 ))
([29dcb7d ](29dcb7d0f0 ))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please ). See
[documentation](https://github.com/googleapis/release-please#release-please ).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.10.0
2025-07-15 14:32:44 -04:00
Eli Bosley
eecd9b1017
fix(my.servers): improve DNS resolution robustness for backup server ( #1518 )
...
Add multiple fallback methods for DNS resolution when checking
backup.unraid.net
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved reliability of DNS resolution checks for backup services,
reducing false error reports.
* Enhanced error messages to provide clearer guidance if DNS resolution
fails, including advice to check DNS settings in network configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
4.9.5-build-number-60
2025-07-15 11:33:21 -04:00
Pujit Mehrotra
441e1805c1
fix: replace myservers.cfg reads in UpdateFlashBackup.php ( #1517 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a new method for verifying user sign-in status using a dedicated
configuration handler.
* Introduced a class to manage connection configuration and status
checks.
* **Refactor**
* Updated logic for checking connection and registration status to use
new configuration handling methods for improved clarity and reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 10:30:04 -04:00
Pujit Mehrotra
29dcb7d0f0
fix: rm short-circuit in rc.unraid-api if plugin config dir is absent ( #1515 )
...
This short-circuit causes any/all `rc.unraid-api` invocations to
immediately fail on fresh 7.2 images (because
`/boot/config/dynamix.my.servers` doesn't exist).
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Refactor**
* Removed initial checks and setup for a plugin directory and default
environment file in the startup script.
* Simplified environment switching with streamlined commands and
improved error handling.
* Removed deprecated environment path references and updated related
tests.
* **Documentation**
* Added descriptive comments clarifying build and environment settings.
* **Tests**
* Updated test cases by removing assertions related to deprecated
environment paths.
* **Maintenance**
* Updated timestamp fixtures for consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 09:48:12 -04:00
Pujit Mehrotra
1a7d35d3f6
fix: ensure no crash if emhttp state configs are missing ( #1514 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added new utility functions to improve file writing reliability by
ensuring parent directories exist before writing.
* Introduced a new watch command for easier development workflow in the
shared package.
* **Bug Fixes**
* Improved startup behavior by logging warnings for missing
configuration keys instead of crashing, allowing initialization to
proceed.
* **Chores**
* Updated configuration version number and reformatted plugin list for
clarity.
* Relocated certain GraphQL schema type and enum declarations without
changing their content.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
- https://app.asana.com/0/0/1210788779106748
2025-07-15 09:48:01 -04:00
Pujit Mehrotra
af33e999a0
fix: delay nginx:reload file mod effect by 10 seconds ( #1512 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Enhancements**
* Added logging to indicate when Nginx is successfully reloaded.
* Introduced a 10-second delay with a log message before triggering
Nginx reloads in file modification effects.
* **Style**
* Removed a startup message from the Unraid API service plugin
installation process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Eli Bosley <ekbosley@gmail.com >
2025-07-14 11:12:20 -04:00
renovate[bot]
85a35804c1
chore(deps): pin dependencies ( #1478 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [jiti](https://redirect.github.com/unjs/jiti ) | devDependencies | pin
| [`^2.4.2` ->
`2.4.2`](https://renovatebot.com/diffs/npm/jiti/2.4.2/2.4.2 ) |
| [node](https://redirect.github.com/actions/node-versions ) | uses-with
| pin | `22` -> `22.17.0` |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| devDependencies | pin | [`^4.0.0` ->
`4.24.3`](https://renovatebot.com/diffs/npm/wrangler/4.24.3/4.24.3 ) |
| [ws](https://redirect.github.com/websockets/ws ) | peerDependencies |
pin | [`^8.18.0` ->
`8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.3/8.18.3 ) |
Add the preset `:preserveSemverRanges` to your config if you don't want
to pin your dependencies.
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **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](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 11:11:46 -04:00
Eli Bosley
a35c8ff2f1
refactor(install): add debugging to install process
...
- Remove redundant log file handling and display errors directly to users
- Add debug information for troubleshooting installation issues
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved installation and verification scripts to display output and
error messages directly to the user, rather than writing to a log file.
* Enhanced error messages to provide clearer instructions when issues
occur during installation or verification.
* **New Features**
* Added detailed debug output during the API service startup to assist
with troubleshooting.
* **Chores**
* Updated script environments and streamlined directory creation for
improved reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-14 10:59:05 -04:00
renovate[bot]
153e7a1e3a
chore(deps): update dependency @vitejs/plugin-vue to v6 ( #1431 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
|
[@vitejs/plugin-vue](https://redirect.github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme )
([source](https://redirect.github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue ))
| [`5.2.4` ->
`6.0.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/5.2.4/6.0.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>vitejs/vite-plugin-vue (@​vitejs/plugin-vue)</summary>
###
[`v6.0.0`](https://redirect.github.com/vitejs/vite-plugin-vue/blob/HEAD/packages/plugin-vue/CHANGELOG.md#600-2025-06-24 )
##### Bug Fixes
- **deps:** update all non-major dependencies
([#​590](https://redirect.github.com/vitejs/vite-plugin-vue/issues/590 ))
([43426c8](43426c8476 ))
- **deps:** update all non-major dependencies
([#​600](https://redirect.github.com/vitejs/vite-plugin-vue/issues/600 ))
([a4c32a8](a4c32a84f3 ))
- **deps:** update all non-major dependencies
([#​605](https://redirect.github.com/vitejs/vite-plugin-vue/issues/605 ))
([67534e5](67534e5d8c ))
- **deps:** update all non-major dependencies
([#​609](https://redirect.github.com/vitejs/vite-plugin-vue/issues/609 ))
([98c52eb](98c52eb594 ))
##### Miscellaneous Chores
- add `description` and `keywords` field to package.json
([#​604](https://redirect.github.com/vitejs/vite-plugin-vue/issues/604 ))
([67ab76b](67ab76b485 ))
- **deps:** update dependency rollup to ^4.41.1
([#​591](https://redirect.github.com/vitejs/vite-plugin-vue/issues/591 ))
([256ac31](256ac314e6 ))
- **deps:** update dependency rollup to ^4.43.0
([#​601](https://redirect.github.com/vitejs/vite-plugin-vue/issues/601 ))
([a495edf](a495edf617 ))
- remove Vite 7 beta from supported range
([#​598](https://redirect.github.com/vitejs/vite-plugin-vue/issues/598 ))
([c7ddd62](c7ddd625a7 ))
##### Code Refactoring
- always use `crypto.hash`
([#​606](https://redirect.github.com/vitejs/vite-plugin-vue/issues/606 ))
([5de85f6](5de85f6a15 ))
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
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.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 15:29:14 -04:00
renovate[bot]
e73fc356cb
chore(deps): update dependency wrangler to v4 ( #1508 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`^3.114.10` ->
`^4.0.0`](https://renovatebot.com/diffs/npm/wrangler/3.114.10/4.24.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>cloudflare/workers-sdk (wrangler)</summary>
###
[`v4.24.3`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4243 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.24.2...wrangler@4.24.3 )
##### Patch Changes
-
[#​9923](https://redirect.github.com/cloudflare/workers-sdk/pull/9923 )
[`c01c4ee`](c01c4ee6af )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! - Fix
image name resolution when modifying a container application
-
[#​9833](https://redirect.github.com/cloudflare/workers-sdk/pull/9833 )
[`3743896`](3743896120 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- fix: ensure that container builds don't disrupt dev hotkey handling
currently container builds run during local development (via `wrangler
dev` or `startWorker`) prevent the standard hotkeys not to be recognized
(most noticeably `ctrl+c`, preventing developers from existing the
process), the changes here ensure that hotkeys are instead correctly
handled as expected
- Updated dependencies \[]:
- miniflare@4.20250709 .0
###
[`v4.24.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4242 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.24.1...wrangler@4.24.2 )
##### Patch Changes
-
[#​9917](https://redirect.github.com/cloudflare/workers-sdk/pull/9917 )
[`80cc834`](80cc83403e )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
fix: assets only versions upload should include tag and message
###
[`v4.24.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4241 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.24.0...wrangler@4.24.1 )
##### Patch Changes
-
[#​9765](https://redirect.github.com/cloudflare/workers-sdk/pull/9765 )
[`05adc61`](05adc615c9 )
Thanks
[@​hasip-timurtas](https://redirect.github.com/hasip-timurtas )! -
Build container images without the user's account ID. This allows
containers to be built and verified in dry run mode (where we do not
necessarily have the user's account info).
When we push the image to the managed registry, we first re-tag the
image to include the user's account ID so that the image has the full
resolved image name.
- Updated dependencies
\[[`bb09e50`](bb09e50d8e ),
[`25dbe54`](25dbe5480d ),
[`3bdec6b`](3bdec6b768 )]:
- miniflare@4.20250709 .0
###
[`v4.24.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4240 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.23.0...wrangler@4.24.0 )
##### Minor Changes
-
[#​9796](https://redirect.github.com/cloudflare/workers-sdk/pull/9796 )
[`ba69586`](ba69586d8f )
Thanks [@​simonabadoiu](https://redirect.github.com/simonabadoiu )!
- Browser Rendering local mode
-
[#​9825](https://redirect.github.com/cloudflare/workers-sdk/pull/9825 )
[`49c85c5`](49c85c5306 )
Thanks [@​ReppCodes](https://redirect.github.com/ReppCodes )! - Add
support for origin\_connection\_limit to Wrangler
Configure connection limits to Hyperdrive via command line options:
- `--origin-connection-limit`: The (soft) maximum number of connections
that Hyperdrive may establish to the origin database.
-
[#​9064](https://redirect.github.com/cloudflare/workers-sdk/pull/9064 )
[`a1181bf`](a1181bf804 )
Thanks [@​sdnts](https://redirect.github.com/sdnts )! - Added an
`event-subscriptions` subcommand
##### Patch Changes
-
[#​9729](https://redirect.github.com/cloudflare/workers-sdk/pull/9729 )
[`1b3a2b7`](1b3a2b71b7 )
Thanks [@​404Wolf](https://redirect.github.com/404Wolf )! - Set
docker build context to the Dockerfile directory when
`image_build_context` is not explicitly provided
-
[#​9845](https://redirect.github.com/cloudflare/workers-sdk/pull/9845 )
[`dbfa4ef`](dbfa4ef4d4 )
Thanks [@​jonboulle](https://redirect.github.com/jonboulle )! -
remove extraneous double spaces from Wrangler help output
-
[#​9811](https://redirect.github.com/cloudflare/workers-sdk/pull/9811 )
[`fc29c31`](fc29c31ae0 )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! - Fix
unauthorized errors on "containers images delete".
-
[#​9813](https://redirect.github.com/cloudflare/workers-sdk/pull/9813 )
[`45497ab`](45497ab4a4 )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Support container image names without account ID
-
[#​9821](https://redirect.github.com/cloudflare/workers-sdk/pull/9821 )
[`a447d67`](a447d6722a )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Preview Aliases: Force alias generation to meet stricter naming
requirements.
For cases where CI is requesting Wrangler to generate the alias based on
the branch name, we want a stricter check around the generated alias
name in order to avoid version upload failures. If a valid alias name
was not able to be generated, we warn and do not provide an alias
(avoiding a version upload failure).
-
[#​9840](https://redirect.github.com/cloudflare/workers-sdk/pull/9840 )
[`7c55f9e`](7c55f9e1ea )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- fix: make sure that the experimental `remoteBindings` flag is properly
handled in `getPlatformProxy`
There are two issues related to how the experimental `remoteBindings`
flag is handled in `getPlatformProxy` that are being fixed by this
change:
- the `experimental_remote` configuration flag set on service bindings
is incorrectly always taken into account, even if `remoteBindings` is
set to `false`
- the `experimental_remote` configuration flag of all the other bindings
is never taken into account (effectively preventing the bindings to be
used in remote mode) since the `remoteBindings` flag is not being
properly propagated
-
[#​9801](https://redirect.github.com/cloudflare/workers-sdk/pull/9801 )
[`0bb619a`](0bb619a929 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! -
Containers: Fix issue where setting an image URI instead of dockerfile
would incorrectly not update the image
-
[#​9872](https://redirect.github.com/cloudflare/workers-sdk/pull/9872 )
[`a727db3`](a727db341a )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
fix: resolve Dockerfile path relative to the Wrangler config path
This fixes a bug where Wrangler would not be able to find a Dockerfile
if a Wrangler config path had been specified with the `--config` flag.
-
[#​9815](https://redirect.github.com/cloudflare/workers-sdk/pull/9815 )
[`1358034`](1358034ec2 )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Remove --json flag from containers and cloudchamber commands (except for
"images list")
-
[#​9734](https://redirect.github.com/cloudflare/workers-sdk/pull/9734 )
[`1a58bc3`](1a58bc34d6 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Make
Wrangler warn more loudly if you're missing auth scopes
-
[#​9748](https://redirect.github.com/cloudflare/workers-sdk/pull/9748 )
[`7e3aa1b`](7e3aa1b774 )
Thanks [@​alsuren](https://redirect.github.com/alsuren )! -
Internal-only WRANGLER\_D1\_EXTRA\_LOCATION\_CHOICES environment
variable for enabling D1's testing location hints
- Updated dependencies
\[[`ba69586`](ba69586d8f ),
[`1a75f85`](1a75f85ae9 ),
[`395f36d`](395f36de12 ),
[`6f344bf`](6f344bfe31 )]:
- miniflare@4.20250705 .0
###
[`v4.23.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4230 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.22.0...wrangler@4.23.0 )
##### Minor Changes
-
[#​9535](https://redirect.github.com/cloudflare/workers-sdk/pull/9535 )
[`56dc5c4`](56dc5c4946 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - In
2023 we announced [breakpoint debugging
support](https://blog.cloudflare.com/debugging-cloudflare-workers/ ) for
Workers, which meant that you could easily debug your Worker code in
Wrangler's built-in devtools (accessible via the `[d]` hotkey) as well
as multiple other devtools clients, [including
VSCode](https://developers.cloudflare.com/workers/observability/dev-tools/breakpoints/ ).
For most developers, breakpoint debugging via VSCode is the most natural
flow, but until now it's required [manually configuring a `launch.json`
file](https://developers.cloudflare.com/workers/observability/dev-tools/breakpoints/#setup-vs-code-to-use-breakpoints ),
running `wrangler dev`, and connecting via VSCode's built-in debugger.
Now, using VSCode's built-in [JavaScript Debug
Terminals](https://code.visualstudio.com/docs/nodejs/nodejs-debugging#_javascript-debug-terminal ),
there are just two steps: open a JS debug terminal and run `wrangler
dev` (or `vite dev`). VSCode will automatically connect to your running
Worker (even if you're running multiple Workers at once!) and start a
debugging session.
-
[#​9810](https://redirect.github.com/cloudflare/workers-sdk/pull/9810 )
[`8acaf43`](8acaf432ac )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
WC-3626 Pull branch name from WORKERS\_CI\_BRANCH if exists.
##### Patch Changes
-
[#​9775](https://redirect.github.com/cloudflare/workers-sdk/pull/9775 )
[`4309bb3`](4309bb30d2 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - Cap the
number of errors and warnings for bulk KV put to avoid consuming too
much memory
-
[#​9799](https://redirect.github.com/cloudflare/workers-sdk/pull/9799 )
[`d11288a`](d11288aff5 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Better messaging for account owned tokens in `wrangler whoami`
- Updated dependencies
\[[`56dc5c4`](56dc5c4946 )]:
- miniflare@4.20250617 .5
###
[`v4.22.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4220 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.21.2...wrangler@4.22.0 )
##### Minor Changes
-
[#​7871](https://redirect.github.com/cloudflare/workers-sdk/pull/7871 )
[`f2a8d4a`](f2a8d4a91e )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add support for assets bindings to `getPlatformProxy`
this change makes sure that that `getPlatformProxy`, when the input
configuration
file contains an assets field, correctly returns the appropriate asset
binding proxy
example:
```jsonc
// wrangler.jsonc
{
"name": "my-worker",
"assets": {
"directory": "./public/",
"binding": "ASSETS",
},
}
```
```js
import { getPlatformProxy } from "wrangler";
const { env, dispose } = await getPlatformProxy();
const text = await (await
env.ASSETS.fetch("http://0.0.0.0/file.txt ")).text();
console.log(text); // logs the content of file.txt
await dispose();
```
##### Patch Changes
-
[#​9717](https://redirect.github.com/cloudflare/workers-sdk/pull/9717 )
[`d2f2f72`](d2f2f726a1 )
Thanks
[@​nikitassharma](https://redirect.github.com/nikitassharma )! -
Containers should default to a "dev" instance type when no instance type
is specified in the wrangler config
-
[#​9620](https://redirect.github.com/cloudflare/workers-sdk/pull/9620 )
[`1b967ea`](1b967ea0ef )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Simplify containers images list output format
-
[#​9684](https://redirect.github.com/cloudflare/workers-sdk/pull/9684 )
[`94a340e`](94a340e121 )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Select only successfully deployed deployments when tailing.
###
[`v4.21.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4212 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.21.1...wrangler@4.21.2 )
##### Patch Changes
-
[#​9731](https://redirect.github.com/cloudflare/workers-sdk/pull/9731 )
[`75b75f3`](75b75f3de7 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
containers: Check for container scopes before running a container
command to give a better error
-
[#​9641](https://redirect.github.com/cloudflare/workers-sdk/pull/9641 )
[`fdbc9f6`](fdbc9f6048 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Update
container builds to use a more robust method for detecting if the
currently built image already exists.
-
[#​9736](https://redirect.github.com/cloudflare/workers-sdk/pull/9736 )
[`55c83a7`](55c83a7cf9 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
containers: Do not check scopes if not defined
-
[#​9667](https://redirect.github.com/cloudflare/workers-sdk/pull/9667 )
[`406fba5`](406fba5fa2 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Fail
earlier in the deploy process when deploying a container worker if
docker is not detected.
###
[`v4.21.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4211 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.21.0...wrangler@4.21.1 )
##### Patch Changes
-
[#​9626](https://redirect.github.com/cloudflare/workers-sdk/pull/9626 )
[`9c938c2`](9c938c2183 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support `wrangler version upload` for Python Workers
-
[#​9718](https://redirect.github.com/cloudflare/workers-sdk/pull/9718 )
[`fb83341`](fb83341bed )
Thanks [@​mhart](https://redirect.github.com/mhart )! - fix error
message when docker daemon is not running
-
[#​9689](https://redirect.github.com/cloudflare/workers-sdk/pull/9689 )
[`b137a6f`](b137a6f090 )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
fix: correctly pass container engine config to miniflare
-
[#​9722](https://redirect.github.com/cloudflare/workers-sdk/pull/9722 )
[`29e911a`](29e911abbb )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Update containers config schema.
Deprecates `containers.configuration` in favour of top level fields.
Makes top level `image` required. Deprecates `instances` and
`durable_objects`. Makes `name` optional.
-
[#​9666](https://redirect.github.com/cloudflare/workers-sdk/pull/9666 )
[`f3c5791`](f3c5791e3a )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Add a
reasonable default name for containers that have no defined name.
- Updated dependencies
\[[`b137a6f`](b137a6f090 )]:
- miniflare@4.20250617 .4
###
[`v4.21.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4210 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.5...wrangler@4.21.0 )
##### Minor Changes
-
[#​9692](https://redirect.github.com/cloudflare/workers-sdk/pull/9692 )
[`273952f`](273952ff89 )
Thanks [@​dom96](https://redirect.github.com/dom96 )! - Condenses
Python vendored modules in output table
-
[#​9654](https://redirect.github.com/cloudflare/workers-sdk/pull/9654 )
[`2a5988c`](2a5988c50a )
Thanks [@​dom96](https://redirect.github.com/dom96 )! - Python
Workers now automatically bundle .so files from vendored packages
##### Patch Changes
-
[#​9695](https://redirect.github.com/cloudflare/workers-sdk/pull/9695 )
[`0e64c35`](0e64c3515f )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Move hotkey registration later in dev start up
This should have no functional change, but allows us to conditionally
render hotkeys based on config.
-
[#​9098](https://redirect.github.com/cloudflare/workers-sdk/pull/9098 )
[`ef20754`](ef207546d6 )
Thanks [@​jseba](https://redirect.github.com/jseba )! - Migrate
Workers Containers commands to Containers API Endpoints
The Workers Containers API was built on top of Cloudchamber, but has now
been moved to its own API
with a reduced scoping and new token.
-
[#​9712](https://redirect.github.com/cloudflare/workers-sdk/pull/9712 )
[`2a4c467`](2a4c467d83 )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Make `wrangler container` commands print `open-beta` status
###
[`v4.20.5`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4205 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.4...wrangler@4.20.5 )
##### Patch Changes
-
[#​9688](https://redirect.github.com/cloudflare/workers-sdk/pull/9688 )
[`086e29d`](086e29daf4 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add remote bindings support to `getPlatformProxy`
Example:
```json
// wrangler.jsonc
{
"name": "get-platform-proxy-test",
"services": [
{
"binding": "MY_WORKER",
"service": "my-worker",
"experimental_remote": true
}
]
}
```
```js
// index.mjs
import { getPlatformProxy } from "wrangler";
const { env } = await getPlatformProxy({
experimental: {
remoteBindings: true,
},
});
// env.MY_WORKER.fetch() fetches from the remote my-worker service
```
-
[#​9558](https://redirect.github.com/cloudflare/workers-sdk/pull/9558 )
[`d5edf52`](d5edf52b43 )
Thanks
[@​ichernetsky-cf](https://redirect.github.com/ichernetsky-cf )! -
`wrangler containers apply` uses `observability` configuration.
-
[#​9678](https://redirect.github.com/cloudflare/workers-sdk/pull/9678 )
[`24b2c66`](24b2c666cf )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- remove warnings during config validations on `experimental_remote`
fields
wrangler commands, run without the `--x-remote-bindings` flag, parsing
config files containing `experimental_remote` fields currently show
warnings stating that the field is not recognized. This is usually more
cumbersome than helpful so here we're loosening up this validation and
making wrangler always recognize the field even when no
`--x-remote-bindings` flag is provided
-
[#​9633](https://redirect.github.com/cloudflare/workers-sdk/pull/9633 )
[`3f478af`](3f478af7f1 )
Thanks
[@​nikitassharma](https://redirect.github.com/nikitassharma )! -
Add support for setting an instance type for containers in wrangler.
This allows users to configure memory, disk, and vCPU by setting
instance type when interacting with containers.
-
[#​9596](https://redirect.github.com/cloudflare/workers-sdk/pull/9596 )
[`5162c51`](5162c51946 )
Thanks
[@​CarmenPopoviciu](https://redirect.github.com/CarmenPopoviciu )!
- add ability to pull images for containers local dev
- Updated dependencies
\[[`bfb791e`](bfb791e708 ),
[`5162c51`](5162c51946 )]:
- miniflare@4.20250617 .3
###
[`v4.20.4`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4204 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.3...wrangler@4.20.4 )
##### Patch Changes
-
[#​9673](https://redirect.github.com/cloudflare/workers-sdk/pull/9673 )
[`ffa742f`](ffa742f32f )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- fix: ensure that wrangler deploy and version upload don't override the
remote-bindings flag
-
[#​9653](https://redirect.github.com/cloudflare/workers-sdk/pull/9653 )
[`8a60fe7`](8a60fe76ec )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Rename `WRANGLER_CONTAINERS_DOCKER_PATH` to `WRANGLER_DOCKER_BIN`
-
[#​9664](https://redirect.github.com/cloudflare/workers-sdk/pull/9664 )
[`c489a44`](c489a44847 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Remove
cloudchamber/container apply confirmation dialog when run
non-interactively.
-
[#​9653](https://redirect.github.com/cloudflare/workers-sdk/pull/9653 )
[`8a60fe7`](8a60fe76ec )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Add a
warning banner to `wrangler cloudchamber` and `wrangler containers`
commands
-
[#​9605](https://redirect.github.com/cloudflare/workers-sdk/pull/9605 )
[`17d23d8`](17d23d8e5f )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
Add rebuild hotkey for containers local dev, and clean up containers at
the end of a dev session.
- Updated dependencies
\[[`17d23d8`](17d23d8e5f )]:
- miniflare@4.20250617 .2
###
[`v4.20.3`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4203 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.2...wrangler@4.20.3 )
##### Patch Changes
-
[#​9621](https://redirect.github.com/cloudflare/workers-sdk/pull/9621 )
[`08be3ed`](08be3ed057 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
wrangler containers: 'default' scheduling policy should be the default
-
[#​9586](https://redirect.github.com/cloudflare/workers-sdk/pull/9586 )
[`d1d34fe`](d1d34fedd1 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Remove the Mixed Mode naming in favour of "remote bindings"/"remote
proxy"
- Updated dependencies
\[[`d1d34fe`](d1d34fedd1 )]:
- miniflare@4.20250617 .1
###
[`v4.20.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4202 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.1...wrangler@4.20.2 )
##### Patch Changes
-
[#​9565](https://redirect.github.com/cloudflare/workers-sdk/pull/9565 )
[`b1c9139`](b1c9139524 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Ensure
that a container applications image configuration is not updated if
there were not changes to the image.
-
[#​9628](https://redirect.github.com/cloudflare/workers-sdk/pull/9628 )
[`92f12f4`](92f12f442d )
Thanks [@​gpanders](https://redirect.github.com/gpanders )! -
Remove "Cloudchamber" from user facing error messages
-
[#​9576](https://redirect.github.com/cloudflare/workers-sdk/pull/9576 )
[`2671e77`](2671e77843 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - Add core
local dev functionality for containers.
Adds a new WRANGLER\_DOCKER\_HOST env var to customise what socket to
connect to.
- Updated dependencies
\[[`828b7df`](828b7dffad ),
[`2671e77`](2671e77843 )]:
- miniflare@4.20250617 .0
###
[`v4.20.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4201 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.20.0...wrangler@4.20.1 )
##### Patch Changes
-
[#​9536](https://redirect.github.com/cloudflare/workers-sdk/pull/9536 )
[`3b61c41`](3b61c41f2c )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- expose `Unstable_Binding` type
-
[#​9564](https://redirect.github.com/cloudflare/workers-sdk/pull/9564 )
[`1d3293f`](1d3293f0cb )
Thanks [@​skepticfx](https://redirect.github.com/skepticfx )! -
Switch container registry to `registry.cloudflare.com` from
`registry.cloudchamber.cfdata.org`.
Also adds the env var `CLOUDFLARE_CONTAINER_REGISTRY` to override this
-
[#​9520](https://redirect.github.com/cloudflare/workers-sdk/pull/9520 )
[`04f9164`](04f9164bbc )
Thanks [@​vicb](https://redirect.github.com/vicb )! - fix the
default value for keep\_names (`true`)
-
[#​9506](https://redirect.github.com/cloudflare/workers-sdk/pull/9506 )
[`36113c2`](36113c29c8 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Strip
the `CF-Connecting-IP` header from outgoing fetches
-
[#​9592](https://redirect.github.com/cloudflare/workers-sdk/pull/9592 )
[`49f5ac7`](49f5ac7ef2 )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- Point to the right location for docs on telemetry
-
[#​9593](https://redirect.github.com/cloudflare/workers-sdk/pull/9593 )
[`cf33417`](cf33417320 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - drop unused
`WRANGLER_UNENV_RESOLVE_PATHS` env var
-
[#​9566](https://redirect.github.com/cloudflare/workers-sdk/pull/9566 )
[`521eeb9`](521eeb9d7d )
Thanks [@​vicb](https://redirect.github.com/vicb )! - Bump
`@cloudflare/unenv-preset` to 2.3.3
-
[#​9344](https://redirect.github.com/cloudflare/workers-sdk/pull/9344 )
[`02e2c1e`](02e2c1e4de )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add warning about env not specified to potentially risky wrangler
commands
add a warning suggesting users to specify their target environment (via
`-e` or `--env`)
when their wrangler config file contains some environments and they are
calling one
of the following commands:
- wrangler deploy
- wrangler versions upload
- wrangler versions deploy
- wrangler versions secret bulk
- wrangler versions secret put
- wrangler versions secret delete
- wrangler secret bulk
- wrangler secret put
- wrangler secret delete
- wrangler triggers deploy
this is a measure we're putting in place to try to prevent developers
from accidentally applying
changes to an incorrect (potentially even production) environment
-
[#​9344](https://redirect.github.com/cloudflare/workers-sdk/pull/9344 )
[`02e2c1e`](02e2c1e4de )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- allow passing an empty string to the `-e|--env` flag to target the
top-level environment
-
[#​9536](https://redirect.github.com/cloudflare/workers-sdk/pull/9536 )
[`3b61c41`](3b61c41f2c )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- performance improvement: restart a mixed mode session only if the
worker's remote bindings have changed
-
[#​9550](https://redirect.github.com/cloudflare/workers-sdk/pull/9550 )
[`c117904`](c11790486f )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- allow `startWorker` to accept `false` as an `inspector` option (to
disable the inspector server)
-
[#​9473](https://redirect.github.com/cloudflare/workers-sdk/pull/9473 )
[`fae8c02`](fae8c02bcf )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- expose new `experimental_maybeStartOrUpdateMixedModeSession` utility
- Updated dependencies
\[[`bd528d5`](bd528d5d53 ),
[`2177fb4`](2177fb44f4 ),
[`36113c2`](36113c29c8 ),
[`e16fcc7`](e16fcc747a )]:
- miniflare@4.20250612 .0
###
[`v4.20.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4200 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.19.2...wrangler@4.20.0 )
##### Minor Changes
-
[#​9509](https://redirect.github.com/cloudflare/workers-sdk/pull/9509 )
[`0b2ba45`](0b2ba4590c )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
feat: add static routing options via 'run\_worker\_first' to Wrangler
Implements the proposal noted here
[https://github.com/cloudflare/workers-sdk/discussions/9143 ](https://redirect.github.com/cloudflare/workers-sdk/discussions/9143 ).
This is now usable in `wrangler dev` and in production - just specify
the routes that should hit the worker first with `run_worker_first` in
your Wrangler config. You can also omit certain paths with `!` negative
rules.
##### Patch Changes
-
[#​9507](https://redirect.github.com/cloudflare/workers-sdk/pull/9507 )
[`1914b87`](1914b87e25 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- slightly improve wrangler dev bindings loggings
improve the bindings loggings by:
- removing the unnecessary (and potentially incorrect) `[connected]`
suffix for remote bindings
- making sure that the modes presented in the bindings logs are
correctly aligned
-
[#​9475](https://redirect.github.com/cloudflare/workers-sdk/pull/9475 )
[`931f467`](931f467e39 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
add hello world binding that serves as as an explanatory example.
-
[#​9443](https://redirect.github.com/cloudflare/workers-sdk/pull/9443 )
[`95eb47d`](95eb47d2c6 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add workerName option to startMixedModeSession API
-
[#​9541](https://redirect.github.com/cloudflare/workers-sdk/pull/9541 )
[`80b8bd9`](80b8bd93e6 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- make workers created with `startWorker` await the `ready` promise on
`dispose`
-
[#​9443](https://redirect.github.com/cloudflare/workers-sdk/pull/9443 )
[`95eb47d`](95eb47d2c6 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add mixed-mode support for mtls bindings
-
[#​9515](https://redirect.github.com/cloudflare/workers-sdk/pull/9515 )
[`9e4cd16`](9e4cd16ce1 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- make sure that remote binding errors are surfaced when using mixed
(hybrid) mode
-
[#​9516](https://redirect.github.com/cloudflare/workers-sdk/pull/9516 )
[`92305af`](92305af0a7 )
Thanks [@​IRCody](https://redirect.github.com/IRCody )! - Reorder
deploy output when deploying a container worker so the worker url is
printed last and the worker triggers aren't deployed until the container
has been built and deployed successfully.
- Updated dependencies
\[[`931f467`](931f467e39 ),
[`95eb47d`](95eb47d2c6 ),
[`0b2ba45`](0b2ba4590c )]:
- miniflare@4.20250604 .1
-
[@​cloudflare/unenv-preset](https://redirect.github.com/cloudflare/unenv-preset )@​2.3.3
###
[`v4.19.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4192 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.19.1...wrangler@4.19.2 )
##### Patch Changes
-
[#​9461](https://redirect.github.com/cloudflare/workers-sdk/pull/9461 )
[`66edd2f`](66edd2f3bd )
Thanks [@​skepticfx](https://redirect.github.com/skepticfx )! -
Enforce disk limits on container builds
-
[#​9481](https://redirect.github.com/cloudflare/workers-sdk/pull/9481 )
[`d1a1787`](d1a1787b27 )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Force autogenerated aliases to be fully lowercased.
-
[#​9480](https://redirect.github.com/cloudflare/workers-sdk/pull/9480 )
[`1f84092`](1f84092851 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- add `experimentalMixedMode` dev option to `unstable_startWorker`
add an new `experimentalMixedMode` dev option to `unstable_startWorker`
that allows developers to programmatically start a new mixed mode
session using startWorker.
Example usage:
```js
// index.mjs
import { unstable_startWorker } from "wrangler";
await unstable_startWorker({
dev: {
experimentalMixedMode: true,
},
});
```
```json
// wrangler.jsonc
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "programmatic-start-worker-example",
"main": "src/index.ts",
"compatibility_date": "2025-06-01",
"services": [
{ "binding": "REMOTE_WORKER", "service": "remote-worker", "remote": true
}
]
}
```
- Updated dependencies
\[[`4ab5a40`](4ab5a4027d ),
[`485cd08`](485cd08679 ),
[`e3b3ef5`](e3b3ef51cf ),
[`3261957`](3261957aba )]:
- miniflare@4.20250604 .0
-
[@​cloudflare/unenv-preset](https://redirect.github.com/cloudflare/unenv-preset )@​2.3.3
###
[`v4.19.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4191 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.19.0...wrangler@4.19.1 )
##### Patch Changes
-
[#​9456](https://redirect.github.com/cloudflare/workers-sdk/pull/9456 )
[`db2cdc6`](db2cdc6b1e )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Fix bug causing preview alias to always be generated.
###
[`v4.19.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4190 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.18.0...wrangler@4.19.0 )
##### Minor Changes
-
[#​9401](https://redirect.github.com/cloudflare/workers-sdk/pull/9401 )
[`03b8c1c`](03b8c1ca53 )
Thanks
[@​WillTaylorDev](https://redirect.github.com/WillTaylorDev )! -
Provide ability for Wrangler to upload preview aliases during version
upload.
##### Patch Changes
-
[#​9390](https://redirect.github.com/cloudflare/workers-sdk/pull/9390 )
[`80e75f4`](80e75f4a67 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support additional Mixed Mode resources in Wrangler:
- AI
- Browser
- Images
- Vectorize
- Dispatch Namespaces
-
[#​9395](https://redirect.github.com/cloudflare/workers-sdk/pull/9395 )
[`b3be057`](b3be057344 )
Thanks [@​Maximo-Guk](https://redirect.github.com/Maximo-Guk )! -
Add WRANGLER\_CI\_OVERRIDE\_NETWORK\_MODE\_HOST for Workers CI
-
[#​9410](https://redirect.github.com/cloudflare/workers-sdk/pull/9410 )
[`87f3843`](87f38432ee )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- enable consumers of `unstable_readConfig` to silence `remote` warnings
- Updated dependencies
\[[`8c7ce77`](8c7ce7728c ),
[`80e75f4`](80e75f4a67 ),
[`80e75f4`](80e75f4a67 ),
[`fac2f9d`](fac2f9dfa6 ),
[`92719a5`](92719a535b )]:
- miniflare@4.20250525 .1
###
[`v4.18.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4180 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.17.0...wrangler@4.18.0 )
##### Minor Changes
-
[#​9393](https://redirect.github.com/cloudflare/workers-sdk/pull/9393 )
[`34b6174`](34b61746f2 )
Thanks [@​jamesopstad](https://redirect.github.com/jamesopstad )! -
Hard fail on Node.js < 20. Wrangler no longer supports Node.js 18.x as
it reached end-of-life on 2025-04-30. See
https://github.com/nodejs/release?tab=readme-ov-file#end-of-life-releases .
##### Patch Changes
-
[#​9308](https://redirect.github.com/cloudflare/workers-sdk/pull/9308 )
[`d3a6eb3`](d3a6eb30e5 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- expose new utilities and types to aid consumers of the programmatic
mixed-mode API
Specifically the exports have been added:
- `Experimental_MixedModeSession`: type representing a mixed-mode
session
- `Experimental_ConfigBindingsOptions`: type representing
config-bindings
- `experimental_pickRemoteBindings`: utility for picking only the remote
bindings from a record of start-worker bindings.
- `unstable_convertConfigBindingsToStartWorkerBindings`: utility for
converting config-bindings into start-worker bindings (that can be
passed to `startMixedModeSession`)
-
[#​9347](https://redirect.github.com/cloudflare/workers-sdk/pull/9347 )
[`b8f058c`](b8f058c81e )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Improve binding display on narrower terminals
- Updated dependencies
\[[`d9d937a`](d9d937ab6f ),
[`e39a45f`](e39a45ffa0 ),
[`fdae3f7`](fdae3f7665 )]:
- miniflare@4.20250525 .0
###
[`v4.17.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4170 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.16.1...wrangler@4.17.0 )
##### Minor Changes
-
[#​9321](https://redirect.github.com/cloudflare/workers-sdk/pull/9321 )
[`6c03bde`](6c03bde33f )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- Add support for FedRAMP High compliance region
Now it is possible to target Wrangler at the FedRAMP High compliance
region.
There are two ways to signal to Wrangler to run in this mode:
- set `"compliance_region": "fedramp_high"` in a Wrangler configuration
- set `CLOUDFLARE_COMPLIANCE_REGION=fedramp_high` environment variable
when running Wrangler
If both are provided and the values do not match then Wrangler will exit
with an error.
When in this mode OAuth authentication is not supported.
It is necessary to authenticate using a Cloudflare API Token acquired
from the Cloudflare FedRAMP High dashboard.
Most bindings and commands are supported in this mode.
- Unsupported commands may result in API requests that are not supported
- possibly 422 Unprocessable Entity responses.
- Unsupported bindings may work in local dev, as there is no local
validation, but will fail at Worker deployment time.
Resolves DEVX-1921.
-
[#​9330](https://redirect.github.com/cloudflare/workers-sdk/pull/9330 )
[`34c71ce`](34c71ce920 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
Updated internal configuration to use Miniflare’s new
`defaultPersistRoot` instead of per-plugin `persist` flags
-
[#​8973](https://redirect.github.com/cloudflare/workers-sdk/pull/8973 )
[`cc7fae4`](cc7fae4cb9 )
Thanks
[@​Caio-Nogueira](https://redirect.github.com/Caio-Nogueira )! -
Show latest instance by default on `workflows instances describe`
command
##### Patch Changes
-
[#​9335](https://redirect.github.com/cloudflare/workers-sdk/pull/9335 )
[`6479fc5`](6479fc5228 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Redesign `wrangler dev` to more clearly present information and have a
bit of a glow up ✨

-
[#​9329](https://redirect.github.com/cloudflare/workers-sdk/pull/9329 )
[`410d985`](410d985250 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Hide
logs in the `startMixedModeSession()` API
-
[#​9325](https://redirect.github.com/cloudflare/workers-sdk/pull/9325 )
[`c2678d1`](c2678d1681 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
refactor: fallbacks to local image binding from miniflare when local
mode is enabled
- Updated dependencies
\[[`34c71ce`](34c71ce920 ),
[`f7c82a4`](f7c82a4a9f ),
[`7ddd865`](7ddd865fa6 ),
[`6479fc5`](6479fc5228 ),
[`e5ae13a`](e5ae13adeb )]:
- miniflare@4.20250523 .0
###
[`v4.16.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4161 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.16.0...wrangler@4.16.1 )
##### Patch Changes
-
[#​9268](https://redirect.github.com/cloudflare/workers-sdk/pull/9268 )
[`7344344`](734434418f )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
`wrangler containers delete` handles API errors correctly
###
[`v4.16.0`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4160 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.15.2...wrangler@4.16.0 )
##### Minor Changes
-
[#​9288](https://redirect.github.com/cloudflare/workers-sdk/pull/9288 )
[`3b8f7f1`](3b8f7f18be )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- allow --name and --env args on wrangler deploy
Previously it was not possible to provide a Worker name as a command
line argument at the same time as setting the Wrangler environment.
Now specifying `--name` is supported and will override any names set in
the Wrangler config:
**wrangler.json**
```json
{
"name": "config-worker"
"env": {
"staging": { "name": "config-worker-env" }
}
}
```
| Command | Previous (Worker name) | Proposed (Worker name) | Comment |
| ------------------------------------------------ |
---------------------- | ---------------------- |
------------------------------------- |
| wrangler deploy --name=args-worker | "args-worker" | "args-worker" |
CLI arg used |
| wrangler deploy --name=args-worker --env=staging | *Error* |
"args-worker" | CLI arg used |
| wrangler deploy --name=args-worker --env=prod | *Error* |
"args-worker" | CLI arg used |
| wrangler deploy | "config-worker" | "config-worker" | Top-level config
used |
| wrangler deploy --env=staging | "config-worker-env" |
"config-worker-env" | Named env config used |
| wrangler deploy --env=prod | "config-worker-prod" |
"config-worker-prod" | CLI arg and top-level config combined |
-
[#​9265](https://redirect.github.com/cloudflare/workers-sdk/pull/9265 )
[`16de0d5`](16de0d5227 )
Thanks [@​edmundhung](https://redirect.github.com/edmundhung )! -
docs: add documentation links to individual config properties in the
JSON schema of the Wrangler config file
##### Patch Changes
-
[#​9234](https://redirect.github.com/cloudflare/workers-sdk/pull/9234 )
[`2fe6219`](2fe62198d7 )
Thanks [@​emily-shen](https://redirect.github.com/emily-shen )! -
fix: add no-op `props` to `ctx` in `getPlatformProxy` to fix type
mismatch
-
[#​9269](https://redirect.github.com/cloudflare/workers-sdk/pull/9269 )
[`66d975e`](66d975e905 )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- Wire up mixed-mode remote bindings for multi-worker `wrangler dev`
Under the `--x-mixed-mode` flag, make sure that bindings configurations
with `remote: true` actually generate bindings to remote resources
during a multi-worker `wrangler dev` session, currently the bindings
included in this are: services, kv\_namespaces, r2\_buckets,
d1\_databases, queues and workflows.
Also include the ai binding since the bindings is already remote by
default anyways.
-
[#​9151](https://redirect.github.com/cloudflare/workers-sdk/pull/9151 )
[`5ab035d`](5ab035d8a1 )
Thanks [@​gabivlj](https://redirect.github.com/gabivlj )! -
wrangler containers can be configured with the kind of application
rollout on `apply`
-
[#​9231](https://redirect.github.com/cloudflare/workers-sdk/pull/9231 )
[`02d40ed`](02d40ed3bb )
Thanks
[@​dario-piotrowicz](https://redirect.github.com/dario-piotrowicz )!
- Wire up mixed-mode remote bindings for (single-worker) `wrangler dev`
Under the `--x-mixed-mode` flag, make sure that bindings configurations
with `remote: true` actually generate bindings to remote resources
during a single-worker `wrangler dev` session, currently the bindings
included in this are: services, kv\_namespaces, r2\_buckets,
d1\_databases, queues and workflows.
Also include the ai binding since the bindings is already remote by
default anyways.
-
[#​9221](https://redirect.github.com/cloudflare/workers-sdk/pull/9221 )
[`2ef31a9`](2ef31a9459 )
Thanks [@​vicb](https://redirect.github.com/vicb )! - bump
`@cloudflare/unenv-preset`
-
[#​9277](https://redirect.github.com/cloudflare/workers-sdk/pull/9277 )
[`db5ea8f`](db5ea8f1f6 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support Mixed Mode for more binding types
-
[#​9266](https://redirect.github.com/cloudflare/workers-sdk/pull/9266 )
[`f2a16f1`](f2a16f1126 )
Thanks
[@​petebacondarwin](https://redirect.github.com/petebacondarwin )!
- fix: setting triggers.crons:\[] in Wrangler config should delete
deployed cron schedules
-
[#​9245](https://redirect.github.com/cloudflare/workers-sdk/pull/9245 )
[`b87b472`](b87b472a1a )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! -
Support Mixed Mode Dispatch Namespaces
- Updated dependencies
\[[`db5ea8f`](db5ea8f1f6 ),
[`b87b472`](b87b472a1a )]:
- miniflare@4.20250508 .3
###
[`v4.15.2`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4152 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.15.1...wrangler@4.15.2 )
##### Patch Changes
-
[#​9257](https://redirect.github.com/cloudflare/workers-sdk/pull/9257 )
[`33daa09`](33daa0961f )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Relax
R2 bucket validation for `pages dev` commands
-
[#​9256](https://redirect.github.com/cloudflare/workers-sdk/pull/9256 )
[`3b384e2`](3b384e28c7 )
Thanks [@​penalosa](https://redirect.github.com/penalosa )! - Move
the Analytics Engine simulator implementation from JSRPC to a Wrapped
binding. This fixes a regression introduced in
[https://github.com/cloudflare/workers-sdk/pull/8935 ](https://redirect.github.com/cloudflare/workers-sdk/pull/8935 )
that preventing Analytics Engine bindings working in local dev for
Workers with a compatibility date prior to JSRPC being enabled.
- Updated dependencies
\[[`3b384e2`](3b384e28c7 )]:
- miniflare@4.20250508 .2
-
[@​cloudflare/unenv-preset](https://redirect.github.com/cloudflare/unenv-preset )@​2.3.2
###
[`v4.15.1`](https://redirect.github.com/cloudflare/workers-sdk/blob/HEAD/packages/wrangler/CHANGELOG.md#4151 )
[Compare
Source](https://redirect.github.com/cloudflare/workers-sdk/compare/wrangler@4.15.0...wrangler@4.15.1 )
##### Patch Changes
-
[#​9248](https://redirect.github.com/cloudflare/workers-sdk/pull/9248 )
[`07f4010`](07f4010e6d )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
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.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 15:27:20 -04:00
renovate[bot]
e1a7a3d22d
chore(deps): update dependency node to v22 ( #1507 )
...
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [node](https://redirect.github.com/actions/node-versions ) | uses-with
| major | `20` -> `22` |
---
### Release Notes
<details>
<summary>actions/node-versions (node)</summary>
###
[`v22.17.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.17.0-15866718879 ):
22.17.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.16.0-15177438473...22.17.0-15866718879 )
Node.js 22.17.0
###
[`v22.16.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.16.0-15177438473 ):
22.16.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.15.1-15035854612...22.16.0-15177438473 )
Node.js 22.16.0
###
[`v22.15.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.15.1-15035854612 ):
22.15.1
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.15.0-14621731016...22.15.1-15035854612 )
Node.js 22.15.1
###
[`v22.15.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.15.0-14621731016 ):
22.15.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.14.0-13265982013...22.15.0-14621731016 )
Node.js 22.15.0
###
[`v22.14.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.14.0-13265982013 ):
22.14.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.13.1-12900459766...22.14.0-13265982013 )
Node.js 22.14.0
###
[`v22.13.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.13.1-12900459766 ):
22.13.1
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.13.0-12671059536...22.13.1-12900459766 )
Node.js 22.13.1
###
[`v22.13.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.13.0-12671059536 ):
22.13.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.12.0-12152383658...22.13.0-12671059536 )
Node.js 22.13.0
###
[`v22.12.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.12.0-12152383658 ):
22.12.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.11.0-11593095476...22.12.0-12152383658 )
Node.js 22.12.0
###
[`v22.11.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.11.0-11593095476 ):
22.11.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.10.0-11377615849...22.11.0-11593095476 )
Node.js 22.11.0
###
[`v22.10.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.10.0-11377615849 ):
22.10.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.9.0-10914884886...22.10.0-11377615849 )
Node.js 22.10.0
###
[`v22.9.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.9.0-10914884886 ):
22.9.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.8.0-10685632420...22.9.0-10914884886 )
Node.js 22.9.0
###
[`v22.8.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.8.0-10685632420 ):
22.8.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.7.0-10511334152...22.8.0-10685632420 )
Node.js 22.8.0
###
[`v22.7.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.7.0-10511334152 ):
22.7.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.6.0-10277432289...22.7.0-10511334152 )
Node.js 22.7.0
###
[`v22.6.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.6.0-10277432289 ):
22.6.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.5.1-10010673511...22.6.0-10277432289 )
Node.js 22.6.0
###
[`v22.5.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.5.1-10010673511 ):
22.5.1
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.5.0-9985144103...22.5.1-10010673511 )
Node.js 22.5.1
###
[`v22.5.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.5.0-9985144103 ):
22.5.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.4.1-9860948056...22.5.0-9985144103 )
Node.js 22.5.0
###
[`v22.4.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.4.1-9860948056 ):
22.4.1
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.4.0-9766506602...22.4.1-9860948056 )
Node.js 22.4.1
###
[`v22.4.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.4.0-9766506602 ):
22.4.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.3.0-9569309553...22.4.0-9766506602 )
Node.js 22.4.0
###
[`v22.3.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.3.0-9569309553 ):
22.3.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.2.0-9105861751...22.3.0-9569309553 )
Node.js 22.3.0
###
[`v22.2.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.2.0-9105861751 ):
22.2.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.1.0-8926142033...22.2.0-9105861751 )
Node.js 22.2.0
###
[`v22.1.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.1.0-8926142033 ):
22.1.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.0.0-8879734543...22.1.0-8926142033 )
Node.js 22.1.0
###
[`v22.0.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.0.0-8879734543 ):
22.0.0
[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.19.3-15828158811...22.0.0-8879734543 )
Node.js 22.0.0
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
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.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 14:41:02 -04:00
renovate[bot]
53b05ebe5e
fix(deps): update all non-major dependencies ( #1489 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| [@eslint/js](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js ))
| [`9.29.0` ->
`9.30.1`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.29.0/9.30.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@faker-js/faker](https://fakerjs.dev )
([source](https://redirect.github.com/faker-js/faker )) | [`9.8.0` ->
`9.9.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.8.0/9.9.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@floating-ui/dom](https://floating-ui.com )
([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom ))
| [`1.7.1` ->
`1.7.2`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.7.1/1.7.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@floating-ui/utils](https://floating-ui.com )
([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/utils ))
| [`0.2.9` ->
`0.2.10`](https://renovatebot.com/diffs/npm/@floating-ui%2futils/0.2.9/0.2.10 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [@floating-ui/vue](https://floating-ui.com/docs/vue )
([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/vue ))
| [`1.1.6` ->
`1.1.7`](https://renovatebot.com/diffs/npm/@floating-ui%2fvue/1.1.6/1.1.7 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[@graphql-codegen/client-preset](https://redirect.github.com/dotansimha/graphql-code-generator )
([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/presets/client ))
| [`4.8.2` ->
`4.8.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@graphql-codegen/client-preset](https://redirect.github.com/dotansimha/graphql-code-generator )
([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/presets/client ))
| [`4.8.2` ->
`4.8.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[@graphql-codegen/typed-document-node](https://redirect.github.com/dotansimha/graphql-code-generator )
([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typed-document-node ))
| [`5.1.1` ->
`5.1.2`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftyped-document-node/5.1.1/5.1.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@ianvs/prettier-plugin-sort-imports](https://redirect.github.com/ianvs/prettier-plugin-sort-imports )
| [`4.4.2` ->
`4.5.1`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/4.4.2/4.5.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@nuxt/devtools](https://devtools.nuxt.com )
([source](https://redirect.github.com/nuxt/devtools/tree/HEAD/packages/devtools ))
| [`2.5.0` ->
`2.6.2`](https://renovatebot.com/diffs/npm/@nuxt%2fdevtools/2.5.0/2.6.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@nuxt/eslint](https://redirect.github.com/nuxt/eslint )
([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module ))
| [`1.4.1` ->
`1.5.2`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/1.4.1/1.5.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@nuxt/test-utils](https://redirect.github.com/nuxt/test-utils ) |
[`3.19.1` ->
`3.19.2`](https://renovatebot.com/diffs/npm/@nuxt%2ftest-utils/3.19.1/3.19.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/ )
([source](https://redirect.github.com/rollup/rollup )) | [`4.44.0` ->
`4.44.2`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.44.0/4.44.2 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| optionalDependencies | patch |
| [@swc/core](https://swc.rs )
([source](https://redirect.github.com/swc-project/swc )) | [`1.12.4` ->
`1.12.11`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.4/1.12.11 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/bun](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bun )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun ))
| [`1.2.16` ->
`1.2.18`](https://renovatebot.com/diffs/npm/@types%2fbun/1.2.16/1.2.18 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/dockerode](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/dockerode )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode ))
| [`3.3.41` ->
`3.3.42`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.41/3.3.42 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/lodash](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash ))
| [`4.17.18` ->
`4.17.20`](https://renovatebot.com/diffs/npm/@types%2flodash/4.17.18/4.17.20 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node )
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ))
| [`22.15.32` ->
`22.16.3`](https://renovatebot.com/diffs/npm/@types%2fnode/22.15.32/22.16.3 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ))
| [`8.34.1` ->
`8.36.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.34.1/8.36.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[@vueuse/components](https://redirect.github.com/vueuse/vueuse/tree/main/packages/components#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/components ))
| [`13.4.0` ->
`13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.4.0/13.5.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.4.0` ->
`13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.4.0/13.5.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [@vueuse/core](https://redirect.github.com/vueuse/vueuse )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core ))
| [`13.4.0` ->
`13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.4.0/13.5.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@vueuse/integrations](https://redirect.github.com/vueuse/vueuse/tree/main/packages/integrations#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/integrations ))
| [`13.4.0` ->
`13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.4.0/13.5.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[@vueuse/nuxt](https://redirect.github.com/vueuse/vueuse/tree/main/packages/nuxt#readme )
([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/nuxt ))
| [`13.4.0` ->
`13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fnuxt/13.4.0/13.5.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[awalsh128/cache-apt-pkgs-action](https://redirect.github.com/awalsh128/cache-apt-pkgs-action )
| `v1.4.3` -> `v1.5.1` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| action | minor |
| [cache-manager](https://redirect.github.com/jaredwray/cacheable )
([source](https://redirect.github.com/jaredwray/cacheable/tree/HEAD/packages/cache-manager ))
| [`7.0.0` ->
`7.0.1`](https://renovatebot.com/diffs/npm/cache-manager/7.0.0/7.0.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
|
[commit-and-tag-version](https://redirect.github.com/absolute-version/commit-and-tag-version )
| [`9.5.0` ->
`9.6.0`](https://renovatebot.com/diffs/npm/commit-and-tag-version/9.5.0/9.6.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[concurrently](https://redirect.github.com/open-cli-tools/concurrently )
| [`9.1.2` ->
`9.2.0`](https://renovatebot.com/diffs/npm/concurrently/9.1.2/9.2.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [dotenv](https://redirect.github.com/motdotla/dotenv ) | [`17.1.0` ->
`17.2.0`](https://renovatebot.com/diffs/npm/dotenv/17.1.0/17.2.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [eslint](https://eslint.org )
([source](https://redirect.github.com/eslint/eslint )) | [`9.29.0` ->
`9.30.1`](https://renovatebot.com/diffs/npm/eslint/9.29.0/9.30.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[eslint-plugin-import](https://redirect.github.com/import-js/eslint-plugin-import )
| [`2.31.0` ->
`2.32.0`](https://renovatebot.com/diffs/npm/eslint-plugin-import/2.31.0/2.32.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[eslint-plugin-n](https://redirect.github.com/eslint-community/eslint-plugin-n )
| [`17.20.0` ->
`17.21.0`](https://renovatebot.com/diffs/npm/eslint-plugin-n/17.20.0/17.21.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[eslint-plugin-prettier](https://redirect.github.com/prettier/eslint-plugin-prettier )
| [`5.5.0` ->
`5.5.1`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.5.0/5.5.1 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [eslint-plugin-vue](https://eslint.vuejs.org )
([source](https://redirect.github.com/vuejs/eslint-plugin-vue )) |
[`10.2.0` ->
`10.3.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/10.2.0/10.3.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [fast-check](https://fast-check.dev/ )
([source](https://redirect.github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check ))
| [`4.1.1` ->
`4.2.0`](https://renovatebot.com/diffs/npm/fast-check/4.1.1/4.2.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [glob](https://redirect.github.com/isaacs/node-glob ) | [`11.0.1` ->
`11.0.3`](https://renovatebot.com/diffs/npm/glob/11.0.1/11.0.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom ) |
[`18.0.0` ->
`18.0.1`](https://renovatebot.com/diffs/npm/happy-dom/18.0.0/18.0.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
|
[inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md )
([source](https://redirect.github.com/SBoudrias/Inquirer.js )) |
[`12.6.3` ->
`12.7.0`](https://renovatebot.com/diffs/npm/inquirer/12.6.3/12.7.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[isomorphic-dompurify](https://redirect.github.com/kkomelin/isomorphic-dompurify )
| [`2.25.0` ->
`2.26.0`](https://renovatebot.com/diffs/npm/isomorphic-dompurify/2.25.0/2.26.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [lucide-vue-next](https://lucide.dev )
([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next ))
| [`0.519.0` ->
`0.525.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.519.0/0.525.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[marked-base-url](https://redirect.github.com/markedjs/marked-base-url )
| [`1.1.6` ->
`1.1.7`](https://renovatebot.com/diffs/npm/marked-base-url/1.1.6/1.1.7 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [node](https://nodejs.org )
([source](https://redirect.github.com/nodejs/node )) | `22.16.0` ->
`22.17.0` |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| | minor |
| [nuxt](https://nuxt.com )
([source](https://redirect.github.com/nuxt/nuxt/tree/HEAD/packages/nuxt ))
| [`3.17.5` ->
`3.17.6`](https://renovatebot.com/diffs/npm/nuxt/3.17.5/3.17.6 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.12.4` ->
`10.13.1`](https://renovatebot.com/diffs/npm/pnpm/10.12.4/10.13.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| packageManager | minor |
| [pnpm](https://pnpm.io )
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm )) |
[`10.12.4` ->
`10.13.1`](https://renovatebot.com/diffs/npm/pnpm/10.12.4/10.13.1 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| engines | minor |
| [prettier](https://prettier.io )
([source](https://redirect.github.com/prettier/prettier )) | [`3.5.3` ->
`3.6.2`](https://renovatebot.com/diffs/npm/prettier/3.5.3/3.6.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[prettier-plugin-tailwindcss](https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss )
| [`0.6.13` ->
`0.6.14`](https://renovatebot.com/diffs/npm/prettier-plugin-tailwindcss/0.6.13/0.6.14 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [reka-ui](https://redirect.github.com/unovue/reka-ui ) | [`2.3.1` ->
`2.3.2`](https://renovatebot.com/diffs/npm/reka-ui/2.3.1/2.3.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [semver](https://redirect.github.com/npm/node-semver ) | [`7.7.1` ->
`7.7.2`](https://renovatebot.com/diffs/npm/semver/7.7.1/7.7.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [systeminformation](https://systeminformation.io )
([source](https://redirect.github.com/sebhildebrandt/systeminformation ))
| [`5.27.6` ->
`5.27.7`](https://renovatebot.com/diffs/npm/systeminformation/5.27.6/5.27.7 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [tsx](https://tsx.is )
([source](https://redirect.github.com/privatenumber/tsx )) | [`4.19.3` ->
`4.20.3`](https://renovatebot.com/diffs/npm/tsx/4.19.3/4.20.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
|
[typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint )
([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ))
| [`8.34.1` ->
`8.36.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.34.1/8.36.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
| [vite](https://vite.dev )
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite ))
| [`7.0.3` ->
`7.0.4`](https://renovatebot.com/diffs/npm/vite/7.0.3/7.0.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [vitest](https://redirect.github.com/vitest-dev/vitest )
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ))
| [`3.0.7` ->
`3.2.4`](https://renovatebot.com/diffs/npm/vitest/3.0.7/3.2.4 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
|
[vue-i18n](https://redirect.github.com/intlify/vue-i18n/tree/master/packages/vue-i18n#readme )
([source](https://redirect.github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n ))
| [`11.1.6` ->
`11.1.9`](https://renovatebot.com/diffs/npm/vue-i18n/11.1.6/11.1.9 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [vue-sonner](https://redirect.github.com/xiaoluoboding/vue-sonner ) |
[`1.3.0` ->
`1.3.2`](https://renovatebot.com/diffs/npm/vue-sonner/1.3.0/1.3.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [vuetify](https://vuetifyjs.com )
([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify ))
| [`3.8.10` ->
`3.9.0`](https://renovatebot.com/diffs/npm/vuetify/3.8.10/3.9.0 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [wrangler](https://redirect.github.com/cloudflare/workers-sdk )
([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ))
| [`^3.87.0` ->
`^3.114.10`](https://renovatebot.com/diffs/npm/wrangler/3.114.10/3.114.11 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [ws](https://redirect.github.com/websockets/ws ) | [`8.18.2` ->
`8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.2/8.18.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | patch |
| [ws](https://redirect.github.com/websockets/ws ) | [`8.18.2` ->
`8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.2/8.18.3 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [zod](https://zod.dev )
([source](https://redirect.github.com/colinhacks/zod )) | [`3.24.2` ->
`3.25.76`](https://renovatebot.com/diffs/npm/zod/3.24.2/3.25.76 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [zod](https://zod.dev )
([source](https://redirect.github.com/colinhacks/zod )) | [`3.25.67` ->
`3.25.76`](https://renovatebot.com/diffs/npm/zod/3.25.67/3.25.76 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | patch |
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.3.2` ->
`8.6.2`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.6.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| dependencies | minor |
| [zx](https://google.github.io/zx/ )
([source](https://redirect.github.com/google/zx )) | [`8.5.5` ->
`8.6.2`](https://renovatebot.com/diffs/npm/zx/8.5.5/8.6.2 ) |
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
| devDependencies | minor |
---
### Release Notes
<details>
<summary>eslint/eslint (@​eslint/js)</summary>
###
[`v9.30.1`](https://redirect.github.com/eslint/eslint/compare/v9.30.0...b3dbc16563cb7036d75edff9814e17053a645321 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.30.0...v9.30.1 )
###
[`v9.30.0`](https://redirect.github.com/eslint/eslint/compare/v9.29.0...5a5d5261037fdf84a91f2f22d3726d58572453f4 )
[Compare
Source](https://redirect.github.com/eslint/eslint/compare/v9.29.0...v9.30.0 )
</details>
<details>
<summary>faker-js/faker (@​faker-js/faker)</summary>
###
[`v9.9.0`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#990-2025-07-01 )
[Compare
Source](https://redirect.github.com/faker-js/faker/compare/v9.8.0...v9.9.0 )
##### New Locales
- **locale:** add word data to pt\_br and pt\_pt locales
([#​3531](https://redirect.github.com/faker-js/faker/issues/3531 ))
([a405ac8](a405ac8740 ))
##### Features
- **location:** simple coordinate methods
([#​3528](https://redirect.github.com/faker-js/faker/issues/3528 ))
([d07d96d](d07d96d018 ))
</details>
<details>
<summary>floating-ui/floating-ui (@​floating-ui/dom)</summary>
###
[`v1.7.2`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/dom/CHANGELOG.md#172 )
[Compare
Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/dom@1.7.1...@floating-ui/dom@1.7.2 )
##### Patch Changes
- perf: reduce memory allocations
- Update dependencies: `@floating-ui/utils@0.2.10`,
`@floating-ui/core@1.7.2`
</details>
<details>
<summary>floating-ui/floating-ui (@​floating-ui/utils)</summary>
###
[`v0.2.10`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/utils/CHANGELOG.md#0210 )
[Compare
Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/utils@0.2.9...@floating-ui/utils@0.2.10 )
##### Patch Changes
- refactor: small performance improvements
- perf: reduce memory allocations
</details>
<details>
<summary>floating-ui/floating-ui (@​floating-ui/vue)</summary>
###
[`v1.1.7`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/vue/CHANGELOG.md#117 )
[Compare
Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/vue@1.1.6...@floating-ui/vue@1.1.7 )
##### Patch Changes
- Update dependencies: `@floating-ui/utils@0.2.10`,
`@floating-ui/dom@1.7.2`
</details>
<details>
<summary>dotansimha/graphql-code-generator
(@​graphql-codegen/client-preset)</summary>
###
[`v4.8.3`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/presets/client/CHANGELOG.md#483 )
[Compare
Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/client-preset@4.8.2...@graphql-codegen/client-preset@4.8.3 )
##### Patch Changes
-
[#​10362](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10362 )
[`3188b8c`](3188b8c39e )
Thanks [@​Brookke](https://redirect.github.com/Brookke )! - Make
generated type compatible with noImplicitOverride=true
-
[#​10373](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10373 )
[`c3295f9`](c3295f9c60 )
Thanks [@​eddeee888](https://redirect.github.com/eddeee888 )! - Fix
client preset not working with exactOptionalPropertyTypes=true when
documentMode=string
- Updated dependencies
\[[`3188b8c`](3188b8c39e ),
[`c3295f9`](c3295f9c60 )]:
-
[@​graphql-codegen/typed-document-node](https://redirect.github.com/graphql-codegen/typed-document-node )@​5.1.2
</details>
<details>
<summary>dotansimha/graphql-code-generator
(@​graphql-codegen/typed-document-node)</summary>
###
[`v5.1.2`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/typed-document-node/CHANGELOG.md#512 )
[Compare
Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typed-document-node@5.1.1...@graphql-codegen/typed-document-node@5.1.2 )
##### Patch Changes
-
[#​10362](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10362 )
[`3188b8c`](3188b8c39e )
Thanks [@​Brookke](https://redirect.github.com/Brookke )! - Make
generated type compatible with noImplicitOverride=true
-
[#​10373](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10373 )
[`c3295f9`](c3295f9c60 )
Thanks [@​eddeee888](https://redirect.github.com/eddeee888 )! - Fix
client preset not working with exactOptionalPropertyTypes=true when
documentMode=string
</details>
<details>
<summary>ianvs/prettier-plugin-sort-imports
(@​ianvs/prettier-plugin-sort-imports)</summary>
###
[`v4.5.1`](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.5.0...040fa5e3a7dd01a90d80bb12072344745e426da6 )
[Compare
Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.5.0...v4.5.1 )
###
[`v4.5.0`](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.4.2...3497e9a87974954e42198d04d69d9a2a24dbebbd )
[Compare
Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.4.2...v4.5.0 )
</details>
<details>
<summary>nuxt/devtools (@​nuxt/devtools)</summary>
###
[`v2.6.2`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#262-2025-07-02 )
[Compare
Source](https://redirect.github.com/nuxt/devtools/compare/v2.6.1...v2.6.2 )
##### Bug Fixes
- panel dragging issue, close
[#​874](https://redirect.github.com/nuxt/devtools/issues/874 ),
close
[#​871](https://redirect.github.com/nuxt/devtools/issues/871 ),
close
[#​873](https://redirect.github.com/nuxt/devtools/issues/873 )
([619de37](619de37ace ))
###
[`v2.6.1`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#261-2025-07-01 )
[Compare
Source](https://redirect.github.com/nuxt/devtools/compare/v2.6.0...v2.6.1 )
##### Bug Fixes
- **deps:** do not depend on `@nuxt/schema`
([#​872](https://redirect.github.com/nuxt/devtools/issues/872 ))
([62443ec](62443ecb12 ))
###
[`v2.6.0`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#260-2025-06-29 )
[Compare
Source](https://redirect.github.com/nuxt/devtools/compare/v2.5.0...v2.6.0 )
##### Bug Fixes
- timing labels wrapping
([#​866](https://redirect.github.com/nuxt/devtools/issues/866 ))
([fd01e60](fd01e6022a ))
##### Features
- update deps
([eef2c09](eef2c09ea1 ))
</details>
<details>
<summary>nuxt/eslint (@​nuxt/eslint)</summary>
###
[`v1.5.2`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.5.2 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.5.1...v1.5.2 )
##### 🚀 Features
- Add option `features.import.plugin` to swap plugin implementation,
close [#​587](https://redirect.github.com/nuxt/eslint/issues/587 )
- by [@​antfu](https://redirect.github.com/antfu ) in
[https://github.com/nuxt/eslint/issues/587 ](https://redirect.github.com/nuxt/eslint/issues/587 )
[<samp>(66f5e)</samp>](https://redirect.github.com/nuxt/eslint/commit/66f5ee0 )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.5.1...v1.5.2 )
###
[`v1.5.1`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.5.1 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.5.0...v1.5.1 )
##### 🐞 Bug Fixes
- **eslint-config**: Replace deprecated vue/object-property-newline
option - by [@​amery](https://redirect.github.com/amery ) in
[https://github.com/nuxt/eslint/issues/586 ](https://redirect.github.com/nuxt/eslint/issues/586 )
[<samp>(7805e)</samp>](https://redirect.github.com/nuxt/eslint/commit/7805e0d )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.5.0...v1.5.1 )
###
[`v1.5.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.5.0 )
[Compare
Source](https://redirect.github.com/nuxt/eslint/compare/v1.4.1...v1.5.0 )
##### 🚀 Features
- Switch to `eslint-plugin-import-lite`, update deps - by
[@​antfu](https://redirect.github.com/antfu )
[<samp>(31bd8)</samp>](https://redirect.github.com/nuxt/eslint/commit/31bd8a0 )
##### 🐞 Bug Fixes
- **eslint-config**: Add file type restrictions to prevent CSS parsing
errors - by [@​amery](https://redirect.github.com/amery ) in
[https://github.com/nuxt/eslint/issues/584 ](https://redirect.github.com/nuxt/eslint/issues/584 )
[<samp>(40521)</samp>](https://redirect.github.com/nuxt/eslint/commit/40521a1 )
##### [View changes on
GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.4.1...v1.5.0 )
</details>
<details>
<summary>nuxt/test-utils (@​nuxt/test-utils)</summary>
###
[`v3.19.2`](https://redirect.github.com/nuxt/test-utils/releases/tag/v3.19.2 )
[Compare
Source](https://redirect.github.com/nuxt/test-utils/compare/v3.19.1...v3.19.2 )
> 3.19.2 is the next patch release.
>
> **Timetable**: 1 July
#### 👉 Changelog
[compare
changes](https://redirect.github.com/nuxt/test-utils/compare/v3.19.1...v3.19.2 )
##### 🩹 Fixes
- **config:** Add missing mocks for vue-devtools
([#​1321](https://redirect.github.com/nuxt/test-utils/pull/1321 ))
- **runtime-utils:** Prevent event duplication
([#​1328](https://redirect.github.com/nuxt/test-utils/pull/1328 ))
- **config:** Include tests without `.nuxt.` extension
([#​1311](https://redirect.github.com/nuxt/test-utils/pull/1311 ))
- **deps:** Drop `@nuxt/schema` dependeny
([fa3a99b4](https://redirect.github.com/nuxt/test-utils/commit/fa3a99b4 ))
- **config:** Use 'projects' for `vitest` >= v3.2
([#​1344](https://redirect.github.com/nuxt/test-utils/pull/1344 ))
- **module:** Use user `vite` version to merge config
([#​1345](https://redirect.github.com/nuxt/test-utils/pull/1345 ))
- **runtime-utils:** Handle computed defined using an object
([#​1342](https://redirect.github.com/nuxt/test-utils/pull/1342 ))
##### 🏡 Chore
- Prefer `nuxt` over `nuxi`
([#​1310](https://redirect.github.com/nuxt/test-utils/pull/1310 ))
- Pin node types
([93921643](https://redirect.github.com/nuxt/test-utils/commit/93921643 ))
- Do not include dev-deps in `engines.node` calculation
([2f74359b](https://redirect.github.com/nuxt/test-utils/commit/2f74359b ))
- Add type assertions for indexed access
([51b4a4e3](https://redirect.github.com/nuxt/test-utils/commit/51b4a4e3 ))
- Update installed-check flag
([2b97d885](https://redirect.github.com/nuxt/test-utils/commit/2b97d885 ))
##### ✅ Tests
- Update stub name for nuxt v4
([e7b07843](https://redirect.github.com/nuxt/test-utils/commit/e7b07843 ))
- Satisfy typescript
([fb0dea24](https://redirect.github.com/nuxt/test-utils/commit/fb0dea24 ))
- Update cucumber test for nuxt v4 welcome screen template
([8ec7782f](https://redirect.github.com/nuxt/test-utils/commit/8ec7782f ))
- Simplify test
([90278bac](https://redirect.github.com/nuxt/test-utils/commit/90278bac ))
- Update workspace example
([02f9b0a0](https://redirect.github.com/nuxt/test-utils/commit/02f9b0a0 ))
- Make browser tests forward-compat with v4
([574ea5f9](https://redirect.github.com/nuxt/test-utils/commit/574ea5f9 ))
##### 🤖 CI
- Remove forced corepack installation
([bf19bd3a](https://redirect.github.com/nuxt/test-utils/commit/bf19bd3a ))
- Run `knip`
([819aeacc](https://redirect.github.com/nuxt/test-utils/commit/819aeacc ))
- Prepare environment before knipping
([ec7d8ddd](https://redirect.github.com/nuxt/test-utils/commit/ec7d8ddd ))
##### ❤️ Contributors
- Daniel Roe
([@​danielroe](https://redirect.github.com/danielroe ))
- Tomina ([@​Thomaash](https://redirect.github.com/Thomaash ))
- lutejka ([@​lutejka](https://redirect.github.com/lutejka ))
- J-Michalek
([@​J-Michalek](https://redirect.github.com/J-Michalek ))
</details>
<details>
<summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary>
###
[`v4.44.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4442 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.44.1...v4.44.2 )
*2025-07-04*
##### Bug Fixes
- Correctly handle `@__PURE__` annotations after `new` keyword
([#​5998](https://redirect.github.com/rollup/rollup/issues/5998 ))
- Generate correct source mapping for closing braces of block statements
([#​5999](https://redirect.github.com/rollup/rollup/issues/5999 ))
##### Pull Requests
- [#​5998](https://redirect.github.com/rollup/rollup/pull/5998 ):
Support `@__PURE__` when nested after new in constructor invocations
([@​TrickyPi](https://redirect.github.com/TrickyPi ))
- [#​5999](https://redirect.github.com/rollup/rollup/pull/5999 ):
Add location info for closing brace of block statement
([@​TrickyPi](https://redirect.github.com/TrickyPi ))
- [#​6002](https://redirect.github.com/rollup/rollup/pull/6002 ):
chore(deps): update dependency vite to v7
([@​renovate](https://redirect.github.com/renovate )\[bot],
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​6004](https://redirect.github.com/rollup/rollup/pull/6004 ):
fix(deps): lock file maintenance minor/patch updates
([@​renovate](https://redirect.github.com/renovate )\[bot],
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
###
[`v4.44.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4441 )
[Compare
Source](https://redirect.github.com/rollup/rollup/compare/v4.44.0...v4.44.1 )
*2025-06-26*
##### Bug Fixes
- Reinstate maxParallelFileOps limit of 1000 to resolve the issue for
some
([#​5992](https://redirect.github.com/rollup/rollup/issues/5992 ))
##### Pull Requests
- [#​5988](https://redirect.github.com/rollup/rollup/pull/5988 ):
fix(deps): lock file maintenance minor/patch updates
([@​renovate](https://redirect.github.com/renovate )\[bot],
[@​lukastaegert](https://redirect.github.com/lukastaegert ))
- [#​5992](https://redirect.github.com/rollup/rollup/pull/5992 ):
Set maxParallelFileOps to 1000
([@​lukastaegert](https://redirect.github.com/lukastaegert ))
</details>
<details>
<summary>swc-project/swc (@​swc/core)</summary>
###
[`v1.12.11`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11211---2025-07-08 )
[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.12.9...v1.12.11 )
##### Bug Fixes
- **(ci)** Fix CI
([#​10790](https://redirect.github.com/swc-project/swc/issues/10790 ))
([b3f9760](b3f97604b8 ))
- **(es)** Use `default-features = false` for `swc` crate usages
([#​10776](https://redirect.github.com/swc-project/swc/issues/10776 ))
([50b2eac](50b2eacdf7 ))
- **(es)** Make `swc_typescript` optional
([#​10792](https://redirect.github.com/swc-project/swc/issues/10792 ))
([c32569d](c32569dd55 ))
- **(preset-env)** Fix `default` value for `caniuse`
([#​10754](https://redirect.github.com/swc-project/swc/issues/10754 ))
([aa4cd5b](aa4cd5ba7c ))
- **(preset-env)** Revert `default` value
([#​10778](https://redirect.github.com/swc-project/swc/issues/10778 ))
([7af5824](7af58242c2 ))
##### Features
- **(es/minifeir)** Inline lazily initialized literals
([#​10752](https://redirect.github.com/swc-project/swc/issues/10752 ))
([fd5d2e2](fd5d2e2f33 ))
- **(es/minifier)** Evaluate `Number.XXX` constants
([#​10756](https://redirect.github.com/swc-project/swc/issues/10756 ))
([c47dab5](c47dab5f90 ))
- **(es/minifier)** Implement partial evaluation of array join
([#​10758](https://redirect.github.com/swc-project/swc/issues/10758 ))
([bdf3a98](bdf3a98bb4 ))
- **(swc\_core)** Expose `swc_ecma_parser/unstable`
([#​10744](https://redirect.github.com/swc-project/swc/issues/10744 ))
([db0679e](db0679e5ca ))
##### Miscellaneous Tasks
- **(common)** Remove `clone()` in proc macro
([#​10762](https://redirect.github.com/swc-project/swc/issues/10762 ))
([12e3180](12e318036c ))
- **(deps)** Update `browserslist-rs` to `0.19`
([#​10750](https://redirect.github.com/swc-project/swc/issues/10750 ))
([f8bf21c](f8bf21c072 ))
- **(deps)** Remove unused deps with cargo-shear
([#​10765](https://redirect.github.com/swc-project/swc/issues/10765 ))
([f4e4974](f4e4974ffe ))
- **(es/module)** Drop `node` feature of `swc_ecma_loader`
([#​10761](https://redirect.github.com/swc-project/swc/issues/10761 ))
([44471b5](44471b5151 ))
- **(plugin/runner)** Remove unused feature and dependency
([#​10764](https://redirect.github.com/swc-project/swc/issues/10764 ))
([a7d8a0a](a7d8a0ac89 ))
##### Performance
- **(es/lexer)** Use `bitflags` for `Syntax`
([#​10676](https://redirect.github.com/swc-project/swc/issues/10676 ))
([bf8c722](bf8c722e25 ))
- **(es/lexer)** Do not scan number if there's no underscore
([#​10788](https://redirect.github.com/swc-project/swc/issues/10788 ))
([f5d92ee](f5d92ee1bf ))
- **(es/lints)** Make rules not parallel
([#​10772](https://redirect.github.com/swc-project/swc/issues/10772 ))
([4e6001c](4e6001c5a4 ))
- **(es/lints)** Merge critical rules
([#​10773](https://redirect.github.com/swc-project/swc/issues/10773 ))
([816e75a](816e75a209 ))
- **(es/parser)** Reduce the number of context set ops
([#​10742](https://redirect.github.com/swc-project/swc/issues/10742 ))
([08b4e8b](08b4e8b285 ))
- **(es/parser)** Reduce value set operations for context
([#​10751](https://redirect.github.com/swc-project/swc/issues/10751 ))
([4976b12](4976b12f93 ))
- **(es/parser)** Reduce query ops of current token
([#​10766](https://redirect.github.com/swc-project/swc/issues/10766 ))
([4304f91](4304f9129c ))
- **(es/parser)** Remove useless call in `parse_ident`
([#​10770](https://redirect.github.com/swc-project/swc/issues/10770 ))
([4ca12c9](4ca12c9725 ))
- **(es/renamer)** Reduce time complexity in case of conflict
([#​10749](https://redirect.github.com/swc-project/swc/issues/10749 ))
([0279914](02799141bf ))
- **(hstr)** Do not compare string during creating atoms
([#​10791](https://redirect.github.com/swc-project/swc/issues/10791 ))
([43a4f11](43a4f117cb ))
- Replace `rayon` with `par-iter`
([#​10774](https://redirect.github.com/swc-project/swc/issues/10774 ))
([a6e6ebe](a6e6ebeaca ))
##### Refactor
- **(es)** Make `swc_ecma_lint` optional for `swc` crate
([#​10767](https://redirect.github.com/swc-project/swc/issues/10767 ))
([f80415b](f80415baa6 ))
- **(es/lexer)** Use const fn in `SyntaxFlags`
([#​10737](https://redirect.github.com/swc-project/swc/issues/10737 ))
([b9eb23a](b9eb23aec3 ))
- **(es/parser)** Cleanup `parse_setter_param`
([#​10745](https://redirect.github.com/swc-project/swc/issues/10745 ))
([70734f4](70734f40d4 ))
- **(es/parser)** Cleanup `typed-arena`
([#​10769](https://redirect.github.com/swc-project/swc/issues/10769 ))
([ce5138d](ce5138d3aa ))
- **(es/parser)** Cleanup for ctx
([#​10777](https://redirect.github.com/swc-project/swc/issues/10777 ))
([d60a611](d60a611dc7 ))
- **(es/parser)** Delete `with_ctx`
([#​10779](https://redirect.github.com/swc-project/swc/issues/10779 ))
([ce057c5](ce057c55ef ))
- **(es/parser)** Cleanup
([#​10781](https://redirect.github.com/swc-project/swc/issues/10781 ))
([176ce36](176ce36d24 ))
- **(es/preset)** Remove deprecated `preset_env` function and `feature`
module
([#​10759](https://redirect.github.com/swc-project/swc/issues/10759 ))
([fa0e0ab](fa0e0abf41 ))
- **(es/preset-env)** Use phf for corejs3 entry
([#​10712](https://redirect.github.com/swc-project/swc/issues/10712 ))
([658b26d](658b26d838 ))
##### Testing
- **(es/minifier)** Update the terser test list
([#​10748](https://redirect.github.com/swc-project/swc/issues/10748 ))
([1eace01](1eace01303 ))
- **(es/minifier)** Update the passing test list
([#​10782](https://redirect.github.com/swc-project/swc/issues/10782 ))
([8aa888b](8aa888bc2a ))
- **(es/parser)** Add a test for duplicate labels
([#​10784](https://redirect.github.com/swc-project/swc/issues/10784 ))
([28fc643](28fc64310c ))
##### Pref
- **(hstr)** Do not compare static tag
([#​10771](https://redirect.github.com/swc-project/swc/issues/10771 ))
([5d3ce83](5d3ce83add ))
###
[`v1.12.9`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1129---2025-07-01 )
[Compare
Source](https://redirect.github.com/swc-project/swc/compare/v1.12.7...v1.12.9 )
##### Bug Fixes
- **(es/lexer)** Parse uppercase hex numbers correctly
([#​10728](https://redirect.github.com/swc-project/swc/issues/10728 ))
([ead6256](ead62560b0 ))
- **(es/lexer)** Allow keywords as jsx attribute names
([#​10730](https://redirect.github.com/swc-project/swc/issues/10730 ))
([04ef20a](https://redirect.github.com/swc-project/swc/commit/04ef20ad9b
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
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](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 14:40:42 -04:00
renovate[bot]
2ed1308e40
chore(deps): update dependency vite-plugin-vue-tracer to v1 ( #1472 )
...
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
|
[vite-plugin-vue-tracer](https://redirect.github.com/antfu/vite-plugin-vue-tracer )
| [`0.1.4` ->
`1.0.0`](https://renovatebot.com/diffs/npm/vite-plugin-vue-tracer/0.1.4/1.0.0 )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
[](https://docs.renovatebot.com/merge-confidence/ )
|
---
### Release Notes
<details>
<summary>antfu/vite-plugin-vue-tracer (vite-plugin-vue-tracer)</summary>
###
[`v1.0.0`](https://redirect.github.com/antfu/vite-plugin-vue-tracer/releases/tag/v1.0.0 )
[Compare
Source](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.5...v1.0.0 )
*No significant changes*
##### [View changes on
GitHub](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.5...v1.0.0 )
###
[`v0.1.5`](https://redirect.github.com/antfu/vite-plugin-vue-tracer/releases/tag/v0.1.5 )
[Compare
Source](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.4...v0.1.5 )
##### 🚀 Features
- Support Vite 7 - by
[@​antfu](https://redirect.github.com/antfu )
[<samp>(6927e)</samp>](https://redirect.github.com/antfu/vite-plugin-vue-tracer/commit/6927e8a )
##### [View changes on
GitHub](https://redirect.github.com/antfu/vite-plugin-vue-tracer/compare/v0.1.4...v0.1.5 )
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
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.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/ ).
View the [repository job
log](https://developer.mend.io/github/unraid/api ).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 14:17:33 -04:00
Zack Spear
6c03df2b97
tests: server store trial extensions ( #1504 )
...
Requested in feature PR
https://github.com/unraid/api/pull/1490#issuecomment-3059002854
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Enhanced trial expiration messaging to clearly communicate when the
trial is expiring, options for extension, and the consequences of
expiration.
* Added dynamic display of trial extension options and actions based on
eligibility and time remaining before expiration.
* **Bug Fixes**
* Improved accuracy of messages and actions related to trial extension
eligibility and renewal windows.
* **Tests**
* Added comprehensive tests for trial extension eligibility, renewal
windows, and related user messages and actions.
* **Documentation**
* Updated English locale strings to reflect new trial expiration and
extension messages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-11 14:17:09 -04:00
Pujit Mehrotra
074370c42c
fix: over-eager cloud query from web components ( #1506 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved initialization logic to ensure cloud state is only loaded
when the connect plugin is installed, enhancing reliability during
startup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-11 14:16:53 -04:00
Zack Spear
f34a33bc9f
feat: trial extension allowed within 5 days of expiration ( #1490 )
2025-07-10 17:21:24 -07:00
github-actions[bot]
c7801a9236
chore(main): release 4.9.5 ( #1503 )
...
🤖 I have created a release *beep* *boop*
---
## [4.9.5](https://github.com/unraid/api/compare/v4.9.4...v4.9.5 )
(2025-07-10)
### Bug Fixes
* **connect:** rm eager restart on `ERROR_RETYING` connection status
([#1502 ](https://github.com/unraid/api/issues/1502 ))
([dd759d9 ](dd759d9f0f ))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please ). See
[documentation](https://github.com/googleapis/release-please#release-please ).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.9.5
2025-07-10 10:27:45 -04:00
Pujit Mehrotra
dd759d9f0f
fix(connect): rm eager restart on ERROR_RETYING connection status ( #1502 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved connection handling to prevent unnecessary reconnection
attempts during error retry states, ensuring reconnections only occur on
specific failures.
* **Tests**
* Added comprehensive tests to verify connection recovery,
identity-based connection, logout behavior, DDoS prevention, and edge
case handling for connection state changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-10 10:21:54 -04:00
github-actions[bot]
74da8d81ef
chore(main): release 4.9.4 ( #1498 )
...
🤖 I have created a release *beep* *boop*
---
## [4.9.4](https://github.com/unraid/api/compare/v4.9.3...v4.9.4 )
(2025-07-09)
### Bug Fixes
* backport `<unraid-modals>` upon plg install when necessary
([#1499 ](https://github.com/unraid/api/issues/1499 ))
([33e0b1a ](33e0b1ab24 ))
* DefaultPageLayout patch rollback omits legacy header logo
([#1497 ](https://github.com/unraid/api/issues/1497 ))
([ea20d1e ](ea20d1e211 ))
* event emitter setup for writing status
([#1496 ](https://github.com/unraid/api/issues/1496 ))
([ca4e2db ](ca4e2db1f2 ))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please ). See
[documentation](https://github.com/googleapis/release-please#release-please ).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.9.4
2025-07-09 13:40:56 -04:00
Pujit Mehrotra
33e0b1ab24
fix: backport <unraid-modals> upon plg install when necessary ( #1499 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Prevented duplicate insertion of the modal component in the page
layout.
* **Chores**
* Improved installation script to ensure the modal component is added
only if missing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 13:32:55 -04:00
Eli Bosley
ca4e2db1f2
fix: event emitter setup for writing status ( #1496 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated permissions to allow additional Bash command patterns in the
configuration.
* Improved connection status updates by triggering them via event
listeners during application bootstrap.
* Adjusted module provider registrations to reflect service relocation
within the application structure.
* **Tests**
* Added comprehensive unit and integration tests for connection status
writing and cleanup behaviors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 13:16:53 -04:00
Pujit Mehrotra
ea20d1e211
fix: DefaultPageLayout patch rollback omits legacy header logo ( #1497 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Enhanced the header by displaying the OS version and additional server
information.
* Introduced a new notification system using a modern UI component for
toasts.
* Automatically creates a root session for local requests when no valid
session exists.
* **Bug Fixes**
* Removed outdated pop-up notification logic and bell icon from the
navigation area.
* **Style**
* Updated header layout and improved formatting for a cleaner
appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 13:12:18 -04:00
github-actions[bot]
79c57b8ed0
chore(main): release 4.9.3 ( #1495 )
...
🤖 I have created a release *beep* *boop*
---
## [4.9.3](https://github.com/unraid/api/compare/v4.9.2...v4.9.3 )
(2025-07-09)
### Bug Fixes
* duplicated header logo after api stops
([#1493 ](https://github.com/unraid/api/issues/1493 ))
([4168f43 ](4168f43e3e ))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please ). See
[documentation](https://github.com/googleapis/release-please#release-please ).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.9.3
2025-07-09 11:06:47 -04:00
Pujit Mehrotra
4168f43e3e
fix: duplicated header logo after api stops ( #1493 )
...
Move legacy header logo omission from API file modifier to plg install
step to avoid breaking rollback (ie upon `unraid-api stop`) due to web
component upgrade.
Tested on 7.1.4 & 7.2.0-beta.0.16
Testing & Reproduction procedure:
1. Install connect plugin
2. Run `unraid-api stop` on server
3. Refresh page. Before Unraid 7.2, Plugin versions prior to this will
display a duplicated logo that blocks the nav menu. Now, it will not.
Plugin uninstall behavior remains unchanged.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* The plugin installation process now updates the header logo by
removing the old logo from the interface during installation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 10:59:10 -04:00
github-actions[bot]
20de3ec8d6
chore(main): release 4.9.2 ( #1488 )
...
🤖 I have created a release *beep* *boop*
---
## [4.9.2](https://github.com/unraid/api/compare/v4.9.1...v4.9.2 )
(2025-07-09)
### Bug Fixes
* invalid configs no longer crash API
([#1491 ](https://github.com/unraid/api/issues/1491 ))
([6bf3f77 ](6bf3f77638 ))
* invalid state for unraid plugin
([#1492 ](https://github.com/unraid/api/issues/1492 ))
([39b8f45 ](39b8f453da ))
* release note escaping
([5b6bcb6 ](5b6bcb6043 ))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please ). See
[documentation](https://github.com/googleapis/release-please#release-please ).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.9.2
2025-07-09 09:23:25 -04:00
Eli Bosley
39b8f453da
fix: invalid state for unraid plugin ( #1492 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Improved connection status handling by introducing a new service that
writes connection status to a JSON file for enhanced integration.
* Updated system components to read connection status and allowed
origins from the new JSON file, ensuring more reliable and up-to-date
information.
* **Chores**
* Expanded allowed Bash command permissions to include commands starting
with "mv:".
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 09:21:43 -04:00
Eli Bosley
6bf3f77638
fix: invalid configs no longer crash API ( #1491 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved error handling when loading and parsing configuration files,
preventing crashes and ensuring fallback to default settings if issues
occur.
* Enhanced logging for configuration errors, including warnings for
empty files and detailed error messages for JSON parsing failures.
* Added error handling to plugin listing to avoid failures when
configuration loading encounters errors.
* **Chores**
* Updated permissions to allow linting only for the `./api` package
using a filtered command.
* **Tests**
* Added comprehensive tests for configuration loading, parsing,
persistence, and updating, covering various file states and error
scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 08:50:43 -04:00
Eli Bosley
a79d049865
chore: lint for renovate PR ( #1481 )
2025-07-08 17:01:49 -04:00
Eli Bosley
5b6bcb6043
fix: release note escaping
2025-07-08 16:41:05 -04:00
github-actions[bot]
6ee3cae962
chore(main): release 4.9.1 ( #1487 )
...
🤖 I have created a release *beep* *boop*
---
## [4.9.1](https://github.com/unraid/api/compare/v4.9.0...v4.9.1 )
(2025-07-08)
### Bug Fixes
* **HeaderOsVersion:** adjust top margin for header component
([#1485 ](https://github.com/unraid/api/issues/1485 ))
([862b54d ](862b54de8c ))
* sign out doesn't work
([#1486 ](https://github.com/unraid/api/issues/1486 ))
([f3671c3 ](f3671c3e07 ))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please ). See
[documentation](https://github.com/googleapis/release-please#release-please ).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.9.1
2025-07-08 16:30:00 -04:00
Eli Bosley
f3671c3e07
fix: sign out doesn't work ( #1486 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Refactor**
* Improved handling of Connect account sign-in and sign-out with
persistent mutation instances for better status updates and error
reporting.
* **Chores**
* Expanded allowed command patterns in configuration for development,
build, and testing tasks.
* **Tests**
* Enhanced mutation mocks in component tests to increase test
reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 16:28:38 -04:00
Zack Spear
862b54de8c
fix(HeaderOsVersion): adjust top margin for header component ( #1485 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Increased top margin in the OS version header for improved spacing.
* Updated user profile container to use padding instead of margin for
better layout consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 16:11:02 -04:00
github-actions[bot]
9624ca5c39
chore(main): release 4.9.0 ( #1378 )
...
🤖 I have created a release *beep* *boop*
---
## [4.9.0](https://github.com/unraid/api/compare/v4.8.0...v4.9.0 )
(2025-07-08)
### Features
* add graphql resource for API plugins
([#1420 ](https://github.com/unraid/api/issues/1420 ))
([642a220 ](642a220c3a ))
* add management page for API keys
([#1408 ](https://github.com/unraid/api/issues/1408 ))
([0788756 ](0788756b91 ))
* add rclone ([#1362 ](https://github.com/unraid/api/issues/1362 ))
([5517e75 ](5517e7506b ))
* API key management
([#1407 ](https://github.com/unraid/api/issues/1407 ))
([d37dc3b ](d37dc3bce2 ))
* api plugin management via CLI
([#1416 ](https://github.com/unraid/api/issues/1416 ))
([3dcbfbe ](3dcbfbe489 ))
* build out docker components
([#1427 ](https://github.com/unraid/api/issues/1427 ))
([711cc9a ](711cc9ac92 ))
* docker and info resolver issues
([#1423 ](https://github.com/unraid/api/issues/1423 ))
([9901039 ](9901039a38 ))
* fix shading in UPC to be less severe
([#1438 ](https://github.com/unraid/api/issues/1438 ))
([b7c2407 ](b7c2407840 ))
* info resolver cleanup
([#1425 ](https://github.com/unraid/api/issues/1425 ))
([1b279bb ](1b279bbab3 ))
* initial codeql setup
([#1390 ](https://github.com/unraid/api/issues/1390 ))
([2ade7eb ](2ade7eb527 ))
* initialize claude code in codebse
([#1418 ](https://github.com/unraid/api/issues/1418 ))
([b6c4ee6 ](b6c4ee6eb4 ))
* move api key fetching to use api key service
([#1439 ](https://github.com/unraid/api/issues/1439 ))
([86bea56 ](86bea56272 ))
* move to cron v4 ([#1428 ](https://github.com/unraid/api/issues/1428 ))
([b8035c2 ](b8035c207a ))
* move to iframe for changelog
([#1388 ](https://github.com/unraid/api/issues/1388 ))
([fcd6fbc ](fcd6fbcdd4 ))
* native slackware package
([#1381 ](https://github.com/unraid/api/issues/1381 ))
([4f63b4c ](4f63b4cf3b ))
* send active unraid theme to docs
([#1400 ](https://github.com/unraid/api/issues/1400 ))
([f71943b ](f71943b62b ))
* slightly better watch mode
([#1398 ](https://github.com/unraid/api/issues/1398 ))
([881f1e0 ](881f1e0960 ))
* upgrade nuxt-custom-elements
([#1461 ](https://github.com/unraid/api/issues/1461 ))
([345e83b ](345e83bfb0 ))
* use bigint instead of long
([#1403 ](https://github.com/unraid/api/issues/1403 ))
([574d572 ](574d572d65 ))
### Bug Fixes
* activation indicator removed
([5edfd82 ](5edfd823b8 ))
* alignment of settings on ManagementAccess settings page
([#1421 ](https://github.com/unraid/api/issues/1421 ))
([70c790f ](70c790ff89 ))
* allow rclone to fail to initialize
([#1453 ](https://github.com/unraid/api/issues/1453 ))
([7c6f02a ](7c6f02a5cb ))
* always download 7.1 versioned files for patching
([edc0d15 ](edc0d1578b ))
* api `pnpm type-check`
([#1442 ](https://github.com/unraid/api/issues/1442 ))
([3122bdb ](3122bdb953 ))
* **api:** connect config `email` validation
([#1454 ](https://github.com/unraid/api/issues/1454 ))
([b9a1b9b ](b9a1b9b087 ))
* backport
unraid/webgui[#2269 ](https://github.com/unraid/api/issues/2269 ) rc.nginx
update ([#1436 ](https://github.com/unraid/api/issues/1436 ))
([a7ef06e ](a7ef06ea25 ))
* bigint
([e54d27a ](e54d27aede ))
* config migration from `myservers.cfg`
([#1440 ](https://github.com/unraid/api/issues/1440 ))
([c4c9984 ](c4c99843c7 ))
* **connect:** fatal race-condition in websocket disposal
([#1462 ](https://github.com/unraid/api/issues/1462 ))
([0ec0de9 ](0ec0de982f ))
* **connect:** mothership connection
([#1464 ](https://github.com/unraid/api/issues/1464 ))
([7be8bc8 ](7be8bc84d3 ))
* console hidden
([9b85e00 ](9b85e009b8 ))
* debounce is too long
([#1426 ](https://github.com/unraid/api/issues/1426 ))
([f12d231 ](f12d231e63 ))
* delete legacy connect keys and ensure description
([22fe91c ](22fe91cd56 ))
* **deps:** pin dependencies
([#1465 ](https://github.com/unraid/api/issues/1465 ))
([ba75a40 ](ba75a409a4 ))
* **deps:** pin dependencies
([#1470 ](https://github.com/unraid/api/issues/1470 ))
([412b329 ](412b32996d ))
* **deps:** storybook v9
([#1476 ](https://github.com/unraid/api/issues/1476 ))
([45bb49b ](45bb49bcd6 ))
* **deps:** update all non-major dependencies
([#1366 ](https://github.com/unraid/api/issues/1366 ))
([291ee47 ](291ee475fb ))
* **deps:** update all non-major dependencies
([#1379 ](https://github.com/unraid/api/issues/1379 ))
([8f70326 ](8f70326d0f ))
* **deps:** update all non-major dependencies
([#1389 ](https://github.com/unraid/api/issues/1389 ))
([cb43f95 ](cb43f95233 ))
* **deps:** update all non-major dependencies
([#1399 ](https://github.com/unraid/api/issues/1399 ))
([68df344 ](68df344a4b ))
* **deps:** update dependency @types/diff to v8
([#1393 ](https://github.com/unraid/api/issues/1393 ))
([00da27d ](00da27d04f ))
* **deps:** update dependency cache-manager to v7
([#1413 ](https://github.com/unraid/api/issues/1413 ))
([9492c2a ](9492c2ae6a ))
* **deps:** update dependency commander to v14
([#1394 ](https://github.com/unraid/api/issues/1394 ))
([106ea09 ](106ea09399 ))
* **deps:** update dependency diff to v8
([#1386 ](https://github.com/unraid/api/issues/1386 ))
([e580f64 ](e580f646a5 ))
* **deps:** update dependency dotenv to v17
([#1474 ](https://github.com/unraid/api/issues/1474 ))
([d613bfa ](d613bfa041 ))
* **deps:** update dependency lucide-vue-next to ^0.509.0
([#1383 ](https://github.com/unraid/api/issues/1383 ))
([469333a ](469333acd4 ))
* **deps:** update dependency marked to v16
([#1444 ](https://github.com/unraid/api/issues/1444 ))
([453a5b2 ](453a5b2c95 ))
* **deps:** update dependency shadcn-vue to v2
([#1302 ](https://github.com/unraid/api/issues/1302 ))
([26ecf77 ](26ecf779e6 ))
* **deps:** update dependency vue-sonner to v2
([#1401 ](https://github.com/unraid/api/issues/1401 ))
([53ca414 ](53ca41404f ))
* disable file changes on Unraid 7.2
([#1382 ](https://github.com/unraid/api/issues/1382 ))
([02de89d ](02de89d130 ))
* do not start API with doinst.sh
([7d88b33 ](7d88b3393c ))
* do not uninstall fully on 7.2
([#1484 ](https://github.com/unraid/api/issues/1484 ))
([2263881 ](22638811a9 ))
* drop console with terser
([a87d455 ](a87d455bac ))
* error logs from `cloud` query when connect is not installed
([#1450 ](https://github.com/unraid/api/issues/1450 ))
([719f460 ](719f460016 ))
* flash backup integration with Unraid Connect config
([#1448 ](https://github.com/unraid/api/issues/1448 ))
([038c582 ](038c582aed ))
* header padding regression
([#1477 ](https://github.com/unraid/api/issues/1477 ))
([e791cc6 ](e791cc680d ))
* incorrect state merging in redux store
([#1437 ](https://github.com/unraid/api/issues/1437 ))
([17b7428 ](17b7428779 ))
* lanip copy button not present
([#1459 ](https://github.com/unraid/api/issues/1459 ))
([a280786 ](a2807864ac ))
* move to bigint scalar
([b625227 ](b625227913 ))
* node_modules dir removed on plugin update
([#1406 ](https://github.com/unraid/api/issues/1406 ))
([7b005cb ](7b005cbbf6 ))
* omit Connect actions in UPC when plugin is not installed
([#1417 ](https://github.com/unraid/api/issues/1417 ))
([8c8a527 ](8c8a5276b4 ))
* parsing of `ssoEnabled` in state.php
([#1455 ](https://github.com/unraid/api/issues/1455 ))
([f542c8e ](f542c8e0bd ))
* pin ranges ([#1460 ](https://github.com/unraid/api/issues/1460 ))
([f88400e ](f88400eea8 ))
* pr plugin promotion workflow
([#1456 ](https://github.com/unraid/api/issues/1456 ))
([13bd9bb ](13bd9bb567 ))
* proper fallback if missing paths config modules
([7067e9e ](7067e9e3dd ))
* rc.unraid-api now cleans up older dependencies
([#1404 ](https://github.com/unraid/api/issues/1404 ))
([83076bb ](83076bb940 ))
* remote access lifecycle during boot & shutdown
([#1422 ](https://github.com/unraid/api/issues/1422 ))
([7bc583b ](7bc583b186 ))
* sign out correctly on error
([#1452 ](https://github.com/unraid/api/issues/1452 ))
([d08fc94 ](d08fc94afb ))
* simplify usb listing
([#1402 ](https://github.com/unraid/api/issues/1402 ))
([5355115 ](5355115af2 ))
* theme issues when sent from graph
([#1424 ](https://github.com/unraid/api/issues/1424 ))
([75ad838 ](75ad8381bd ))
* **ui:** notifications positioning regression
([#1445 ](https://github.com/unraid/api/issues/1445 ))
([f73e5e0 ](f73e5e0058 ))
* use some instead of every for connect detection
([9ce2fee ](9ce2fee380 ))
### Reverts
* revert package.json dependency updates from commit 711cc9a for api and
packages/*
([94420e4 ](94420e4d45 ))
---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please ). See
[documentation](https://github.com/googleapis/release-please#release-please ).
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v4.9.0
2025-07-08 15:45:49 -04:00
Eli Bosley
22638811a9
fix: do not uninstall fully on 7.2 ( #1484 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Uninstallation process now adapts based on Unraid version: for version
7.2 or higher, users receive a notification and are prompted to reboot
to complete plugin removal.
* **Bug Fixes**
* Improved handling of plugin removal to ensure compatibility with
different Unraid versions and prevent unintended reinstalls.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 15:44:30 -04:00
Eli Bosley
5edfd823b8
fix: activation indicator removed
2025-07-08 15:42:41 -04:00