Skip to content

chore(deps): Dependabot roll-up - #180

Merged
isc-tdyar merged 4 commits into
intersystems-community:masterfrom
isc-fschwich:chore/dependabot-rollup
Nov 4, 2026
Merged

isc-tdyar merged 4 commits into
intersystems-community:masterfrom
isc-fschwich:chore/dependabot-rollup

Conversation

@isc-fschwich

Copy link
Copy Markdown
Contributor

Rolls up the open Dependabot PRs that are safe to take, adapts the code to their API changes, and stops Dependabot proposing the three that aren't.

Rust (#159, #160, #173, #178, #179)

  • windows 0.62, rusqlite 0.41, aes-gcm 0.11, dirs 7, ctor 1.
  • ctor 1 requires the explicit #[ctor::ctor(unsafe)]. Every site is a test-isolation hook, and what each one runs is unchanged.
  • aes-gcm 0.11 deprecates from_slice. The safeStorage decrypt now converts the key and nonce with TryFrom. Both lengths are already checked, and a failed conversion returns an error, not a panic.
  • windows 0.62 takes optional arguments as Option, so GetUserNameW and LocalFree now take Some(..). I checked the 0.62 signatures; CryptUnprotectData is unchanged.
  • rusqlite 0.41 and dirs 7 need no code changes.
  • The Windows paths compile only on the Windows runner. windows-handshake and its DPAPI round-trip step are the check for them.

Extension (#177 in part, #168)

  • vsce 4.1 and qs 6.17.1, which clears qs's moderate advisory.
  • minimatch 10.2.6 stays behind vsce until vsce takes 11.

Release workflow (#157)

  • The docker actions move to their current majors: setup-qemu 4.4.0, setup-buildx 4.4.1, login 4.7.0, metadata 6.2.0, build-push 7.4.0.
  • Each pin is the commit its tag points to.
  • All five run on node24 and still take every input the workflow passes. They still give the outputs it reads: tags, labels, digest.
  • The image job runs only on a release tag, so the next release is its first real run.

Not taken; Dependabot now ignores them

Dependabot cooldown

  • Every ecosystem waits 7 days after a release before proposing it, so a freshly published, compromised version doesn't get proposed straight away.
  • Security updates aren't delayed.
  • This also clears the six dependabot-cooldown findings zizmor reports for dependabot.yml on master. CI's zizmor job only lints .github/workflows, so they never showed up there.

Checks run locally (macOS)

  • clippy -D warnings, with and without testing, and fmt are clean.
  • The workspace tests pass with 0 failures (unit 3681).
  • cargo deny is clean.
  • The extension type-checks, its tests pass (131/131) and it packages.
  • zizmor reports no findings for .github.
  • The workflow tests pass (46), and so do the agent and git gates.

Supersedes #155, #156, #157, #159, #160, #168, #173, #177, #178 and #179. Close #155 and #156 as declined.

Rolls up Dependabot intersystems-community#159, intersystems-community#160, intersystems-community#173, intersystems-community#178 and intersystems-community#179.

- ctor 1 refuses a constructor without the unsafe acknowledgement, so every #[ctor::ctor] is now #[ctor::ctor(unsafe)]. They are the test-isolation hooks; what they run is unchanged.
- aes-gcm 0.11 deprecates from_slice. The safeStorage decrypt converts the key and nonce with TryFrom; both lengths are checked first, and a failed conversion is an error, not a panic. The test helper that seals fixtures uses From on its fixed-size arrays.
- windows 0.62 passes optional arguments as Option: GetUserNameW and LocalFree take Some(..). CryptUnprotectData is unchanged.
- rusqlite 0.41 and dirs 7 build without code changes.
- The payload test's fixture value is renamed so the staged-file secret scan does not read it as a credential; the test is unchanged.

The Windows paths compile only on the Windows runner; windows-handshake and its DPAPI round-trip step cover them.
Rolls up the vsce half of Dependabot intersystems-community#177 and intersystems-community#168. qs 6.17.1 clears its moderate advisory; minimatch stays at 10.2.6, behind vsce, until vsce takes 11.

Not taken: @types/vscode 1.144 (intersystems-community#177), @types/node 26 (intersystems-community#156) and which 7 (intersystems-community#155). The extension supports VS Code 1.99, which runs on Node 20: newer typings would let code use APIs that release lacks, and which 7 needs Node 22.22. They move with engines.vscode.
Dependabot intersystems-community#157: setup-qemu 4.4.0, setup-buildx 4.4.1, login 4.7.0, metadata 6.2.0, build-push 7.4.0. Each pin is the commit its tag points to. All five run on node24 and still take every input this workflow passes and give the outputs it reads (tags, labels, digest). The image job runs only on a release tag, so the next release is its first run.
@types/vscode, @types/node from 21 and which from 7 are ignored for the extension: they follow engines.vscode, which moves by hand. Every ecosystem now has a 7-day cooldown, so a version update is proposed only after a release has been public for a week; security updates are not delayed. zizmor's dependabot-cooldown check had six findings here.

@isc-tdyar isc-tdyar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approved. Required checks green; CodeQL alerts #278/#279 already exist on master (test fixture), not introduced here.

@isc-tdyar
isc-tdyar merged commit 71fd59f into intersystems-community:master Nov 4, 2026
21 of 22 checks passed
isc-tdyar pushed a commit that referenced this pull request Nov 5, 2026
CodeQL flags the fixed test key and nonce as hard-coded cryptographic values. Since the Dependabot roll-up (#180) the test helper builds keys with From instead of from_slice, and CodeQL follows those into the cipher. Every test seals and opens with the same key, so the value never mattered: the key and nonce now come from the OS once per run, and the wrong-key test draws its own and asserts it differs. getrandom 0.4 is a dev-dependency here; it was already in Cargo.lock through uuid.
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