Skip to content

release: v1.0.4 - patch picomatch and nanoid transitive vulns - #19

Merged
Shinrai merged 12 commits into
masterfrom
next
Aug 10, 2026
Merged

release: v1.0.4 - patch picomatch and nanoid transitive vulns#19
Shinrai merged 12 commits into
masterfrom
next

Conversation

@cldmv-bot

@cldmv-bot cldmv-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🚀 What's Changed

💥 Breaking Changes

No breaking changes

✨ Features

No new features

🐛 Bug Fixes

No bug fixes

📦 Dependencies

🔧 Other Changes

👥 Contributors

coverage

Metric Coverage
Statements 79.1%
Branches 73.9%
Functions 100.0%
Lines 79.5%

Avg: 83.1% · dcefe55 · Node lts/*

dependabot Bot and others added 3 commits August 5, 2026 10:54
Bumps the minor group with 1 update: [prettier](https://github.com/prettier/prettier).


Updates `prettier` from 3.6.2 to 3.9.6
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.6.2...3.9.6)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.9.6
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the minor group with 1 update:
[prettier](https://github.com/prettier/prettier).

Updates `prettier` from 3.6.2 to 3.9.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.9.6</h2>
<h2>What's Changed</h2>
<ul>
<li>Preserve quotes for methods named <code>new</code> (<a
href="https://redirect.github.com/prettier/prettier/pull/19621">prettier/prettier#19621</a>
by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</li>
<li>Support <code>import defer</code> in <code>typescript</code> parser
(<a
href="https://redirect.github.com/prettier/prettier/pull/19624">prettier/prettier#19624</a>,
<a
href="https://redirect.github.com/prettier/prettier/pull/19675">prettier/prettier#19675</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</li>
<li>Added a new official plugin <a
href="https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku"><code>@prettier/plugin-yuku</code>
🚀</a> (<a
href="https://redirect.github.com/prettier/prettier/pull/19628">prettier/prettier#19628</a>,
<a
href="https://redirect.github.com/prettier/prettier/pull/19629">prettier/prettier#19629</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396">Changelog</a></p>
<h2>3.9.5</h2>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.9.5/CHANGELOG.md#395">Changelog</a></p>
<h2>3.9.4</h2>
<ul>
<li>Angular: Format <code>@content(name)</code> -&gt; <code>@content
(name)</code> to align with other block syntax (<a
href="https://redirect.github.com/prettier/prettier/pull/19499">#19499</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.9.4/CHANGELOG.md#394">Changelog</a></p>
<h2>3.9.3</h2>
<ul>
<li>Markdown: Fix unexpected removal of characters in liquid syntax (<a
href="https://redirect.github.com/prettier/prettier/pull/19489">prettier/prettier#19489</a>
by <a href="https://github.com/seiyab"><code>@​seiyab</code></a>)</li>
<li>TypeScript: Allow decorators to be used with declare on class fields
(<a
href="https://redirect.github.com/prettier/prettier/pull/19492">prettier/prettier#19492</a>
by <a
href="https://github.com/evoactivity"><code>@​evoactivity</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.9.3/CHANGELOG.md#393">Changelog</a></p>
<h2>3.9.1</h2>
<ul>
<li>CLI: Fix ignored file has been cached incorrectly (<a
href="https://redirect.github.com/prettier/prettier/pull/19483">#19483</a>
by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.9.1/CHANGELOG.md#391">Changelog</a></p>
<h2>3.9.0</h2>
<p><a
href="https://github.com/prettier/prettier/compare/3.8.5...3.9.0">diff</a></p>
<p>🔗 <a href="https://prettier.io/blog/2026/06/27/3.9.0">Prettier 3.9:
Major parser upgrades and Formatting improvements</a></p>
<h2>3.8.5</h2>
<ul>
<li>Fix Flow variance annotation print (<a
href="https://redirect.github.com/prettier/prettier/pull/19022">#19022</a>
by <a
href="https://github.com/marcoww6"><code>@​marcoww6</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.8.5/CHANGELOG.md#385">Changelog</a></p>
<h2>3.8.4</h2>
<ul>
<li>Markdown: Fix blank lines between list items and nested sub-lists
being removed in Markdown/MDX (<a
href="https://redirect.github.com/prettier/prettier/pull/17746">prettier/prettier#17746</a>
by <a
href="https://github.com/byplayer"><code>@​byplayer</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.8.4/CHANGELOG.md#384">Changelog</a></p>
<h2>3.8.3</h2>
<ul>
<li>SCSS: Prevent trailing comma in <code>if()</code> function (<a
href="https://redirect.github.com/prettier/prettier/pull/18471">prettier/prettier#18471</a>
by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383">Changelog</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.9.6</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.9.5...3.9.6">diff</a></p>
<h4>TypeScript: Preserve quotes for methods named <code>new</code> (<a
href="https://redirect.github.com/prettier/prettier/pull/19621">#19621</a>
by <a href="https://github.com/kovsu"><code>@​kovsu</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="tsx"><code>// Input
interface Container {
  &quot;new&quot;(id: string): number;
}
<p>// Prettier 3.9.5<br />
interface Container {<br />
new(id: string): number;<br />
}</p>
<p>// Prettier 3.9.6<br />
interface Container {<br />
&quot;new&quot;(id: string): number;<br />
}<br />
</code></pre></p>
<h4>TypeScript: Support <code>import defer</code> (<a
href="https://redirect.github.com/prettier/prettier/pull/19624">#19624</a>,
<a
href="https://redirect.github.com/prettier/prettier/pull/19675">#19675</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="tsx"><code>// Input
import defer * as foo from &quot;foo&quot;;
<p>// Prettier 3.9.5<br />
import * as foo from &quot;foo&quot;;</p>
<p>// Prettier 3.9.6<br />
import defer * as foo from &quot;foo&quot;;<br />
</code></pre></p>
<h4>JavaScript: Added a new official plugin
<code>@prettier/plugin-yuku</code> (<a
href="https://redirect.github.com/prettier/prettier/pull/19628">#19628</a>,
<a
href="https://redirect.github.com/prettier/prettier/pull/19629">#19629</a>
by <a href="https://github.com/fisker"><code>@​fisker</code></a>)</h4>
<p><code>@prettier/plugin-yuku</code> is powered by <a
href="https://yuku.fyi/">Yuku</a> (A high-performance
JavaScript/TypeScript compiler toolchain written in Zig).</p>
<p>This plugin includes two new parsers: <code>yuku</code> (JavaScript
syntax) and <code>yuku-ts</code> (TypeScript syntax).</p>
<p><strong>To use this plugin:</strong></p>
<ol>
<li>
<p>Install the plugin:</p>
<pre lang="bash"><code>yarn add --dev prettier @prettier/plugin-yuku
</code></pre>
</li>
</ol>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/prettier/prettier/commit/8f0c95057cc91d5836409466cd9d9af3bb901e84"><code>8f0c950</code></a>
Release 3.9.6</li>
<li><a
href="https://github.com/prettier/prettier/commit/e9107647d0497d8ff1cacbb0f970d4543df77c1c"><code>e910764</code></a>
Update changelog</li>
<li><a
href="https://github.com/prettier/prettier/commit/ec3f1c7bd74495992bc6954323a1a7fc8368808e"><code>ec3f1c7</code></a>
Update typescript-eslint to v8.65.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/19675">#19675</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/73d2efc2c6cba6f579585c88ef171132d90834ec"><code>73d2efc</code></a>
Update Yuku parser to v0.7.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/19664">#19664</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/dd5e24eabeab1f75ad573c79781e5fd408bcfad3"><code>dd5e24e</code></a>
Preserve quotes for <code>TSMethodSignature</code> nodes named
<code>new</code> (<a
href="https://redirect.github.com/prettier/prettier/issues/19621">#19621</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/c03ab4e71c23154d6b11537eee3c938f0d0f67d3"><code>c03ab4e</code></a>
Update dependency eslint-plugin-unicorn to v72 (<a
href="https://redirect.github.com/prettier/prettier/issues/19633">#19633</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/b74dd53076c7208291a6b2e585c310844b41d35f"><code>b74dd53</code></a>
Update Yuku parser to v0.6.5 (<a
href="https://redirect.github.com/prettier/prettier/issues/19654">#19654</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/f1b594ea1db1520c383d0e281d623551f671f824"><code>f1b594e</code></a>
Update dependency eslint-plugin-simple-import-sort to v14 (<a
href="https://redirect.github.com/prettier/prettier/issues/19655">#19655</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/0d9dfb61530986373000dd107ea58ceebb79e233"><code>0d9dfb6</code></a>
Update Yuku parser to v0.6.4 (<a
href="https://redirect.github.com/prettier/prettier/issues/19650">#19650</a>)</li>
<li><a
href="https://github.com/prettier/prettier/commit/3bbb8159eb55575d4042653aa99f5f92a1416c19"><code>3bbb815</code></a>
Remove <code>typescript-only</code> directory (<a
href="https://redirect.github.com/prettier/prettier/issues/19636">#19636</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/prettier/prettier/compare/3.6.2...3.9.6">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~GitHub%20Actions">GitHub Actions</a>, a new
releaser for prettier since your current version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettier&package-manager=npm_and_yarn&previous-version=3.6.2&new-version=3.9.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>
@cldmv-bot cldmv-bot Bot added ! release → master v4 flow: persistent next → master release PR (carries the next feature release) release Marks a pull request as a pending release — merge to publish a new version semver: patch This release contains only backwards-compatible bug fixes type: dependencies Relates to dependency updates, version bumps, or package management labels Aug 5, 2026
@cldmv-bot

cldmv-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

🔒 Dependency Review

  • 0 vulnerable package(s)
  • 0 package(s) with incompatible licenses
  • 0 package(s) with invalid SPDX license definitions
  • 0 package(s) with unknown licenses
  • 0 denied package(s)
  • ⚠️ 9 package(s) with OpenSSF Scorecard score < 3
    • ccount@2.0.1 — score 2.5
    • character-entities@2.0.2 — score 2.5
    • debug@4.4.3 — score 2.6
    • decode-named-character-reference@1.3.0 — score 2.9
    • fault@2.0.1 — score 2.5
    • format@0.2.2 — score 2
    • longest-streak@3.1.0 — score 2.5
    • markdown-table@3.0.4 — score 2.8
    • zwitch@2.0.4 — score 2.9

Full job summary

Bundles four Dependabot bumps that each passed CI individually on next,
into one PR so they ride the next → master release together:

- espree 9 → 11.2.0 (runtime; AST parser — ES2022–2025 suites green)
- eslint 9 → 10.8.1 (dev; lint only)
- @eslint/json 0.13 → 2.0.1 (dev; lint only)
- @mdn/browser-compat-data 6 → 8.0.10 (dev; feature-data)

npm ci verified clean (npm 10-compatible lockfile), full suite green
(17 files / 24 tests). Supersedes #15, #16, #17, #18.

Note: the two pre-existing high-sev transitives (picomatch 2.3.1 via
fast-glob, nanoid 3.3.16) are untouched here — separate concern.
Shinrai and others added 3 commits August 9, 2026 12:53
Resolves the two pre-existing high-severity transitives on next:
- picomatch 2.3.1 → 2.3.2 (via fast-glob → micromatch; runtime reach)
  fixes GHSA-3v7f-55p6-f55p (method injection) + GHSA-c2c7-rcm5-vvqj (ReDoS)
- nanoid 3.3.16 → 3.3.18 (via vitest → vite → postcss; dev)
  fixes GHSA-2v37-7h3g-55p8 (zero-size infinite loop)

Both in-range (lockfile-only, no package.json change), npm audit now
clean (0 vulnerabilities), npm ci verified, full suite green (17/17).

Folds in the intent of #9 (security transitive bumps): next already
carries newer brace-expansion (5.0.9) / minimatch (10.2.6) than #9's
targets and no js-yaml in-tree, so #9 is moot against next — its fixes
ride this release rather than the hotfixes lane.
Wires format/format:check (prettier) and lint/lint:fix (eslint, JS+JSON) to
.configs/ so the post-merge lint-format autofix (CLDMV/.github v4.21.0) has
scripts to run when this merges into next. eslint ignores the intentional-error
scan fixture tests/testfile.js and generated src/data; removed one dead unused
var so lint is green. Repo-wide formatting drift is left intentionally for the
autofix to apply and commit back on the post-merge push.
## Summary

Consolidates the outstanding `next`-targeting dependency work into a
single PR so it all rides the `next → master` release
([#19](#19)) together, and wires
the repo's lint/format scripts for the post-merge autofix.

### Dependency bumps (each was CI-green individually on `next`)

| Dep | Range | Role |
|---|---|---|
| `espree` | 9 → **11.2.0** | runtime (AST parser) |
| `eslint` | 9 → **10.8.1** | dev (lint) |
| `@eslint/json` | 0.13 → **2.0.1** | dev (lint) |
| `@mdn/browser-compat-data` | 6 → **8.0.10** | dev (feature data) |

### Security (transitive, lockfile-only)

| Dep | Bump | Advisory |
|---|---|---|
| `picomatch` | 2.3.1 → **2.3.2** (via `fast-glob` → `micromatch`;
**runtime reach**) | GHSA-3v7f-55p6-f55p, GHSA-c2c7-rcm5-vvqj |
| `nanoid` | 3.3.16 → **3.3.18** (via `vitest` → `vite` → `postcss`;
dev) | GHSA-2v37-7h3g-55p8 |

`npm audit` now reports **0 vulnerabilities**.

### Lint/format wiring

Adds `format`/`format:check` (prettier) + `lint`/`lint:fix` (eslint,
JS+JSON) wired to `.configs/`, so the post-merge lint-format autofix
(CLDMV/.github v4.21.0) has scripts to run when this merges into `next`.
eslint ignores the intentional-error scan fixture `tests/testfile.js`
and generated `src/data`; one dead unused var was removed so `lint` is
green. Repo-wide formatting drift is intentionally left for the autofix
to apply and commit back on the post-merge push.

## Validation

- `npm ci` clean against the regenerated lockfile (npm-10 compatible).
- Full suite green locally: **17 test files / 24 tests**, incl.
espree-11 AST parsing paths.
- `npm run lint` green; PR CI green (Node 22 + lts/*, CodeQL); the Lint
& Format job correctly skips on the feature PR.

## Supersedes / folds in

- **Closes on merge:** #15, #16, #17, #18 (the four dependency bumps).
- **#9** (security transitives targeting `hotfixes`): folded here.
`next` already carries newer `brace-expansion` (5.0.9) / `minimatch`
(10.2.6) than #9's targets and has no `js-yaml` in-tree, so #9 is moot
against `next` — its intent ships via this release instead of the
hotfixes lane.
@cldmv-bot cldmv-bot Bot added the area: tests Touches test files, fixtures, or test infrastructure label Aug 10, 2026
@cldmv-bot cldmv-bot Bot changed the title release: v1.0.4 - bump prettier from 3.6.2 to 3.9.6 in the minor group release: v1.0.4 - patch picomatch and nanoid transitive vulns Aug 10, 2026
@cldmv-bot cldmv-bot Bot added type: bug Something is broken or not behaving as expected type: ci Changes to CI workflows, actions, or build pipelines type: config Changes to repository or project configuration files labels Aug 10, 2026
Shinrai and others added 4 commits August 9, 2026 21:16
Brings polyfillme up to the fleet canonical (git-embedded #47):
- eslint: add @cldmv/eslint-plugin-jsonv (.jsonv), @eslint/markdown, @eslint/css,
  and json5 (was reduced to JS+JSON at initial wiring). Repo-specific ignores for
  generated src/data and the tests/testfile.js scan fixture retained.
- prettier: add @cldmv/prettier-plugin-jsonv + *.jsonv -> parser:jsonv override.
- .prettierignore: add the *.yml/*.yaml exclusion (stops CI-workflow reindent
  churn, per #47) alongside the src/data + testfile entries.

npm run lint green (incl. markdown on README, no fallout); format:check clean
(0 drift); prettier loads the jsonv plugin fine; YAML excluded.
)

## 🚀 What's Changed

### 💥 Breaking Changes
_No breaking changes_

### ✨ Features
_No new features_

### 🐛 Bug Fixes
_No bug fixes_

### 📦 Dependencies
_No dependency updates_

### 🔧 Other Changes
- ci: adopt canonical lint/format config (jsonv + markdown/css/json5)
(30f1bdc)



<details>
<summary>👥 Contributors</summary>

- @Shinrai

</details>
The #20 post-merge autofix (0c83afa) ran before this repo had a .prettierignore,
so prettier reindented all 20 workflow files + dependabot.yml from the CLDMV
4-space template style to 2-space and swapped single->double quotes. It's cosmetic
(CI still passed) but drifts every workflow off the template canon.

Restores them to the pre-autofix template form (from d4eb14d). #21 added the
*.yml/*.yaml exclusion to .prettierignore, so the autofix no longer touches these
on merge — the restore sticks.
…22)

## 🚀 What's Changed

### 💥 Breaking Changes
_No breaking changes_

### ✨ Features
_No new features_

### 🐛 Bug Fixes
_No bug fixes_

### 📦 Dependencies
_No dependency updates_

### 🔧 Other Changes
- ci: restore workflow YAML mangled by the pre-.prettierignore autofix
(f9d9a75)



<details>
<summary>👥 Contributors</summary>

- @Shinrai

</details>
@Shinrai
Shinrai merged commit 2d5a1b5 into master Aug 10, 2026
36 checks passed
@cldmv-bot
cldmv-bot Bot deleted the next branch August 10, 2026 06:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: tests Touches test files, fixtures, or test infrastructure ! release → master v4 flow: persistent next → master release PR (carries the next feature release) release Marks a pull request as a pending release — merge to publish a new version semver: patch This release contains only backwards-compatible bug fixes type: bug Something is broken or not behaving as expected type: ci Changes to CI workflows, actions, or build pipelines type: config Changes to repository or project configuration files type: dependencies Relates to dependency updates, version bumps, or package management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants