Skip to content

Bump Microsoft.Extensions.DependencyInjection.Abstractions and 3 others - #457

Merged
xzawed merged 3 commits into
mainfrom
dependabot/nuget/dotnet/src/Xzawed.Keycloak.Sdk/dotnet-minor-patch-7eb1197661
Sep 11, 2026
Merged

xzawed merged 3 commits into
mainfrom
dependabot/nuget/dotnet/src/Xzawed.Keycloak.Sdk/dotnet-minor-patch-7eb1197661

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

Updated Microsoft.Extensions.DependencyInjection.Abstractions from 9.0.19 to 9.0.20.

Release notes

Sourced from Microsoft.Extensions.DependencyInjection.Abstractions's releases.

9.0.20

Release

What's Changed

Full Changelog: dotnet/runtime@v9.0.19...v9.0.20

Commits viewable in compare view.

Updated Microsoft.NET.Test.Sdk from 18.9.0 to 18.10.0.

Release notes

Sourced from Microsoft.NET.Test.Sdk's releases.

18.10.0

What's Changed

Full Changelog: microsoft/vstest@v18.9.0...v18.10.0

Commits viewable in compare view.

Updated Microsoft.SourceLink.GitHub from 10.0.400 to 10.0.401.

Release notes

Sourced from Microsoft.SourceLink.GitHub's releases.

10.0.401

Release

What's Changed

... (truncated)

Commits viewable in compare view.

Updated Testcontainers.Keycloak from 4.14.0 to 4.15.0.

Release notes

Sourced from Testcontainers.Keycloak's releases.

4.15.0

What's Changed

The NuGet packages for this release have been attested for supply chain security using actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #​45594466.

