Skip to content

chore: fix schema generator drift#850

Merged
camc314 merged 1 commit intomainfrom
codex/fix-schema-generator-drift
Mar 29, 2026
Merged

chore: fix schema generator drift#850
camc314 merged 1 commit intomainfrom
codex/fix-schema-generator-drift

Conversation

@camc314
Copy link
Copy Markdown
Contributor

@camc314 camc314 commented Mar 29, 2026

Summary

Fix the Check Generated Schemas workflow drift caused by upstream go-jsonschema changes.

What changed

  • detect whether the installed go-jsonschema supports --disable-omitzero and pass it when available
  • pin the CI workflow to github.com/atombender/go-jsonschema@v0.23.0 instead of @latest

Root cause

The workflow was installing go-jsonschema@latest. A newer release started emitting json:",omitempty,omitzero" tags by default, so node tools/gen-json-schemas.mjs rewrote many generated options.go files on main and the schema check failed.

Validation

  • ran node tools/gen-json-schemas.mjs with go-jsonschema v0.23.0; no generated internal/rules/*/options.go drift remained
  • ran node tools/gen-json-schemas.mjs with go-jsonschema v0.22.0; no generated internal/rules/*/options.go drift remained

@camc314 camc314 changed the title [codex] Fix schema generator drift chore: fix schema generator drift Mar 29, 2026
@camc314 camc314 marked this pull request as ready for review March 29, 2026 21:26
Copilot AI review requested due to automatic review settings March 29, 2026 21:26
@camc314 camc314 enabled auto-merge (squash) March 29, 2026 21:26
@camc314 camc314 merged commit e28444e into main Mar 29, 2026
9 checks passed
@camc314 camc314 deleted the codex/fix-schema-generator-drift branch March 29, 2026 21:27
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Addresses CI drift in the “Check Generated Schemas” workflow caused by upstream go-jsonschema changing its default struct tag emission, by making schema generation deterministic across versions and pinning CI to a known-good tool version.

Changes:

  • Detect support for go-jsonschema --disable-omitzero and pass it when available during generation.
  • Pin the GitHub Actions workflow installation of go-jsonschema to github.com/atombender/go-jsonschema@v0.23.0.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tools/gen-json-schemas.mjs Adds feature-detection for --disable-omitzero and conditionally appends the flag to generation commands.
