Commit Graph

2062 Commits

Author SHA1 Message Date
Eli Bosley
d08fc94afb fix: sign out correctly on error (#1452)
This actually doesn't fix the error but should make it more flexible.
Also adds some testing.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Summary by CodeRabbit

* **Refactor**
* Enhanced error detection for invalid API key messages to improve
accuracy.
* **Tests**
* Added comprehensive tests verifying error handling and client
lifecycle behavior without network dependencies.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-02 10:06:51 -04:00
Eli Bosley
7c6f02a5cb fix: allow rclone to fail to initialize (#1453)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
  * Added a way for users to check if the RClone service is initialized.

* **Bug Fixes**
* Improved error handling and logging for RClone service initialization
and connection checks, providing clearer and more informative messages
if the RClone binary is missing or if connection issues occur.
* Skipped loading provider information when the RClone service is not
initialized, preventing unnecessary errors and warnings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-02 10:06:30 -04:00
Pujit Mehrotra
ffb2ac51a4 refactor: rm unused oauth token fields in connect model (#1451)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Updated theme settings now allow header background and primary text
colors to be optionally unset or left blank.

* **Bug Fixes**
* Removed unused authentication token fields from sign-in and
configuration forms for a streamlined user experience.

* **Style**
* Improved formatting and readability in several areas of the
application and tests.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-02 09:48:32 -04:00
Pujit Mehrotra
719f460016 fix: error logs from cloud query when connect is not installed (#1450)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a separate cloud state query, allowing cloud-related data
to be fetched independently from server state data.

* **Improvements**
* Server and cloud state queries are now managed separately, improving
data handling and refresh logic.
* Theme header color fields are now optional and can be unset, offering
greater flexibility for customization.

* **Bug Fixes**
* Enhanced error handling and data updates for cloud and server state
queries.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-02 09:44:31 -04:00
Pujit Mehrotra
3cfe9fe9ee build: replace hash with build increment in slackware txz pkg (#1449)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced support for specifying and propagating a build number
throughout the build process, including command-line options and
workflow inputs.
* TXZ package naming and URLs now include the build number for improved
traceability.

* **Improvements**
* Enhanced robustness in locating TXZ files with improved fallback
logic, especially in CI environments.
* Improved flexibility and validation of environment schema for plugin
builds.

* **Style**
  * Minor formatting corrections for consistency and readability.
<!-- 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/1210677942019563
2025-07-01 10:57:39 -04:00
Eli Bosley
e539d7f603 chore: remove rclone (#1447)
since unraid will ship with it natively, starting at 7.2.

rclone support is not planned for earlier releases.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Removed an unnecessary step from the build process, streamlining
operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-30 11:00:34 -04:00
Pujit Mehrotra
a8566e9e5a build: fix doinst.sh compatibility with installpkg --root (#1446)
- Isolate plugin concerns into `.plg` plugin & api file modifiers instead of the api's
slackware package.

## Summary by CodeRabbit

* **New Features**
* Installation process modularized into package installation,
post-install setup with verification, and service startup with cleanup.
* Added logging and error detection during installation, including
symlink verification.
  * Created required log directory to support service dependencies.
* Integrated nginx service with reload capability triggered by
configuration changes.
* Added automatic patching of nginx configuration and hosts file to
improve security and iframe compatibility.
* Enhanced file modification system to handle side effects and trigger
nginx reloads as needed.

* **Refactor**
* Restructured installation scripts for clarity; setup scripts now
separate steps.
  * Removed legacy installation logic and deprecated related scripts.
  * Enabled hard link addition during package creation.
* Simplified installation scripts by removing conditional branching and
detailed logging.
* Streamlined API environment setup by removing redundant post-install
steps.
* Updated dependency injection to explicitly provide nginx service
token.
  * Improved patch application error reporting with file path details.

* **Chores**
  * Disabled legacy scripts to streamline installation.
  * Removed `.gitignore` to track previously ignored files.
* Updated tests to include new dependencies and relaxed logger
assertions.
<!-- 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/1210661184127051
2025-06-30 10:49:46 -04:00
Pujit Mehrotra
f73e5e0058 fix(ui): notifications positioning regression (#1445)
Downgrades the `vue-sonner` dependency from `2.0.0` to `1.3.0` because
the newer version relies on unocss under the hood, which can't pipe
across the web component build/boundary without modifying our css
plumbing.

The older version relied on a `styles.css` stylesheet. That stylesheet
also couldn't make it through our build pipeline, but since it was a
single asset, I vendored it via `sonner.css`.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved logic to prevent duplicate insertion of the toaster element
in the page layout.

* **Chores**
  * Downgraded the "vue-sonner" dependency to version ^1.3.0.
<!-- 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/1210640791480730
2025-06-27 13:33:25 -04:00
Pujit Mehrotra
64ccea2a81 chore: add type-check step to test-api github workflow (#1443)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Added a type checking step to the automated workflow.
* Improved formatting in the workflow configuration for better
readability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-26 16:35:45 -04:00
Eli Bosley
86bea56272 feat: move api key fetching to use api key service (#1439)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Simplified and streamlined the management of the local Connect API
key, renaming it to "ConnectInternal" and removing legacy keys.
- Updated internal logic to directly retrieve or create the Connect API
key without storing or emitting it in configuration or events.
- Replaced custom WebSocket handling with default implementation and
improved asynchronous API key retrieval for client connections.
- Enhanced asynchronous handling for subscription and query execution to
ensure proper client initialization.

- **Chores**
- Removed obsolete methods and test suites related to previous Connect
API key management logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-26 16:29:49 -04:00
Pujit Mehrotra
af6e56de60 test: fix connect plugin tests (#1441)
## Summary by CodeRabbit

* **Bug Fixes**
* Improved error handling to prevent runtime exceptions when certain
configuration fields are undefined.
  * Updated test expectations to reflect new error handling behaviors.

* **Refactor**
* Streamlined and modularized the legacy configuration migration process
for better maintainability.
* Removed obsolete configuration fields and related validation from the
configuration model.

* **Tests**
* Added and enhanced test suites to verify configuration migration,
parsing, and URL resolution logic.
* Improved test coverage and robustness with expanded mock data and
flexible assertions.

* **Chores**
* Updated test scripts and dependencies for improved reliability and
compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-26 15:04:26 -04:00
Pujit Mehrotra
c4c99843c7 fix: config migration from myservers.cfg (#1440)
## Summary by CodeRabbit

- **Bug Fixes**
- Improved handling and migration of legacy configuration values for
smoother upgrades and more accurate settings conversion.

- **Refactor**
- Streamlined the legacy configuration migration process for better
reliability and maintainability.
  - Removed the unused `ssoSubIds` property from configuration models.

- **Tests**
- Added comprehensive tests to ensure correct migration and conversion
of legacy configuration data.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-26 15:00:24 -04:00
Pujit Mehrotra
3122bdb953 fix: api pnpm type-check (#1442)
## Summary by CodeRabbit

* **Tests**
* Updated tests for API key creation by removing unnecessary properties
from input objects.

* **Documentation**
* Added detailed comments explaining type compatibility issues and error
suppression for Fastify plugins.

* **Refactor**
* Made internal validation flags optional in API key input handling to
streamline input validation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-26 11:12:54 -04:00
Eli Bosley
22fe91cd56 fix: delete legacy connect keys and ensure description 2025-06-25 16:19:09 -04:00
Eli Bosley
b7c2407840 feat: fix shading in UPC to be less severe (#1438)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Style**
- Updated the banner gradient to match the full width of its container.
- Extended the gradient effect for a smoother visual transition across
the banner.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-25 15:26:08 -04:00
Pujit Mehrotra
17b7428779 fix: incorrect state merging in redux store (#1437)
omit stale config entries while merging in new config state

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Refactor**
- Improved state update handling across several modules to enhance
performance and maintain consistency without impacting user experience.
<!-- 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/1210628784568830
2025-06-25 14:51:01 -04:00
Pujit Mehrotra
a7ef06ea25 fix: backport unraid/webgui#2269 rc.nginx update (#1436)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Enhanced remote access detection for nginx using updated configuration
and plugin integration.
- Introduced a comprehensive Nginx management script tailored for Unraid
OS with SSL handling, server lifecycle controls, and dynamic
configuration.
- **Bug Fixes**
- Improved script robustness by fixing shell loop syntax for proper
handling of array keys.
- **Chores**
  - Added compatibility patches for Unraid versions before 7.2.0.
  - Updated test suites to include new nginx script modifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-25 12:58:28 -04:00
Pujit Mehrotra
5ba4479663 chore: rm obsolete style block from myservers1.php (#1435)
Complement to https://github.com/unraid/webgui/pull/2270

Compared our dynamix.my.servers with the webgui's and made the
corresponding changes. activation code logic was omitted because it has
already been written into the api.

python script used for comparison:
https://gist.github.com/pujitm/43a4d2fc35c74f51c70cc66fe1909e6c
```py
#!/usr/bin/env python3
"""
Directory comparison script that recursively compares two directories
and shows files that exist in one but not the other, plus diffs for common files.
"""

import os
import sys
import subprocess
from pathlib import Path
from typing import Set, Tuple


def get_all_files(directory: str) -> Set[str]:
    """Get all files in a directory recursively, returning relative paths."""
    files = set()
    dir_path = Path(directory)
    
    if not dir_path.exists():
        print(f"Error: Directory '{directory}' does not exist")
        return files
    
    for root, dirs, filenames in os.walk(directory):
        for filename in filenames:
            full_path = Path(root) / filename
            # Get relative path from the base directory
            relative_path = full_path.relative_to(dir_path)
            files.add(str(relative_path))
    
    return files


def compare_directories(dir1: str, dir2: str) -> Tuple[Set[str], Set[str], Set[str]]:
    """
    Compare two directories and return files in each directory.
    
    Returns:
        - files only in dir1
        - files only in dir2  
        - files in both directories
    """
    files1 = get_all_files(dir1)
    files2 = get_all_files(dir2)
    
    only_in_dir1 = files1 - files2
    only_in_dir2 = files2 - files1
    in_both = files1 & files2
    
    return only_in_dir1, only_in_dir2, in_both


def run_diff(file1_path: str, file2_path: str, relative_path: str) -> bool:
    """
    Run diff on two files and print the output.
    Returns True if files are different, False if identical.
    """
    try:
        # Use diff -u for unified diff format
        result = subprocess.run(
            ['diff', '-u', file1_path, file2_path],
            capture_output=True,
            text=True
        )
        
        if result.returncode == 0:
            # Files are identical
            return False
        elif result.returncode == 1:
            # Files are different
            print(f"\n--- Diff for: {relative_path} ---")
            print(result.stdout)
            return True
        else:
            # Error occurred
            print(f"\nError running diff on {relative_path}: {result.stderr}")
            return False
            
    except FileNotFoundError:
        print(f"\nError: 'diff' command not found. Please install diffutils.")
        return False
    except Exception as e:
        print(f"\nError comparing {relative_path}: {e}")
        return False


def compare_file_contents(dir1: str, dir2: str, common_files: Set[str]) -> Tuple[int, int]:
    """
    Compare contents of files that exist in both directories.
    Returns (identical_count, different_count).
    """
    identical_count = 0
    different_count = 0
    
    print(f"\nComparing contents of {len(common_files)} common files...")
    print("=" * 60)
    
    for relative_path in sorted(common_files):
        file1_path = os.path.join(dir1, relative_path)
        file2_path = os.path.join(dir2, relative_path)
        
        if run_diff(file1_path, file2_path, relative_path):
            different_count += 1
        else:
            identical_count += 1
    
    return identical_count, different_count


def main():
    if len(sys.argv) < 3:
        print("Usage: python compare_directories.py <directory1> <directory2> [--no-diff]")
        print("Example: python compare_directories.py /path/to/dir1 /path/to/dir2")
        print("Use --no-diff to skip content comparison")
        sys.exit(1)
    
    dir1 = sys.argv[1]
    dir2 = sys.argv[2]
    skip_diff = '--no-diff' in sys.argv
    
    print(f"Comparing directories:")
    print(f"  Directory 1: {dir1}")
    print(f"  Directory 2: {dir2}")
    print("=" * 60)
    
    only_in_dir1, only_in_dir2, in_both = compare_directories(dir1, dir2)
    
    print(f"\nFiles only in '{dir1}' ({len(only_in_dir1)} files):")
    if only_in_dir1:
        for file in sorted(only_in_dir1):
            print(f"  - {file}")
    else:
        print("  (none)")
    
    print(f"\nFiles only in '{dir2}' ({len(only_in_dir2)} files):")
    if only_in_dir2:
        for file in sorted(only_in_dir2):
            print(f"  - {file}")
    else:
        print("  (none)")
    
    print(f"\nFiles in both directories ({len(in_both)} files):")
    if in_both:
        for file in sorted(in_both):
            print(f"  - {file}")
    else:
        print("  (none)")
    
    # Compare file contents if requested and there are common files
    identical_count = 0
    different_count = 0
    if not skip_diff and in_both:
        identical_count, different_count = compare_file_contents(dir1, dir2, in_both)
    
    print("\n" + "=" * 60)
    print(f"Summary:")
    print(f"  Total files in '{dir1}': {len(only_in_dir1) + len(in_both)}")
    print(f"  Total files in '{dir2}': {len(only_in_dir2) + len(in_both)}")
    print(f"  Files only in '{dir1}': {len(only_in_dir1)}")
    print(f"  Files only in '{dir2}': {len(only_in_dir2)}")
    print(f"  Files in both: {len(in_both)}")
    
    if not skip_diff and in_both:
        print(f"  Identical files: {identical_count}")
        print(f"  Different files: {different_count}")


if __name__ == "__main__":
    main() 
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added support for extracting and displaying activation code data,
including partner information and logos, when relevant.
- **Style**
- Removed embedded CSS styling from the server management interface
header.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-25 12:57:48 -04:00
Pujit Mehrotra
7bc583b186 fix: remote access lifecycle during boot & shutdown (#1422)
## Summary

- **New Features**
- Introduced a comprehensive Nginx control script for Unraid OS,
enabling advanced server management, SSL certificate handling, and
dynamic configuration based on system state.
https://github.com/unraid/webgui/pull/2269
- Added a utility function to safely execute code with error handling
support.

- **Improvements**
- Enhanced logging across remote access, WAN access, and settings
services for improved traceability.
- Added initialization and cleanup hooks to remote access and UPnP
services for better lifecycle management.
- Optimized configuration persistence by batching rapid changes for more
efficient updates.
- Refined URL resolution logic for improved configuration retrieval and
error handling.
  - Broadened pattern matching for domain keys in Nginx state parsing.
- Updated remote access settings to reload the network stack after
changes.
- Simplified remote access and WAN port configuration logic for clarity
and accuracy.
- Improved port mapping logic with explicit error handling in UPnP
service.
- Updated UI and form controls for remote access settings to reflect SSL
requirements and access type restrictions.

- **Configuration**
  - Updated the default path for module configuration files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-24 15:10:07 -04:00
Eli Bosley
b8035c207a feat: move to cron v4 (#1428)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Chores**
- Updated internal dependencies for improved compatibility and
performance.
- Adjusted package configuration to include an additional built
dependency.

- **Bug Fixes**
- Improved the accuracy of task status reporting in the UPNP job
manager.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 17:32:12 -04:00
Eli Bosley
1b279bbab3 feat: info resolver cleanup (#1425)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced device information endpoints, allowing users to query GPU,
PCI, and USB device details.
- Added new system information endpoints for apps, OS, CPU, display,
versions, and memory, providing detailed environment insights.
- Added a new configuration file for network and authentication
settings.

- **Bug Fixes**
- Improved error handling for system and device information retrieval,
ensuring graceful fallbacks when data is unavailable.

- **Tests**
- Added comprehensive tests for device and system information services
and resolvers to ensure accurate data and robust error handling.

- **Refactor**
- Refactored system information and display logic into dedicated service
classes for better maintainability and modularity.
- Updated resolvers to delegate data fetching to injected services
instead of standalone functions or inline logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-06-20 17:22:54 -04:00
renovate[bot]
68df344a4b fix(deps): update all non-major dependencies (#1399)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type |
Update |
|---|---|---|---|---|---|---|---|
| [lucide-vue-next](https://lucide.dev)
([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next))
| [`^0.511.0` ->
`^0.519.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.511.0/0.519.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-vue-next/0.519.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-vue-next/0.519.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-vue-next/0.511.0/0.519.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-vue-next/0.511.0/0.519.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| dependencies | minor |
| [node](https://nodejs.org)
([source](https://redirect.github.com/nodejs/node)) | `22.15.1` ->
`22.16.0` |
[![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v22.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/node-version/node/v22.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/node-version/node/v22.15.1/v22.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v22.15.1/v22.16.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| | minor |
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) |
[`10.11.0` ->
`10.12.1`](https://renovatebot.com/diffs/npm/pnpm/10.11.0/10.12.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/10.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/10.11.0/10.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.11.0/10.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| packageManager | minor |
|
[vuetify-nuxt-module](https://redirect.github.com/vuetifyjs/nuxt-module)
| [`0.18.6` ->
`0.18.7`](https://renovatebot.com/diffs/npm/vuetify-nuxt-module/0.18.6/0.18.7)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vuetify-nuxt-module/0.18.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vuetify-nuxt-module/0.18.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vuetify-nuxt-module/0.18.6/0.18.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vuetify-nuxt-module/0.18.6/0.18.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | patch |

---

### Release Notes

<details>
<summary>lucide-icons/lucide (lucide-vue-next)</summary>

###
[`v0.519.0`](https://redirect.github.com/lucide-icons/lucide/compare/0.518.0...0.519.0)

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.518.0...0.519.0)

###
[`v0.518.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.518.0):
Version 0.518.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.517.0...0.518.0)

#### What's Changed

- fix(icons): updated `egg` and `egg-off` icons by
[@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw) in
[https://github.com/lucide-icons/lucide/pull/3299](https://redirect.github.com/lucide-icons/lucide/pull/3299)
- fix(icons): renamed `*-help` and `*-question` icons to
`*-question-mark` by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/2540](https://redirect.github.com/lucide-icons/lucide/pull/2540)
- chore(scripts): Refactor scripts to typescript by
[@&#8203;ericfennis](https://redirect.github.com/ericfennis) in
[https://github.com/lucide-icons/lucide/pull/3316](https://redirect.github.com/lucide-icons/lucide/pull/3316)
- feat(icons): added `drone` icon by
[@&#8203;shopped](https://redirect.github.com/shopped) in
[https://github.com/lucide-icons/lucide/pull/3247](https://redirect.github.com/lucide-icons/lucide/pull/3247)

#### New Contributors

- [@&#8203;shopped](https://redirect.github.com/shopped) made their
first contribution in
[https://github.com/lucide-icons/lucide/pull/3247](https://redirect.github.com/lucide-icons/lucide/pull/3247)

**Full Changelog**:
https://github.com/lucide-icons/lucide/compare/0.517.0...0.518.0

###
[`v0.517.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.517.0):
Version 0.517.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.516.0...0.517.0)

#### What's Changed

- feat(icons): adds `barrel` icon by
[@&#8203;karsa-mistmere](https://redirect.github.com/karsa-mistmere) in
[https://github.com/lucide-icons/lucide/pull/1955](https://redirect.github.com/lucide-icons/lucide/pull/1955)

**Full Changelog**:
https://github.com/lucide-icons/lucide/compare/0.516.0...0.517.0

###
[`v0.516.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.516.0):
Version 0.516.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.515.0...0.516.0)

#### What's Changed

- fix(icons): changed `stamp` icon by
[@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw) in
[https://github.com/lucide-icons/lucide/pull/3310](https://redirect.github.com/lucide-icons/lucide/pull/3310)
- fix(icons): changed `pocket` icon by
[@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw) in
[https://github.com/lucide-icons/lucide/pull/3304](https://redirect.github.com/lucide-icons/lucide/pull/3304)
- fix(icons): changed `mic` icon by
[@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw) in
[https://github.com/lucide-icons/lucide/pull/3301](https://redirect.github.com/lucide-icons/lucide/pull/3301)
- fix(icons): changed `radio` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/3293](https://redirect.github.com/lucide-icons/lucide/pull/3293)
- fix: some typos for categories by
[@&#8203;npv12](https://redirect.github.com/npv12) in
[https://github.com/lucide-icons/lucide/pull/3319](https://redirect.github.com/lucide-icons/lucide/pull/3319)
- perf(docs): optimize IconsOverview initial render - 50% faster load
times by
[@&#8203;epifaniofrancisco](https://redirect.github.com/epifaniofrancisco)
in
[https://github.com/lucide-icons/lucide/pull/3282](https://redirect.github.com/lucide-icons/lucide/pull/3282)
- fix(docs): remove flex-direction CSS causing absolute stroke width
toggle positioning issue
([#&#8203;3308](https://redirect.github.com/lucide-icons/lucide/issues/3308))
by
[@&#8203;epifaniofrancisco](https://redirect.github.com/epifaniofrancisco)
in
[https://github.com/lucide-icons/lucide/pull/3317](https://redirect.github.com/lucide-icons/lucide/pull/3317)
- feat(icons): added `wifi-cog` icon by
[@&#8203;luisdlopera](https://redirect.github.com/luisdlopera) in
[https://github.com/lucide-icons/lucide/pull/3133](https://redirect.github.com/lucide-icons/lucide/pull/3133)

#### New Contributors

- [@&#8203;npv12](https://redirect.github.com/npv12) made their first
contribution in
[https://github.com/lucide-icons/lucide/pull/3319](https://redirect.github.com/lucide-icons/lucide/pull/3319)

**Full Changelog**:
https://github.com/lucide-icons/lucide/compare/0.515.0...0.516.0

###
[`v0.515.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.515.0):
Version 0.515.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.514.0...0.515.0)

#### What's Changed

- fix(icons): changed `house-plus` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/3238](https://redirect.github.com/lucide-icons/lucide/pull/3238)
- fix(icons): changed `radiation` icon by
[@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw) in
[https://github.com/lucide-icons/lucide/pull/3303](https://redirect.github.com/lucide-icons/lucide/pull/3303)
- feat(icons): added `rectangle-circle` icon by
[@&#8203;zefir-git](https://redirect.github.com/zefir-git) in
[https://github.com/lucide-icons/lucide/pull/3245](https://redirect.github.com/lucide-icons/lucide/pull/3245)

#### New Contributors

- [@&#8203;zefir-git](https://redirect.github.com/zefir-git) made their
first contribution in
[https://github.com/lucide-icons/lucide/pull/3245](https://redirect.github.com/lucide-icons/lucide/pull/3245)

**Full Changelog**:
https://github.com/lucide-icons/lucide/compare/0.514.0...0.515.0

###
[`v0.514.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.514.0):
Version 0.514.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.513.0...0.514.0)

#### What's Changed

- fix(icons): changed `trophy` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/2475](https://redirect.github.com/lucide-icons/lucide/pull/2475)
- fix(pull-request-icon-preview): pinned and --forced svgson installati…
by [@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/3289](https://redirect.github.com/lucide-icons/lucide/pull/3289)
- chore(metadata): added tag to `bandage` icon by
[@&#8203;jamiemlaw](https://redirect.github.com/jamiemlaw) in
[https://github.com/lucide-icons/lucide/pull/3300](https://redirect.github.com/lucide-icons/lucide/pull/3300)
- fix(icons): changed `settings-2` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/2974](https://redirect.github.com/lucide-icons/lucide/pull/2974)
- fix(docs):
[#&#8203;2984](https://redirect.github.com/lucide-icons/lucide/issues/2984)
absoluteStrokeWidth not resetting with Reset button by
[@&#8203;epifaniofrancisco](https://redirect.github.com/epifaniofrancisco)
in
[https://github.com/lucide-icons/lucide/pull/3261](https://redirect.github.com/lucide-icons/lucide/pull/3261)
- feat(icons): added book-alert icon by
[@&#8203;domasmark](https://redirect.github.com/domasmark) in
[https://github.com/lucide-icons/lucide/pull/3249](https://redirect.github.com/lucide-icons/lucide/pull/3249)

#### New Contributors

- [@&#8203;domasmark](https://redirect.github.com/domasmark) made their
first contribution in
[https://github.com/lucide-icons/lucide/pull/3249](https://redirect.github.com/lucide-icons/lucide/pull/3249)

**Full Changelog**:
https://github.com/lucide-icons/lucide/compare/0.513.0...0.514.0

###
[`v0.513.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.513.0):
Version 0.513.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.512.0...0.513.0)

#### What's Changed

- feat(icons): Add sim card icon from lab by
[@&#8203;ericfennis](https://redirect.github.com/ericfennis) in
[https://github.com/lucide-icons/lucide/pull/3275](https://redirect.github.com/lucide-icons/lucide/pull/3275)

**Full Changelog**:
https://github.com/lucide-icons/lucide/compare/0.512.0...0.513.0

###
[`v0.512.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.512.0):
Version 0.512.0

[Compare
Source](https://redirect.github.com/lucide-icons/lucide/compare/0.511.0...0.512.0)

#### What's Changed

- feat(icons): added `circle-pound-sterling` icon by
[@&#8203;lieonlion](https://redirect.github.com/lieonlion) in
[https://github.com/lucide-icons/lucide/pull/2822](https://redirect.github.com/lucide-icons/lucide/pull/2822)
- build(deps-dev): bump vite from 6.3.2 to 6.3.4 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/lucide-icons/lucide/pull/3181](https://redirect.github.com/lucide-icons/lucide/pull/3181)
- docs(docs): added testing website locally instructions by
[@&#8203;briz123](https://redirect.github.com/briz123) in
[https://github.com/lucide-icons/lucide/pull/3124](https://redirect.github.com/lucide-icons/lucide/pull/3124)
- build(deps-dev): bump vite from 6.0.7 to 6.1.6 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[https://github.com/lucide-icons/lucide/pull/3236](https://redirect.github.com/lucide-icons/lucide/pull/3236)
- fix(icons): changed `square-check-big` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/3156](https://redirect.github.com/lucide-icons/lucide/pull/3156)
- fix(icons): changed `list-collapse` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/3081](https://redirect.github.com/lucide-icons/lucide/pull/3081)
- fix(icons): changed `battery-*` icons by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/3083](https://redirect.github.com/lucide-icons/lucide/pull/3083)
- fix(icons): changed `paperclip` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/2956](https://redirect.github.com/lucide-icons/lucide/pull/2956)
- fix(icons): changed `eraser` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/3076](https://redirect.github.com/lucide-icons/lucide/pull/3076)
- feat(icons): Add `cloud-check` icon by
[@&#8203;lscheibel](https://redirect.github.com/lscheibel) in
[https://github.com/lucide-icons/lucide/pull/2612](https://redirect.github.com/lucide-icons/lucide/pull/2612)
- feat(icon): add `id-card-lanyard` icon by
[@&#8203;python2911](https://redirect.github.com/python2911) in
[https://github.com/lucide-icons/lucide/pull/2898](https://redirect.github.com/lucide-icons/lucide/pull/2898)
- feat(angular): update peer dependencies for Angular to support version
20.x by
[@&#8203;JeevanMahesha](https://redirect.github.com/JeevanMahesha) in
[https://github.com/lucide-icons/lucide/pull/3273](https://redirect.github.com/lucide-icons/lucide/pull/3273)
- fix(icons): changed `file-badge` icon by
[@&#8203;jguddas](https://redirect.github.com/jguddas) in
[https://github.com/lucide-icons/lucide/pull/2934](https://redirect.github.com/lucide-icons/lucide/pull/2934)
- feat(icons): added `grid-3x2` icon by
[@&#8203;qubrat](https://redirect.github.com/qubrat) in
[https://github.com/lucide-icons/lucide/pull/3216](https://redirect.github.com/lucide-icons/lucide/pull/3216)

#### New Contributors

- [@&#8203;lieonlion](https://redirect.github.com/lieonlion) made their
first contribution in
[https://github.com/lucide-icons/lucide/pull/2822](https://redirect.github.com/lucide-icons/lucide/pull/2822)
- [@&#8203;python2911](https://redirect.github.com/python2911) made
their first contribution in
[https://github.com/lucide-icons/lucide/pull/2898](https://redirect.github.com/lucide-icons/lucide/pull/2898)
- [@&#8203;JeevanMahesha](https://redirect.github.com/JeevanMahesha)
made their first contribution in
[https://github.com/lucide-icons/lucide/pull/3273](https://redirect.github.com/lucide-icons/lucide/pull/3273)
- [@&#8203;qubrat](https://redirect.github.com/qubrat) made their first
contribution in
[https://github.com/lucide-icons/lucide/pull/3216](https://redirect.github.com/lucide-icons/lucide/pull/3216)

**Full Changelog**:
https://github.com/lucide-icons/lucide/compare/0.511.0...0.512.0

</details>

<details>
<summary>nodejs/node (node)</summary>

###
[`v22.16.0`](https://redirect.github.com/nodejs/node/releases/tag/v22.16.0):
2025-05-21, Version 22.16.0 &#x27;Jod&#x27; (LTS), @&#8203;aduh95

[Compare
Source](https://redirect.github.com/nodejs/node/compare/v22.15.1...v22.16.0)

##### Notable Changes

-
\[[`c3ceaebb7a`](https://redirect.github.com/nodejs/node/commit/c3ceaebb7a)]
- **deps**: update timezone to 2025b (Node.js GitHub Bot)
[#&#8203;57857](https://redirect.github.com/nodejs/node/pull/57857)
-
\[[`5059a746ec`](https://redirect.github.com/nodejs/node/commit/5059a746ec)]
- **doc**: add dario-piotrowicz to collaborators (Dario Piotrowicz)
[#&#8203;58102](https://redirect.github.com/nodejs/node/pull/58102)
-
\[[`c8ceaaf397`](https://redirect.github.com/nodejs/node/commit/c8ceaaf397)]
- **(SEMVER-MINOR)** **doc**: graduate multiple experimental apis (James
M Snell)
[#&#8203;57765](https://redirect.github.com/nodejs/node/pull/57765)
-
\[[`e21b37d9df`](https://redirect.github.com/nodejs/node/commit/e21b37d9df)]
- **(SEMVER-MINOR)** **esm**: graduate import.meta properties (James M
Snell)
[#&#8203;58011](https://redirect.github.com/nodejs/node/pull/58011)
-
\[[`832640c35e`](https://redirect.github.com/nodejs/node/commit/832640c35e)]
- **(SEMVER-MINOR)** **esm**: support top-level Wasm without package
type (Guy Bedford)
[#&#8203;57610](https://redirect.github.com/nodejs/node/pull/57610)
-
\[[`c510391d2f`](https://redirect.github.com/nodejs/node/commit/c510391d2f)]
- **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.columns()
(Colin Ihrig)
[#&#8203;57490](https://redirect.github.com/nodejs/node/pull/57490)
-
\[[`5d1230bec0`](https://redirect.github.com/nodejs/node/commit/5d1230bec0)]
- **(SEMVER-MINOR)** **src**: set default config as `node.config.json`
(Marco Ippolito)
[#&#8203;57171](https://redirect.github.com/nodejs/node/pull/57171)
-
\[[`30bb1ccbb0`](https://redirect.github.com/nodejs/node/commit/30bb1ccbb0)]
- **(SEMVER-MINOR)** **src**: create
`THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING` (Marco Ippolito)
[#&#8203;57016](https://redirect.github.com/nodejs/node/pull/57016)
-
\[[`0350c6f478`](https://redirect.github.com/nodejs/node/commit/0350c6f478)]
- **(SEMVER-MINOR)** **src**: add config file support (Marco Ippolito)
[#&#8203;57016](https://redirect.github.com/nodejs/node/pull/57016)
-
\[[`e1d3a9e192`](https://redirect.github.com/nodejs/node/commit/e1d3a9e192)]
- **(SEMVER-MINOR)** **src**: add ExecutionAsyncId getter for any
Context (Attila Szegedi)
[#&#8203;57820](https://redirect.github.com/nodejs/node/pull/57820)
-
\[[`0ec912f452`](https://redirect.github.com/nodejs/node/commit/0ec912f452)]
- **(SEMVER-MINOR)** **stream**: preserve AsyncLocalStorage context in
finished() (Gürgün Dayıoğlu)
[#&#8203;57865](https://redirect.github.com/nodejs/node/pull/57865)
-
\[[`43490c8797`](https://redirect.github.com/nodejs/node/commit/43490c8797)]
- **(SEMVER-MINOR)** **util**: add `types.isFloat16Array()` (Livia
Medeiros)
[#&#8203;57879](https://redirect.github.com/nodejs/node/pull/57879)
-
\[[`dda6ca9172`](https://redirect.github.com/nodejs/node/commit/dda6ca9172)]
- **(SEMVER-MINOR)** **worker**: add worker.getHeapStatistics() (Matteo
Collina)
[#&#8203;57888](https://redirect.github.com/nodejs/node/pull/57888)

##### Commits

-
\[[`4252dc798c`](https://redirect.github.com/nodejs/node/commit/4252dc798c)]
- **assert**: support `Float16Array` in loose deep equality checks
(Livia Medeiros)
[#&#8203;57881](https://redirect.github.com/nodejs/node/pull/57881)
-
\[[`1c7396b078`](https://redirect.github.com/nodejs/node/commit/1c7396b078)]
- **assert,util**: fix constructor lookup in deep equal comparison
(Ruben Bridgewater)
[#&#8203;57876](https://redirect.github.com/nodejs/node/pull/57876)
-
\[[`1ded5f25c8`](https://redirect.github.com/nodejs/node/commit/1ded5f25c8)]
- **assert,util**: improve deep object comparison performance (Ruben
Bridgewater)
[#&#8203;57648](https://redirect.github.com/nodejs/node/pull/57648)
-
\[[`696b5f85ca`](https://redirect.github.com/nodejs/node/commit/696b5f85ca)]
- **assert,util**: improve unequal number comparison performance (Ruben
Bridgewater)
[#&#8203;57619](https://redirect.github.com/nodejs/node/pull/57619)
-
\[[`775ee4d40f`](https://redirect.github.com/nodejs/node/commit/775ee4d40f)]
- **assert,util**: improve array comparison (Ruben Bridgewater)
[#&#8203;57619](https://redirect.github.com/nodejs/node/pull/57619)
-
\[[`3766992ba4`](https://redirect.github.com/nodejs/node/commit/3766992ba4)]
- **benchmark**: add sqlite prepare select get (Vinícius Lourenço)
[#&#8203;58040](https://redirect.github.com/nodejs/node/pull/58040)
-
\[[`8390276be3`](https://redirect.github.com/nodejs/node/commit/8390276be3)]
- **benchmark**: add sqlite prepare select all (Vinícius Lourenço)
[#&#8203;58040](https://redirect.github.com/nodejs/node/pull/58040)
-
\[[`6a9b79e5c1`](https://redirect.github.com/nodejs/node/commit/6a9b79e5c1)]
- **benchmark**: add sqlite is transaction (Vinícius Lourenço)
[#&#8203;58040](https://redirect.github.com/nodejs/node/pull/58040)
-
\[[`f689f98344`](https://redirect.github.com/nodejs/node/commit/f689f98344)]
- **benchmark**: add sqlite prepare insert (Vinícius Lourenço)
[#&#8203;58040](https://redirect.github.com/nodejs/node/pull/58040)
-
\[[`14a82804d7`](https://redirect.github.com/nodejs/node/commit/14a82804d7)]
- **benchmark**: disambiguate `filename` and `dirname` read perf
(Antoine du Hamel)
[#&#8203;58056](https://redirect.github.com/nodejs/node/pull/58056)
-
\[[`e7e8256d35`](https://redirect.github.com/nodejs/node/commit/e7e8256d35)]
- **buffer**: avoid creating unnecessary environment (Yagiz Nizipli)
[#&#8203;58053](https://redirect.github.com/nodejs/node/pull/58053)
-
\[[`d7d8e8e994`](https://redirect.github.com/nodejs/node/commit/d7d8e8e994)]
- **buffer**: define global v8::CFunction objects as const (Mert Can
Altin)
[#&#8203;57676](https://redirect.github.com/nodejs/node/pull/57676)
-
\[[`f37633e85a`](https://redirect.github.com/nodejs/node/commit/f37633e85a)]
- **build**: use `$(BUILDTYPE)` when cleaning coverage files (Aviv
Keller)
[#&#8203;57995](https://redirect.github.com/nodejs/node/pull/57995)
-
\[[`e5bf67fe77`](https://redirect.github.com/nodejs/node/commit/e5bf67fe77)]
- **build**: define python when generating `out/Makefile` (Aviv Keller)
[#&#8203;57970](https://redirect.github.com/nodejs/node/pull/57970)
-
\[[`718f874ae0`](https://redirect.github.com/nodejs/node/commit/718f874ae0)]
- **build**: fix zstd libname (Antoine du Hamel)
[#&#8203;57999](https://redirect.github.com/nodejs/node/pull/57999)
-
\[[`53c5fdcae1`](https://redirect.github.com/nodejs/node/commit/53c5fdcae1)]
- **crypto**: fix cross-realm `SharedArrayBuffer` validation (Antoine du
Hamel)
[#&#8203;57974](https://redirect.github.com/nodejs/node/pull/57974)
-
\[[`78f4ffee5d`](https://redirect.github.com/nodejs/node/commit/78f4ffee5d)]
- **crypto**: fix cross-realm check of `ArrayBuffer` (Felipe Forbeck)
[#&#8203;57828](https://redirect.github.com/nodejs/node/pull/57828)
-
\[[`f606352b63`](https://redirect.github.com/nodejs/node/commit/f606352b63)]
- **crypto**: forbid passing `Float16Array` to `getRandomValues()`
(Livia Medeiros)
[#&#8203;57880](https://redirect.github.com/nodejs/node/pull/57880)
-
\[[`23c4e941c2`](https://redirect.github.com/nodejs/node/commit/23c4e941c2)]
- **crypto**: remove BoringSSL dh-primes addition (Shelley Vohr)
[#&#8203;57023](https://redirect.github.com/nodejs/node/pull/57023)
-
\[[`8339d9bc14`](https://redirect.github.com/nodejs/node/commit/8339d9bc14)]
- **deps**: V8: cherry-pick
[`f915fa4`](https://redirect.github.com/nodejs/node/commit/f915fa4c9f41)
(Chengzhong Wu)
[#&#8203;55484](https://redirect.github.com/nodejs/node/pull/55484)
-
\[[`c2111dd126`](https://redirect.github.com/nodejs/node/commit/c2111dd126)]
- **deps**: V8: backport
[`e5dbbba`](https://redirect.github.com/nodejs/node/commit/e5dbbbadcbff)
(Darshan Sen)
[#&#8203;58120](https://redirect.github.com/nodejs/node/pull/58120)
-
\[[`4cc49be951`](https://redirect.github.com/nodejs/node/commit/4cc49be951)]
- **deps**: update zstd to 1.5.7 (Node.js GitHub Bot)
[#&#8203;57940](https://redirect.github.com/nodejs/node/pull/57940)
-
\[[`c956d37c84`](https://redirect.github.com/nodejs/node/commit/c956d37c84)]
- **deps**: update zlib to 1.3.0.1-motley-780819f (Node.js GitHub Bot)
[#&#8203;57768](https://redirect.github.com/nodejs/node/pull/57768)
-
\[[`c3ceaebb7a`](https://redirect.github.com/nodejs/node/commit/c3ceaebb7a)]
- **deps**: update timezone to 2025b (Node.js GitHub Bot)
[#&#8203;57857](https://redirect.github.com/nodejs/node/pull/57857)
-
\[[`b5cd0eb590`](https://redirect.github.com/nodejs/node/commit/b5cd0eb590)]
- **deps**: update simdutf to 6.4.2 (Node.js GitHub Bot)
[#&#8203;57855](https://redirect.github.com/nodejs/node/pull/57855)
-
\[[`3eb6b814e9`](https://redirect.github.com/nodejs/node/commit/3eb6b814e9)]
- **deps**: update simdutf to 6.4.0 (Node.js GitHub Bot)
[#&#8203;56764](https://redirect.github.com/nodejs/node/pull/56764)
-
\[[`0be9fa3218`](https://redirect.github.com/nodejs/node/commit/0be9fa3218)]
- **deps**: update icu to 77.1 (Node.js GitHub Bot)
[#&#8203;57455](https://redirect.github.com/nodejs/node/pull/57455)
-
\[[`d5cf4254fb`](https://redirect.github.com/nodejs/node/commit/d5cf4254fb)]
- **doc**: add HBSPS as triager (Wiyeong Seo)
[#&#8203;57980](https://redirect.github.com/nodejs/node/pull/57980)
-
\[[`ad0861dba0`](https://redirect.github.com/nodejs/node/commit/ad0861dba0)]
- **doc**: add ambassaor message (Brian Muenzenmeyer)
[#&#8203;57600](https://redirect.github.com/nodejs/node/pull/57600)
-
\[[`0d3ec1aafe`](https://redirect.github.com/nodejs/node/commit/0d3ec1aafe)]
- **doc**: fix misaligned options in vm.compileFunction() (Jimmy Leung)
[#&#8203;58145](https://redirect.github.com/nodejs/node/pull/58145)
-
\[[`1f70baf3b0`](https://redirect.github.com/nodejs/node/commit/1f70baf3b0)]
- **doc**: add missing options.signal to
readlinePromises.createInterface() (Jimmy Leung)
[#&#8203;55456](https://redirect.github.com/nodejs/node/pull/55456)
-
\[[`ec6a48621f`](https://redirect.github.com/nodejs/node/commit/ec6a48621f)]
- **doc**: fix typo of file `zlib.md` (yusheng chen)
[#&#8203;58093](https://redirect.github.com/nodejs/node/pull/58093)
-
\[[`37e360e386`](https://redirect.github.com/nodejs/node/commit/37e360e386)]
- **doc**: make stability labels more consistent (Antoine du Hamel)
[#&#8203;57516](https://redirect.github.com/nodejs/node/pull/57516)
-
\[[`2b5d63d36e`](https://redirect.github.com/nodejs/node/commit/2b5d63d36e)]
- **doc**: allow the $schema property in node.config.json (Remco
Haszing)
[#&#8203;57560](https://redirect.github.com/nodejs/node/pull/57560)
-
\[[`a2063638e2`](https://redirect.github.com/nodejs/node/commit/a2063638e2)]
- **doc**: fix `AsyncLocalStorage` example response changes after node
v18 (Naor Tedgi (Abu Emma))
[#&#8203;57969](https://redirect.github.com/nodejs/node/pull/57969)
-
\[[`474c2b14c3`](https://redirect.github.com/nodejs/node/commit/474c2b14c3)]
- **doc**: mark Node.js 18 as End-of-Life (Richard Lau)
[#&#8203;58084](https://redirect.github.com/nodejs/node/pull/58084)
-
\[[`5059a746ec`](https://redirect.github.com/nodejs/node/commit/5059a746ec)]
- **doc**: add dario-piotrowicz to collaborators (Dario Piotrowicz)
[#&#8203;58102](https://redirect.github.com/nodejs/node/pull/58102)
-
\[[`1eec170fc3`](https://redirect.github.com/nodejs/node/commit/1eec170fc3)]
- **doc**: fix formatting of `import.meta.filename` section (Antoine du
Hamel)
[#&#8203;58079](https://redirect.github.com/nodejs/node/pull/58079)
-
\[[`7f108de525`](https://redirect.github.com/nodejs/node/commit/7f108de525)]
- **doc**: fix env variable name in `util.styleText` (Antoine du Hamel)
[#&#8203;58072](https://redirect.github.com/nodejs/node/pull/58072)
-
\[[`54b3f7fffc`](https://redirect.github.com/nodejs/node/commit/54b3f7fffc)]
- **doc**: add returns for https.get (Eng Zer Jun)
[#&#8203;58025](https://redirect.github.com/nodejs/node/pull/58025)
-
\[[`66f2c605a8`](https://redirect.github.com/nodejs/node/commit/66f2c605a8)]
- **doc**: fix typo in `buffer.md` (chocolateboy)
[#&#8203;58052](https://redirect.github.com/nodejs/node/pull/58052)
-
\[[`b0256dd42b`](https://redirect.github.com/nodejs/node/commit/b0256dd42b)]
- **doc**: correct deprecation type of `assert.CallTracker` (René)
[#&#8203;57997](https://redirect.github.com/nodejs/node/pull/57997)
-
\[[`581439c9e6`](https://redirect.github.com/nodejs/node/commit/581439c9e6)]
- **doc**: mark devtools integration section as active development
(Chengzhong Wu)
[#&#8203;57886](https://redirect.github.com/nodejs/node/pull/57886)
-
\[[`a2a2a2f027`](https://redirect.github.com/nodejs/node/commit/a2a2a2f027)]
- **doc**: fix typo in `module.md` (Alex Schwartz)
[#&#8203;57889](https://redirect.github.com/nodejs/node/pull/57889)
-
\[[`c0ec4e2935`](https://redirect.github.com/nodejs/node/commit/c0ec4e2935)]
- **doc**: increase z-index of header element (Dario Piotrowicz)
[#&#8203;57851](https://redirect.github.com/nodejs/node/pull/57851)
-
\[[`93d19ec6cd`](https://redirect.github.com/nodejs/node/commit/93d19ec6cd)]
- **doc**: add missing TS formats for `load` hooks (Antoine du Hamel)
[#&#8203;57837](https://redirect.github.com/nodejs/node/pull/57837)
-
\[[`f5ea06c61f`](https://redirect.github.com/nodejs/node/commit/f5ea06c61f)]
- **doc**: clarify the multi REPL example (Dario Piotrowicz)
[#&#8203;57759](https://redirect.github.com/nodejs/node/pull/57759)
-
\[[`80c4fe1b70`](https://redirect.github.com/nodejs/node/commit/80c4fe1b70)]
- **doc**: fix deprecation type for `DEP0148` (Livia Medeiros)
[#&#8203;57785](https://redirect.github.com/nodejs/node/pull/57785)
-
\[[`01cad99da0`](https://redirect.github.com/nodejs/node/commit/01cad99da0)]
- **doc**: list DOMException as a potential error raised by Node.js
(Chengzhong Wu)
[#&#8203;57783](https://redirect.github.com/nodejs/node/pull/57783)
-
\[[`a08b714a46`](https://redirect.github.com/nodejs/node/commit/a08b714a46)]
- **doc**: add missing v0.x changelog entries (Antoine du Hamel)
[#&#8203;57779](https://redirect.github.com/nodejs/node/pull/57779)
-
\[[`d0b48350fd`](https://redirect.github.com/nodejs/node/commit/d0b48350fd)]
- **doc**: fix typo in writing-docs (Sebastian Beltran)
[#&#8203;57776](https://redirect.github.com/nodejs/node/pull/57776)
-
\[[`bde3725f8b`](https://redirect.github.com/nodejs/node/commit/bde3725f8b)]
- **doc**: clarify examples section in REPL doc (Dario Piotrowicz)
[#&#8203;57762](https://redirect.github.com/nodejs/node/pull/57762)
-
\[[`c8ceaaf397`](https://redirect.github.com/nodejs/node/commit/c8ceaaf397)]
- **(SEMVER-MINOR)** **doc**: graduate multiple experimental apis (James
M Snell)
[#&#8203;57765](https://redirect.github.com/nodejs/node/pull/57765)
-
\[[`92428c2609`](https://redirect.github.com/nodejs/node/commit/92428c2609)]
- **doc**: explicitly state that corepack will be removed in v25+
(Trivikram Kamat)
[#&#8203;57747](https://redirect.github.com/nodejs/node/pull/57747)
-
\[[`298969e1dd`](https://redirect.github.com/nodejs/node/commit/298969e1dd)]
- **doc**: update position type to integer | null in fs (Yukihiro
Hasegawa)
[#&#8203;57745](https://redirect.github.com/nodejs/node/pull/57745)
-
\[[`a9d28e27c9`](https://redirect.github.com/nodejs/node/commit/a9d28e27c9)]
- **doc**: update CI instructions (Antoine du Hamel)
[#&#8203;57743](https://redirect.github.com/nodejs/node/pull/57743)
-
\[[`133d2878a1`](https://redirect.github.com/nodejs/node/commit/133d2878a1)]
- **doc**: update example of using `await` in REPL (Dario Piotrowicz)
[#&#8203;57653](https://redirect.github.com/nodejs/node/pull/57653)
-
\[[`fc5f126629`](https://redirect.github.com/nodejs/node/commit/fc5f126629)]
- **doc**: add back mention of visa fees to onboarding doc (Darshan Sen)
[#&#8203;57730](https://redirect.github.com/nodejs/node/pull/57730)
-
\[[`945f4ac538`](https://redirect.github.com/nodejs/node/commit/945f4ac538)]
- **doc**: process.execve is only unavailable for Windows (Yaksh Bariya)
[#&#8203;57726](https://redirect.github.com/nodejs/node/pull/57726)
-
\[[`f3b885bb5e`](https://redirect.github.com/nodejs/node/commit/f3b885bb5e)]
- **doc**: clarify `unhandledRejection` events behaviors in process doc
(Dario Piotrowicz)
[#&#8203;57654](https://redirect.github.com/nodejs/node/pull/57654)
-
\[[`7326dda5b0`](https://redirect.github.com/nodejs/node/commit/7326dda5b0)]
- **doc**: improved fetch docs (Alessandro Miliucci)
[#&#8203;57296](https://redirect.github.com/nodejs/node/pull/57296)
-
\[[`6906c5eb1f`](https://redirect.github.com/nodejs/node/commit/6906c5eb1f)]
- **doc**: document REPL custom eval arguments (Dario Piotrowicz)
[#&#8203;57690](https://redirect.github.com/nodejs/node/pull/57690)
-
\[[`47a7564e8f`](https://redirect.github.com/nodejs/node/commit/47a7564e8f)]
- **doc**: classify Chrome DevTools Protocol as tier 2 (Chengzhong Wu)
[#&#8203;57634](https://redirect.github.com/nodejs/node/pull/57634)
-
\[[`e274cc1310`](https://redirect.github.com/nodejs/node/commit/e274cc1310)]
- **doc**: replace NOTE that does not render properly (Colin Ihrig)
[#&#8203;57484](https://redirect.github.com/nodejs/node/pull/57484)
-
\[[`bef06b11df`](https://redirect.github.com/nodejs/node/commit/bef06b11df)]
- **esm**: avoid `import.meta` setup costs for unused properties
(Antoine du Hamel)
[#&#8203;57286](https://redirect.github.com/nodejs/node/pull/57286)
-
\[[`e21b37d9df`](https://redirect.github.com/nodejs/node/commit/e21b37d9df)]
- **(SEMVER-MINOR)** **esm**: graduate import.meta properties (James M
Snell)
[#&#8203;58011](https://redirect.github.com/nodejs/node/pull/58011)
-
\[[`832640c35e`](https://redirect.github.com/nodejs/node/commit/832640c35e)]
- **(SEMVER-MINOR)** **esm**: support top-level Wasm without package
type (Guy Bedford)
[#&#8203;57610](https://redirect.github.com/nodejs/node/pull/57610)
-
\[[`8f643471ef`](https://redirect.github.com/nodejs/node/commit/8f643471ef)]
- **fs**: improve globSync performance (Rich Trott)
[#&#8203;57725](https://redirect.github.com/nodejs/node/pull/57725)
-
\[[`bf9e17ecc6`](https://redirect.github.com/nodejs/node/commit/bf9e17ecc6)]
- **http2**: use args.This() instead of args.Holder() (Joyee Cheung)
[#&#8203;58004](https://redirect.github.com/nodejs/node/pull/58004)
-
\[[`137717354f`](https://redirect.github.com/nodejs/node/commit/137717354f)]
- **http2**: fix graceful session close (Kushagra Pandey)
[#&#8203;57808](https://redirect.github.com/nodejs/node/pull/57808)
-
\[[`9baf580269`](https://redirect.github.com/nodejs/node/commit/9baf580269)]
- **http2**: fix check for `frame->hd.type` (hanguanqiang)
[#&#8203;57644](https://redirect.github.com/nodejs/node/pull/57644)
-
\[[`b8189242b2`](https://redirect.github.com/nodejs/node/commit/b8189242b2)]
- **http2**: skip writeHead if stream is closed (Shima Ryuhei)
[#&#8203;57686](https://redirect.github.com/nodejs/node/pull/57686)
-
\[[`4e02a1650a`](https://redirect.github.com/nodejs/node/commit/4e02a1650a)]
- **lib**: remove unused file `fetch_module` (Michaël Zasso)
[#&#8203;55880](https://redirect.github.com/nodejs/node/pull/55880)
-
\[[`d9700fef26`](https://redirect.github.com/nodejs/node/commit/d9700fef26)]
- **lib**: avoid StackOverflow on `serializeError` (Chengzhong Wu)
[#&#8203;58075](https://redirect.github.com/nodejs/node/pull/58075)
-
\[[`f3a16b6d9c`](https://redirect.github.com/nodejs/node/commit/f3a16b6d9c)]
- **lib**: resolve the issue of not adhering to the specified buffer
size (0hm☘️🏳️‍⚧️)
[#&#8203;55896](https://redirect.github.com/nodejs/node/pull/55896)
-
\[[`d4fc282f73`](https://redirect.github.com/nodejs/node/commit/d4fc282f73)]
- **lib**: fix AbortSignal.any() with timeout signals (Gürgün Dayıoğlu)
[#&#8203;57867](https://redirect.github.com/nodejs/node/pull/57867)
-
\[[`f7e2902861`](https://redirect.github.com/nodejs/node/commit/f7e2902861)]
- **lib**: use Map primordial for ActiveAsyncContextFrame (Gürgün
Dayıoğlu)
[#&#8203;57670](https://redirect.github.com/nodejs/node/pull/57670)
-
\[[`8652b0e168`](https://redirect.github.com/nodejs/node/commit/8652b0e168)]
- **meta**: set nodejs/config as codeowner (Marco Ippolito)
[#&#8203;57237](https://redirect.github.com/nodejs/node/pull/57237)
-
\[[`e98504ed95`](https://redirect.github.com/nodejs/node/commit/e98504ed95)]
- **meta**: allow penetration testing on live system with prior
authorization (Matteo Collina)
[#&#8203;57966](https://redirect.github.com/nodejs/node/pull/57966)
-
\[[`340731bea0`](https://redirect.github.com/nodejs/node/commit/340731bea0)]
- **meta**: fix subsystem in commit title (Luigi Pinca)
[#&#8203;57945](https://redirect.github.com/nodejs/node/pull/57945)
-
\[[`d767cbffcf`](https://redirect.github.com/nodejs/node/commit/d767cbffcf)]
- **meta**: bump Mozilla-Actions/sccache-action from 0.0.8 to 0.0.9
(dependabot\[bot])
[#&#8203;57720](https://redirect.github.com/nodejs/node/pull/57720)
-
\[[`575f904b13`](https://redirect.github.com/nodejs/node/commit/575f904b13)]
- **meta**: bump actions/download-artifact from 4.1.9 to 4.2.1
(dependabot\[bot])
[#&#8203;57719](https://redirect.github.com/nodejs/node/pull/57719)
-
\[[`acd323c069`](https://redirect.github.com/nodejs/node/commit/acd323c069)]
- **meta**: bump actions/setup-python from 5.4.0 to 5.5.0
(dependabot\[bot])
[#&#8203;57718](https://redirect.github.com/nodejs/node/pull/57718)
-
\[[`21246fec20`](https://redirect.github.com/nodejs/node/commit/21246fec20)]
- **meta**: bump peter-evans/create-pull-request from 7.0.7 to 7.0.8
(dependabot\[bot])
[#&#8203;57717](https://redirect.github.com/nodejs/node/pull/57717)
-
\[[`97f32d5849`](https://redirect.github.com/nodejs/node/commit/97f32d5849)]
- **meta**: bump github/codeql-action from 3.28.10 to 3.28.13
(dependabot\[bot])
[#&#8203;57716](https://redirect.github.com/nodejs/node/pull/57716)
-
\[[`90ddbb8cfa`](https://redirect.github.com/nodejs/node/commit/90ddbb8cfa)]
- **meta**: bump actions/cache from 4.2.2 to 4.2.3 (dependabot\[bot])
[#&#8203;57715](https://redirect.github.com/nodejs/node/pull/57715)
-
\[[`728425d03e`](https://redirect.github.com/nodejs/node/commit/728425d03e)]
- **meta**: bump actions/setup-node from 4.2.0 to 4.3.0
(dependabot\[bot])
[#&#8203;57714](https://redirect.github.com/nodejs/node/pull/57714)
-
\[[`1f799140e0`](https://redirect.github.com/nodejs/node/commit/1f799140e0)]
- **meta**: bump actions/upload-artifact from 4.6.1 to 4.6.2
(dependabot\[bot])
[#&#8203;57713](https://redirect.github.com/nodejs/node/pull/57713)
-
\[[`021b174a1f`](https://redirect.github.com/nodejs/node/commit/021b174a1f)]
- **module**: tidy code string concat → string templates (Jacob Smith)
[#&#8203;55820](https://redirect.github.com/nodejs/node/pull/55820)
-
\[[`44c5718476`](https://redirect.github.com/nodejs/node/commit/44c5718476)]
- **module**: fix incorrect formatting in require(esm) cycle error
message (haykam821)
[#&#8203;57453](https://redirect.github.com/nodejs/node/pull/57453)
-
\[[`bb09b4d4ae`](https://redirect.github.com/nodejs/node/commit/bb09b4d4ae)]
- **module**: improve `getPackageType` performance (Dario Piotrowicz)
[#&#8203;57599](https://redirect.github.com/nodejs/node/pull/57599)
-
\[[`9e6054e715`](https://redirect.github.com/nodejs/node/commit/9e6054e715)]
- **module**: remove unnecessary `readPackage` function (Dario
Piotrowicz)
[#&#8203;57596](https://redirect.github.com/nodejs/node/pull/57596)
-
\[[`4a8db273ba`](https://redirect.github.com/nodejs/node/commit/4a8db273ba)]
- **node-api**: add nested object wrap and napi_ref test (Chengzhong Wu)
[#&#8203;57981](https://redirect.github.com/nodejs/node/pull/57981)
-
\[[`3c65058f20`](https://redirect.github.com/nodejs/node/commit/3c65058f20)]
- **node-api**: convert NewEnv to node_napi_env\_\_::New (Vladimir
Morozov)
[#&#8203;57834](https://redirect.github.com/nodejs/node/pull/57834)
-
\[[`a4105db1f7`](https://redirect.github.com/nodejs/node/commit/a4105db1f7)]
- **os**: fix netmask format check condition in getCIDR function
(Wiyeong Seo)
[#&#8203;57324](https://redirect.github.com/nodejs/node/pull/57324)
-
\[[`248c938139`](https://redirect.github.com/nodejs/node/commit/248c938139)]
- **process**: disable building execve on IBM i (Abdirahim Musse)
[#&#8203;57883](https://redirect.github.com/nodejs/node/pull/57883)
-
\[[`972275697a`](https://redirect.github.com/nodejs/node/commit/972275697a)]
- **repl**: deprecate `repl.builtinModules` (Dario Piotrowicz)
[#&#8203;57508](https://redirect.github.com/nodejs/node/pull/57508)
-
\[[`7485309d7e`](https://redirect.github.com/nodejs/node/commit/7485309d7e)]
- **sqlite**: add location method (Edy Silva)
[#&#8203;57860](https://redirect.github.com/nodejs/node/pull/57860)
-
\[[`c12cd2a190`](https://redirect.github.com/nodejs/node/commit/c12cd2a190)]
- **sqlite**: add timeout options to DatabaseSync (Edy Silva)
[#&#8203;57752](https://redirect.github.com/nodejs/node/pull/57752)
-
\[[`5e0503a967`](https://redirect.github.com/nodejs/node/commit/5e0503a967)]
- **sqlite**: add setReturnArrays method to StatementSync (Gürgün
Dayıoğlu)
[#&#8203;57542](https://redirect.github.com/nodejs/node/pull/57542)
-
\[[`ed9d2fd51a`](https://redirect.github.com/nodejs/node/commit/ed9d2fd51a)]
- **sqlite**: enable common flags (Edy Silva)
[#&#8203;57621](https://redirect.github.com/nodejs/node/pull/57621)
-
\[[`06dcb318bc`](https://redirect.github.com/nodejs/node/commit/06dcb318bc)]
- **sqlite**: refactor prepared statement iterator (Colin Ihrig)
[#&#8203;57569](https://redirect.github.com/nodejs/node/pull/57569)
-
\[[`c510391d2f`](https://redirect.github.com/nodejs/node/commit/c510391d2f)]
- **(SEMVER-MINOR)** **sqlite**: add StatementSync.prototype.columns()
(Colin Ihrig)
[#&#8203;57490](https://redirect.github.com/nodejs/node/pull/57490)
-
\[[`4e24456a1a`](https://redirect.github.com/nodejs/node/commit/4e24456a1a)]
- **sqlite**: reset statement immediately in run() (Colin Ihrig)
[#&#8203;57350](https://redirect.github.com/nodejs/node/pull/57350)
-
\[[`a9a6891b0b`](https://redirect.github.com/nodejs/node/commit/a9a6891b0b)]
- **sqlite**: fix coverity warnings related to backup() (Colin Ihrig)
[#&#8203;56961](https://redirect.github.com/nodejs/node/pull/56961)
-
\[[`d2e1bcf3d4`](https://redirect.github.com/nodejs/node/commit/d2e1bcf3d4)]
- **sqlite**: fix use-after-free in StatementSync due to premature GC
(Divy Srivastava)
[#&#8203;56840](https://redirect.github.com/nodejs/node/pull/56840)
-
\[[`cfe15ca7b4`](https://redirect.github.com/nodejs/node/commit/cfe15ca7b4)]
- **sqlite**: handle conflicting SQLite and JS errors (Colin Ihrig)
[#&#8203;56787](https://redirect.github.com/nodejs/node/pull/56787)
-
\[[`0e999eb65f`](https://redirect.github.com/nodejs/node/commit/0e999eb65f)]
- **sqlite**: add getter to detect transactions (Colin Ihrig)
[#&#8203;57925](https://redirect.github.com/nodejs/node/pull/57925)
-
\[[`20b27331c0`](https://redirect.github.com/nodejs/node/commit/20b27331c0)]
- **sqlite, test**: expose sqlite online backup api (Edy Silva)
[#&#8203;56253](https://redirect.github.com/nodejs/node/pull/56253)
-
\[[`8856712171`](https://redirect.github.com/nodejs/node/commit/8856712171)]
- **sqlite,doc,test**: add aggregate function (Edy Silva)
[#&#8203;56600](https://redirect.github.com/nodejs/node/pull/56600)
-
\[[`120050db97`](https://redirect.github.com/nodejs/node/commit/120050db97)]
- **sqlite,src**: refactor sqlite value conversion (Edy Silva)
[#&#8203;57571](https://redirect.github.com/nodejs/node/pull/57571)
-
\[[`4c5555d558`](https://redirect.github.com/nodejs/node/commit/4c5555d558)]
- **src**: initialize privateSymbols for per_context (Jason Zhang)
[#&#8203;57479](https://redirect.github.com/nodejs/node/pull/57479)
-
\[[`d2ce9023b1`](https://redirect.github.com/nodejs/node/commit/d2ce9023b1)]
- **src**: ensure primordials are initialized exactly once (Chengzhong
Wu) [#&#8203;57519](https://redirect.github.com/nodejs/node/pull/57519)
-
\[[`06179be6ca`](https://redirect.github.com/nodejs/node/commit/06179be6ca)]
- **src**: disable abseil deadlock detection (Chengzhong Wu)
[#&#8203;57582](https://redirect.github.com/nodejs/node/pull/57582)
-
\[[`5121c47990`](https://redirect.github.com/nodejs/node/commit/5121c47990)]
- **src**: fix node_config_file.h compilation error in GN build (Cheng)
[#&#8203;57210](https://redirect.github.com/nodejs/node/pull/57210)
-
\[[`5d1230bec0`](https://redirect.github.com/nodejs/node/commit/5d1230bec0)]
- **(SEMVER-MINOR)** **src**: set default config as `node.config.json`
(Marco Ippolito)
[#&#8203;57171](https://redirect.github.com/nodejs/node/pull/57171)
-
\[[`ccee741c43`](https://redirect.github.com/nodejs/node/commit/ccee741c43)]
- **src**: namespace config file flags (Marco Ippolito)
[#&#8203;57170](https://redirect.github.com/nodejs/node/pull/57170)
-
\[[`30bb1ccbb0`](https://redirect.github.com/nodejs/node/commit/30bb1ccbb0)]
- **(SEMVER-MINOR)** **src**: create
`THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING` (Marco Ippolito)
[#&#8203;57016](https://redirect.github.com/nodejs/node/pull/57016)
-
\[[`0350c6f478`](https://redirect.github.com/nodejs/node/commit/0350c6f478)]
- **(SEMVER-MINOR)** **src**: add config file support (Marco Ippolito)
[#&#8203;57016](https://redirect.github.com/nodejs/node/pull/57016)
-
\[[`eef37d00cb`](https://redirect.github.com/nodejs/node/commit/eef37d00cb)]
- **src**: add more debug logs and comments in NodePlatform (Joyee
Cheung)
[#&#8203;58047](https://redirect.github.com/nodejs/node/pull/58047)
-
\[[`678e8f57c0`](https://redirect.github.com/nodejs/node/commit/678e8f57c0)]
- **src**: add dcheck_eq for Object::New constructor calls (Jonas)
[#&#8203;57943](https://redirect.github.com/nodejs/node/pull/57943)
-
\[[`aee45e2036`](https://redirect.github.com/nodejs/node/commit/aee45e2036)]
- **src**: move windows specific fns to `_WIN32` (Yagiz Nizipli)
[#&#8203;57951](https://redirect.github.com/nodejs/node/pull/57951)
-
\[[`6206a8edbc`](https://redirect.github.com/nodejs/node/commit/6206a8edbc)]
- **src**: improve thread safety of TaskQueue (Shelley Vohr)
[#&#8203;57910](https://redirect.github.com/nodejs/node/pull/57910)
-
\[[`03936f31c1`](https://redirect.github.com/nodejs/node/commit/03936f31c1)]
- **src**: fixup errorhandling more in various places (James M Snell)
[#&#8203;57852](https://redirect.github.com/nodejs/node/pull/57852)
-
\[[`010dd91a19`](https://redirect.github.com/nodejs/node/commit/010dd91a19)]
- **src**: fix typo in comments (Edy Silva)
[#&#8203;57868](https://redirect.github.com/nodejs/node/pull/57868)
-
\[[`e00c1ecbd2`](https://redirect.github.com/nodejs/node/commit/e00c1ecbd2)]
- **src**: add BaseObjectPtr nullptr operations (Chengzhong Wu)
[#&#8203;56585](https://redirect.github.com/nodejs/node/pull/56585)
-
\[[`648ad252e1`](https://redirect.github.com/nodejs/node/commit/648ad252e1)]
- **src**: remove `void*` -> `char*` -> `void*` casts (Tobias Nießen)
[#&#8203;57791](https://redirect.github.com/nodejs/node/pull/57791)
-
\[[`680b434a62`](https://redirect.github.com/nodejs/node/commit/680b434a62)]
- **src**: improve error handing in node_messaging (James M Snell)
[#&#8203;57760](https://redirect.github.com/nodejs/node/pull/57760)
-
\[[`18f5301747`](https://redirect.github.com/nodejs/node/commit/18f5301747)]
- **src**: remove unused detachArrayBuffer method (Yagiz Nizipli)
[#&#8203;58055](https://redirect.github.com/nodejs/node/pull/58055)
-
\[[`065e8cd670`](https://redirect.github.com/nodejs/node/commit/065e8cd670)]
- **src**: use macros to reduce code duplication is cares_wrap (James M
Snell)
[#&#8203;57937](https://redirect.github.com/nodejs/node/pull/57937)
-
\[[`39af5d678f`](https://redirect.github.com/nodejs/node/commit/39af5d678f)]
- **src**: improve error handling in cares_wrap (James M Snell)
[#&#8203;57937](https://redirect.github.com/nodejs/node/pull/57937)
-
\[[`ca020fdc4e`](https://redirect.github.com/nodejs/node/commit/ca020fdc4e)]
- **src**: fix -Wunreachable-code-return in node_sea (Shelley Vohr)
[#&#8203;57664](https://redirect.github.com/nodejs/node/pull/57664)
-
\[[`32b6e7094a`](https://redirect.github.com/nodejs/node/commit/32b6e7094a)]
- **src**: change DCHECK to CHECK (Wuli Zuo)
[#&#8203;57948](https://redirect.github.com/nodejs/node/pull/57948)
-
\[[`e1d3a9e192`](https://redirect.github.com/nodejs/node/commit/e1d3a9e192)]
- **(SEMVER-MINOR)** **src**: add ExecutionAsyncId getter for any
Context (Attila Szegedi)
[#&#8203;57820](https://redirect.github.com/nodejs/node/pull/57820)
-
\[[`96243a723a`](https://redirect.github.com/nodejs/node/commit/96243a723a)]
- **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T>
(Aditi)
[#&#8203;57646](https://redirect.github.com/nodejs/node/pull/57646)
-
\[[`0f2cbc17c7`](https://redirect.github.com/nodejs/node/commit/0f2cbc17c7)]
- **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T>
(Aditi)
[#&#8203;57642](https://redirect.github.com/nodejs/node/pull/57642)
-
\[[`d1c6f861d5`](https://redirect.github.com/nodejs/node/commit/d1c6f861d5)]
- **src**: update std::vector\<v8::Local\<T>> to use v8::LocalVector\<T>
(Aditi)
[#&#8203;57578](https://redirect.github.com/nodejs/node/pull/57578)
-
\[[`ab0d3a38db`](https://redirect.github.com/nodejs/node/commit/ab0d3a38db)]
- **src**: improve error message for invalid child stdio type in
spawn_sync (Dario Piotrowicz)
[#&#8203;57589](https://redirect.github.com/nodejs/node/pull/57589)
-
\[[`24b182e7b3`](https://redirect.github.com/nodejs/node/commit/24b182e7b3)]
- **src**: implement util.types fast API calls (Ruben Bridgewater)
[#&#8203;57819](https://redirect.github.com/nodejs/node/pull/57819)
-
\[[`dda6423be9`](https://redirect.github.com/nodejs/node/commit/dda6423be9)]
- **src**: enter and lock isolate properly in json parser (Joyee Cheung)
[#&#8203;57823](https://redirect.github.com/nodejs/node/pull/57823)
-
\[[`4754c693f8`](https://redirect.github.com/nodejs/node/commit/4754c693f8)]
- **src**: improve error handling in `node_env_var.cc` (Antoine du
Hamel)
[#&#8203;57767](https://redirect.github.com/nodejs/node/pull/57767)
-
\[[`db483bbe63`](https://redirect.github.com/nodejs/node/commit/db483bbe63)]
- **src**: improve error handling in node_http2 (James M Snell)
[#&#8203;57764](https://redirect.github.com/nodejs/node/pull/57764)
-
\[[`b0277700d6`](https://redirect.github.com/nodejs/node/commit/b0277700d6)]
- **src**: improve error handling in crypto_x509 (James M Snell)
[#&#8203;57757](https://redirect.github.com/nodejs/node/pull/57757)
-
\[[`353587f984`](https://redirect.github.com/nodejs/node/commit/353587f984)]
- **src**: improve error handling in callback.cc (James M Snell)
[#&#8203;57758](https://redirect.github.com/nodejs/node/pull/57758)
-
\[[`bec053ab20`](https://redirect.github.com/nodejs/node/commit/bec053ab20)]
- **src**: remove unused variable in crypto_x509.cc (Michaël Zasso)
[#&#8203;57754](https://redirect.github.com/nodejs/node/pull/57754)
-
\[[`38a329a857`](https://redirect.github.com/nodejs/node/commit/38a329a857)]
- **src**: fix kill signal 0 on Windows (Stefan Stojanovic)
[#&#8203;57695](https://redirect.github.com/nodejs/node/pull/57695)
-
\[[`70bb387f82`](https://redirect.github.com/nodejs/node/commit/70bb387f82)]
- **src**: fix inefficient usage of v8\_inspector::StringView (Simon
Zünd)
[#&#8203;52372](https://redirect.github.com/nodejs/node/pull/52372)
-
\[[`be038f0273`](https://redirect.github.com/nodejs/node/commit/be038f0273)]
- **src,permission**: make ERR_ACCESS_DENIED more descriptive (Rafael
Gonzaga)
[#&#8203;57585](https://redirect.github.com/nodejs/node/pull/57585)
-
\[[`0ec912f452`](https://redirect.github.com/nodejs/node/commit/0ec912f452)]
- **(SEMVER-MINOR)** **stream**: preserve AsyncLocalStorage context in
finished() (Gürgün Dayıoğlu)
[#&#8203;57865](https://redirect.github.com/nodejs/node/pull/57865)
-
\[[`6ffb66f82f`](https://redirect.github.com/nodejs/node/commit/6ffb66f82f)]
- **test**: fix permission fixtures lint (Rafael Gonzaga)
[#&#8203;55819](https://redirect.github.com/nodejs/node/pull/55819)
-
\[[`fd37891186`](https://redirect.github.com/nodejs/node/commit/fd37891186)]
- **test**: add repl preview timeout test (Chengzhong Wu)
[#&#8203;55484](https://redirect.github.com/nodejs/node/pull/55484)
-
\[[`1be5a8c1b4`](https://redirect.github.com/nodejs/node/commit/1be5a8c1b4)]
- **test**: skip `test-config-json-schema` with quic (Richard Lau)
[#&#8203;57225](https://redirect.github.com/nodejs/node/pull/57225)
-
\[[`e90583b657`](https://redirect.github.com/nodejs/node/commit/e90583b657)]
- **test**: add more coverage to `node_config_file` (Marco Ippolito)
[#&#8203;57170](https://redirect.github.com/nodejs/node/pull/57170)
-
\[[`df2a36bfcc`](https://redirect.github.com/nodejs/node/commit/df2a36bfcc)]
- **test**: remove deadlock workaround (Joyee Cheung)
[#&#8203;58047](https://redirect.github.com/nodejs/node/pull/58047)
-
\[[`103034b051`](https://redirect.github.com/nodejs/node/commit/103034b051)]
- **test**: prevent extraneous HOSTNAME substitution in
test-runner-output (René)
[#&#8203;58076](https://redirect.github.com/nodejs/node/pull/58076)
-
\[[`3e58f81a38`](https://redirect.github.com/nodejs/node/commit/3e58f81a38)]
- **test**: update WPT for WebCryptoAPI to
[`b48efd6`](https://redirect.github.com/nodejs/node/commit/b48efd681e)
(Node.js GitHub Bot)
[#&#8203;58044](https://redirect.github.com/nodejs/node/pull/58044)
-
\[[`2f4e4164a3`](https://redirect.github.com/nodejs/node/commit/2f4e4164a3)]
- **test**: add missing newlines to repl .exit writes (Dario Piotrowicz)
[#&#8203;58041](https://redirect.github.com/nodejs/node/pull/58041)
-
\[[`b40769292e`](https://redirect.github.com/nodejs/node/commit/b40769292e)]
- **test**: add fast api tests for getLibuvNow() (Yagiz Nizipli)
[#&#8203;58022](https://redirect.github.com/nodejs/node/pull/58022)
-
\[[`cbd5768d47`](https://redirect.github.com/nodejs/node/commit/cbd5768d47)]
- **test**: add ALS test using http agent keep alive (Gerhard Stöbich)
[#&#8203;58017](https://redirect.github.com/nodejs/node/pull/58017)
-
\[[`9e31ab502a`](https://redirect.github.com/nodejs/node/commit/9e31ab502a)]
- **test**: deflake test-http2-options-max-headers-block-length (Luigi
Pinca)
[#&#8203;57959](https://redirect.github.com/nodejs/node/pull/57959)
-
\[[`13f8f9cc12`](https://redirect.github.com/nodejs/node/commit/13f8f9cc12)]
- **test**: rename to getCallSites (Wuli Zuo)
[#&#8203;57948](https://redirect.github.com/nodejs/node/pull/57948)
-
\[[`92dce6ed6b`](https://redirect.github.com/nodejs/node/commit/92dce6ed6b)]
- **test**: force GC in test-file-write-stream4 (Luigi Pinca)
[#&#8203;57930](https://redirect.github.com/nodejs/node/pull/57930)
-
\[[`aa755d3acf`](https://redirect.github.com/nodejs/node/commit/aa755d3acf)]
- **test**: enable skipped colorize test (Shima Ryuhei)
[#&#8203;57887](https://redirect.github.com/nodejs/node/pull/57887)
-
\[[`331f44c78c`](https://redirect.github.com/nodejs/node/commit/331f44c78c)]
- **test**: update WPT for WebCryptoAPI to
[`164426a`](https://redirect.github.com/nodejs/node/commit/164426ace2)
(Node.js GitHub Bot)
[#&#8203;57854](https://redirect.github.com/nodejs/node/pull/57854)
-
\[[`4aaa8438b4`](https://redirect.github.com/nodejs/node/commit/4aaa8438b4)]
- **test**: add test for frame count being 0.5 (Jake Yuesong Li)
[#&#8203;57732](https://redirect.github.com/nodejs/node/pull/57732)
-
\[[`fb51d3a0c5`](https://redirect.github.com/nodejs/node/commit/fb51d3a0c5)]
- **test**: fix the decimal fractions explaination (Jake Yuesong Li)
[#&#8203;57732](https://redirect.github.com/nodejs/node/pull/57732)
-
\[[`c6a45a9087`](https://redirect.github.com/nodejs/node/commit/c6a45a9087)]
- ***Revert*** "**test**: add tests for REPL custom evals" (Tobias
Nießen)
[#&#8203;57793](https://redirect.github.com/nodejs/node/pull/57793)
-
\[[`f3a4d03963`](https://redirect.github.com/nodejs/node/commit/f3a4d03963)]
- **test**: add tests for REPL custom evals (Dario Piotrowicz)
[#&#8203;57691](https://redirect.github.com/nodejs/node/pull/57691)
-
\[[`a3be0df337`](https://redirect.github.com/nodejs/node/commit/a3be0df337)]
- **test**: update expected error message for macOS (Antoine du Hamel)
[#&#8203;57742](https://redirect.github.com/nodejs/node/pull/57742)
-
\[[`a7e73a0a74`](https://redirect.github.com/nodejs/node/commit/a7e73a0a74)]
- **test**: fix dangling promise in test_runner no isolation test setup
(Jacob Smith)
[#&#8203;57595](https://redirect.github.com/nodejs/node/pull/57595)
-
\[[`edb7dd1ec7`](https://redirect.github.com/nodejs/node/commit/edb7dd1ec7)]
- **test_runner**: match minimum file column to 'all files' (Shima
Ryuhei)
[#&#8203;57848](https://redirect.github.com/nodejs/node/pull/57848)
-
\[[`c56f495e83`](https://redirect.github.com/nodejs/node/commit/c56f495e83)]
- **tools**: extract target abseil to abseil.gyp (Chengzhong Wu)
[#&#8203;57289](https://redirect.github.com/nodejs/node/pull/57289)
-
\[[`1b37161a27`](https://redirect.github.com/nodejs/node/commit/1b37161a27)]
- **tools**: ignore V8 tests in CodeQL scans (Rich Trott)
[#&#8203;58081](https://redirect.github.com/nodejs/node/pull/58081)
-
\[[`23386308dd`](https://redirect.github.com/nodejs/node/commit/23386308dd)]
- **tools**: enable CodeQL config file (Rich Trott)
[#&#8203;58036](https://redirect.github.com/nodejs/node/pull/58036)
-
\[[`9c21abc169`](https://redirect.github.com/nodejs/node/commit/9c21abc169)]
- **tools**: ignore test directory in CodeQL scans (Rich Trott)
[#&#8203;57978](https://redirect.github.com/nodejs/node/pull/57978)
-
\[[`f210a1530d`](https://redirect.github.com/nodejs/node/commit/f210a1530d)]
- **tools**: add semver-major release support to release-lint (Antoine
du Hamel)
[#&#8203;57892](https://redirect.github.com/nodejs/node/pull/57892)
-
\[[`234c417e98`](https://redirect.github.com/nodejs/node/commit/234c417e98)]
- **tools**: add codeql nightly (Rafael Gonzaga)
[#&#8203;57788](https://redirect.github.com/nodejs/node/pull/57788)
-
\[[`938f1532da`](https://redirect.github.com/nodejs/node/commit/938f1532da)]
- **tools**: edit create-release-proposal workflow to handle pr body
length (Elves Vieira)
[#&#8203;57841](https://redirect.github.com/nodejs/node/pull/57841)
-
\[[`b362339f72`](https://redirect.github.com/nodejs/node/commit/b362339f72)]
- **tools**: add zstd updater to workflow (KASEYA\yahor.siarheyenka)
[#&#8203;57831](https://redirect.github.com/nodejs/node/pull/57831)
-
\[[`61180db9c0`](https://redirect.github.com/nodejs/node/commit/61180db9c0)]
- **tools**: remove unused `osx-pkg-postinstall.sh` (Antoine du Hamel)
[#&#8203;57667](https://redirect.github.com/nodejs/node/pull/57667)
-
\[[`3ae04c94eb`](https://redirect.github.com/nodejs/node/commit/3ae04c94eb)]
- **tools**: do not use temp files when merging PRs (Antoine du Hamel)
[#&#8203;57790](https://redirect.github.com/nodejs/node/pull/57790)
-
\[[`d623c2c2b4`](https://redirect.github.com/nodejs/node/commit/d623c2c2b4)]
- **tools

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuNjAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 17:13:54 -04:00
renovate[bot]
53ca41404f fix(deps): update dependency vue-sonner to v2 (#1401)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vue-sonner](https://redirect.github.com/xiaoluoboding/vue-sonner) |
[`^1.3.0` ->
`^2.0.0`](https://renovatebot.com/diffs/npm/vue-sonner/1.3.0/2.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-sonner/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-sonner/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-sonner/1.3.0/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-sonner/1.3.0/2.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>xiaoluoboding/vue-sonner (vue-sonner)</summary>

###
[`v2.0.0`](https://redirect.github.com/xiaoluoboding/vue-sonner/blob/HEAD/CHANGELOG.md#200-2025-05-21)

[Compare
Source](https://redirect.github.com/xiaoluoboding/vue-sonner/compare/v1.3.2...v2.0.0)

##### Bug Fixes

- add packages path
([35490b3](35490b3fb5))
- add packages path
([c7424e9](c7424e9070))
- fixed for nuxt module
([261eaf0](261eaf0be2))
- fixed for nuxt module
([29751cf](29751cfd5b))
- format
([9033f2b](9033f2b935))

####
[1.3.2](https://redirect.github.com/xiaoluoboding/vue-sonner/compare/v1.3.0...v1.3.2)
(2025-04-12)

##### Bug Fixes

- improve CSS insertion logic to handle document loading state
([6b22d24](6b22d2458b))

###
[`v1.3.2`](https://redirect.github.com/xiaoluoboding/vue-sonner/blob/HEAD/CHANGELOG.md#132-2025-04-12)

[Compare
Source](c1208885b3...v1.3.2)

##### Bug Fixes

- improve CSS insertion logic to handle document loading state
([6b22d24](6b22d2458b))

###
[`v1.3.1`](https://redirect.github.com/xiaoluoboding/vue-sonner/compare/v1.3.0...c1208885b35167216568e305e8a1cb1bc786f128)

[Compare
Source](https://redirect.github.com/xiaoluoboding/vue-sonner/compare/v1.3.0...c1208885b35167216568e305e8a1cb1bc786f128)

</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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 17:06:14 -04:00
renovate[bot]
9492c2ae6a fix(deps): update dependency cache-manager to v7 (#1413)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [cache-manager](https://redirect.github.com/jaredwray/cacheable)
([source](https://redirect.github.com/jaredwray/cacheable/tree/HEAD/packages/cache-manager))
| [`^6.4.2` ->
`^7.0.0`](https://renovatebot.com/diffs/npm/cache-manager/6.4.2/7.0.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/cache-manager/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cache-manager/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cache-manager/6.4.2/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cache-manager/6.4.2/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### 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:eyJjcmVhdGVkSW5WZXIiOiI0MC40MC4zIiwidXBkYXRlZEluVmVyIjoiNDAuNDAuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 17:05:55 -04:00
renovate[bot]
3eb92dc9ea chore(deps): update dependency happy-dom to v18 (#1414)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) |
[`^17.4.4` ->
`^18.0.0`](https://renovatebot.com/diffs/npm/happy-dom/17.4.4/18.0.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/17.4.4/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/17.4.4/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [happy-dom](https://redirect.github.com/capricorn86/happy-dom) |
[`^17.0.0` ->
`^18.0.0`](https://renovatebot.com/diffs/npm/happy-dom/17.4.4/18.0.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/17.4.4/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/17.4.4/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>capricorn86/happy-dom (happy-dom)</summary>

###
[`v18.0.1`](https://redirect.github.com/capricorn86/happy-dom/compare/v18.0.0...cf74f5f63ca562e075c9c14b77ecfbb8fbc43dea)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v18.0.0...v18.0.1)

###
[`v18.0.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v17.6.3...bfd0fffc12f23c6f31174953f65c4f57925e7212)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.6.3...v18.0.0)

###
[`v17.6.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.6.3)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.6.2...v17.6.3)

##### 👷‍♂️ Patch fixes

- Removes global typescript definition that was used for custom elements
- By **[@&#8203;capricorn86](https://redirect.github.com/capricorn86)**
in task
[#&#8203;1154](https://redirect.github.com/capricorn86/happy-dom/issues/1154)

###
[`v17.6.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.6.2)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.6.1...v17.6.2)

##### 👷‍♂️ Patch fixes

- Updates Typescript to the latest version - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1154](https://redirect.github.com/capricorn86/happy-dom/issues/1154)

###
[`v17.6.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.6.1)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.6.0...v17.6.1)

##### 🎨 Features

- Adds support for disabling validation of certificates, to allow for
self-signed certificates to be used - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1763](https://redirect.github.com/capricorn86/happy-dom/issues/1763)
- Read more about the new setting `fetch.disableStrictSSL` under
[IBrowserSettings](https://redirect.github.com/capricorn86/happy-dom/wiki/IBrowserSettings)
in the Wiki

###
[`v17.6.0`](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.9...v17.6.0)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.9...v17.6.0)

###
[`v17.5.9`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.9)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.8...v17.5.9)

##### 👷‍♂️ Patch fixes

- Adds missing null check in `HTMLLinkElement` for a browser frame
property that becomes null during teardown of a `Window` - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1800](https://redirect.github.com/capricorn86/happy-dom/issues/1800)

###
[`v17.5.8`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.8)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.7...v17.5.8)

##### 👷‍♂️ Patch fixes

- Incorrect cache matching caused `Element.classList` to return the
wrong items - By
**[@&#8203;capricorn86](https://redirect.github.com/capricorn86)** in
task
[#&#8203;1812](https://redirect.github.com/capricorn86/happy-dom/issues/1812)

###
[`v17.5.7`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.7)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.6...v17.5.7)

##### 👷‍♂️ Patch fixes

- Handle wider range of valid characters in unquoted attribute value
parsing - By **[@&#8203;AudunWA](https://redirect.github.com/AudunWA)**
in task
[#&#8203;1817](https://redirect.github.com/capricorn86/happy-dom/issues/1817)

###
[`v17.5.6`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.6)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.5...v17.5.6)

##### 👷‍♂️ Patch fixes

- Removes the min and max boundary check when setting the value of an
input field of type "date" - By
**[@&#8203;zgrybus](https://redirect.github.com/zgrybus)** in task
[#&#8203;1815](https://redirect.github.com/capricorn86/happy-dom/issues/1815)

###
[`v17.5.5`](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.4...v17.5.5)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.4...v17.5.5)

###
[`v17.5.4`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.4)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.3...v17.5.4)

##### 👷‍♂️ Patch fixes

- Fixes issue where the body of a `ReadableStream` was locked after
being cloned - By
**[@&#8203;MarcMcIntosh](https://redirect.github.com/MarcMcIntosh)** in
task
[#&#8203;1493](https://redirect.github.com/capricorn86/happy-dom/issues/1493)

###
[`v17.5.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.3)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.2...v17.5.3)

##### 👷‍♂️ Patch fixes

- Adds `previousSibling` and `nextSibling` to `MutationObserver` records
when a child is removed - By
**[@&#8203;uxuip](https://redirect.github.com/uxuip)** in task
[#&#8203;1803](https://redirect.github.com/capricorn86/happy-dom/issues/1803)

###
[`v17.5.2`](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.1...b257aa136e3cdf74046f0a2dd8d07b4d44b50436)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.1...v17.5.2)

###
[`v17.5.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.1)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.5.0...v17.5.1)

##### 👷‍♂️ Patch fixes

- Existing URL query string should be overwritten on form submit when
method is "GET" - By
**[@&#8203;rslabbert](https://redirect.github.com/rslabbert)** in task
[#&#8203;1786](https://redirect.github.com/capricorn86/happy-dom/issues/1786)

###
[`v17.5.0`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.5.0)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.9...v17.5.0)

##### 🎨 Features

- Adds support for `XMLHttpRequest.overrideMimeType()` - By
**[@&#8203;maxmil](https://redirect.github.com/maxmil)** in task
[#&#8203;1782](https://redirect.github.com/capricorn86/happy-dom/issues/1782)

###
[`v17.4.9`](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.8...4ec75b75d53a9f436afc737e24f9ff07a4e6ec87)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.8...v17.4.9)

###
[`v17.4.8`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.4.8)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.7...v17.4.8)

##### 👷‍♂️ Patch fixes

- Fixes issue where CSS variables where not being parsed in color
functions - By
**[@&#8203;hampustagerud](https://redirect.github.com/hampustagerud)**
in task
[#&#8203;1822](https://redirect.github.com/capricorn86/happy-dom/issues/1822)

###
[`v17.4.7`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.4.7)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.6...v17.4.7)

##### 👷‍♂️ Patch fixes

- Allow empty URL string in `Request` - By
**[@&#8203;elierotenberg](https://redirect.github.com/elierotenberg)**
in task
[#&#8203;1779](https://redirect.github.com/capricorn86/happy-dom/issues/1779)

###
[`v17.4.6`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.4.6)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.5...v17.4.6)

##### 👷‍♂️ Patch fixes

- Preserve slashes in the "name" property in `File` - By
**[@&#8203;dyabol](https://redirect.github.com/dyabol)** in task
[#&#8203;1788](https://redirect.github.com/capricorn86/happy-dom/issues/1788)

###
[`v17.4.5`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v17.4.5)

[Compare
Source](https://redirect.github.com/capricorn86/happy-dom/compare/v17.4.4...v17.4.5)

##### 👷‍♂️ Patch fixes

- Handle bubbling click events in `HTMLAnchorElement` - By
**[@&#8203;maxmil](https://redirect.github.com/maxmil)** in task
[#&#8203;1775](https://redirect.github.com/capricorn86/happy-dom/issues/1775)

</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 these
updates 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:eyJjcmVhdGVkSW5WZXIiOiI0MC40OC41IiwidXBkYXRlZEluVmVyIjoiNDAuNDguNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 17:05:37 -04:00
Eli Bosley
f12d231e63 fix: debounce is too long (#1426)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Reduced the delay before configuration changes are processed,
resulting in faster response times to configuration updates throughout
the application.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 11:07:53 -04:00
Eli Bosley
75ad8381bd fix: theme issues when sent from graph (#1424)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **Bug Fixes**
- Improved error handling and fallback logic when loading themes,
ensuring default values are used if loading fails or data is missing.
- **Refactor**
- Updated theme customization options to improve type accuracy and allow
certain color fields to be optional.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 09:50:45 -04:00
Eli Bosley
9901039a38 feat: docker and info resolver issues (#1423)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- The system info query now returns only the `id` field, with other
details loaded separately.
- **Chores**
- Internal service dependencies were updated for improved
maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-19 11:50:02 -04:00
Pujit Mehrotra
70c790ff89 fix: alignment of settings on ManagementAccess settings page (#1421)
## Summary by CodeRabbit

- **Refactor**
- Removed description text display from a form field for a cleaner
interface.
- Enhanced form field matching to better target specific string array
inputs.
- Updated remote access settings UI for clearer layout and separation of
title and details.
  - Adjusted label container styling to allow more flexible width.
- Improved grouping of precondition information for better visual
structure.
  - Added a colon to the SSO users settings label for consistency.
<!-- 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/1210572375587668
2025-06-19 08:46:18 -04:00
Eli Bosley
0788756b91 feat: add management page for API keys (#1408)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added ability to update existing API keys, including name,
description, roles, and permissions, through the UI and GraphQL API.
- Introduced a modal-based interface for creating and editing API keys
with improved role and permission selection.
- Added a new API Key Manager page and custom element for centralized
API key management.
- Enhanced API key listing with detailed views, role badges, permission
counters, and copy-to-clipboard functionality.
- Introduced reusable dialog components for consistent modal
experiences.
- Added plugin management capabilities with mutations to add or remove
plugins.
- Added comprehensive support for managing remote access, network URLs,
and API key updates within the GraphQL schema.

- **Bug Fixes**
- Improved error handling and display for API key creation and update
operations.

- **Refactor**
- Centralized API key modal and editing state management using a
dedicated store.
- Updated GraphQL queries and mutations to use reusable fragments for
API key data.
- Removed deprecated or redundant remote access and allowed origins
configuration components and queries.
- Simplified and updated input types for connect settings and remote
access.

- **Tests**
- Added comprehensive tests for API key update logic and improved
coverage for API key loading.

- **Chores**
- Updated configuration files and cleaned up unused schema and component
files.
  - Added new dialog components and centralized exports for dialogs.
- Improved ESLint configuration and import statements for better type
handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-18 11:18:36 -04:00
Pujit Mehrotra
d9ab58eb83 chore: require connect plugin to enable flash backup (#1419)
## Summary by CodeRabbit

- **New Features**
- Added a check to ensure the "unraid-api-plugin-connect" plugin is
enabled before allowing flash backup functionality.
- Introduced a utility to directly verify if specific API plugins are
enabled.

- **Refactor**
- Updated internal logic to use a centralized class and script-based
checks for plugin status and version instead of manual config parsing.
- Improved script command-line interface for easier plugin status and
version checks.

- **Bug Fixes**
- Flash Backup feature and service now only activate when the required
API plugin is enabled, preventing unintended usage.
- Flash Backup UI is conditionally displayed based on the presence of
the API plugin.
<!-- 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/1209357561531351
  - https://app.asana.com/0/0/1210541992642236
2025-06-18 10:20:59 -04:00
Pujit Mehrotra
642a220c3a feat: add graphql resource for API plugins (#1420)
Addresses #1350 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced a plugin management system, allowing users to view, add,
and remove plugins through the API.
- Added the ability to control plugin installation options, including
bundled installation and API restart behavior.

- **Removals**
- Removed all remote access, network, and cloud-related features and
settings from the API.

- **Improvements**
- Enhanced API queries and mutations to focus on plugin management and
metadata.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-16 14:18:13 -04:00
Michael Datelle
b6c4ee6eb4 feat: initialize claude code in codebse (#1418)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Added a comprehensive onboarding and contribution guide covering
project structure, development commands, architecture, workflows, and
coding/testing standards.
- **Chores**
  - Introduced a local settings file for configuration management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: mdatelle <mike@datelle.net>
2025-06-16 13:28:40 -04:00
Pujit Mehrotra
8c8a5276b4 fix: omit Connect actions in UPC when plugin is not installed (#1417)
Removes Connect branding in dropdown when connect plugin is not installed.

Preview of dropdown:
<img width="453" alt="image"
src="https://github.com/user-attachments/assets/b3ba3954-f2d3-4760-a1e2-91556eb43903"
/>

## Summary by CodeRabbit

- **New Features**
- The Notifications Sidebar is now always visible in the user profile,
regardless of plugin installation status.

- **Refactor**
  - Improved detection logic for the connect plugin to enhance accuracy.
- Centralized and standardized the "Settings" link in the user profile
dropdown for consistent user experience.
- The account status section in Connect Settings now only appears when
the connect plugin is installed.
- Updated the Connect page title from "Unraid Connect" to "Unraid API"
for clarity.

- **Chores**
- Extended linting to include Vue files for better code quality
enforcement.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-16 11:50:37 -04:00
Pujit Mehrotra
3dcbfbe489 feat: api plugin management via CLI (#1416)
implements unraid-api `plugins list`, `plugins install`, `plugins remove` commands via a new `DependencyService` that invokes npm.

## Summary by CodeRabbit

- **New Features**
- Enhanced plugin management with install, remove, and list commands
supporting bundled plugins and restart control.
- Added plugin persistence and configuration synchronization across API
settings and interfaces.
- Introduced dependency management service for streamlined npm
operations and vendor archive rebuilding.
- **Bug Fixes**
- Improved plugin listing accuracy with warnings for configured but
missing plugins.
- **Chores**
- Refactored CLI modules and services for unified plugin management and
dependency handling.
- Updated API configuration loading and persistence for better
separation of concerns.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-12 09:37:36 -04:00
Pujit Mehrotra
184b76de1c chore: include node_modules in api slackware package (#1415)
instead of vendoring & uploading separately.

## Summary by CodeRabbit

- **Chores**
- Updated build process to retain the `node_modules` directory, removing
compression and archiving steps.
- Improved plugin installation by cleaning up outdated dependency
archives before reinstalling, enhancing system stability.
- Removed vendor store file references and related bundling steps from
the plugin build and installation process.
- Enhanced dependency restoration during service start to log warnings
without aborting on failure.
- Simplified dependency management scripts by removing vendor store URL
handling and download functionality.
- Streamlined build workflows by removing artifact upload/download and
validation steps related to node modules archives.
- Updated Docker Compose configuration to remove unused volume mounts
for node modules archives.
- Added repository cleanup commands to remove top-level `node_modules`
directories and common build artifact folders for easier maintenance.
2025-06-11 12:07:32 -04:00
Pujit Mehrotra
c132f28281 chore: extract connect to an API plugin (#1367)
separates Unraid Connect from the API

## Summary by CodeRabbit

- **New Features**
- Introduced a unified, JSON-schema-based settings system for API
configuration and plugin settings, accessible via new GraphQL queries
and mutations.
- Added modular NestJS plugin architecture for Unraid Connect, including
new modules for cloud, remote access, and system/network management.
- Added granular connection and remote access state tracking, with new
GraphQL types and resolvers for cloud and connection status.
- Implemented event-driven and service-based management for SSO users,
API keys, and dynamic remote access.
- Enhanced UI components and queries to support unified settings and
restart detection.

- **Improvements**
- Refactored configuration and state management to use service-based
patterns, replacing direct store access and Redux logic.
- Migrated legacy config files to new JSON formats with validation and
persistence helpers.
- Centralized global dependencies and shared services for plugins and
CLI modules.
- Improved logging, error handling, and lifecycle management for
connections and background jobs.
- Updated and expanded documentation for plugin development and settings
management.

- **Bug Fixes**
- Improved handling of missing config files and ensured safe
persistence.
- Enhanced error reporting and validation in remote access and
connection services.

- **Removals**
- Removed deprecated Redux slices, listeners, and legacy cloud/remote
access logic.
- Deleted obsolete test files, scripts, and unused code related to the
old state/store approach.

- **Tests**
- Added new unit tests for settings merging, URL resolution, and cloud
connectivity checks.

- **Style**
- Applied consistent formatting, import reorganization, and code style
improvements across modules.

- **Chores**
- Updated build scripts, Dockerfiles, and development environment setup
to support new dependencies and workflows.
- Expanded .gitignore and configuration files for improved build
artifact management.
2025-06-10 15:16:26 -04:00
Eli Bosley
5517e7506b feat: add rclone (#1362)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced full RClone remote management with creation, deletion,
listing, and detailed remote info via a multi-step, schema-driven UI.
- Added guided configuration forms supporting advanced and
provider-specific options for RClone remotes.
  - Enabled flash backup initiation through API mutations.
- Added new Vue components for RClone configuration, overview, remote
item cards, and flash backup page.
- Integrated new combobox, stepped layout, control wrapper, label
renderer, and improved form renderers with enhanced validation and error
display.
- Added JSON Forms visibility composable and Unraid settings layout for
consistent UI rendering.

- **Bug Fixes**
- Standardized JSON scalar usage in Docker-related types, replacing
`JSONObject` with `JSON`.

- **Chores**
- Added utility scripts and helpers to manage rclone binary installation
and versioning.
- Updated build scripts and Storybook configuration for CSS handling and
improved developer workflow.
- Refactored ESLint config for modularity and enhanced code quality
enforcement.
- Improved component registration with runtime type checks and error
handling.

- **Documentation**
- Added extensive test coverage for RClone API service, JSON Forms
schema merging, and provider config slice generation.

- **Style**
- Improved UI consistency with new layouts, tooltips on select options,
password visibility toggles, and error handling components.
- Removed deprecated components and consolidated renderer registrations
for JSON Forms.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-05-27 07:52:25 -04:00
Eli Bosley
d37dc3bce2 feat: API key management (#1407)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added a full-featured API key management UI, including creation,
listing, and deletion of API keys with customizable roles and
permissions.
  - Introduced a new page for API key management.
- Accordion UI components are now available for enhanced interface
interactions.
  - API now provides queries for possible API key roles and permissions.

- **Improvements**
- API key-related mutations are now grouped under a single field,
improving organization and usability.
  - Permissions can be assigned directly to API keys, not just roles.

- **Bug Fixes**
- Validation updated to require at least one role or permission when
creating an API key.

- **Documentation**
- Updated and added rules and configuration documentation for code
generation and testing.

- **Tests**
- Added and updated tests for new API key mutation logic; removed
obsolete tests for deprecated mutations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 13:12:26 -04:00
Eli Bosley
83076bb940 fix: rc.unraid-api now cleans up older dependencies (#1404)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Added an option to clean up old dependency files, keeping only those
needed for the current API version.
- Introduced a direct cleanup command to remove outdated dependencies
before installing new ones.

- **Bug Fixes**
- Improved handling and messaging for missing or invalid dependency
information during cleanup operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 10:23:58 -04:00
Eli Bosley
7b005cbbf6 fix: node_modules dir removed on plugin update (#1406)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Chores**
- Improved installation process by automatically cleaning up old package
directories before installing or upgrading the package.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 09:22:59 -04:00
Eli Bosley
b625227913 fix: move to bigint scalar 2025-05-22 15:01:12 -04:00
Eli Bosley
e54d27aede fix: bigint 2025-05-22 14:59:37 -04:00
Eli Bosley
574d572d65 feat: use bigint instead of long (#1403)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Improved support for large integer values in the API, allowing
accurate handling of big numbers in GraphQL queries and responses.
- **Bug Fixes**
- Enhanced reliability when dealing with very large numeric fields,
reducing the risk of data loss or inaccuracies for disk, share, and
memory statistics.
- **Chores**
	- Updated internal dependencies to improve handling of big integers.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 13:42:36 -04:00
Eli Bosley
5355115af2 fix: simplify usb listing (#1402)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Refactor**
- Improved USB device detection for increased reliability and
performance.
- Device names are now displayed based on basic device information, with
unnamed devices labeled appropriately.
	- GUID generation for devices is simplified and more robust.

<!-- 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/1210189043307638
2025-05-22 13:42:26 -04:00
Eli Bosley
881f1e0960 feat: slightly better watch mode (#1398)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added a script to automatically prepare UI components before running
the build watch process in the web app.
- **Bug Fixes**
- Improved build and release processes to ensure directories are
properly cleaned and created, preventing potential errors during Docker
operations.
- **Chores**
- Updated build watch scripts for faster development feedback and more
efficient parallel execution.
- Refined Docker Compose configuration to use the correct release
directory for plugin builds.
- Introduced a new script to streamline and centralize file watching and
build triggering in the plugin system.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 13:42:08 -04:00
Eli Bosley
7067e9e3dd fix: proper fallback if missing paths config modules 2025-05-22 09:40:36 -04:00
Eli Bosley
f71943b62b feat: send active unraid theme to docs (#1400)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- The changelog modal now automatically syncs its theme (dark or light
mode) with the rest of the application.
- Added a new test button to preview the changelog from a localhost URL.
- **Improvements**
- Enhanced navigation handling within the embedded changelog, ensuring
only allowed links are followed.
- Improved communication between the modal and its embedded content for
a more seamless user experience.
- Updated the app layout to better support light and dark themes with
consistent background and text colors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 16:35:30 -04:00
Eli Bosley
9ce2fee380 fix: use some instead of every for connect detection 2025-05-21 10:32:21 -04:00
Eli Bosley
7d88b3393c fix: do not start API with doinst.sh 2025-05-20 17:42:49 -04:00