🚀 Features

  • feat: Add options to the Docker Compose up and down command (#​1759) @​HofmeisterAn
  • feat: Add QuestDB module (#​1618) @​FortuneN, @​HofmeisterAn
  • feat: Add Compose support (#​1750) @​HofmeisterAn
  • fix(Couchbase): Treat an already provisioned cluster as configured (#​1736) @​arnelirobles, @​HofmeisterAn
  • feat: Retry transient Docker image pull failures (#​1734) @​thomhurst, @​HofmeisterAn
  • chore(deps): Split Dependabot NuGet jobs and bump test dependencies (#​1746) @​HofmeisterAn
  • feat(MongoDb): Resolve the MongoDb shell file path once (#​1745) @​HofmeisterAn

🐛 Bug Fixes

  • fix: Detach from the container output before stopping or removing it (#​1755) @​HofmeisterAn
  • fix(GCloud): Bump test image version (#​1752) @​HofmeisterAn

📖 Documentation

  • docs: Update CONTRIBUTING.md (#​1744) @​HofmeisterAn

🧹 Housekeeping

  • chore: Improve null check, test typing, and IDE settings (#​1757) @​HofmeisterAn
  • fix(GCloud): Bump test image version (#​1752) @​HofmeisterAn
  • chore: Resolve Sonar findings (#​1751) @​HofmeisterAn
  • chore(deps): Revert Dependabot NuGet jobs (#​1748) @​HofmeisterAn
  • feat: Prepare next release cycle (4.15.0) (#​1742) @​HofmeisterAn

📦 Dependency Updates

  • chore(deps): Bump mkdocs-material from 9.7.2 to 9.7.7 (#​1758) @​dependabot[bot]
  • chore(deps): Bump the actions group with 5 updates (#​1754) @​dependabot[bot]
  • chore(deps): Bump the actions group across 1 directory with 7 updates (#​1747) @​dependabot[bot]
  • chore(deps): Revert Dependabot NuGet jobs (#​1748) @​HofmeisterAn
  • chore(deps): Split Dependabot NuGet jobs and bump test dependencies (#​1746) @​HofmeisterAn

Commits viewable in compare view.

@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Sep 9, 2026
Bumps Microsoft.Extensions.DependencyInjection.Abstractions from 9.0.19 to 9.0.20
Bumps Microsoft.NET.Test.Sdk from 18.9.0 to 18.10.0
Bumps Microsoft.SourceLink.GitHub from 10.0.400 to 10.0.401
Bumps Testcontainers.Keycloak from 4.14.0 to 4.15.0

---
updated-dependencies:
- dependency-name: Microsoft.Extensions.DependencyInjection.Abstractions
  dependency-version: 9.0.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-minor-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 18.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dotnet-minor-patch
- dependency-name: Microsoft.SourceLink.GitHub
  dependency-version: 10.0.401
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dotnet-minor-patch
- dependency-name: Testcontainers.Keycloak
  dependency-version: 4.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dotnet-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title Bump the dotnet-minor-patch group with 4 updates Bump Microsoft.Extensions.DependencyInjection.Abstractions and 3 others Sep 10, 2026
@dependabot
dependabot Bot force-pushed the dependabot/nuget/dotnet/src/Xzawed.Keycloak.Sdk/dotnet-minor-patch-7eb1197661 branch from 1820145 to c5173db Compare September 10, 2026 23:36
xzawed and others added 2 commits September 11, 2026 20:55
`doc-facts` 가 드리프트 3건으로 이 PR 을 막고 있었다(가드가 설계대로 동작한 것):
`Microsoft.Extensions.DependencyInjection.Abstractions` 9.0.19→9.0.20 ·
`Microsoft.NET.Test.Sdk` 18.9.0→18.10.0 · `Testcontainers.Keycloak` 4.14.0→4.15.0.

매니페스트가 SSOT 이고 CLAUDE.md 표는 `doc-guard` 로 대조되는 파생본이라, dependabot 이
csproj 만 올리면 반드시 이 드리프트가 난다 — **사람이 같은 PR 에서 표를 맞춰야 닫힌다.**

실측: dotnet 단위 81 통과 0 실패 · doc-facts 76 facts/26 anchors.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@xzawed xzawed left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

✅ 자동 승인: 점수 89점 (기준: 75점 이상)

@sonarqubecloud

Copy link
Copy Markdown

@xzawed
xzawed merged commit 133509a into main Sep 11, 2026
38 checks passed
@xzawed
xzawed deleted the dependabot/nuget/dotnet/src/Xzawed.Keycloak.Sdk/dotnet-minor-patch-7eb1197661 branch September 11, 2026 12:11
xzawed added a commit that referenced this pull request Sep 22, 2026
아홉 패키지가 `1.0.0` 으로 게시된 뒤 `main` 에 157 커밋이 쌓였고, 그중 **30 건이 게시되는
라이브러리 소스**를 고쳤다. 대부분 보안 수정이다 — PKCE verifier·토큰이 기본 직렬화기로
새던 것(#382, **게시본 1.0.0 에 들어 있다**), 백채널 3xx 가 SSRF 와 fail-open 을 함께 열던
것(#380), JWKS 바이트 상한 부재 다섯 언어, 빈 JWKS 키셋이 좋은 캐시를 덮던 것(#520).

그동안 `CHANGELOG.md` 의 `[Unreleased]` 는 **0 줄**이었다.

## 먼저 기제, 그다음 복원

순서가 반대면 다음 릴리스에서 또 같은 복원을 한다. 복원은 커밋 제목을 베껴 쓰는 일이라
반드시 틀린다 — 실제로 이번 복원에서도 둘을 걸러내야 했다(#398·#458 은 주석만 고쳤다).

`scripts/test/test-changelog-landing.sh` 가 묻는 것은 하나다:

    이 범위가 게시 라이브러리 소스를 고쳤다면, `[Unreleased]` 절의 **내용 줄이 늘었는가**

⚠️ **「CHANGELOG.md 를 건드렸는가」로 묻지 않는다.** Grok 독립 레그가 그 설계의 실패 방식
둘을 정확히 짚었다 — (1) 공백 한 줄이면 통과하므로 절이 읽히지 않는 소음이 된다,
(2) 옛 `[1.0.0]` 절을 고쳐도 통과한다. 둘 다 변이로 막혀 있음을 증명했다(아래 6·7).

면제는 `[no-changelog: <이유>]` 이고 **이유가 비면 면제되지 않는다**. 주석 수정처럼 소비자
행동이 안 바뀌는 변경의 자리이며, 그 판정이 git 이력에 남아 다음 릴리스에서 되읽힌다.

## 매니페스트는 일부러 조준 밖이다 — 실측이 그렇게 만들었다

경로 규칙만 봤다면 `dotnet/src/Xzawed.Keycloak.Sdk/Xzawed.Keycloak.Sdk.csproj` 가 잡힌다.
dependabot 의 #457 이 정확히 그 파일 **하나만** 고쳤다 — 즉 게이트가 dependabot PR 마다
울렸을 것이고, dependabot 은 CHANGELOG 를 쓸 수 없으므로 끝은 게이트가 꺼지는 쪽이다.
게시 글롭 안의 매니페스트는 그 한 자리뿐이라는 것을 실측하고(다른 비소스는 `.gitkeep` 둘과
`py.typed` 하나 — `py.typed` 는 사라지면 소비자 타입 검사가 꺼지므로 **안 뺀다**) 부류로 뺐다.

## 역적용 — 얼마나 울렸을 것인가

    v1.0.0..main 병합 커밋 157 건 중 게이트가 울렸을 것: 30 건 (19%)

## 변이 증명 (일곱, 전부 실제 커밋으로)

    1  게시 소스 수정 · CHANGELOG 무변경        → FAIL  [grew] vs [flat]
    2  게시 소스 수정 + [Unreleased] 한 줄       → PASS  15 passed
    3  `[no-changelog: 이유]`                    → PASS  면제 1 건
    4  `[no-changelog:   ]` (이유 빔)            → FAIL
    5  테스트 파일만 수정                        → 대상 아님
    6  게시 소스 + 옛 [1.0.0] 절만 수정          → FAIL   ← Grok 실패방식 (2)
    7  게시 소스 + [Unreleased] 에 공백만        → FAIL   ← Grok 실패방식 (1)

판정기 둘(`_shipped`·`_unreleased_lines`)은 픽스처로 직접 먹여 음성 대조한다 — 살아 있는
상태만 단언하면 판정기를 지워도 초록이 된다(등록부 `selftests-with-no-negative-case`).

## 공허 방지는 숫자가 아니라 규칙이다

「게시 소스 N 개 이상」은 파일이 정당하게 줄 때마다 다시 맞춰야 하고, 재보정되는 수는
결국 아무도 안 본다. 대신 **언어마다 ≥1** 을 단언한다 — 한 언어의 배치가 바뀌어 글롭이
조용히 빗나가는 것(= 그 언어에서 게이트가 꺼지는 것)을 정확히 그 언어에서 잡는다.
CI 에서 비교 기준(merge-base)을 못 잡으면 **실패**한다(스킵이 아니다).

required 잡(`doc-facts`)에 스텝으로 붙인다 — 별도 잡으로 빼면 눈에는 보이되 머지를 못 막는다
(룰셋 PRIMARY 의 required 는 `doc-facts`·`shell-exec-bits` 둘뿐이다).

## 복원한 [Unreleased]

30 커밋 중 28 건을 Security 19 · Fixed 6 · Added 3 으로 적었다. 경위·측정·변이증명은 각 PR 의
커밋 메시지가 소유하고 여기 옮기지 않는다. CHANGELOG 는 32,044 B — 예산 부류 예외이고
전역 트립와이어(262,144 B)의 12% 다.

가드 실측:
    sh scripts/test/test-changelog-landing.sh   → 15 passed, 0 failed
    node scripts/check-docs.mjs . --strict …    → 0
    sh scripts/test/test-selftest-hygiene.sh    → 0
    sh scripts/test/test-nightly-alert.sh       → 0

2026-09-22 감사의 열린 high 중 마지막 하나(`changelog-unreleased-empty`)를 닫는다.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant