Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"cyclonedx": {
"version": "6.2.0",
"version": "6.3.1",
"commands": ["dotnet-CycloneDX"]
},
"sharpfuzz.commandline": {
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body:
attributes:
label: Version
description: Output of `postgresql-sharp-mcp --version`, or the commit SHA when running from source.
placeholder: 0.7.0
placeholder: 0.7.1
validations:
required: true
- type: dropdown
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,16 @@ jobs:
if: matrix.language == 'csharp'
with:
dotnet-version: '10.0.x'
- uses: github/codeql-action/init@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
- uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
tools: linked # CodeQL bundle 2.27.1, identical across all revisions/languages.
tools: linked # CodeQL bundle 2.27.3, identical across all revisions/languages.
queries: security-extended
- name: Build real solution including compiler-generated code
if: matrix.language == 'csharp'
run: dotnet build postgresql-sharp-mcp.slnx --configuration Release -p:RestoreLockedMode=true
- uses: github/codeql-action/analyze@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
- uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
output: artifacts/codeql
category: /language:${{ matrix.language }}
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
if: matrix.language == 'csharp'
with:
dotnet-version: '10.0.x'
- uses: github/codeql-action/init@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
- uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.language == 'csharp' && 'manual' || 'none' }}
Expand All @@ -90,7 +90,7 @@ jobs:
- name: Build scanned revision including compiler-generated code
if: matrix.language == 'csharp'
run: dotnet build postgresql-sharp-mcp.slnx --configuration Release -p:RestoreLockedMode=true
- uses: github/codeql-action/analyze@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
- uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
upload: never
upload-database: false
Expand Down Expand Up @@ -172,7 +172,7 @@ jobs:
with:
name: codeql-candidate-${{ matrix.language }}
path: ${{ runner.temp }}/codeql-candidate
- uses: github/codeql-action/upload-sarif@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
- uses: github/codeql-action/upload-sarif@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
sarif_file: ${{ runner.temp }}/codeql-candidate
category: /language:${{ matrix.language }}
8 changes: 4 additions & 4 deletions .github/workflows/container-security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ jobs:
- name: Install checksum-verified Trivy
working-directory: ${{ runner.temp }}
run: |
# Official v0.75.0 release and trivy_0.75.0_checksums.txt; no install script.
# Official v0.76.1 release and trivy_0.76.1_checksums.txt; no install script.
curl --fail --location --retry 3 --connect-timeout 15 --max-time 180 \
--output trivy.tar.gz \
https://github.com/aquasecurity/trivy/releases/download/v0.75.0/trivy_0.75.0_Linux-64bit.tar.gz
printf '%s %s\n' 'c6e65abddb348e25f10549df887045629cf28cc72453cd1c63acb717316b3f3f' 'trivy.tar.gz' | sha256sum --check --strict
https://github.com/aquasecurity/trivy/releases/download/v0.76.1/trivy_0.76.1_Linux-64bit.tar.gz
printf '%s %s\n' 'c7cbe3137fb8a48a17574bede3dd6beb16742d1e9772929940fc90082c39d9c0' 'trivy.tar.gz' | sha256sum --check --strict
mkdir -p trivy-bin
tar -xzf trivy.tar.gz -C trivy-bin trivy
./trivy-bin/trivy --version
Expand All @@ -37,7 +37,7 @@ jobs:
# any future exception must be justified, scoped and expiry-bound in review.
run: |
mkdir -p artifacts/container-security
"${{ runner.temp }}/trivy-bin/trivy" image \
"$RUNNER_TEMP/trivy-bin/trivy" image \
--config '' --ignorefile '' \
--image-src docker --scanners vuln --pkg-types os,library \
--severity HIGH,CRITICAL --ignore-unfixed=false --exit-code 1 \
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -197,16 +197,16 @@ jobs:
dotnet-version: '10.0.x'
- uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0
with:
node-version: '24.21.0'
node-version: '24.22.1'
- name: Install reviewed npm CLI with staged-publishing support
# Exact registry tarball for npm 12.2.0; NPM_SHA512 is the hex form of its
# Exact registry tarball for npm 12.2.1; NPM_SHA512 is the hex form of its
# published dist.integrity. No npm install or lifecycle scripts run.
env:
NPM_SHA512: 66c2632a94e796649738b2d7894d710c2cc2e1696893823066687f6b0d8a52e5f2b54eeaeaa32ffdc513ecca1e49ff794a5c2ec3f9515d879f1b3182b291cf35
NPM_SHA512: 6ca0a6151553fc107e60f1186d9c10d57508dcde6de31292a54d4cc4e8e8ef3de25b3281274657442d7115d10df930bb3794ddcb0681cdfd9d317189abf7b63d
run: |
mkdir -p "$RUNNER_TEMP/npm-cli" "$RUNNER_TEMP/npm-bin"
curl --fail --silent --show-error --location --proto '=https' --tlsv1.2 \
https://registry.npmjs.org/npm/-/npm-12.2.0.tgz --output "$RUNNER_TEMP/npm.tgz"
https://registry.npmjs.org/npm/-/npm-12.2.1.tgz --output "$RUNNER_TEMP/npm.tgz"
printf '%s %s\n' "$NPM_SHA512" "$RUNNER_TEMP/npm.tgz" | sha512sum --check --strict
tar -xzf "$RUNNER_TEMP/npm.tgz" -C "$RUNNER_TEMP/npm-cli" --strip-components=1
ln -s "$RUNNER_TEMP/npm-cli/bin/npm-cli.js" "$RUNNER_TEMP/npm-bin/npm"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4
- uses: ossf/scorecard-action@fa7117db83c52d787ae5a89f350999701505d78e # v2.5.0
with:
results_file: results.sarif
results_format: sarif
publish_results: true
- uses: github/codeql-action/upload-sarif@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
- uses: github/codeql-action/upload-sarif@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1
with:
sarif_file: results.sarif
category: scorecard
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

## Unreleased

## 0.7.1

Dependency and supply-chain refresh. No tool, parameter, environment variable, CLI flag, targets-file or database-access behavior changes; configurations that work with 0.7.0 work unchanged.

- **Security:** the npm platform packages and self-contained release archives bundle .NET runtime **10.0.13**, Microsoft's 2026-10-13 security release (previously 10.0.12), because the pinned SDK moves from 10.0.401 to 10.0.402 (`global.json`). The container's SDK and runtime base images are re-pinned to the current `mcr.microsoft.com/dotnet/sdk:10.0` and `runtime:10.0` manifest-list digests. The NuGet .NET tool runs on the user's installed .NET runtime: update it to 10.0.13 to get the same fixes.
- NuGet packages: ModelContextProtocol 2.2.0 → 2.3.0, Microsoft.Extensions.Hosting/Logging.Console/Caching.Abstractions/Hosting.Abstractions/Logging.Abstractions 10.0.12 → 10.0.13, Microsoft.Extensions.AI.Abstractions 10.10.1 → 10.11.0 and Microsoft.SourceLink.GitHub 10.0.401 → 10.0.402. Verifier and fuzz tooling only: FsCheck 3.4.0 → 3.6.0, and central transitive pins move FSharp.Core 5.0.2 → 11.0.100 (through FsCheck) and dnlib 4.4.0 → 4.5.0 (through SharpFuzz). Local tool CycloneDX 6.2.0 → 6.3.1. The portable and five per-RID lock files were regenerated; all 42 resolved packages are at their latest stable versions and the locked NuGet audit (`NuGetAuditMode=all`, level low) reports no advisories.
- GitHub Actions and pinned CI tools: `github/codeql-action` v4.38.3 → v4.39.1 (`9b3254085494b55a0f7c4c2b3d2d52cc712ce370`, CodeQL bundle 2.27.3), `ossf/scorecard-action` v2.4.4 → v2.5.0 (`fa7117db83c52d787ae5a89f350999701505d78e`), Trivy 0.75.0 → 0.76.1 (checksum from the release's `trivy_0.76.1_checksums.txt`). Each new SHA is the commit its upstream release tag points to. The container-security gate now calls Trivy through `$RUNNER_TEMP` instead of expanding `${{ runner.temp }}` inside the script, clearing a zizmor template-injection finding (the value was runner-controlled, not attacker-controlled).
- Release npm job: Node.js 24.21.0 → 24.22.1 (Node.js security release of 2026-10-20) and npm 12.2.0 → 12.2.1, still installed from the exact registry tarball checked against its published SHA-512 integrity. The Windows approver instructions in CONTRIBUTING use the same versions.
- Verifier fixtures: the PostgreSQL 14–18 bookworm images are re-pinned to the digests Docker Hub published on 2026-10-21 (same PostgreSQL minor versions, rebuilt base), and PostgreSQL 19 moves from `19beta4-bookworm` to `19rc1-bookworm` ([19 RC 1](https://www.postgresql.org/about/news/postgresql-19-rc-1-released-3409/)). HypoPG stays at `1.4.3-1.pgdg12+2`, which pgdg still publishes for 13–19.
- Supply-chain review against the 2026 GhostAction waves and the re-enabled Mini Shai-Hulud `actions-cool` actions: every action was already pinned to a full commit SHA (also enforced by the repository's SHA-pinning policy), no `actions-cool` action is used, and only the eight known workflows have ever run in this repository.
- OpenSSF Best Practices: re-evaluate the proposed TLS answers in `.bestpractices.json` for the 0.7.0 `SSL Mode=Prefer` default. `crypto_certificate_verification` and `crypto_verification_private` (Silver MUST) and `crypto_used_network` (Silver SHOULD, Gold MUST) change from Met to Unmet, each with the reason and what would change it. The TLS wording in four other crypto answers now describes `Prefer`, the secure-design answer describes the advisory database-lock check, and the release-notes answer covers every release through 0.7.0. [docs/security-posture.md](docs/security-posture.md) records the new counts and closes owner checklist item 11. Nothing is saved on bestpractices.dev until the owner reviews it.

## 0.7.0
Expand Down
Loading
Loading