From 8cba9b8b6ceef56fe3390cb73b242d6a6c13cd93 Mon Sep 17 00:00:00 2001 From: Amir Bredy Date: Wed, 28 Oct 2026 01:08:10 -0400 Subject: [PATCH 1/2] chore(release): prepare Windows and Linux 0.3.104 Package the merged security and customer-documentation changes as the next experimental prerelease. Synchronize package/lock metadata, customer download links, supported versions and release notes without changing the dependency graph or product behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b57352bc-2fa6-4f21-bf28-d72b093d3c10 --- AGENTS.md | 15 +++--- CHANGELOG.md | 72 +++++++++-------------------- INSTALL.md | 12 ++--- README.md | 8 ++-- SECURITY.md | 4 +- apps/desktop/PACKAGING.md | 2 +- apps/desktop/package.json | 2 +- docs/src/changelog.md | 50 ++++++-------------- docs/src/introduction.md | 4 +- docs/src/operations/ci.md | 14 +++--- docs/src/quick-start/install-run.md | 4 +- package-lock.json | 6 +-- package.json | 2 +- scripts/customer-docs.test.mjs | 4 +- scripts/release-metadata.test.mjs | 4 +- 15 files changed, 77 insertions(+), 126 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index cf7a674..d75f8a3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,16 +15,17 @@ The renderer is built with Vite and routes through a typed IPC bridge (`window.c ### Current repository snapshot -The following release references were verified on 2026-08-06: +The following release lines were prepared on 2026-10-28. GitHub release +pages are authoritative for publication and asset status: | Line | Reference | State | |---|---|---| -| `main` | `v0.3.103` | Current Windows/Linux release. All 12 Windows Server role baselines pass native Azure Audit and ApplyAndAutoCorrect with OSConfig 1.4.3. | -| `mac-author-build` | `mac-v0.3.101-author.1` | Current author-only macOS release, published as a prerelease with the compatible baseline, authoring, packaging, and security fixes. | +| `main` | `v0.3.104` | Windows/Linux maintenance release with dependency security and customer-documentation updates. Historical baseline validation is recorded in the changelog. | +| `mac-author-build` | `mac-v0.3.104-author.1` | Current author-only macOS release, published as a prerelease with the compatible baseline, authoring, packaging, and security fixes. | On `mac-author-build`, the root package, desktop package, and lockfile records -use `0.3.101-author.1`. The current macOS Author release is -`mac-v0.3.101-author.1`. The Full-edition package versions are `0.3.103`; do not copy +use `0.3.104-author.1`. The current macOS Author release is +`mac-v0.3.104-author.1`. The Full-edition package versions are `0.3.104`; do not copy macOS package metadata to `main`. ### Current feature inventory @@ -448,9 +449,9 @@ When touching IPC contracts or `packages/core/src/handlers/`, exercise the chann errors, the desktop build, and a production audit with 0 vulnerabilities. - Historical `0.3.93-author.1` and `0.3.93-author.2` validation records are superseded; their tags/releases no longer exist. Use the current - `mac-v0.3.101-author.1` prerelease metadata and current GitHub + `mac-v0.3.104-author.1` prerelease metadata and current GitHub checks as the authority for macOS Author build and asset status. -- The current macOS Author release is `mac-v0.3.101-author.1`. Use current +- The current macOS Author release is `mac-v0.3.104-author.1`. Use current GitHub checks and release metadata as the authority for build and asset status rather than recording a merge SHA or workflow run here. diff --git a/CHANGELOG.md b/CHANGELOG.md index 96dcc47..cd37fb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # Changelog +## [0.3.104] - 2026-10-28 + +### Changed + +- Simplify installation and the first-baseline walkthrough. Keep advanced + deployment and packaging optional, and distinguish benchmark coverage, + device Audit, and exported Audit Packs. ([#142](https://github.com/Azure/ConfigForge/pull/142)) +- Document **Microsoft.OSConfig PowerShell module 1.4.10+** on the machine + creating Machine Configuration packages, separately from PowerShell 7. + Preserve exact installed-module binding and Audit-first validation. + This does not claim that every upstream baseline issue is resolved. + +### Security + +- Update Electron to 42.11.3 and ship the merged dependency fixes, including + DOMPurify 3.4.16 and js-yaml 4.3.2, without changing application workflows. + ([#131](https://github.com/Azure/ConfigForge/pull/131), + [#140](https://github.com/Azure/ConfigForge/pull/140)) +- Preserve package-integrity and public-asset safeguards. The release includes + per-platform SHA-256 manifests and CycloneDX software bills of materials. + Development-only advisories remain tracked separately; no clean full-audit + claim or advisory suppression is implied. + ## [0.3.103] - 2026-08-09 ### Fixed @@ -26,55 +49,6 @@ "could not read" solely because the CLI returned `[resource]` rather than `resource`. -## [Unreleased] - -### Documentation - -- Lead the README and documentation site with release downloads, edition - selection, and a first saved baseline without CLI, admin access, or Azure. - Keep advanced packaging and contributor references available without making - them prerequisites; clarify unsigned-download risks and report terminology. -- Require the **Microsoft.OSConfig PowerShell module 1.4.10+** on the machine - creating Machine Configuration packages, separately from PowerShell 7 and - GuestConfiguration. Centralize Audit-first packaging, reject missing/older - modules before MOF version resolution, preserve exact-version binding and - immutable ZIP/hash guidance, and label the 1.4.3 patch helper historical. - This does not claim that all upstream baseline issues are resolved. - -### Security - -- Update DOMPurify to 3.4.16, Axios to 1.20.0, ip-address to 10.7.2, - all supported brace-expansion lines, and both Undici lines for current - Dependabot advisories. Guard every resolved copy against regression. -- Patch additional full-audit findings in sharp, fast-uri, joi, and - source-map-js without changing the application's version or framework majors. -- Update http-cache-semantics to 4.3.0, outside the reported affected range, - and override the vulnerable CSS selector parser with 7.1.6+. Preserve - Tailwind 3 and cover its generated variants and child selectors in a - compatibility regression test. -- Update concurrently to 9.2.5 and its shell-quote dependency to 1.12.0. - Correct the root override that otherwise keeps the vulnerable 1.9.0 - shell-quote copy despite the parent-package update. -- Refresh the SHA-pinned setup-node and upload-artifact GitHub Actions. -- Keep the unpatched build-only braces (`GHSA-vfj7-8cjw-p6xm`) and - sprintf-js (`GHSA-hp3w-g68c-fv3c`) advisories visible. Neither upstream - package has a patched release; no advisory is suppressed or dismissed. -- Upgrade the pinned CycloneDX SBOM generator to 6.0.0 to fix Windows - workspace-argument shell injection (`GHSA-q69g-4hcv-6jg4`). Guard the - manifest and every lockfile copy against reintroducing a vulnerable release. -- Require `@xmldom/xmldom` 0.8.15 or later in the 0.8 line for Electron - packaging dependencies. This addresses the XML injection, malformed-input, - and quadratic-time parsing advisories affecting the previous 0.8.13 copy. - Add a regression guard covering every resolved copy in the lockfile. -- Update Electron within the 42.x line to 42.11.3. Its installation tooling - uses Electron's maintained ZIP extractor instead of the unpatched - `extract-zip` package, removing the vulnerable dependency rather than - dismissing its symlink-write advisory (`GHSA-7pqw-9j4j-h8q3`). -- Update the existing `brace-expansion` overrides to 1.1.18, 2.1.4, and - 5.0.9, and require `nanoid` 3.3.18+ in the 3.x line. These address the - unbounded-expansion and zero-size generator denial-of-service advisories - found by a full development-and-production dependency audit. - ## [0.3.101] - 2026-08-07 ### Security diff --git a/INSTALL.md b/INSTALL.md index 7dade40..0ad894f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -15,9 +15,9 @@ ConfigForge has two editions: and Audit Pack export are available. Device Deploy, Audit, and Revert are intentionally omitted. -The current Windows/Linux release is `v0.3.103`. The current macOS Author -release is `mac-v0.3.101-author.1`; both are published as prereleases. The -package versions are `0.3.103` for the Full edition and `0.3.101-author.1` +The current Windows/Linux release is `v0.3.104`. The current macOS Author +release is `mac-v0.3.104-author.1`; both are published as prereleases. The +package versions are `0.3.104` for the Full edition and `0.3.104-author.1` for the macOS Author edition. ConfigForge does **not** bundle the OSConfig CLI. To use the Full edition's Deploy, Audit, or Revert features against a real Windows or Linux machine, install `oscfg` separately from its upstream source. @@ -30,8 +30,8 @@ CLI state so you can switch to device operations after installing the CLI. ## Install the desktop app 1. Open the [ConfigForge releases](https://github.com/Azure/ConfigForge/releases) - page. Choose **Full v0.3.103** for Windows/Linux x64 or - **Author mac-v0.3.101-author.1** for Apple Silicon macOS. Expand **Assets** + page. Choose **Full v0.3.104** for Windows/Linux x64 or + **Author mac-v0.3.104-author.1** for Apple Silicon macOS. Expand **Assets** and download the appropriate installer/archive and published checksum manifest. Source-code archives are for contributors, not app installers. 2. Compare the download's SHA-256 with its entry in the release checksum @@ -182,7 +182,7 @@ later). The release contains an ARM64-only binary. It is not an x64 or universal build and does not support Intel Macs. Rosetta does not provide ARM64-on-Intel compatibility. -The current macOS Author release is `mac-v0.3.101-author.1`, published as a +The current macOS Author release is `mac-v0.3.104-author.1`, published as a prerelease on the [Azure/ConfigForge releases](https://github.com/Azure/ConfigForge/releases) page. Users can also build the tagged source from the repository. diff --git a/README.md b/README.md index 6f78593..6b7f13d 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,11 @@ subscription is needed for authoring. | Your computer | Download | What you can do | | --- | --- | --- | -| Windows or Linux (x64) | **Full** — [v0.3.103](https://github.com/Azure/ConfigForge/releases/tag/v0.3.103) | Author, validate, compare, and export. Optional local Deploy, Audit, and Revert require the separately installed `oscfg` CLI. | -| macOS on Apple Silicon (M1 or later) | **Author** — [mac-v0.3.101-author.1](https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.101-author.1) | The same authoring and review workflows, including Audit Pack export; no device operations. ARM64 only—not Intel or universal. | +| Windows or Linux (x64) | **Full** — [v0.3.104](https://github.com/Azure/ConfigForge/releases/tag/v0.3.104) | Author, validate, compare, and export. Optional local Deploy, Audit, and Revert require the separately installed `oscfg` CLI. | +| macOS on Apple Silicon (M1 or later) | **Author** — [mac-v0.3.104-author.1](https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.104-author.1) | The same authoring and review workflows, including Audit Pack export; no device operations. ARM64 only—not Intel or universal. | -Both releases are **prereleases**. Full-edition package versions are `0.3.103`; -the macOS Author package version is `0.3.101-author.1`. +Both releases are **prereleases**. Full-edition package versions are `0.3.104`; +the macOS Author package version is `0.3.104-author.1`. **Downloads are unsigned; macOS builds are also not notarized.** Download only from this repository's release page, compare the asset's SHA-256 with the diff --git a/SECURITY.md b/SECURITY.md index 13ce309..ff8d8ce 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,8 +6,8 @@ Security fixes are evaluated for the current tagged source lines. | Edition | Current version | Security updates | | --- | --- | --- | -| Full edition for Windows and Linux | `v0.3.103` | Supported published prerelease | -| macOS Author edition | `mac-v0.3.101-author.1` | Supported published prerelease | +| Full edition for Windows and Linux | `v0.3.104` | Supported published prerelease | +| macOS Author edition | `mac-v0.3.104-author.1` | Supported published prerelease | | Older versions | Earlier tags | Not supported | ## Security scope diff --git a/apps/desktop/PACKAGING.md b/apps/desktop/PACKAGING.md index 87430ba..d9e9238 100644 --- a/apps/desktop/PACKAGING.md +++ b/apps/desktop/PACKAGING.md @@ -9,7 +9,7 @@ > flavor lives on the `mac-author-build` branch and uses its own > `electron-builder.author.yml`. > -> **Current through v0.3.103:** the release pipeline generates a +> **Current through v0.3.104:** the release pipeline generates a > CycloneDX SBOM per platform, enforces > `npm audit --omit=dev --audit-level=high` as a release gate, > pins `electron-builder` invocation via `npx --no-install`, and diff --git a/apps/desktop/package.json b/apps/desktop/package.json index d302942..7b2a7c0 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@configforge/desktop", - "version": "0.3.103", + "version": "0.3.104", "private": true, "description": "ConfigForge \u2014 OSConfig Baseline Editing tool", "main": "./dist/electron/main.js", diff --git a/docs/src/changelog.md b/docs/src/changelog.md index 409d9fe..d32d73d 100644 --- a/docs/src/changelog.md +++ b/docs/src/changelog.md @@ -4,43 +4,19 @@ A concise release history for ConfigForge. Newer entries use their release tags and state publication status explicitly; older entries summarize the foundational work by theme. -## Unreleased - -- **Clearer getting started:** Download the correct Full or Apple Silicon - Author edition, save a first baseline without CLI/admin/Azure prerequisites, - and choose optional comparison, reporting, device, or packaging workflows. - Keep technical references available under contributor navigation and explain - unsigned-download risks, Audit Pack vs device Audit, and benchmark coverage. -- **Machine Configuration prerequisites:** Package with the **Microsoft.OSConfig - PowerShell module 1.4.10+**, separate from the PowerShell 7 runtime and - GuestConfiguration toolkit. The canonical Audit-first guide rejects missing - or older modules before resolving the MOF, keeps exact-version/immutable-ZIP - requirements, and excludes the historical 1.4.3 patch from current guidance. - The minimum version is not a statement that all upstream issues are fixed. -- **Dependency security:** Update DOMPurify, Axios, ip-address, - every supported brace-expansion and Undici line, and concurrently to - patched releases. Also patch sharp, fast-uri, joi, and source-map-js - findings uncovered by the full dependency audit. - Correct the root shell-quote override so the vulnerable copy is not - retained, and add lockfile regression coverage. -- **Cache and CSS tooling:** Update http-cache-semantics beyond the reported - affected range and use a patched CSS selector parser without upgrading - Tailwind 3. Cover compiled variant and child-selector compatibility. -- **CI dependencies:** Refresh the SHA-pinned setup-node and upload-artifact - GitHub Actions. -- **Remaining upstream advisories:** Build-only braces and sprintf-js have - no patched releases. Their advisories remain visible without suppression. -- **SBOM tooling security:** Pin CycloneDX npm 6.0.0 to address - `GHSA-q69g-4hcv-6jg4`, with regression coverage for resolved versions. -- **Build dependency security:** Require patched `@xmldom/xmldom` 0.8.15+ - within the 0.8 line for Electron packaging tools, with a lockfile guard - against reintroducing vulnerable copies. -- **Electron installation security:** Update to Electron 42.11.3, whose - maintained ZIP extractor replaces the vulnerable legacy `extract-zip` - dependency. -- **Build dependency hardening:** Update all supported `brace-expansion` - lines and `nanoid` 3.x to patched releases for denial-of-service advisories - found by the full dependency audit. +## v0.3.104 - 2026-10-28 + +- **Security maintenance:** Ship the merged dependency updates, including + Electron 42.11.3, DOMPurify 3.4.16, and js-yaml 4.3.2. +- **Simpler onboarding:** Start with the correct download and a first saved + baseline. Advanced deployment, benchmark, and packaging workflows remain + optional; distinguish coverage, device Audit, and Audit Pack reports. +- **Machine Configuration packages:** Use the Microsoft.OSConfig PowerShell + module **1.4.10+** on the packaging machine, separately from PowerShell 7. + Keep exact-version binding and Audit-first validation. +- **Release scope:** Windows/Linux Full and Apple Silicon macOS Author remain + separate experimental, unsigned prereleases. The Author edition does not + perform device operations. ## v0.3.103 - 2026-08-09 diff --git a/docs/src/introduction.md b/docs/src/introduction.md index 61bf3c1..77d4ed7 100644 --- a/docs/src/introduction.md +++ b/docs/src/introduction.md @@ -65,9 +65,9 @@ Review their timestamps, scope, and any unread or unavailable settings. | macOS on Apple Silicon (M1 or later) | **Author** | Authoring, Diff, Benchmark Mapping, history, rationale, and Audit Pack export; no device operations | The current Windows/Linux release is -[v0.3.103](https://github.com/Azure/ConfigForge/releases/tag/v0.3.103). +[v0.3.104](https://github.com/Azure/ConfigForge/releases/tag/v0.3.104). The current macOS Author release is -[mac-v0.3.101-author.1](https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.101-author.1). +[mac-v0.3.104-author.1](https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.104-author.1). Both are prereleases and unsigned; macOS is not notarized. Intel Macs and universal binaries are not supported. Read the [download and installation guidance](./quick-start/install-run.md) first. diff --git a/docs/src/operations/ci.md b/docs/src/operations/ci.md index 0eec2db..2f1ef00 100644 --- a/docs/src/operations/ci.md +++ b/docs/src/operations/ci.md @@ -13,7 +13,7 @@ ConfigForge uses GitHub Actions from `.github/workflows/`. The product is an Ele The Win/Linux Release workflow intentionally ignores hyphen-suffix tags (`!v*-*`). macOS Author releases use separate tags such as -`mac-v0.3.101-author.1`; dispatch the protected `main` workflow definition +`mac-v0.3.104-author.1`; dispatch the protected `main` workflow definition manually and let its checkout step select the immutable macOS tag. ## What `pr-check.yml` runs @@ -35,7 +35,7 @@ files; main PR #76 then passed its full suite plus 32 focused nested-navigation tests. Mac port PR #77 passed 79 focused tests and two isolated Playwright scenarios. Historical `0.3.93-author.1` and `0.3.93-author.2` validation records are superseded; their tags and releases no longer exist. The current -macOS Author release is `mac-v0.3.101-author.1`, published as a prerelease. +macOS Author release is `mac-v0.3.104-author.1`, published as a prerelease. Use its current GitHub checks and release metadata as the authority rather than pinning a workflow run in this document. @@ -76,7 +76,7 @@ the immutable macOS tag: gh workflow run "Release (macOS author)" \ --repo Azure/ConfigForge \ --ref main \ - -f release_tag=mac-v0.3.101-author.1 + -f release_tag=mac-v0.3.104-author.1 ``` The target draft release and tag must already exist. The workflow loads its @@ -84,16 +84,16 @@ definition from `main`, checks out `release_tag`, verifies that `HEAD` resolves to the tag, checks that tagged tree with the dependency-free public-asset guard from protected `main`, then builds with `electron-builder.author.yml`. -The `mac-v0.3.101-author.1` release contract expects exactly these assets: +The `mac-v0.3.104-author.1` release contract expects exactly these assets: -1. `ConfigForge-Author-0.3.101-author.1-mac-arm64.dmg` -2. `ConfigForge-Author-0.3.101-author.1-mac-arm64.dmg.blockmap` +1. `ConfigForge-Author-0.3.104-author.1-mac-arm64.dmg` +2. `ConfigForge-Author-0.3.104-author.1-mac-arm64.dmg.blockmap` 3. `latest-mac.yml` 4. `sbom-macos-author.cdx.json` 5. `SHA256SUMS-macos-author.txt` The workflow refuses a published release and never publishes automatically. -For `mac-v0.3.101-author.1`, use the current GitHub checks and published +For `mac-v0.3.104-author.1`, use the current GitHub checks and published prerelease as the authority for actual build and asset status. ## Linux runner notes diff --git a/docs/src/quick-start/install-run.md b/docs/src/quick-start/install-run.md index f830ecc..ce8203b 100644 --- a/docs/src/quick-start/install-run.md +++ b/docs/src/quick-start/install-run.md @@ -13,8 +13,8 @@ managed computer. | Your computer | Edition and download | Capabilities | | --- | --- | --- | -| Windows/Linux x64 | [Full v0.3.103](https://github.com/Azure/ConfigForge/releases/tag/v0.3.103) | Authoring and review; optional CLI-based local device operations | -| macOS, Apple Silicon (M1 or later) | [Author mac-v0.3.101-author.1](https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.101-author.1) | Authoring and review, including Audit Pack export; no device operations | +| Windows/Linux x64 | [Full v0.3.104](https://github.com/Azure/ConfigForge/releases/tag/v0.3.104) | Authoring and review; optional CLI-based local device operations | +| macOS, Apple Silicon (M1 or later) | [Author mac-v0.3.104-author.1](https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.104-author.1) | Authoring and review, including Audit Pack export; no device operations | Both are prereleases. macOS is ARM64-only: Intel Macs and universal binaries are not supported. diff --git a/package-lock.json b/package-lock.json index e6e27f6..cd3440d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "configforge", - "version": "0.3.103", + "version": "0.3.104", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "configforge", - "version": "0.3.103", + "version": "0.3.104", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -34,7 +34,7 @@ }, "apps/desktop": { "name": "@configforge/desktop", - "version": "0.3.103", + "version": "0.3.104", "license": "MIT", "dependencies": { "@fluentui/react-components": "^9.73.8", diff --git a/package.json b/package.json index c502637..2fe308d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "configforge", - "version": "0.3.103", + "version": "0.3.104", "private": true, "license": "MIT", "description": "ConfigForge \u2014 Cross-platform Electron desktop app for OSConfig security baseline authoring", diff --git a/scripts/customer-docs.test.mjs b/scripts/customer-docs.test.mjs index 49aef54..f24c3bc 100644 --- a/scripts/customer-docs.test.mjs +++ b/scripts/customer-docs.test.mjs @@ -20,8 +20,8 @@ describe('customer documentation contracts', () => { expect(readme).toContain('not intended for'); expect(readme).toContain('production use'); expect(readme).toContain('not an officially supported Microsoft product'); - expect(readme).toContain('https://github.com/Azure/ConfigForge/releases/tag/v0.3.103'); - expect(readme).toContain('https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.101-author.1'); + expect(readme).toContain('https://github.com/Azure/ConfigForge/releases/tag/v0.3.104'); + expect(readme).toContain('https://github.com/Azure/ConfigForge/releases/tag/mac-v0.3.104-author.1'); expect(readme).not.toContain('mac-v0.3.97-author.1'); }); diff --git a/scripts/release-metadata.test.mjs b/scripts/release-metadata.test.mjs index a1ddd88..3ed2170 100644 --- a/scripts/release-metadata.test.mjs +++ b/scripts/release-metadata.test.mjs @@ -381,8 +381,8 @@ describe('public release metadata', () => { expect(contributing).toContain('creates immutable release tags and draft'); expect(support).toContain('The current repository maintainer is'); expect(readme).toContain('for ownership, active-branch, review, release, and cherry-pick guidance'); - expect(security).toContain('v0.3.103'); - expect(security).toContain('mac-v0.3.101-author.1'); + expect(security).toContain('v0.3.104'); + expect(security).toContain('mac-v0.3.104-author.1'); expect(security).toContain('Microsoft Security Response Center'); expect(security).toContain('Microsoft OSConfig project'); expect(support).toContain('best-effort basis'); From a5b08a4868668364e7e800fe92c4fba2c3c74e91 Mon Sep 17 00:00:00 2001 From: Amir Bredy Date: Wed, 28 Oct 2026 01:29:51 -0400 Subject: [PATCH 2/2] fix(release): patch newly disclosed runtime and tooling advisories Require patched DOMPurify, Electron42, Vite6 and Vitest4 and refresh the affected redirect/URI/address dependency families. Hosted npm10 regeneration, clean install, production tree validation and full/production audits pass with zero findings. Preserve all 78 native variants and guard every resolved security version. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b57352bc-2fa6-4f21-bf28-d72b093d3c10 --- CHANGELOG.md | 7 +- apps/desktop/package.json | 4 +- docs/src/changelog.md | 3 +- package-lock.json | 448 ++++++++++++++++-------------- package.json | 10 +- scripts/release-metadata.test.mjs | 15 +- 6 files changed, 260 insertions(+), 227 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd37fb1..784cf5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,10 +14,13 @@ ### Security -- Update Electron to 42.11.3 and ship the merged dependency fixes, including - DOMPurify 3.4.16 and js-yaml 4.3.2, without changing application workflows. +- Update Electron to 42.11.18 and ship the dependency fixes, including + DOMPurify 3.4.17 and js-yaml 4.3.2, without changing application workflows. ([#131](https://github.com/Azure/ConfigForge/pull/131), [#140](https://github.com/Azure/ConfigForge/pull/140)) +- Resolve the release-blocking DOMPurify advisories and Electron certificate + mitigations. Patch affected Vitest, Vite, redirect, URI, and address-parser + dependencies, with regression guards for every resolved copy. - Preserve package-integrity and public-asset safeguards. The release includes per-platform SHA-256 manifests and CycloneDX software bills of materials. Development-only advisories remain tracked separately; no clean full-audit diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 7b2a7c0..49e217a 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -52,7 +52,7 @@ "autoprefixer": "^10.5.0", "concurrently": "^9.2.5", "cross-env": "^7.0.3", - "electron": "~42.11.3", + "electron": "~42.11.16", "electron-builder": "~26.15.3", "esbuild": "^0.28.1", "eslint": "^8.57.1", @@ -64,7 +64,7 @@ "sharp": "0.35.5", "tailwindcss": "^3.4.19", "typescript": "^5.7.3", - "vite": "^6.4.3", + "vite": "^6.4.4", "wait-on": "^8.0.2" } } diff --git a/docs/src/changelog.md b/docs/src/changelog.md index d32d73d..980c620 100644 --- a/docs/src/changelog.md +++ b/docs/src/changelog.md @@ -7,7 +7,8 @@ foundational work by theme. ## v0.3.104 - 2026-10-28 - **Security maintenance:** Ship the merged dependency updates, including - Electron 42.11.3, DOMPurify 3.4.16, and js-yaml 4.3.2. + Electron 42.11.18, DOMPurify 3.4.17, and js-yaml 4.3.2. Resolve the new + sanitizer and Electron certificate advisories before publishing. - **Simpler onboarding:** Start with the correct download and a first saved baseline. Advanced deployment, benchmark, and packaging workflows remain optional; distinguish coverage, device Audit, and Audit Pack reports. diff --git a/package-lock.json b/package-lock.json index cd3440d..be3fcff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,12 +20,12 @@ "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/node": "^22.10.5", - "dompurify": "^3.4.16", + "dompurify": "^3.4.17", "eslint-config-prettier": "10.1.8", "jsdom": "^29.1.1", "prettier": "3.8.3", "typescript": "^5.7.3", - "vitest": "^4.1.11" + "vitest": "^4.1.12" }, "engines": { "node": ">=22.12.0 <23.0.0 || >=24.0.0 <25.0.0", @@ -62,7 +62,7 @@ "autoprefixer": "^10.5.0", "concurrently": "^9.2.5", "cross-env": "^7.0.3", - "electron": "~42.11.3", + "electron": "~42.11.16", "electron-builder": "~26.15.3", "esbuild": "^0.28.1", "eslint": "^8.57.1", @@ -74,7 +74,7 @@ "sharp": "0.35.5", "tailwindcss": "^3.4.19", "typescript": "^5.7.3", - "vite": "^6.4.3", + "vite": "^6.4.4", "wait-on": "^8.0.2" } }, @@ -1107,6 +1107,25 @@ "util-deprecate": "~1.0.1" } }, + "apps/desktop/node_modules/electron": { + "version": "42.11.18", + "resolved": "https://registry.npmjs.org/electron/-/electron-42.11.18.tgz", + "integrity": "sha512-hbzodG06x/l7uq+oeyob5ugv6qZBmJRWC7Uto5QEE99xSHUARz6d+++Rz+79T/ssTYTQkONW4ciTTcJuAbXKIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@electron-internal/extract-zip": "^1.0.1", + "@electron/get": "^5.0.0", + "@types/node": "^24.9.0" + }, + "bin": { + "electron": "cli.js", + "install-electron": "install.js" + }, + "engines": { + "node": ">= 22.12.0" + } + }, "apps/desktop/node_modules/electron-builder": { "version": "26.15.3", "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.15.3.tgz", @@ -1164,6 +1183,16 @@ "mime": "^2.5.2" } }, + "apps/desktop/node_modules/electron/node_modules/@types/node": { + "version": "24.19.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.19.2.tgz", + "integrity": "sha512-93d49wCWJkCyN87MxLpNN6KXPCwFw7bVUg79mGUV1OS40JGWwVCr8n61DXCSqz7CV6/VfPkb7xec7uP2M+QHWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, "apps/desktop/node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -1499,6 +1528,13 @@ "node": ">=18.17" } }, + "apps/desktop/node_modules/undici-types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", + "dev": true, + "license": "MIT" + }, "apps/desktop/node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -5085,6 +5121,23 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, "node_modules/@noble/ciphers": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", @@ -5300,9 +5353,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.3.tgz", - "integrity": "sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.65.1.tgz", + "integrity": "sha512-5coxNSjqOI2J3NkVhlp3u+zGcyjnowQFsU9sg7MMz4UPXY4Dv63kFGLt7ConXz9CNq2i0yuOJZAF/2RMrgI2OA==", "cpu": [ "arm" ], @@ -5314,9 +5367,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.3.tgz", - "integrity": "sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.65.1.tgz", + "integrity": "sha512-K0HFf6XMB3IYs+jDZ1/RRhZaVOwxNXrl0n4MDEyGDjuK7+B6K/nDJp8DCBitO3S1sK/fzNxAf9QZAny4AIUPtg==", "cpu": [ "arm64" ], @@ -5328,9 +5381,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.3.tgz", - "integrity": "sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.65.1.tgz", + "integrity": "sha512-zkZrXYwNlIcSUmcwY2DpsaDHr0XjVUeQHCuSunG3eQD7/5Wn/DvI7OMUE8NRRweK87yG8ebJ1xGOzmwpMsbZQA==", "cpu": [ "arm64" ], @@ -5342,9 +5395,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.3.tgz", - "integrity": "sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.65.1.tgz", + "integrity": "sha512-Zaed+R3cpkkA3aiNd7NO0GV5KFh/LVf8j6bGcoRdpoXkSm/mWH8M0oX2/3u/nyGcx/bHEovD9CzX+w9/gcpI4A==", "cpu": [ "x64" ], @@ -5356,9 +5409,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.3.tgz", - "integrity": "sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.65.1.tgz", + "integrity": "sha512-h12p3WJWhyJ9kir0zqAPr0rKNmBzOWIjoaOMT9OULs9KZQZCeOMKd+mGSvERjd9VxJYShd3zIxtrVxkYz6BEVA==", "cpu": [ "arm64" ], @@ -5370,9 +5423,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.3.tgz", - "integrity": "sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.65.1.tgz", + "integrity": "sha512-yRBwh/5imKY4DydDulVtrjy8Jf7h7NQJUqZbgmZ3zFsCD9QqlnWvZ7RtEF+ecO1b+IukKjXlu5Bb9fehV3tIbg==", "cpu": [ "x64" ], @@ -5384,9 +5437,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.3.tgz", - "integrity": "sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.65.1.tgz", + "integrity": "sha512-1XuPiWYYaLE1UDOqhbKVOfsqxvfmFS/lYPSk92U1hEX1qRfSYH0hNeAlbxFIgjp4d6+YQmL95EPRgdvjbZEddA==", "cpu": [ "arm" ], @@ -5398,9 +5451,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.3.tgz", - "integrity": "sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.65.1.tgz", + "integrity": "sha512-Y3C5e55Yrf6p2r5rBcc4P9hFWVNi6oqWy/53I/AyCJJGlp3KRSpTP8eoUmVntchTbEnhgBgAgLO9flj9AvOdUw==", "cpu": [ "arm" ], @@ -5412,9 +5465,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.3.tgz", - "integrity": "sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.65.1.tgz", + "integrity": "sha512-Itj6coSswkYPIcVLczObXmwdplHNQQxyfnK1ppBg4czDaX8RiEzLKqU7EMc64BiBuiDZEUS+M93ktM18rv5llw==", "cpu": [ "arm64" ], @@ -5426,9 +5479,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.3.tgz", - "integrity": "sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.65.1.tgz", + "integrity": "sha512-KeO8jTEqdrnhvcahufbimyMoI44vedRUp1bVz2QUnRX2vDm/hxzCPt5F8fERVD5fsHyTW/vXmCElT054VOSVOA==", "cpu": [ "arm64" ], @@ -5440,9 +5493,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.3.tgz", - "integrity": "sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.65.1.tgz", + "integrity": "sha512-dDOz5VZZ+ZGnglpmET6VJefamWXFsgaVtuhSClf2/URZBp048jprD6z1hddsIMN6n1w+oUzGZEBp9u6Mlszsfg==", "cpu": [ "loong64" ], @@ -5454,9 +5507,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.3.tgz", - "integrity": "sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.65.1.tgz", + "integrity": "sha512-JbfRKz8nJCuo8gn1Dqx8lQWEHw4qhZ3uRaHphw5vrSjnSptJTKTRC/bLKHh8QQMsEnhL4uq+bdg3tkiXbJ2q/A==", "cpu": [ "loong64" ], @@ -5468,9 +5521,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.3.tgz", - "integrity": "sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.65.1.tgz", + "integrity": "sha512-3oQpe1q0emSeCAssVHMQdOz5fz3PBH5my/Fr0ZekV2UMNL4ZiRa1ciikYlGQXyDkeqseYYv1InwOY8YPqY7RIQ==", "cpu": [ "ppc64" ], @@ -5482,9 +5535,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.3.tgz", - "integrity": "sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.65.1.tgz", + "integrity": "sha512-nNV3HHi23o1LtpGGwH+Bav4hqnc4+klQtC96tSvCfvql8bLlNFTnTFiGl/jai2nve3eEr/vT2ocuyf+h+eMnYQ==", "cpu": [ "ppc64" ], @@ -5496,9 +5549,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.3.tgz", - "integrity": "sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.65.1.tgz", + "integrity": "sha512-b5zab0FryBxuocuDeqOsYGAg2EzjKw4mKA6LjQXCyewXjGv/BXqACBsY2cO45xM4hV2weYtdjGThP2VB2ByAYg==", "cpu": [ "riscv64" ], @@ -5510,9 +5563,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.3.tgz", - "integrity": "sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.65.1.tgz", + "integrity": "sha512-Rh08xZakiUxKNgI3hbgH9mivlx478lSqckS9s+Oc3/TX1VrAH3W8z/5wpJXR/v5VjqcJ/jJNVBg64PU1+iQsTQ==", "cpu": [ "riscv64" ], @@ -5524,9 +5577,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.3.tgz", - "integrity": "sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.65.1.tgz", + "integrity": "sha512-qDgtS6juN3/k97y4kcD6XLFpXEo4f6CnG8lTOGYwlhrUYTrMyhN0WHdZCPAW5rqS0MqQG7qI7dxnjugt6QB39Q==", "cpu": [ "s390x" ], @@ -5538,9 +5591,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.3.tgz", - "integrity": "sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.65.1.tgz", + "integrity": "sha512-44IKzBPqXXVm0kt1O+F5eW4juR5FyIxGNlFkpP8qwIDzucBsjM1HCbdYUQrQw8rU/g6HRl/tfBm0+Qq4H4Ro3w==", "cpu": [ "x64" ], @@ -5552,9 +5605,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.3.tgz", - "integrity": "sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.65.1.tgz", + "integrity": "sha512-tvYWZ/h2PCHs558Xu7B6LptuRCV8lXV2xI75ONMcldII1m2zlFwuI4BJZi9M6rSMkYqcPLLtPUPrjyqfbzLOdg==", "cpu": [ "x64" ], @@ -5566,9 +5619,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.3.tgz", - "integrity": "sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.65.1.tgz", + "integrity": "sha512-gdyeucgZCnei3pXwadKVTEAOgRx0B+c847DUPR/PdOMmp3olhfkYo6r0J4PzRFZB5ZICZQTxntyvgmWH5xT7rg==", "cpu": [ "x64" ], @@ -5580,9 +5633,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.3.tgz", - "integrity": "sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.65.1.tgz", + "integrity": "sha512-Wf/NEKdn2SAL4Nvt8HyDtdkseWTwiLbZEOoNYnEaHkbso0B9eHO42vKnZh+OYsn+IMhAMcWcuIwPlBOgOXsUzg==", "cpu": [ "arm64" ], @@ -5594,9 +5647,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.3.tgz", - "integrity": "sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.65.1.tgz", + "integrity": "sha512-x9VSsDmsMsEWy4cr/mFeaEsXnVJ6Kc4NCAU/lCnwml3s7LQbZoa9+/qwc9etWHbuuDT5mYxdyyKUwo76njtjZw==", "cpu": [ "arm64" ], @@ -5608,9 +5661,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.3.tgz", - "integrity": "sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.65.1.tgz", + "integrity": "sha512-RIDbiVvvLkN45mOFpbo6eYMgnuiBEB62BGR/0s4QJgGg2AvVxucDDNn67kpAcUoYyfmY8iX8/RifMcmxmmnejA==", "cpu": [ "ia32" ], @@ -5622,9 +5675,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.3.tgz", - "integrity": "sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.65.1.tgz", + "integrity": "sha512-+KN8HIr88vN59JNxlrM2fMimzY43Y0lQB7+0xdVsFbvFCAA74CLKCdfzIHzzvndJryBc94Pm+MvwtukKjaS2ug==", "cpu": [ "x64" ], @@ -5636,9 +5689,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.3.tgz", - "integrity": "sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.65.1.tgz", + "integrity": "sha512-+Y1Sd49cSDq60UOl8/U2HI0ebUvnSl/hDhMHQn+ouw17yb8fYwMWIazzJ4JFpSkjPE7sj5NTNSX9IoyEqcFfyQ==", "cpu": [ "x64" ], @@ -5876,9 +5929,9 @@ "license": "MIT" }, "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", "dev": true, "license": "MIT" }, @@ -6260,16 +6313,16 @@ } }, "node_modules/@vitest/expect": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.11.tgz", - "integrity": "sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.12.tgz", + "integrity": "sha512-vFlTt+YEu9WBpNjdGayNmlMVzrWPi1+sv853/7t2FU7hpO5gAFBKHzQmkCq5Xjpr+evegF2994LQT3hF3mRlqQ==", "dev": true, "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.1.0", "@types/chai": "^5.2.2", - "@vitest/spy": "4.1.11", - "@vitest/utils": "4.1.11", + "@vitest/spy": "4.1.12", + "@vitest/utils": "4.1.12", "chai": "^6.2.2", "tinyrainbow": "^3.1.0" }, @@ -6278,13 +6331,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.11.tgz", - "integrity": "sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.12.tgz", + "integrity": "sha512-fKShNpKZzupWZuY0z7egydvL0sqW4INEZBEExMBMAa6izlENEVHwoXgdaTCaBZ5fwlr4xf2o1wXC83n9RpO+NA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "4.1.11", + "@vitest/spy": "4.1.12", "estree-walker": "^3.0.3", "magic-string": "^0.30.21" }, @@ -6305,9 +6358,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.11.tgz", - "integrity": "sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.12.tgz", + "integrity": "sha512-XW9O8+Mxx4VpCtkYdMJLZQQwsVryP9wk7cPKDxtXFfwSak6yRh5+2fep/Y0XF/ElBvJHq8bcYdi6aeuai0opZA==", "dev": true, "license": "MIT", "dependencies": { @@ -6318,13 +6371,13 @@ } }, "node_modules/@vitest/runner": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.11.tgz", - "integrity": "sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.12.tgz", + "integrity": "sha512-NKlVKCr5QnCe8jijdMnmkpHHU+WTqiLFR6G0pHji9uRjXK9xJl1k1nTw6F3pOOj2PDcsDt2GKQMI7wIsaT491w==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "4.1.11", + "@vitest/utils": "4.1.12", "pathe": "^2.0.3" }, "funding": { @@ -6332,14 +6385,14 @@ } }, "node_modules/@vitest/snapshot": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.11.tgz", - "integrity": "sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.12.tgz", + "integrity": "sha512-ko1y1Qgb/slzQ9mr+b89Cuqud8WG1TKtsPD8r7ZUBdvVOGt85Af2HwCqHujrhwJq95hs/9RM7fcAPg57o1vlzw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.11", - "@vitest/utils": "4.1.11", + "@vitest/pretty-format": "4.1.12", + "@vitest/utils": "4.1.12", "magic-string": "^0.30.21", "pathe": "^2.0.3" }, @@ -6348,9 +6401,9 @@ } }, "node_modules/@vitest/spy": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.11.tgz", - "integrity": "sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.12.tgz", + "integrity": "sha512-RGq9x4JNGNTZHEJxvN0oSiJjeSCExm0n2gZKKJZHY9cX5AVA6M7VJILBT3ZJ/tJ/0J9uWT7fETV9/btoi//vSg==", "dev": true, "license": "MIT", "funding": { @@ -6358,13 +6411,13 @@ } }, "node_modules/@vitest/utils": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.11.tgz", - "integrity": "sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.12.tgz", + "integrity": "sha512-Q3awXrwOfEV+qc3WmO5ONyE0yO7Q1gQ9/oyHxGLZ/pl7N3NO/ZztqQwKLuwMkV+CA1JYSIeO3gkHnRDIo4AVaA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "4.1.11", + "@vitest/pretty-format": "4.1.12", "convert-source-map": "^2.0.0", "tinyrainbow": "^3.1.0" }, @@ -7073,9 +7126,9 @@ "license": "CC-BY-4.0" }, "node_modules/chai": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", - "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz", + "integrity": "sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==", "dev": true, "license": "MIT", "engines": { @@ -7663,9 +7716,9 @@ "peer": true }, "node_modules/dompurify": { - "version": "3.4.16", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.16.tgz", - "integrity": "sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ==", + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.17.tgz", + "integrity": "sha512-B/pSlYVHQ58kqISD/yDjuJ1yfzI34m1gF4lAod2bwSRhiN4K5Cl3H8Af7hqB2PmTL911tdEudnnXn5FnhRoz0w==", "license": "(MPL-2.0 OR Apache-2.0)", "optionalDependencies": { "@types/trusted-types": "^2.0.7" @@ -7739,25 +7792,6 @@ "node": ">=0.10.0" } }, - "node_modules/electron": { - "version": "42.11.3", - "resolved": "https://registry.npmjs.org/electron/-/electron-42.11.3.tgz", - "integrity": "sha512-r/rC6BikQ2vEGQLhnHmFwFpvVPlWTc/rnHcYfJe4HDa5MEl00yhx72ffKw7zMf1WvAM2r2hcGJ3ZftuJRo0QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@electron-internal/extract-zip": "^1.0.1", - "@electron/get": "^5.0.0", - "@types/node": "^24.9.0" - }, - "bin": { - "electron": "cli.js", - "install-electron": "install.js" - }, - "engines": { - "node": ">= 22.12.0" - } - }, "node_modules/electron-log": { "version": "5.4.3", "resolved": "https://registry.npmjs.org/electron-log/-/electron-log-5.4.3.tgz", @@ -7888,23 +7922,6 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/electron/node_modules/@types/node": { - "version": "24.13.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.4.tgz", - "integrity": "sha512-YJ7EqCstVTzIr0fMr7qul/977en+pQHrfmuKIo6Zr9i75Be21dr3MovcfvGtyvi2HAUrRerWps5sMO9I7WaxDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.18.0" - } - }, - "node_modules/electron/node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "dev": true, - "license": "MIT" - }, "node_modules/embla-carousel": { "version": "8.6.0", "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", @@ -8438,9 +8455,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz", - "integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.9.tgz", + "integrity": "sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==", "dev": true, "funding": [ { @@ -8616,9 +8633,9 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.2.tgz", + "integrity": "sha512-/kVP2U8z596Ia0gwFrwyIeo74ta5aVmSeU1FfAUMAmcEP5EP7zydmag3SLiN64NaRKef3lxsq7i/g7ltJQDGow==", "dev": true, "funding": [ { @@ -9359,9 +9376,9 @@ "optional": true }, "node_modules/ip-address": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.2.tgz", - "integrity": "sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==", + "version": "10.7.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.5.tgz", + "integrity": "sha512-t2v0rkILYv9WXmSL7TpAaU3HXgaFYOPUcH3QHgwQ++gpJuH3bqyMy4Fvt/DJCTKwzH3Cf+bAp5W/mFL39KPLzA==", "dev": true, "license": "MIT", "optional": true, @@ -11734,13 +11751,13 @@ } }, "node_modules/rollup": { - "version": "4.60.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.3.tgz", - "integrity": "sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==", + "version": "4.65.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.65.1.tgz", + "integrity": "sha512-HzD4IdphaPMvuAacnL/vtoq5B8FwqewKvxTtqYibWvP6VDyZ+UsTtlw5F8HIOIIpLQAkN2NOP/0sM3puo9xN/A==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.8" + "@types/estree": "1.0.9" }, "bin": { "rollup": "dist/bin/rollup" @@ -11750,31 +11767,32 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.60.3", - "@rollup/rollup-android-arm64": "4.60.3", - "@rollup/rollup-darwin-arm64": "4.60.3", - "@rollup/rollup-darwin-x64": "4.60.3", - "@rollup/rollup-freebsd-arm64": "4.60.3", - "@rollup/rollup-freebsd-x64": "4.60.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.60.3", - "@rollup/rollup-linux-arm-musleabihf": "4.60.3", - "@rollup/rollup-linux-arm64-gnu": "4.60.3", - "@rollup/rollup-linux-arm64-musl": "4.60.3", - "@rollup/rollup-linux-loong64-gnu": "4.60.3", - "@rollup/rollup-linux-loong64-musl": "4.60.3", - "@rollup/rollup-linux-ppc64-gnu": "4.60.3", - "@rollup/rollup-linux-ppc64-musl": "4.60.3", - "@rollup/rollup-linux-riscv64-gnu": "4.60.3", - "@rollup/rollup-linux-riscv64-musl": "4.60.3", - "@rollup/rollup-linux-s390x-gnu": "4.60.3", - "@rollup/rollup-linux-x64-gnu": "4.60.3", - "@rollup/rollup-linux-x64-musl": "4.60.3", - "@rollup/rollup-openbsd-x64": "4.60.3", - "@rollup/rollup-openharmony-arm64": "4.60.3", - "@rollup/rollup-win32-arm64-msvc": "4.60.3", - "@rollup/rollup-win32-ia32-msvc": "4.60.3", - "@rollup/rollup-win32-x64-gnu": "4.60.3", - "@rollup/rollup-win32-x64-msvc": "4.60.3", + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.65.1", + "@rollup/rollup-android-arm64": "4.65.1", + "@rollup/rollup-darwin-arm64": "4.65.1", + "@rollup/rollup-darwin-x64": "4.65.1", + "@rollup/rollup-freebsd-arm64": "4.65.1", + "@rollup/rollup-freebsd-x64": "4.65.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.65.1", + "@rollup/rollup-linux-arm-musleabihf": "4.65.1", + "@rollup/rollup-linux-arm64-gnu": "4.65.1", + "@rollup/rollup-linux-arm64-musl": "4.65.1", + "@rollup/rollup-linux-loong64-gnu": "4.65.1", + "@rollup/rollup-linux-loong64-musl": "4.65.1", + "@rollup/rollup-linux-ppc64-gnu": "4.65.1", + "@rollup/rollup-linux-ppc64-musl": "4.65.1", + "@rollup/rollup-linux-riscv64-gnu": "4.65.1", + "@rollup/rollup-linux-riscv64-musl": "4.65.1", + "@rollup/rollup-linux-s390x-gnu": "4.65.1", + "@rollup/rollup-linux-x64-gnu": "4.65.1", + "@rollup/rollup-linux-x64-musl": "4.65.1", + "@rollup/rollup-openbsd-x64": "4.65.1", + "@rollup/rollup-openharmony-arm64": "4.65.1", + "@rollup/rollup-win32-arm64-msvc": "4.65.1", + "@rollup/rollup-win32-ia32-msvc": "4.65.1", + "@rollup/rollup-win32-x64-gnu": "4.65.1", + "@rollup/rollup-win32-x64-msvc": "4.65.1", "fsevents": "~2.3.2" } }, @@ -12823,9 +12841,9 @@ } }, "node_modules/tinyrainbow": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.1.tgz", - "integrity": "sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.2.0.tgz", + "integrity": "sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==", "dev": true, "license": "MIT", "engines": { @@ -13180,9 +13198,9 @@ } }, "node_modules/vite": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", - "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.5.tgz", + "integrity": "sha512-4enwjFfi4IwtEh0w+jPzpLVOFQiPHmmzPxcHXQOyEur47o6u0jE573DmGpjA+7irXoMLYRZD5ZaFUEneS3abPg==", "dev": true, "license": "MIT", "dependencies": { @@ -13288,9 +13306,9 @@ } }, "node_modules/vite/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz", + "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==", "dev": true, "license": "MIT", "engines": { @@ -13301,19 +13319,19 @@ } }, "node_modules/vitest": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.11.tgz", - "integrity": "sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.12.tgz", + "integrity": "sha512-5eWdz2yb3ajxWF3C8C4TjkXl7FGm3n2E/VlazALrQHzK7nYMSGFnCZto0bbPNl77AwkOZVLk0YnBAejUu0NiWA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "4.1.11", - "@vitest/mocker": "4.1.11", - "@vitest/pretty-format": "4.1.11", - "@vitest/runner": "4.1.11", - "@vitest/snapshot": "4.1.11", - "@vitest/spy": "4.1.11", - "@vitest/utils": "4.1.11", + "@vitest/expect": "4.1.12", + "@vitest/mocker": "4.1.12", + "@vitest/pretty-format": "4.1.12", + "@vitest/runner": "4.1.12", + "@vitest/snapshot": "4.1.12", + "@vitest/spy": "4.1.12", + "@vitest/utils": "4.1.12", "es-module-lexer": "^2.0.0", "expect-type": "^1.3.0", "magic-string": "^0.30.21", @@ -13341,12 +13359,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "4.1.11", - "@vitest/browser-preview": "4.1.11", - "@vitest/browser-webdriverio": "4.1.11", - "@vitest/coverage-istanbul": "4.1.11", - "@vitest/coverage-v8": "4.1.11", - "@vitest/ui": "4.1.11", + "@vitest/browser-playwright": "4.1.12", + "@vitest/browser-preview": "4.1.12", + "@vitest/browser-webdriverio": "^4.1.11", + "@vitest/coverage-istanbul": "4.1.12", + "@vitest/coverage-v8": "4.1.12", + "@vitest/ui": "4.1.12", "happy-dom": "*", "jsdom": "*", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" diff --git a/package.json b/package.json index 2fe308d..d504e42 100644 --- a/package.json +++ b/package.json @@ -46,12 +46,12 @@ "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/node": "^22.10.5", - "dompurify": "^3.4.16", + "dompurify": "^3.4.17", "eslint-config-prettier": "10.1.8", "jsdom": "^29.1.1", "prettier": "3.8.3", "typescript": "^5.7.3", - "vitest": "^4.1.11" + "vitest": "^4.1.12" }, "overrides": { "@xmldom/xmldom": "^0.8.15", @@ -66,6 +66,10 @@ "esbuild": "^0.28.1", "js-yaml": "^4.3.2", "undici@7": "^7.29.1", - "undici@6": "^6.28.1" + "undici@6": "^6.28.1", + "monaco-editor": { + "dompurify": "$dompurify" + }, + "vite@6": "^6.4.4" } } diff --git a/scripts/release-metadata.test.mjs b/scripts/release-metadata.test.mjs index 3ed2170..7f0f4ce 100644 --- a/scripts/release-metadata.test.mjs +++ b/scripts/release-metadata.test.mjs @@ -150,7 +150,9 @@ describe('public release metadata', () => { expect(packageJson.overrides['undici@7']).toBe('^7.29.1'); expect(packageJson.overrides['postcss-selector-parser']).toBe('^7.1.6'); expect(packageJson.overrides.dompurify).toBe('$dompurify'); - expect(packageJson.devDependencies.dompurify).toBe('^3.4.16'); + expect(packageJson.overrides['monaco-editor'].dompurify).toBe('$dompurify'); + expect(packageJson.overrides['vite@6']).toBe('^6.4.4'); + expect(packageJson.devDependencies.dompurify).toBe('^3.4.17'); expect(lockfile.packages[''].devDependencies.dompurify).toBe( packageJson.devDependencies.dompurify, ); @@ -170,10 +172,15 @@ describe('public release metadata', () => { it.each([ ['axios', { 1: [20, 0] }], - ['dompurify', { 3: [4, 16] }], - ['fast-uri', { 3: [1, 8] }], + ['dompurify', { 3: [4, 17] }], + ['follow-redirects', { 1: [16, 1] }], + ['vitest', { 4: [1, 12] }], + ['@vitest/mocker', { 4: [1, 12] }], + ['electron', { 42: [11, 16] }], + ['vite', { 6: [4, 4], 7: [3, 7], 8: [3, 3] }], + ['fast-uri', { 3: [1, 9] }], ['http-cache-semantics', { 4: [3, 0] }], - ['ip-address', { 10: [7, 2] }], + ['ip-address', { 10: [7, 4] }], ['joi', { 18: [2, 9] }], ['postcss-selector-parser', { 7: [1, 6] }], ['sharp', { 0: [35, 5] }],