.github/workflows/check-schemas.yml Pins go-jsonschema installation to v0.23.0 to prevent future drift from @latest.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@camc314 camc314 self-assigned this Mar 31, 2026
MrNaif2018 pushed a commit to bitcart/bitcart-frontend that referenced this pull request Apr 13, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`0.84.2` → `0.84.3`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.84.2/0.84.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.84.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.84.2/0.84.3?slim=true) |
| [@playwright/test](https://playwright.dev) ([source](https://github.com/microsoft/playwright)) | [`1.58.2` → `1.59.1`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.58.2/1.59.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.59.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.58.2/1.59.1?slim=true) |
| [@tanstack/react-form](https://tanstack.com/form) ([source](https://github.com/TanStack/form/tree/HEAD/packages/react-form)) | [`1.28.5` → `1.28.6`](https://renovatebot.com/diffs/npm/@tanstack%2freact-form/1.28.5/1.28.6) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-form/1.28.6?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-form/1.28.5/1.28.6?slim=true) |
| [@tanstack/react-query](https://tanstack.com/query) ([source](https://github.com/TanStack/query/tree/HEAD/packages/react-query)) | [`5.95.2` → `5.96.2`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query/5.95.2/5.96.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-query/5.96.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-query/5.95.2/5.96.2?slim=true) |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`25.5.0` → `25.5.2`](https://renovatebot.com/diffs/npm/@types%2fnode/25.5.0/25.5.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/25.5.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/25.5.0/25.5.2?slim=true) |
| [dotenv](https://github.com/motdotla/dotenv) | [`17.3.1` → `17.4.1`](https://renovatebot.com/diffs/npm/dotenv/17.3.1/17.4.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/dotenv/17.4.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dotenv/17.3.1/17.4.1?slim=true) |
| [nx](https://nx.dev) ([source](https://github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`22.6.3` → `22.6.4`](https://renovatebot.com/diffs/npm/nx/22.6.3/22.6.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/nx/22.6.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/22.6.3/22.6.4?slim=true) |
| [oxlint-tsgolint](https://github.com/oxc-project/tsgolint) | [`0.18.1` → `0.19.0`](https://renovatebot.com/diffs/npm/oxlint-tsgolint/0.18.1/0.19.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/oxlint-tsgolint/0.19.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxlint-tsgolint/0.18.1/0.19.0?slim=true) |
| [remeda](https://remedajs.com/) ([source](https://github.com/remeda/remeda)) | [`2.33.6` → `2.33.7`](https://renovatebot.com/diffs/npm/remeda/2.33.6/2.33.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/remeda/2.33.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/remeda/2.33.6/2.33.7?slim=true) |
| [vike](https://github.com/vikejs/vike) | [`0.4.255` → `0.4.256`](https://renovatebot.com/diffs/npm/vike/0.4.255/0.4.256) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vike/0.4.256?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vike/0.4.255/0.4.256?slim=true) |
| [vite-plugin-static-copy](https://github.com/sapphi-red/vite-plugin-static-copy) | [`4.0.0` → `4.0.1`](https://renovatebot.com/diffs/npm/vite-plugin-static-copy/4.0.0/4.0.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-static-copy/4.0.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-static-copy/4.0.0/4.0.1?slim=true) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.84.3`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.3)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.2...@effect/language-service@0.84.3)

##### Patch Changes

- [#&#8203;711](Effect-TS/language-service#711) [`892984f`](Effect-TS/language-service@892984f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Report floating `Stream` values in Effect projects by parsing `Stream` types in the diagnostic type parser and checking them in `floatingEffect` for both v3 and v4 harnesses.

- [#&#8203;709](Effect-TS/language-service#709) [`0372f58`](Effect-TS/language-service@0372f58) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix the Effect v4 completion harness to cover `ServiceMap` self-in-classes examples instead of the v3-only `Context.Tag` variants.

- [#&#8203;712](Effect-TS/language-service#712) [`b7554df`](Effect-TS/language-service@b7554df) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Align Effect diagnostic messages with the reviewed neutral wording, preserving the existing version-specific API references while updating both v3 and v4 snapshot fixtures.

</details>

<details>
<summary>microsoft/playwright (@&#8203;playwright/test)</summary>

### [`v1.59.1`](https://github.com/microsoft/playwright/releases/tag/v1.59.1)

[Compare Source](microsoft/playwright@v1.59.0...v1.59.1)

##### Bug Fixes

- **\[Windows]** Reverted hiding console window when spawning browser processes, which caused regressions including broken `codegen`, `--ui` and `show` commands ([#&#8203;39990](microsoft/playwright#39990))

### [`v1.59.0`](https://github.com/microsoft/playwright/releases/tag/v1.59.0)

[Compare Source](microsoft/playwright@v1.58.2...v1.59.0)

#### 🎬 Screencast

New [page.screencast](https://playwright.dev/docs/api/class-page#page-screencast) API provides a unified interface for capturing page content with:

- Screencast recordings
- Action annotations
- Visual overlays
- Real-time frame capture
- Agentic video receipts

<center>

<img src="https://raw.githubusercontent.com/microsoft/playwright/main/docs/src/images/release-notes-1.59-screencast-demo.gif" alt="Demo" width="500" height="313" />

</center>

**Screencast recording** — record video with precise start/stop control, as an alternative to the [`recordVideo`](https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video) option:

```js
await page.screencast.start({ path: 'video.webm' });
// ... perform actions ...
await page.screencast.stop();
```

**Action annotations** — enable built-in visual annotations that highlight interacted elements and display action titles during recording:

```js
await page.screencast.showActions({ position: 'top-right' });
```

[screencast.showActions()](https://playwright.dev/docs/api/class-screencast#screencast-show-actions) accepts `position` (`'top-left'`, `'top'`, `'top-right'`, `'bottom-left'`, `'bottom'`, `'bottom-right'`), `duration` (ms per annotation), and `fontSize` (px). Returns a disposable to stop showing actions.

Action annotations can also be enabled in test fixtures via the `video` option:

```js
// playwright.config.ts
export default defineConfig({
  use: {
    video: {
      mode: 'on',
      show: {
        actions: { position: 'top-left' },
        test: { position: 'top-right' },
      },
    },
  },
});
```

**Visual overlays** — add chapter titles and custom HTML overlays on top of the page for richer narration:

```js
await page.screencast.showChapter('Adding TODOs', {
  description: 'Type and press enter for each TODO',
  duration: 1000,
});

await page.screencast.showOverlay('<div style="color: red">Recording</div>');
```

**Real-time frame capture** — stream JPEG-encoded frames for custom processing like thumbnails, live previews, AI vision, and more:

```js
await page.screencast.start({
  onFrame: ({ data }) => sendToVisionModel(data),
  size: { width: 800, height: 600 },
});
```

**Agentic video receipts** — coding agents can produce video evidence of their work. After completing a task, an agent can record a walkthrough video with rich annotations for human review:

```js
await page.screencast.start({ path: 'receipt.webm' });
await page.screencast.showActions({ position: 'top-right' });

await page.screencast.showChapter('Verifying checkout flow', {
  description: 'Added coupon code support per ticket #&#8203;1234',
});

// Agent performs the verification steps...
await page.locator('#coupon').fill('SAVE20');
await page.locator('#apply-coupon').click();
await expect(page.locator('.discount')).toContainText('20%');

await page.screencast.showChapter('Done', {
  description: 'Coupon applied, discount reflected in total',
});

await page.screencast.stop();
```

The resulting video serves as a receipt: chapter titles provide context, action annotations highlight each interaction, and the visual walkthrough is faster to review than text logs.

#### 🔗 Interoperability

New [browser.bind()](https://playwright.dev/docs/api/class-browser#browser-bind) API makes a launched browser available for `playwright-cli`, `@playwright/mcp`, and other clients to connect to.

**Bind a browser** — start a browser and bind it so others can connect:

```js
const { endpoint } = await browser.bind('my-session', {
  workspaceDir: '/my/project',
});
```

**Connect from playwright-cli** — connect to the running browser from your favorite coding agent.

```bash
playwright-cli attach my-session
playwright-cli -s my-session snapshot
```

**Connect from [@&#8203;playwright/mcp](https://github.com/playwright/mcp)** — or point your MCP server to the running browser.

```bash
@&#8203;playwright/mcp --endpoint=my-session
```

**Connect from a Playwright client** — use API to connect to the browser. Multiple clients at a time are supported!

```js
const browser = await chromium.connect(endpoint);
```

Pass `host` and `port` options to bind over WebSocket instead of a named pipe:

```js
const { endpoint } = await browser.bind('my-session', {
  host: 'localhost',
  port: 0,
});
// endpoint is a ws:// URL
```

Call [browser.unbind()](https://playwright.dev/docs/api/class-browser#browser-unbind) to stop accepting new connections.

#### 📊 Observability

Run `playwright-cli show` to open the Dashboard that lists all the bound browsers, their statuses, and allows interacting with them:

- See what your agent is doing on the background browsers
- Click into the sessions for manual interventions
- Open DevTools to inspect pages from the background browsers.

<center>

<img src="https://raw.githubusercontent.com/microsoft/playwright/main/docs/src/images/release-notes-1.59-dashboard.png" alt="Demo" width="1169" height="835" />

</center>
- `playwright-cli` binds all of its browsers automatically, so you can see what your agents are doing.
- Pass `PLAYWRIGHT_DASHBOARD=1` env variable to see all `@playwright/test` browsers in the dashboard.

#### 🐛 CLI debugger for agents

Coding agents can now run `npx playwright test --debug=cli` to attach and debug tests over `playwright-cli` — perfect for automatically fixing tests in agentic workflows:

```bash
$ npx playwright test --debug=cli

### Debugging Instructions
- Run "playwright-cli attach tw-87b59e" to attach to this test

$ playwright-cli attach tw-87b59e

### Session `tw-87b59e` created, attached to `tw-87b59e`.
Run commands with: playwright-cli --session=tw-87b59e <command>

### Paused
- Navigate to "/" at output/tests/example.spec.ts:4

$ playwright-cli --session tw-87b59e step-over

### Page
- Page URL: https://playwright.dev/
- Page Title: Fast and reliable end-to-end testing for modern web apps | Playwright

### Paused
- Expect "toHaveTitle" at output/tests/example.spec.ts:7
```

#### 📋 CLI trace analysis for agents

Coding agents can run `npx playwright trace` to explore [Playwright Trace](https://playwright.dev/docs/trace-viewer) and understand failing or flaky tests from the command line:

```bash
$ npx playwright trace open test-results/example-has-title-chromium/trace.zip
  Title:        example.spec.ts:3 › has title

$ npx playwright trace actions --grep="expect"
     # Time       Action                                                  Duration
  ──── ─────────  ─────────────────────────────────────────────────────── ────────
    9. 0:00.859  Expect "toHaveTitle"                                        5.1s  ✗

$ npx playwright trace action 9
  Expect "toHaveTitle"
  Error: expect(page).toHaveTitle(expected) failed
    Expected pattern: /Wrong Title/
    Received string:  "Fast and reliable end-to-end testing for modern web apps | Playwright"
    Timeout: 5000ms
  Snapshots
    available: before, after
    usage:     npx playwright trace snapshot 9 --name <before|after>

$ npx playwright trace snapshot 9 --name after

### Page
- Page Title: Fast and reliable end-to-end testing for modern web apps | Playwright

$ npx playwright trace close
```

#### ♻️ `await using`

Many APIs now return [async disposables](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/asyncDispose), enabling the `await using` syntax for automatic cleanup:

```js
await using page = await context.newPage();
{
  await using route = await page.route('**/*', route => route.continue());
  await using script = await page.addInitScript('console.log("init script here")');
  await page.goto('https://playwright.dev');
  // do something
}
// route and init script have been removed at this point
```

#### 🔍 Snapshots and Locators

- Method [page.ariaSnapshot()](https://playwright.dev/docs/api/class-page#page-aria-snapshot) to capture the aria snapshot of the page — equivalent to `page.locator('body').ariaSnapshot()`.
- Options `depth` and `mode` in [locator.ariaSnapshot()](https://playwright.dev/docs/api/class-locator#locator-aria-snapshot).
- Method [locator.normalize()](https://playwright.dev/docs/api/class-locator#locator-normalize) converts a locator to follow best practices like test ids and aria roles.
- Method [page.pickLocator()](https://playwright.dev/docs/api/class-page#page-pick-locator) enters an interactive mode where hovering over elements highlights them and shows the corresponding locator. Click an element to get its [Locator](https://playwright.dev/docs/api/class-locator) back. Use [page.cancelPickLocator()](https://playwright.dev/docs/api/class-page#page-cancel-pick-locator) to cancel.

#### New APIs

##### Screencast

- [page.screencast](https://playwright.dev/docs/api/class-page#page-screencast) provides video recording, real-time frame streaming, and overlay management.
- Methods [screencast.start()](https://playwright.dev/docs/api/class-screencast#screencast-start) and [screencast.stop()](https://playwright.dev/docs/api/class-screencast#screencast-stop) for recording and frame capture.
- Methods [screencast.showActions()](https://playwright.dev/docs/api/class-screencast#screencast-show-actions) and [screencast.hideActions()](https://playwright.dev/docs/api/class-screencast#screencast-hide-actions) for action annotations.
- Methods [screencast.showChapter()](https://playwright.dev/docs/api/class-screencast#screencast-show-chapter) and [screencast.showOverlay()](https://playwright.dev/docs/api/class-screencast#screencast-show-overlay) for visual overlays.
- Methods [screencast.showOverlays()](https://playwright.dev/docs/api/class-screencast#screencast-show-overlays) and [screencast.hideOverlays()](https://playwright.dev/docs/api/class-screencast#screencast-hide-overlays) for overlay visibility control.

##### Storage, Console and Errors

- Method [browserContext.setStorageState()](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-storage-state) clears existing cookies, local storage, and IndexedDB for all origins and sets a new storage state — no need to create a new context.
- Methods [page.clearConsoleMessages()](https://playwright.dev/docs/api/class-page#page-clear-console-messages) and [page.clearPageErrors()](https://playwright.dev/docs/api/class-page#page-clear-page-errors) to clear stored messages and errors.
- Option `filter` in [page.consoleMessages()](https://playwright.dev/docs/api/class-page#page-console-messages) and [page.pageErrors()](https://playwright.dev/docs/api/class-page#page-page-errors) controls which messages are returned.
- Method [consoleMessage.timestamp()](https://playwright.dev/docs/api/class-consolemessage#console-message-timestamp).

##### Miscellaneous

- [browserContext.debugger](https://playwright.dev/docs/api/class-browsercontext#browser-context-debugger) provides programmatic control over the Playwright debugger.
- Method [browserContext.isClosed()](https://playwright.dev/docs/api/class-browsercontext#browser-context-is-closed).
- Method [request.existingResponse()](https://playwright.dev/docs/api/class-request#request-existing-response) returns the response without waiting.
- Method [response.httpVersion()](https://playwright.dev/docs/api/class-response#response-http-version) returns the HTTP version used by the response.
- Events [cdpSession.on('event')](https://playwright.dev/docs/api/class-cdpsession#cdp-session-event-event) and [cdpSession.on('close')](https://playwright.dev/docs/api/class-cdpsession#cdp-session-event-close) for CDP sessions.
- Option `live` in [tracing.start()](https://playwright.dev/docs/api/class-tracing#tracing-start) for real-time trace updates.
- Option `artifactsDir` in [browserType.launch()](https://playwright.dev/docs/api/class-browsertype#browser-type-launch) to configure the artifacts directory.

#### 🛠️ Other improvements

- UI Mode has an option to only show tests affected by source changes.
- UI Mode and Trace Viewer have improved action filtering.
- HTML Reporter shows the list of runs from the same worker.
- HTML Reporter allows filtering test steps for quick search.
- New trace mode `'retain-on-failure-and-retries'` records a trace for each test run and retains all traces when an attempt fails — great for comparing a passing trace with a failing one from a flaky test.

#### Known Issues ⚠️⚠️

- `navigator.platform` emulation can cause Ctrl or Meta dispatching errors ([#&#8203;40009](microsoft/playwright#40009)). Pass `PLAYWRIGHT_NO_UA_PLATFORM = '1'` environment variable while we are issuing a patch release. Let us know in the issue how it affected you.

#### Breaking Changes ⚠️

- Removed macOS 14 support for WebKit. We recommend upgrading your macOS version, or keeping an older Playwright version.
- Removed `@playwright/experimental-ct-svelte` package.

#### Browser Versions

- Chromium 147.0.7727.15
- Mozilla Firefox 148.0.2
- WebKit 26.4

This version was also tested against the following stable channels:

- Google Chrome 146
- Microsoft Edge 146

</details>

<details>
<summary>TanStack/form (@&#8203;tanstack/react-form)</summary>

### [`v1.28.6`](https://github.com/TanStack/form/blob/HEAD/packages/react-form/CHANGELOG.md#1286)

[Compare Source](https://github.com/TanStack/form/compare/@tanstack/react-form@1.28.5...@tanstack/react-form@1.28.6)

##### Patch Changes

- fix(core): field unmount ([#&#8203;2068](TanStack/form#2068))

- Updated dependencies \[[`7a1428d`](TanStack/form@7a1428d)]:
  - [@&#8203;tanstack/form-core](https://github.com/tanstack/form-core)@&#8203;1.28.6

</details>

<details>
<summary>TanStack/query (@&#8203;tanstack/react-query)</summary>

### [`v5.96.2`](https://github.com/TanStack/query/blob/HEAD/packages/react-query/CHANGELOG.md#5962)

[Compare Source](https://github.com/TanStack/query/compare/@tanstack/react-query@5.96.1...@tanstack/react-query@5.96.2)

##### Patch Changes

- Updated dependencies \[]:
  - [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)@&#8203;5.96.2

### [`v5.96.1`](https://github.com/TanStack/query/blob/HEAD/packages/react-query/CHANGELOG.md#5961)

[Compare Source](https://github.com/TanStack/query/compare/@tanstack/react-query@5.96.0...@tanstack/react-query@5.96.1)

##### Patch Changes

- Updated dependencies \[]:
  - [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)@&#8203;5.96.1

### [`v5.96.0`](https://github.com/TanStack/query/blob/HEAD/packages/react-query/CHANGELOG.md#5960)

[Compare Source](https://github.com/TanStack/query/compare/@tanstack/react-query@5.95.2...@tanstack/react-query@5.96.0)

##### Patch Changes

- Updated dependencies \[]:
  - [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)@&#8203;5.96.0

</details>

<details>
<summary>motdotla/dotenv (dotenv)</summary>

### [`v17.4.1`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1741-2026-04-05)

[Compare Source](motdotla/dotenv@v17.4.0...v17.4.1)

##### Changed

- Change text `injecting` to `injected` ([#&#8203;1005](motdotla/dotenv#1005))

### [`v17.4.0`](https://github.com/motdotla/dotenv/blob/HEAD/CHANGELOG.md#1740-2026-04-01)

[Compare Source](motdotla/dotenv@v17.3.1...v17.4.0)

##### Added

- Add `skills/` folder with focused agent skills: `skills/dotenv/SKILL.md` (core usage) and `skills/dotenvx/SKILL.md` (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (`npx skills add motdotla/dotenv`)

##### Changed

- Tighten up logs: `◇ injecting env (14) from .env` ([#&#8203;1003](motdotla/dotenv#1003))

</details>

<details>
<summary>nrwl/nx (nx)</summary>

### [`v22.6.4`](https://github.com/nrwl/nx/releases/tag/22.6.4)

[Compare Source](nrwl/nx@22.6.3...22.6.4)

#### 22.6.4 (2026-04-01)

##### 🚀 Features

- **misc:** update nx init telemetry meta from CSV to JSON format ([#&#8203;35076](nrwl/nx#35076))
- **nx-dev:** add conditional blog/changelog proxy in edge function ([#&#8203;35043](nrwl/nx#35043))

##### 🩹 Fixes

- **core:** validate bundler option for Angular presets in create-nx-workspace ([#&#8203;35074](nrwl/nx#35074))
- **core:** handle "." and absolute paths as workspace name in CNW ([#&#8203;35083](nrwl/nx#35083), [#&#8203;1](nrwl/nx#1))
- **core:** pin version of axios ([#&#8203;35093](nrwl/nx#35093))
- **core:** preserve sibling dependency inputs in native hashing ([#&#8203;35071](nrwl/nx#35071))
- **core:** sandbox exclusions, multi-line typeof import detection, global ensurePackage mock ([#&#8203;35056](nrwl/nx#35056))
- **core:** no-interactive should disable prompts during migrate ([#&#8203;35106](nrwl/nx#35106))
- **gradle:** increase project graph timeout defaults ([#&#8203;35058](nrwl/nx#35058))
- **js:** recognize tsgo in dependency-checks lint rule ([#&#8203;35048](nrwl/nx#35048))
- **js:** narrow tsc build-base outputs to only tsc-produced file types ([#&#8203;35041](nrwl/nx#35041))
- **js:** include tsbuildinfo in narrowed tsc build-base outputs ([#&#8203;35086](nrwl/nx#35086), [#&#8203;35041](nrwl/nx#35041))
- **js:** use explicit nx/bin/nx path in start-local-registry ([#&#8203;35127](nrwl/nx#35127))
- **misc:** handle non-interactive mode and add template shorthand names for CNW ([#&#8203;35045](nrwl/nx#35045))
- **react:** force Vite 7 when using React Router in framework mode ([#&#8203;35101](nrwl/nx#35101))
- **react-native:** use vite's transformWithEsbuild instead of direct esbuild import ([5771eb3346](nrwl/nx@5771eb3346))
- **repo:** pass env vars into docker builds in publish workflow ([#&#8203;35060](nrwl/nx#35060))
- **repo:** bump picomatch from 4.0.2 to 4.0.4 ([#&#8203;35081](nrwl/nx#35081), [#&#8203;35068](nrwl/nx#35068))
- **repo:** fixup lock-threads failing with resource inaccessible message ([#&#8203;35005](nrwl/nx#35005))
- **repo:** fix lockfile ([b070e23445](nrwl/nx@b070e23445))
- **repo:** re-enable Cypress HMR e2e tests after upstream tapable fix ([#&#8203;35105](nrwl/nx#35105), [#&#8203;34969](nrwl/nx#34969), [#&#8203;20693](nrwl/nx#20693))
- **repo:** disable ts-jest diagnostics for workspace-plugin tests ([b013f93dca](nrwl/nx@b013f93dca))
- **vite:** update vitest and plugin-react-swc versions for vite 8 compat ([#&#8203;35062](nrwl/nx#35062))
- **vite:** bump sass version for vue/nuxt presets for Vite 8 compat ([#&#8203;35073](nrwl/nx#35073))
- **webpack:** bump postcss-loader to ^8.2.1 to eliminate transitive <yaml@1.x> CVE ([#&#8203;35028](nrwl/nx#35028), [#&#8203;35025](nrwl/nx#35025))

##### ❤️ Thank You

- Colum Ferry [@&#8203;Coly010](https://github.com/Coly010)
- Craigory Coppola [@&#8203;AgentEnder](https://github.com/AgentEnder)
- FrozenPandaz [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- Jack Hsu [@&#8203;jaysoo](https://github.com/jaysoo)
- Jason Jean [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://github.com/leosvelperez)
- Miroslav Jonaš [@&#8203;meeroslav](https://github.com/meeroslav)
- Robert Sidzinka

</details>

<details>
<summary>oxc-project/tsgolint (oxlint-tsgolint)</summary>

### [`v0.19.0`](https://github.com/oxc-project/tsgolint/releases/tag/v0.19.0)

[Compare Source](oxc-project/tsgolint@v0.18.1...v0.19.0)

#### What's Changed

- chore(deps): update npm packages by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;846](oxc-project/tsgolint#846)
- chore(deps): update github-actions by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;847](oxc-project/tsgolint#847)
- chore(deps): update dependency typescript to v6 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;848](oxc-project/tsgolint#848)
- chore: fix schema generator drift by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;850](oxc-project/tsgolint#850)
- feat(await-thenable): port promise aggregator checks and upstream tests by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;851](oxc-project/tsgolint#851)
- test(e2e): make fixtures modules so they are processed in isolation by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;854](oxc-project/tsgolint#854)
- chore(deps): update pnpm to v10.33.0 by [@&#8203;renovate](https://github.com/renovate)\[bot] in [#&#8203;855](oxc-project/tsgolint#855)
- feat(no-unnecessary-type-arguments): port upstream inference reporting by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;853](oxc-project/tsgolint#853)
- feat(strict-void-return): sync overload-safe callback typing with upstream by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;856](oxc-project/tsgolint#856)
- feat(prefer-promise-reject-errors): add allow specifiers and upstream test parity by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;857](oxc-project/tsgolint#857)
- fix(prefer-readonly-parameter-types): preserve alias-aware parameter types by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;858](oxc-project/tsgolint#858)
- feat(no-useless-default-assignment): skip unresolved type parameters by [@&#8203;camc314](https://github.com/camc314) in [#&#8203;859](oxc-project/tsgolint#859)

**Full Changelog**: <oxc-project/tsgolint@v0.18.1...v0.19.0>

</details>

<details>
<summary>remeda/remeda (remeda)</summary>

### [`v2.33.7`](https://github.com/remeda/remeda/releases/tag/v2.33.7)

[Compare Source](remeda/remeda@v2.33.6...v2.33.7)

##### Bug Fixes

- **range:** add step parameter to range function ([#&#8203;1257](remeda/remeda#1257)) ([cf2dee0](remeda/remeda@cf2dee0))

</details>

<details>
<summary>vikejs/vike (vike)</summary>

### [`v0.4.256`](https://github.com/vikejs/vike/blob/HEAD/CHANGELOG.md#04256-2026-03-31)

[Compare Source](vikejs/vike@v0.4.255...v0.4.256)

##### Bug Fixes

- duplicate URL verification on pre-rendering ([#&#8203;3156](vikejs/vike#3156)) ([7723d45](vikejs/vike@7723d45))
- polish node unsupported version error ([#&#8203;3148](vikejs/vike#3148)) ([279f79c](vikejs/vike@279f79c))

##### Performance Improvements

- remove slow plugin when not needed (fix [#&#8203;3086](vikejs/vike#3086)) ([#&#8203;3187](vikejs/vike#3187)) ([567fe61](vikejs/vike@567fe61))

</details>

<details>
<summary>sapphi-red/vite-plugin-static-copy (vite-plugin-static-copy)</summary>

### [`v4.0.1`](https://github.com/sapphi-red/vite-plugin-static-copy/blob/HEAD/CHANGELOG.md#401)

[Compare Source](https://github.com/sapphi-red/vite-plugin-static-copy/compare/vite-plugin-static-copy@4.0.0...vite-plugin-static-copy@4.0.1)

##### Patch Changes

- [#&#8203;249](sapphi-red/vite-plugin-static-copy#249) [`c6bf44c`](sapphi-red/vite-plugin-static-copy@c6bf44c) Thanks [@&#8203;sapphi-red](https://github.com/sapphi-red)! - Fix absolute `dest` paths being nested under the output directory

  When `dest` was an absolute path and the source file had a directory component (structured output), the path was incorrectly converted to a relative path, causing files to be nested under the build output directory instead of being copied to the specified absolute path.

  ```js
  { src: 'foo/foo.txt', dest: '/home/user/my-repo/bar' }
  ```

  **Before**: `/home/user/my-repo/dist/home/user/my-repo/bar/foo/foo.txt`
  **After**: `/home/user/my-repo/bar/foo/foo.txt`

- [#&#8203;247](sapphi-red/vite-plugin-static-copy#247) [`d3af79e`](sapphi-red/vite-plugin-static-copy@d3af79e) Thanks [@&#8203;sapphi-red](https://github.com/sapphi-red)! - Fix `rename.stripBase` to work correctly with `../` paths

  Previously, `stripBase` counted `..` as directory segments, causing incorrect output paths when copying from parent directories.

  ```js
  { src: '../../src/pages/**/*.html', dest: 'dist/', rename: { stripBase: 2 } }
  ```

  **Before**: `dist/src/pages/events/test.html`
  **After**: `dist/events/test.html`

  ```js
  { src: '../../src/pages/**/*.html', dest: 'dist/', rename: { stripBase: true } }
  ```

  **Before**: `dist/src/pages/events/test.html`
  **After**: `dist/test.html`

</details>

---

### Configuration

📅 **Schedule**: (in timezone UTC)

- Branch creation
  - Between 12:00 AM and 03:59 AM, only on Monday (`* 0-3 * * 1`)
- 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 has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDguMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwOC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.bitcart.ai/bitcart/bitcart-frontend/pulls/191
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants