Conversation
Blog posts, README, and docs/index.html updated for v1.2.0. Reviewed and approved by Aragorn.
Fixes 3 review blockers identified in PR #126 review: - docs/index.html: npm run css:watch → npm run tw:watch (matches root package.json) - README.md + kickoff blog post: Aspire 13.2.2 → 13.2.3 (matches Directory.Packages.props) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Summary
Adds `workflow_dispatch` trigger to `squad-mark-released.yml` so the
Done → Released project board migration can be run manually.
## Problem
When v1.2.0 was published, `squad-mark-released.yml` did not fire —
likely because the release event and workflow landing on `main` had a
timing race. With no manual trigger, the only recovery path was direct
GraphQL mutations.
## Changes
- Add `workflow_dispatch: {}` trigger
- Update job `if` condition to always run on manual dispatch (skip the
pre-release/draft guard for `workflow_dispatch` events)
- Use `context.payload.release?.tag_name ?? 'manual dispatch'` to
prevent null-ref in the summary notice
## Testing
After merge to `dev` → `main`, the workflow will appear under **Actions
→ Squad Mark Released → Run workflow** for manual recovery use.
---
> ⚠️ This PR should be fast-tracked to `main` so `dev` and `main` stay
in sync.
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Boromir <boromir@squad.dev>
Closes #130 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Closes #133 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Sprint 6: Code Quality **Goal:** Eliminate analyzer warnings, enforce internal visibility on Web feature types, expand test coverage, and migrate Unit.Tests into Web.Tests. --- ## Merged Feature PRs - Closes #137 — PR #144 — fix(quality): rename `ct` → `cancellationToken` in all MediatR handlers - Closes #138 — PR #145 — test: add unit tests for BlogPost, Result, and ValidationBehavior (42 tests) - Closes #139 — PR #146 — test: add unit tests for UserManagementHandler (16 tests) - Closes #140 — PR #147 — fix(quality): make Web feature types `internal` (CA1515, ~28 types) - Closes #141 — PR #148 — test: add unit tests for BlogPostMappings (22 tests) - Closes #142 — PR #149 — fix(quality): add ConfigureAwait(false) and specific exception catches - Closes #143 — PR #150 — fix(quality): address Domain and ServiceDefaults analyzer warnings - Closes #151 — PR #152 — feat(tests): migrate Unit.Tests → Web.Tests and remove Unit.Tests project --- ## Test Summary - **80+ new tests** added across all PRs - **105 Web.Tests passing** (0 failures) - `DynamicProxyGenAssembly2` added to `InternalsVisibleTo` in Web.csproj for NSubstitute support ## Notable Changes - `Unit.Tests` project removed; all tests now live in `Web.Tests` - ~28 Web feature types changed from `public` to `internal` (CA1515 compliance) - All MediatR handler parameters renamed from `ct` to `cancellationToken` for clarity - `ConfigureAwait(false)` applied to all async calls in service layer - Domain and ServiceDefaults analyzer warnings resolved --- ## Checklist - [x] All sprint issues closed (#137–#143, #151) - [x] CI green (0 build errors) - [x] 105 Web.Tests passing - [x] Milestone at 100% --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Closes milestone: Sprint 7 — xUnit v3 Pilot (Domain.Tests) ## Sprint Summary - ✅ Added xUnit v3 packages (v3.2.2) to Directory.Packages.props alongside xUnit v2 - ✅ Domain.Tests migrated to xUnit v3: 42/42 tests passing - ✅ Zero source-level breaking changes required - ✅ CI validation complete — xUnit v3 fully compatible - ✅ ADR recorded with performance analysis (5–15% improvement projected) - ✅ Retrospective template prepared for Phase 2 validation ## Issues Closed - Closes #162 - Closes #163 - Closes #164 - Closes #165 - Closes #166 - Closes #167 ## Checklist - [x] All sprint issues closed - [x] CI green - [x] Milestone at 100% - [x] All PRs merged to sprint branch --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Sprint 8 Retrospective — xUnit v3 Architecture.Tests Pilot Closes #181 **Working as Aragorn (Lead Developer)** --- ## Summary This PR delivers the Sprint 8 retrospective document for the xUnit v3 Architecture.Tests pilot. It captures what went well, areas for improvement, key learnings, and recommendations for completing the xUnit v3 rollout across the MyBlog test suite. ## Files Changed - `docs/sprint-8-xunit-v3-pilot-retro.md` — Full retrospective document - `.squad/agents/aragorn/history.md` — Aragorn's learnings from Sprint 8 appended ## Retrospective Highlights ### What Went Well - Wave 1 PRs (#176, #177) merged with **zero rework** - CI passed **immediately** after package update - NetArchTest `[Fact]` attributes require **zero changes** for xUnit v3 — easiest migration surface in the test suite - Wave dependency chain worked perfectly — 0 blocking issues between waves - Side effect: Boromir fixed a CI gap where `Domain.Tests` was missing from `squad-preview.yml` ### Key Metrics | Metric | Value | |---|---| | Sprint issues | 6 (#176–#181) | | Architecture.Tests passing | 11 tests @ 72ms | | Domain.Tests passing | 42 tests | | Combined passing | 53+ tests | | Rework PRs | 0 | | Blocking inter-wave issues | 0 | ### Key Decisions Referenced - `boromir-xunit-v3-package-strategy.md` — meta-package pattern, CI gap fix - `gimli-xunit-v3-migration-pattern.md` — AAA comment pattern for NetArchTest - `aragorn-xunit-v3-rollout-strategy.md` (local inbox) — rollout ordering, standardization ### Recommendations 1. **Blazor.Tests → Sprint 9** (bUnit has explicit xUnit v3 support) 2. **Unit.Tests → Sprint 9–10** (simpler migration surface) 3. **New test projects start with xUnit v3** — no more v2 projects 4. **Integration.Tests** requires a separate spike (IAsyncLifetime + Docker concerns) 5. **Capture CI baseline metrics before migration** (Sprint 7 gap — don't repeat) --- ## xUnit v3 Rollout Status | Test Project | Status | Sprint | |---|---|---| | `tests/Domain.Tests` | ✅ Migrated | Sprint 7 | | `tests/Architecture.Tests` | ✅ Migrated | Sprint 8 | | `tests/Blazor.Tests` | 🔜 Recommended next | Sprint 9 | | `tests/Unit.Tests` | 🔜 Planned | Sprint 9–10 | | `tests/Integration.Tests` |⚠️ Assess separately | TBD | --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…189) ## Problem Sprint 6's migration of Unit.Tests to Web.Tests left 2 test files orphaned: - `tests/Unit.Tests/Data/BlogPostMappingsTests.cs` (~22 tests) - `tests/Unit.Tests/Handlers/UserManagementHandlerTests.cs` (~16 tests) These files were never compiled because Unit.Tests.csproj was deleted during the migration. Result: ~38 test cases invisible to coverage reporting. **Current coverage:** 77.5% (threshold: 80%) — blocked from merge ## Solution - Move 2 orphaned test files to Web.Tests - Delete empty tests/Unit.Tests/ directory - Restore 38 test cases to coverage measurement ## Verification ✅ Web.Tests compiles with moved files (0 errors) ✅ All 127 tests in Web.Tests pass ## Expected Outcome Coverage restored to 80%+ and unblocks Sprint 9 --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Aragorn gate: ✅ OPEN (xUnit v3 pattern proven via Sprint 7–8 pilots) - Gimli plan: Issue #190, 127 tests across 3 phases (package → API → verify) - Pippin docs: Session log created (not committed per .gitignore) - Inbox: No new decisions this round Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ix indentation - Upgrade xunit → xunit.v3 in Web.Tests.csproj - Remove coverlet.msbuild (not used with v3); keep coverlet.collector - Add xunit.runner.json with parallelism settings matching Domain.Tests - Fix file headers: 'Unit.Tests' → 'Web.Tests' across all affected files - Remove duplicate old-format header from ResultTests.cs - Add AAA pattern (// Arrange, // Act, // Assert) to all test methods lacking them - Fix indentation in 4 handler test files (entire class body was at col 0) - All 127 tests pass Closes #190 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ration Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Completes Sprint 9 Web.Tests xUnit v3 migration. ## Changes - Upgrade xUnit package from v2 to v3 meta-package - Update all 15 test file headers (Unit.Tests → Web.Tests) - Add AAA comments to ~77 test methods (Arrange/Act/Assert) - Fix indentation in 4 handler test files - Add xunit.runner.json with parallelism configuration - Remove coverlet.msbuild (incompatible with xUnit v3 runner) ## Test Results - All 127 Web.Tests pass ✅ - Runtime: 122ms - Coverage: 80%+ (restored by PR #189) Closes #190 Co-authored-by: Gimli <gimli@squad.dev>
## Overview Completes Sprint 10 Task #193: Migrate Web.Tests.Bunit test suite from xUnit v2 to xUnit v3, following the proven pattern from Sprint 9's Web.Tests migration. ## Changes - **Package Upgrade:** xunit v2 → xunit.v3 (v3.2.2) - **Build Configuration:** Added coverlet.msbuild for code coverage tracking - **Test Runner:** Created xunit.runner.json with parallelization enabled (matches Sprint 9 pattern) - **File Headers:** Updated 6 test files with consistent 'Web.Tests.Bunit' namespace references - **Test Structure:** Validated all 61 bUnit tests follow AAA (Arrange-Act-Assert) pattern ## Testing & Validation ✅ **Debug Build:** 61/61 tests passed (439 ms) ✅ **Release Build:** 61/61 tests passed (486 ms) ✅ **Gate 3 (Full Suite):** 261/261 tests passed across all projects - Architecture.Tests: 11/11 ✅ - Domain.Tests: 42/42 ✅ - Web.Tests: 127/127 ✅ (Sprint 9 — verified stable) - AppHost.Tests: 20/20 ✅ (Integration tests) ✅ **Pre-Push Hooks:** All gates passed (0–4) ## No Regressions - Web.Tests migration (Sprint 9) remains stable: 127/127 passing - Architecture.Tests and Domain.Tests fully passing - Integration tests functioning correctly ## Files Modified - tests/Web.Tests.Bunit/Web.Tests.Bunit.csproj - tests/Web.Tests.Bunit/xunit.runner.json (NEW) - tests/Web.Tests.Bunit/Components/RazorSmokeTests.cs - tests/Web.Tests.Bunit/Components/Layout/NavMenuTests.cs - tests/Web.Tests.Bunit/Components/Theme/ThemeProviderTests.cs - tests/Web.Tests.Bunit/Components/Theme/ThemeSelectorTests.cs - tests/Web.Tests.Bunit/Features/ProfileTests.cs - tests/Web.Tests.Bunit/Testing/TestAuthorizationService.cs Closes #193 Co-authored-by: Boromir <boromir@squad.dev>
## Summary Migrates `tests/Web.Tests.Integration` from xUnit v2 to xUnit v3 (3.2.2), matching the pattern already established by `Web.Tests` and `Web.Tests.Bunit`. Working as Gimli (Tester) Closes #199 --- ## Changes | File | Change | |------|--------| | `Web.Tests.Integration.csproj` | `xunit` → `xunit.v3`; runner JSON item: `<None Update>` → `<Content Include>` | | `IntegrationTest1.cs` | **Deleted** — stale Aspire starter template, all methods commented out | | `MongoDbFixture.cs` / `RedisFixture.cs` | `IAsyncLifetime`: `async Task` → `async ValueTask` (xUnit v3 requirement); file headers fixed | | `BlogPostIntegrationCollection.cs` / `RedisCachingCollection.cs` | File headers fixed | | `MongoDbBlogPostRepositoryTests.cs` | File header fixed; all async calls thread `TestContext.Current.CancellationToken` | | `BlogPostCacheServiceTests.cs` | File header fixed; all async calls thread `TestContext.Current.CancellationToken` | ## xUnit v3 migration notes - **`IAsyncLifetime`** now requires `ValueTask` for `InitializeAsync` and `DisposeAsync` — fixtures updated accordingly. - **`xUnit1051`** (use `TestContext.Current.CancellationToken`) resolved by threading `ct` through all repository and cache service calls. All methods already accepted `CancellationToken` as an optional parameter — no production code changes required. - **Runner JSON settings preserved**: `parallelizeAssembly: false` / `parallelizeTestCollections: true` kept to avoid Docker container conflicts during parallel collection runs. ## Verification All pre-push gates passed: - ✅ Release build (0 errors) - ✅ Unit/arch tests: 241 passed - ✅ **Integration tests: 12/12 passed** (MongoDB + Redis via Testcontainers) --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ions group (#196) Bumps the all-actions group with 1 update: [dotnet-sdk](https://github.com/dotnet/sdk). Updates `dotnet-sdk` from 10.0.202 to 10.0.203 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/dotnet/sdk/commits">compare view</a></li> </ul> </details> <br /> [](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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mpaulosky <60372079+mpaulosky@users.noreply.github.com>
Bumps the all-actions group with 5 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4` | `6` | | [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) | `8.1.0` | `8.1.1` | | [actions/setup-dotnet](https://github.com/actions/setup-dotnet) | `4` | `5` | | [github/codeql-action](https://github.com/github/codeql-action) | `3` | `4` | | [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) | `4` | `5` | Updates `actions/checkout` from 4 to 6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update README to include Node.js 24 support details and requirements by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li> <li>Persist creds to a separate file by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li> <li>v6-beta by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2298">actions/checkout#2298</a></li> <li>update readme/changelog for v6 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2311">actions/checkout#2311</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v5.0.0...v6.0.0">https://github.com/actions/checkout/compare/v5.0.0...v6.0.0</a></p> <h2>v6-beta</h2> <h2>What's Changed</h2> <p>Updated persist-credentials to store the credentials under <code>$RUNNER_TEMP</code> instead of directly in the local git config.</p> <p>This requires a minimum Actions Runner version of <a href="https://github.com/actions/runner/releases/tag/v2.329.0">v2.329.0</a> to access the persisted credentials for <a href="https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action">Docker container action</a> scenarios.</p> <h2>v5.0.1</h2> <h2>What's Changed</h2> <ul> <li>Port v6 cleanup to v5 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v5...v5.0.1">https://github.com/actions/checkout/compare/v5...v5.0.1</a></p> <h2>v5.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update actions checkout to use node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li> <li>Prepare v5.0.0 release by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2238">actions/checkout#2238</a></li> </ul> <h2>⚠️ Minimum Compatible Runner Version</h2> <p><strong>v2.327.1</strong><br /> <a href="https://github.com/actions/runner/releases/tag/v2.327.1">Release Notes</a></p> <p>Make sure your runner is updated to this version or newer to use this release.</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4...v5.0.0">https://github.com/actions/checkout/compare/v4...v5.0.0</a></p> <h2>v4.3.1</h2> <h2>What's Changed</h2> <ul> <li>Port v6 cleanup to v4 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4...v4.3.1">https://github.com/actions/checkout/compare/v4...v4.3.1</a></p> <h2>v4.3.0</h2> <h2>What's Changed</h2> <ul> <li>docs: update README.md by <a href="https://github.com/motss"><code>@motss</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li> <li>Add internal repos for checking out multiple repositories by <a href="https://github.com/mouismail"><code>@mouismail</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li> <li>Documentation update - add recommended permissions to Readme by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>v6.0.2</h2> <ul> <li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li> </ul> <h2>v6.0.1</h2> <ul> <li>Add worktree support for persist-credentials includeIf by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li> </ul> <h2>v6.0.0</h2> <ul> <li>Persist creds to a separate file by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li> <li>Update README to include Node.js 24 support details and requirements by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li> </ul> <h2>v5.0.1</h2> <ul> <li>Port v6 cleanup to v5 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li> </ul> <h2>v5.0.0</h2> <ul> <li>Update actions checkout to use node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li> </ul> <h2>v4.3.1</h2> <ul> <li>Port v6 cleanup to v4 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li> </ul> <h2>v4.3.0</h2> <ul> <li>docs: update README.md by <a href="https://github.com/motss"><code>@motss</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li> <li>Add internal repos for checking out multiple repositories by <a href="https://github.com/mouismail"><code>@mouismail</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li> <li>Documentation update - add recommended permissions to Readme by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li> <li>Adjust positioning of user email note and permissions heading by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li> <li>Update CODEOWNERS for actions by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li> <li>Update package dependencies by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li> </ul> <h2>v4.2.2</h2> <ul> <li><code>url-helper.ts</code> now leverages well-known environment variables by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li> <li>Expand unit test coverage for <code>isGhes</code> by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li> </ul> <h2>v4.2.1</h2> <ul> <li>Check out other refs/* by commit if provided, fall back to ref by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li> </ul> <h2>v4.2.0</h2> <ul> <li>Add Ref and Commit outputs by <a href="https://github.com/lucacome"><code>@lucacome</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li> <li>Dependency updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>- <a href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>, <a href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li> </ul> <h2>v4.1.7</h2> <ul> <li>Bump the minor-npm-dependencies group across 1 directory with 4 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li> <li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li> <li>Check out other refs/* by commit by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li> <li>Pin actions/checkout's own workflows to a known, good, stable version. by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li> </ul> <h2>v4.1.6</h2> <ul> <li>Check platform to set archive extension appropriately by <a href="https://github.com/cory-miller"><code>@cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/checkout/commit/de0fac2e4500dabe0009e67214ff5f5447ce83dd"><code>de0fac2</code></a> Fix tag handling: preserve annotations and explicit fetch-tags (<a href="https://redirect.github.com/actions/checkout/issues/2356">#2356</a>)</li> <li><a href="https://github.com/actions/checkout/commit/064fe7f3312418007dea2b49a19844a9ee378f49"><code>064fe7f</code></a> Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set (...</li> <li><a href="https://github.com/actions/checkout/commit/8e8c483db84b4bee98b60c0593521ed34d9990e8"><code>8e8c483</code></a> Clarify v6 README (<a href="https://redirect.github.com/actions/checkout/issues/2328">#2328</a>)</li> <li><a href="https://github.com/actions/checkout/commit/033fa0dc0b82693d8986f1016a0ec2c5e7d9cbb1"><code>033fa0d</code></a> Add worktree support for persist-credentials includeIf (<a href="https://redirect.github.com/actions/checkout/issues/2327">#2327</a>)</li> <li><a href="https://github.com/actions/checkout/commit/c2d88d3ecc89a9ef08eebf45d9637801dcee7eb5"><code>c2d88d3</code></a> Update all references from v5 and v4 to v6 (<a href="https://redirect.github.com/actions/checkout/issues/2314">#2314</a>)</li> <li><a href="https://github.com/actions/checkout/commit/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3"><code>1af3b93</code></a> update readme/changelog for v6 (<a href="https://redirect.github.com/actions/checkout/issues/2311">#2311</a>)</li> <li><a href="https://github.com/actions/checkout/commit/71cf2267d89c5cb81562390fa70a37fa40b1305e"><code>71cf226</code></a> v6-beta (<a href="https://redirect.github.com/actions/checkout/issues/2298">#2298</a>)</li> <li><a href="https://github.com/actions/checkout/commit/069c6959146423d11cd0184e6accf28f9d45f06e"><code>069c695</code></a> Persist creds to a separate file (<a href="https://redirect.github.com/actions/checkout/issues/2286">#2286</a>)</li> <li><a href="https://github.com/actions/checkout/commit/ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493"><code>ff7abcd</code></a> Update README to include Node.js 24 support details and requirements (<a href="https://redirect.github.com/actions/checkout/issues/2248">#2248</a>)</li> <li><a href="https://github.com/actions/checkout/commit/08c6903cd8c0fde910a37f88322edcfb5dd907a8"><code>08c6903</code></a> Prepare v5.0.0 release (<a href="https://redirect.github.com/actions/checkout/issues/2238">#2238</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/checkout/compare/v4...v6">compare view</a></li> </ul> </details> <br /> Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/peter-evans/create-pull-request/releases">peter-evans/create-pull-request's releases</a>.</em></p> <blockquote> <h2>Create Pull Request v8.1.1</h2> <h2>What's Changed</h2> <ul> <li>build(deps-dev): bump the npm group with 2 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4305">peter-evans/create-pull-request#4305</a></li> <li>build(deps): bump minimatch by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4311">peter-evans/create-pull-request#4311</a></li> <li>build(deps): bump the github-actions group with 2 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4316">peter-evans/create-pull-request#4316</a></li> <li>build(deps): bump <code>@tootallnate/once</code> and jest-environment-jsdom by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4323">peter-evans/create-pull-request#4323</a></li> <li>build(deps-dev): bump undici from 6.23.0 to 6.24.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4328">peter-evans/create-pull-request#4328</a></li> <li>build(deps-dev): bump flatted from 3.3.1 to 3.4.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4334">peter-evans/create-pull-request#4334</a></li> <li>build(deps): bump picomatch by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4339">peter-evans/create-pull-request#4339</a></li> <li>build(deps-dev): bump handlebars from 4.7.8 to 4.7.9 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4344">peter-evans/create-pull-request#4344</a></li> <li>build(deps-dev): bump the npm group with 3 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4349">peter-evans/create-pull-request#4349</a></li> <li>fix: retry post-creation API calls on 422 eventual consistency errors by <a href="https://github.com/peter-evans"><code>@peter-evans</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/4356">peter-evans/create-pull-request#4356</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/peter-evans/create-pull-request/compare/v8.1.0...v8.1.1">https://github.com/peter-evans/create-pull-request/compare/v8.1.0...v8.1.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/peter-evans/create-pull-request/commit/5f6978faf089d4d20b00c7766989d076bb2fc7f1"><code>5f6978f</code></a> fix: retry post-creation API calls on 422 eventual consistency errors (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4356">#4356</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/d32e88dac789dcc7906e7d26f69f24116fa9c97d"><code>d32e88d</code></a> build(deps-dev): bump the npm group with 3 updates (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4349">#4349</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/8170bccad11c0df62542c04dcaefe36d342dfd39"><code>8170bcc</code></a> build(deps-dev): bump handlebars from 4.7.8 to 4.7.9 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4344">#4344</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/00418193b417f888dbf1d993c5c0d31d27fdc7de"><code>0041819</code></a> build(deps): bump picomatch (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4339">#4339</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/b993918c8536b6d44706130734d5456879762b27"><code>b993918</code></a> build(deps-dev): bump flatted from 3.3.1 to 3.4.2 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4334">#4334</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/36d7c8468b48f9c2f8f29e260e82f10d4b90d2bd"><code>36d7c84</code></a> build(deps-dev): bump undici from 6.23.0 to 6.24.0 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4328">#4328</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/a45d1fb447fcaf601166e405fd4f335cde1a8aa8"><code>a45d1fb</code></a> build(deps): bump <code>@tootallnate/once</code> and jest-environment-jsdom (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4323">#4323</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/3499eb61835cc0015c0b786e203d74b1e8f55e43"><code>3499eb6</code></a> build(deps): bump the github-actions group with 2 updates (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4316">#4316</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/3f3b473b8c148f5a7520efb4d1f9a70eea3d9d1f"><code>3f3b473</code></a> build(deps): bump minimatch (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4311">#4311</a>)</li> <li><a href="https://github.com/peter-evans/create-pull-request/commit/6699836a213cf8b28c4f0408a404a6ac79d4458a"><code>6699836</code></a> build(deps-dev): bump the npm group with 2 updates (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/4305">#4305</a>)</li> <li>See full diff in <a href="https://github.com/peter-evans/create-pull-request/compare/v8.1.0...v8.1.1">compare view</a></li> </ul> </details> <br /> Updates `actions/setup-dotnet` from 4 to 5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-dotnet/releases">actions/setup-dotnet's releases</a>.</em></p> <blockquote> <h2>v5.0.0</h2> <h2>What's Changed</h2> <h3>Breaking Changes</h3> <ul> <li>Upgrade to Node.js 24 and modernize async usage by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/654">actions/setup-dotnet#654</a></li> </ul> <p>Make sure your runner is updated to this version or newer to use this release. v2.327.1 <a href="https://github.com/actions/runner/releases/tag/v2.327.1">Release Notes</a></p> <h3>Dependency Updates</h3> <ul> <li>Upgrade <code>@action/cache</code> from 4.0.2 to 4.0.3 by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/622">actions/setup-dotnet#622</a></li> <li>Upgrade husky from 8.0.3 to 9.1.7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-dotnet/pull/591">actions/setup-dotnet#591</a></li> <li>Upgrade <code>@actions/glob</code> from 0.4.0 to 0.5.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-dotnet/pull/594">actions/setup-dotnet#594</a></li> <li>Upgrade eslint-config-prettier from 9.1.0 to 10.1.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-dotnet/pull/639">actions/setup-dotnet#639</a></li> <li>Upgrade undici from 5.28.5 to 5.29.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-dotnet/pull/641">actions/setup-dotnet#641</a></li> <li>Upgrade form-data to bring in fix for critical vulnerability by <a href="https://github.com/gowridurgad"><code>@gowridurgad</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/652">actions/setup-dotnet#652</a></li> <li>Upgrade actions/checkout from 4 to 5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-dotnet/pull/662">actions/setup-dotnet#662</a></li> </ul> <h3>Bug Fixes</h3> <ul> <li>Remove Support for older .NET Versions and Update installers scripts by <a href="https://github.com/gowridurgad"><code>@gowridurgad</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/647">actions/setup-dotnet#647</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/gowridurgad"><code>@gowridurgad</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-dotnet/pull/647">actions/setup-dotnet#647</a></li> <li><a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-dotnet/pull/654">actions/setup-dotnet#654</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-dotnet/compare/v4...v5.0.0">https://github.com/actions/setup-dotnet/compare/v4...v5.0.0</a></p> <h2>v4.3.1</h2> <h2>What's Changed</h2> <ul> <li><code>v4</code> - Remove <code>azureedge.net</code> fallback logic and update install scripts by <a href="https://github.com/zaataylor"><code>@zaataylor</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/572">actions/setup-dotnet#572</a> As outlined in<a href="https://devblogs.microsoft.com/dotnet/critical-dotnet-install-links-are-changing/#call-to-action"> Critical .NET Install Links Are Changing</a>, remove the storage account fallback logic added for v4 in <a href="https://redirect.github.com/actions/setup-dotnet/pull/566">actions/setup-dotnet#566</a> and update the install scripts accordingly. <strong>Related issue</strong>: <a href="https://redirect.github.com/dotnet/install-scripts/issues/559">dotnet/install-scripts#559</a></li> <li>upgrade <code>@actions/cache</code> to 4.0.2 by <a href="https://github.com/HarithaVattikuti"><code>@HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/615">actions/setup-dotnet#615</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-dotnet/compare/v4...v4.3.1">https://github.com/actions/setup-dotnet/compare/v4...v4.3.1</a></p> <h2>v4.3.0</h2> <h2>What's Changed</h2> <ul> <li>README update - add permissions section by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/587">actions/setup-dotnet#587</a></li> <li>Configure Dependabot settings by <a href="https://github.com/HarithaVattikuti"><code>@HarithaVattikuti</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/585">actions/setup-dotnet#585</a></li> <li>Upgrade <strong>cache</strong> from 3.2.4 to 4.0.0 by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/586">actions/setup-dotnet#586</a></li> <li>Upgrade <strong>actions/publish-immutable-action</strong> from 0.0.3 to 0.0.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/590">actions/setup-dotnet#590</a></li> <li>Upgrade <strong><code>@actions/http-client</code></strong> from 2.2.1 to 2.2.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/592">actions/setup-dotnet#592</a></li> <li>Upgrade <strong>undici</strong> from 5.28.4 to 5.28.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-dotnet/pull/596">actions/setup-dotnet#596</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/benwells"><code>@benwells</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-dotnet/pull/587">actions/setup-dotnet#587</a></li> <li><a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-dotnet/pull/586">actions/setup-dotnet#586</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-dotnet/commit/c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7"><code>c2fa09f</code></a> Bump minimatch from 3.1.2 to 3.1.5 (<a href="https://redirect.github.com/actions/setup-dotnet/issues/705">#705</a>)</li> <li><a href="https://github.com/actions/setup-dotnet/commit/02574b18e2dc57a218ee4e11ba1e1603c67236e8"><code>02574b1</code></a> Add support for optional architecture input for cross-architecture .NET insta...</li> <li><a href="https://github.com/actions/setup-dotnet/commit/16c7b3c2fa55a0e394467d22512b84fda46adf63"><code>16c7b3c</code></a> Bump fast-xml-parser from 4.4.1 to 5.3.6 (<a href="https://redirect.github.com/actions/setup-dotnet/issues/671">#671</a>)</li> <li><a href="https://github.com/actions/setup-dotnet/commit/131b410979e0b49e2162c0718030257b22d6dc2c"><code>131b410</code></a> Add support for workloads input (<a href="https://redirect.github.com/actions/setup-dotnet/issues/693">#693</a>)</li> <li><a href="https://github.com/actions/setup-dotnet/commit/baa11fbfe1d6520db94683bd5c7a3818018e4309"><code>baa11fb</code></a> Bump test dependencies to resolve System.Net.Http vulnerability, update workf...</li> <li><a href="https://github.com/actions/setup-dotnet/commit/24ec4f204bea672fb937f8f9f3bfec35ba0dc7b5"><code>24ec4f2</code></a> Upgrade to latest actions packages (<a href="https://redirect.github.com/actions/setup-dotnet/issues/687">#687</a>)</li> <li><a href="https://github.com/actions/setup-dotnet/commit/4c100cb5e4b37e8b502c0ca5acbab36ee401b85f"><code>4c100cb</code></a> Fix icons (<a href="https://redirect.github.com/actions/setup-dotnet/issues/604">#604</a>)</li> <li><a href="https://github.com/actions/setup-dotnet/commit/25328d894dc34d01d191df4849cb7f5402e3f142"><code>25328d8</code></a> Bump actions/checkout from 5 to 6 (<a href="https://redirect.github.com/actions/setup-dotnet/issues/684">#684</a>)</li> <li><a href="https://github.com/actions/setup-dotnet/commit/937b8dd3814c642a65e599b368dfac491d9c83da"><code>937b8dd</code></a> Update README with note on setting DOTNET_INSTALL_DIR for Linux permission is...</li> <li><a href="https://github.com/actions/setup-dotnet/commit/2016bd2012dba4e32de620c46fe006a3ac9f0602"><code>2016bd2</code></a> Bump actions/publish-action from 0.3.0 to 0.4.0 and update macos-13 to macos-...</li> <li>Additional commits viewable in <a href="https://github.com/actions/setup-dotnet/compare/v4...v5">compare view</a></li> </ul> </details> <br /> Updates `github/codeql-action` from 3 to 4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/releases">github/codeql-action's releases</a>.</em></p> <blockquote> <h2>v3.35.2</h2> <ul> <li>The undocumented TRAP cache cleanup feature that could be enabled using the <code>CODEQL_ACTION_CLEANUP_TRAP_CACHES</code> environment variable is deprecated and will be removed in May 2026. If you are affected by this, we recommend disabling TRAP caching by passing the <code>trap-caching: false</code> input to the <code>init</code> Action. <a href="https://redirect.github.com/github/codeql-action/pull/3795">#3795</a></li> <li>The Git version 2.36.0 requirement for improved incremental analysis now only applies to repositories that contain submodules. <a href="https://redirect.github.com/github/codeql-action/pull/3789">#3789</a></li> <li>Python analysis on GHES no longer extracts the standard library, relying instead on models of the standard library. This should result in significantly faster extraction and analysis times, while the effect on alerts should be minimal. <a href="https://redirect.github.com/github/codeql-action/pull/3794">#3794</a></li> <li>Fixed a bug in the validation of OIDC configurations for private registries that was added in CodeQL Action 4.33.0 / 3.33.0. <a href="https://redirect.github.com/github/codeql-action/pull/3807">#3807</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.2">2.25.2</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3823">#3823</a></li> </ul> <h2>v3.35.1</h2> <ul> <li>Fix incorrect minimum required Git version for <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a>: it should have been 2.36.0, not 2.11.0. <a href="https://redirect.github.com/github/codeql-action/pull/3781">#3781</a></li> </ul> <h2>v3.35.0</h2> <ul> <li>Reduced the minimum Git version required for <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> from 2.38.0 to 2.11.0. <a href="https://redirect.github.com/github/codeql-action/pull/3767">#3767</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.1">2.25.1</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3773">#3773</a></li> </ul> <h2>v3.34.1</h2> <ul> <li>Downgrade default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.3">2.24.3</a> due to issues with a small percentage of Actions and JavaScript analyses. <a href="https://redirect.github.com/github/codeql-action/pull/3762">#3762</a></li> </ul> <h2>v3.34.0</h2> <ul> <li>Added an experimental change which disables TRAP caching when <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> is enabled, since improved incremental analysis supersedes TRAP caching. This will improve performance and reduce Actions cache usage. We expect to roll this change out to everyone in March. <a href="https://redirect.github.com/github/codeql-action/pull/3569">#3569</a></li> <li>We are rolling out improved incremental analysis to C/C++ analyses that use build mode <code>none</code>. We expect this rollout to be complete by the end of April 2026. <a href="https://redirect.github.com/github/codeql-action/pull/3584">#3584</a></li> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.0">2.25.0</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3585">#3585</a></li> </ul> <h2>v3.33.0</h2> <ul> <li>Upcoming change: Starting April 2026, the CodeQL Action will skip collecting file coverage information on pull requests to improve analysis performance. File coverage information will still be computed on non-PR analyses. Pull request analyses will log a warning about this upcoming change. <a href="https://redirect.github.com/github/codeql-action/pull/3562">#3562</a> To opt out of this change: <ul> <li><strong>Repositories owned by an organization:</strong> Create a custom repository property with the name <code>github-codeql-file-coverage-on-prs</code> and the type "True/false", then set this property to <code>true</code> in the repository's settings. For more information, see <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">Managing custom properties for repositories in your organization</a>. Alternatively, if you are using an advanced setup workflow, you can set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> <li><strong>User-owned repositories using default setup:</strong> Switch to an advanced setup workflow and set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> <li><strong>User-owned repositories using advanced setup:</strong> Set the <code>CODEQL_ACTION_FILE_COVERAGE_ON_PRS</code> environment variable to <code>true</code> in your workflow.</li> </ul> </li> <li>Fixed <a href="https://redirect.github.com/github/codeql-action/issues/3555">a bug</a> which caused the CodeQL Action to fail loading repository properties if a "Multi select" repository property was configured for the repository. <a href="https://redirect.github.com/github/codeql-action/pull/3557">#3557</a></li> <li>The CodeQL Action now loads <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">custom repository properties</a> on GitHub Enterprise Server, enabling the customization of features such as <code>github-codeql-disable-overlay</code> that was previously only available on GitHub.com. <a href="https://redirect.github.com/github/codeql-action/pull/3559">#3559</a></li> <li>Once <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">private package registries</a> can be configured with OIDC-based authentication for organizations, the CodeQL Action will now be able to accept such configurations. <a href="https://redirect.github.com/github/codeql-action/pull/3563">#3563</a></li> <li>Fixed the retry mechanism for database uploads. Previously this would fail with the error "Response body object should not be disturbed or locked". <a href="https://redirect.github.com/github/codeql-action/pull/3564">#3564</a></li> <li>A warning is now emitted if the CodeQL Action detects a repository property whose name suggests that it relates to the CodeQL Action, but which is not one of the properties recognised by the current version of the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3570">#3570</a></li> </ul> <h2>v3.32.6</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.3">2.24.3</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3548">#3548</a></li> </ul> <h2>v3.32.5</h2> <ul> <li>Repositories owned by an organization can now set up the <code>github-codeql-disable-overlay</code> custom repository property to disable <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis for CodeQL</a>. First, create a custom repository property with the name <code>github-codeql-disable-overlay</code> and the type "True/false" in the organization's settings. Then in the repository's settings, set this property to <code>true</code> to disable improved incremental analysis. For more information, see <a href="https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization">Managing custom properties for repositories in your organization</a>. This feature is not yet available on GitHub Enterprise Server. <a href="https://redirect.github.com/github/codeql-action/pull/3507">#3507</a></li> <li>Added an experimental change so that when <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a> fails on a runner — potentially due to insufficient disk space — the failure is recorded in the Actions cache so that subsequent runs will automatically skip improved incremental analysis until something changes (e.g. a larger runner is provisioned or a new CodeQL version is released). We expect to roll this change out to everyone in March. <a href="https://redirect.github.com/github/codeql-action/pull/3487">#3487</a></li> <li>The minimum memory check for improved incremental analysis is now skipped for CodeQL 2.24.3 and later, which has reduced peak RAM usage. <a href="https://redirect.github.com/github/codeql-action/pull/3515">#3515</a></li> <li>Reduced log levels for best-effort private package registry connection check failures to reduce noise from workflow annotations. <a href="https://redirect.github.com/github/codeql-action/pull/3516">#3516</a></li> <li>Added an experimental change which lowers the minimum disk space requirement for <a href="https://redirect.github.com/github/roadmap/issues/1158">improved incremental analysis</a>, enabling it to run on standard GitHub Actions runners. We expect to roll this change out to everyone in March. <a href="https://redirect.github.com/github/codeql-action/pull/3498">#3498</a></li> <li>Added an experimental change which allows the <code>start-proxy</code> action to resolve the CodeQL CLI version from feature flags instead of using the linked CLI bundle version. We expect to roll this change out to everyone in March. <a href="https://redirect.github.com/github/codeql-action/pull/3512">#3512</a></li> <li>The previously experimental changes from versions 4.32.3, 4.32.4, 3.32.3 and 3.32.4 are now enabled by default. <a href="https://redirect.github.com/github/codeql-action/pull/3503">#3503</a>, <a href="https://redirect.github.com/github/codeql-action/pull/3504">#3504</a></li> </ul> <h2>v3.32.4</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.2">2.24.2</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3493">#3493</a></li> <li>Added an experimental change which improves how certificates are generated for the authentication proxy that is used by the CodeQL Action in Default Setup when <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">private package registries are configured</a>. This is expected to generate more widely compatible certificates and should have no impact on analyses which are working correctly already. We expect to roll this change out to everyone in February. <a href="https://redirect.github.com/github/codeql-action/pull/3473">#3473</a></li> <li>When the CodeQL Action is run <a href="https://docs.github.com/en/code-security/how-tos/scan-code-for-vulnerabilities/troubleshooting/troubleshooting-analysis-errors/logs-not-detailed-enough#creating-codeql-debugging-artifacts-for-codeql-default-setup">with debugging enabled in Default Setup</a> and <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">private package registries are configured</a>, the "Setup proxy for registries" step will output additional diagnostic information that can be used for troubleshooting. <a href="https://redirect.github.com/github/codeql-action/pull/3486">#3486</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/github/codeql-action/blob/main/CHANGELOG.md">github/codeql-action's changelog</a>.</em></p> <blockquote> <h2>4.32.3 - 13 Feb 2026</h2> <ul> <li>Added experimental support for testing connections to <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">private package registries</a>. This feature is not currently enabled for any analysis. In the future, it may be enabled by default for Default Setup. <a href="https://redirect.github.com/github/codeql-action/pull/3466">#3466</a></li> </ul> <h2>4.32.2 - 05 Feb 2026</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.1">2.24.1</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3460">#3460</a></li> </ul> <h2>4.32.1 - 02 Feb 2026</h2> <ul> <li>A warning is now shown in Default Setup workflow logs if a <a href="https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries">private package registry is configured</a> using a GitHub Personal Access Token (PAT), but no username is configured. <a href="https://redirect.github.com/github/codeql-action/pull/3422">#3422</a></li> <li>Fixed a bug which caused the CodeQL Action to fail when repository properties cannot successfully be retrieved. <a href="https://redirect.github.com/github/codeql-action/pull/3421">#3421</a></li> </ul> <h2>4.32.0 - 26 Jan 2026</h2> <ul> <li>Update default CodeQL bundle version to <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.24.0">2.24.0</a>. <a href="https://redirect.github.com/github/codeql-action/pull/3425">#3425</a></li> </ul> <h2>4.31.11 - 23 Jan 2026</h2> <ul> <li>When running a Default Setup workflow with <a href="https://docs.github.com/en/actions/how-tos/monitor-workflows/enable-debug-logging">Actions debugging enabled</a>, the CodeQL Action will now use more unique names when uploading logs from the Dependabot authentication proxy as workflow artifacts. This ensures that the artifact names do not clash between multiple jobs in a build matrix. <a href="https://redirect.github.com/github/codeql-action/pull/3409">#3409</a></li> <li>Improved error handling throughout the CodeQL Action. <a href="https://redirect.github.com/github/codeql-action/pull/3415">#3415</a></li> <li>Added experimental support for automatically excluding <a href="https://docs.github.com/en/repositories/working-with-files/managing-files/customizing-how-changed-files-appear-on-github">generated files</a> from the analysis. This feature is not currently enabled for any analysis. In the future, it may be enabled by default for some GitHub-managed analyses. <a href="https://redirect.github.com/github/codeql-action/pull/3318">#3318</a></li> <li>The changelog extracts that are included with releases of the CodeQL Action are now shorter to avoid duplicated information from appearing in Dependabot PRs. <a href="https://redirect.github.com/github/codeql-action/pull/3403">#3403</a></li> </ul> <h2>4.31.10 - 12 Jan 2026</h2> <ul> <li>Update default CodeQL bundle version to 2.23.9. <a href="https://redirect.github.com/github/codeql-action/pull/3393">#3393</a></li> </ul> <h2>4.31.9 - 16 Dec 2025</h2> <p>No user facing changes.</p> <h2>4.31.8 - 11 Dec 2025</h2> <ul> <li>Update default CodeQL bundle version to 2.23.8. <a href="https://redirect.github.com/github/codeql-action/pull/3354">#3354</a></li> </ul> <h2>4.31.7 - 05 Dec 2025</h2> <ul> <li>Update default CodeQL bundle version to 2.23.7. <a href="https://redirect.github.com/github/codeql-action/pull/3343">#3343</a></li> </ul> <h2>4.31.6 - 01 Dec 2025</h2> <p>No user facing changes.</p> <h2>4.31.5 - 24 Nov 2025</h2> <ul> <li>Update default CodeQL bundle version to 2.23.6. <a href="https://redirect.github.com/github/codeql-action/pull/3321">#3321</a></li> </ul> <h2>4.31.4 - 18 Nov 2025</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/github/codeql-action/commit/43d8420a422ee51e6e1fb42471cc4d81bcb9de36"><code>43d8420</code></a> Do not run Swift in debug artifacts after failure check</li> <li><a href="https://github.com/github/codeql-action/commit/76a687e1d810ec603951c060d5afa98f121364a7"><code>76a687e</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/3804">#3804</a> from github/dependabot/npm_and_yarn/npm-minor-e84c60...</li> <li><a href="https://github.com/github/codeql-action/commit/751f3e2f7c70f1b35c8409fff7733427119273d1"><code>751f3e2</code></a> Bump eslint-plugin-jsdoc from 62.8.1 to 62.9.0 in the npm-minor group</li> <li><a href="https://github.com/github/codeql-action/commit/808513f0486bc371babf5ba9bc8cfdd90ae751c4"><code>808513f</code></a> Update language aliases test</li> <li><a href="https://github.com/github/codeql-action/commit/e452857e57abf124ce8bc6415dd025417a9640ee"><code>e452857</code></a> Throw error early rather than warning</li> <li><a href="https://github.com/github/codeql-action/commit/b623f5fd572a69d335c9da3487c1ce53741a09bf"><code>b623f5f</code></a> Merge pull request <a href="https://redirect.github.com/github/codeql-action/issues/3799">#3799</a> from github/mario-campos/test-multiple-registries</li> <li>See full diff in <a href="https://github.com/github/codeql-action/compare/v3...v4">compare view</a></li> </ul> </details> <br /> Updates `actions/upload-pages-artifact` from 4 to 5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/upload-pages-artifact/releases">actions/upload-pages-artifact's releases</a>.</em></p> <blockquote> <h2>v5.0.0</h2> <h1>Changelog</h1> <ul> <li>Update upload-artifact action to version 7 <a href="https://github.com/Tom-van-Woudenberg"><code>@Tom-van-Woudenberg</code></a> (<a href="https://redirect.github.com/actions/upload-pages-artifact/issues/139">#139</a>)</li> <li>feat: add <code>include-hidden-files</code> input <a href="https://github.com/jonchurch"><code>@jonchurch</code></a> (<a href="https://redirect.github.com/actions/upload-pages-artifact/issues/137">#137</a>)</li> </ul> <p>See details of <a href="https://github.com/actions/upload-pages-artifact/compare/v4.0.0...v4.0.1">all code changes</a> since previous release.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/upload-pages-artifact/commit/fc324d3547104276b827a68afc52ff2a11cc49c9"><code>fc324d3</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-pages-artifact/issues/139">#139</a> from Tom-van-Woudenberg/patch-1</li> <li><a href="https://github.com/actions/upload-pages-artifact/commit/fe9d4b7d84090e1d8d9c53a0236f810d4e00d2c3"><code>fe9d4b7</code></a> Merge branch 'main' into patch-1</li> <li><a href="https://github.com/actions/upload-pages-artifact/commit/0ca16172ca884f0a37117fed41734f29784cc980"><code>0ca1617</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-pages-artifact/issues/137">#137</a> from jonchurch/include-hidden-files</li> <li><a href="https://github.com/actions/upload-pages-artifact/commit/57f0e8492b437b7818227931fef2faa1a379839b"><code>57f0e84</code></a> Update action.yml</li> <li><a href="https://github.com/actions/upload-pages-artifact/commit/4a90348b2933470dc78cec55534259872a6d3c0d"><code>4a90348</code></a> v7 --> hash</li> <li><a href="https://github.com/actions/upload-pages-artifact/commit/56f665a6f297fa95f8d735b314187fb2d7764569"><code>56f665a</code></a> Update upload-artifact action to version 7</li> <li><a href="https://github.com/actions/upload-pages-artifact/commit/f7615f5917213b24245d49ba96693d0f5375a414"><code>f7615f5</code></a> Add <code>include-hidden-files</code> input</li> <li>See full diff in <a href="https://github.com/actions/upload-pages-artifact/compare/v4...v5">compare view</a></li> </ul> </details> <br /> 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mpaulosky <60372079+mpaulosky@users.noreply.github.com>
Updated [Aspire.Hosting.MongoDB](https://github.com/microsoft/aspire) from 13.2.3 to 13.2.4. <details> <summary>Release notes</summary> _Sourced from [Aspire.Hosting.MongoDB's releases](https://github.com/microsoft/aspire/releases)._ ## 13.2.4 # Aspire 13.2.4 ## What's New in Aspire 13.2.4 Patch release addressing a security advisory in OpenTelemetry dependencies. ### 🐛 Fixes - 🔒 Bumped OpenTelemetry dependencies to address CVE-2026-40894 (#16420) ### 🏷️ Housekeeping - 🚀 Bumped branding to 13.2.4 (#16436) Commits viewable in [compare view](microsoft/aspire@v13.2.3...v13.2.4). </details> Updated [Aspire.Hosting.Redis](https://github.com/microsoft/aspire) from 13.2.3 to 13.2.4. <details> <summary>Release notes</summary> _Sourced from [Aspire.Hosting.Redis's releases](https://github.com/microsoft/aspire/releases)._ ## 13.2.4 # Aspire 13.2.4 ## What's New in Aspire 13.2.4 Patch release addressing a security advisory in OpenTelemetry dependencies. ### 🐛 Fixes - 🔒 Bumped OpenTelemetry dependencies to address CVE-2026-40894 (#16420) ### 🏷️ Housekeeping - 🚀 Bumped branding to 13.2.4 (#16436) Commits viewable in [compare view](microsoft/aspire@v13.2.3...v13.2.4). </details> Updated [Aspire.Hosting.Testing](https://github.com/microsoft/aspire) from 13.2.3 to 13.2.4. <details> <summary>Release notes</summary> _Sourced from [Aspire.Hosting.Testing's releases](https://github.com/microsoft/aspire/releases)._ ## 13.2.4 # Aspire 13.2.4 ## What's New in Aspire 13.2.4 Patch release addressing a security advisory in OpenTelemetry dependencies. ### 🐛 Fixes - 🔒 Bumped OpenTelemetry dependencies to address CVE-2026-40894 (#16420) ### 🏷️ Housekeeping - 🚀 Bumped branding to 13.2.4 (#16436) Commits viewable in [compare view](microsoft/aspire@v13.2.3...v13.2.4). </details> Updated [Aspire.MongoDB.Driver](https://github.com/microsoft/aspire) from 13.2.3 to 13.2.4. <details> <summary>Release notes</summary> _Sourced from [Aspire.MongoDB.Driver's releases](https://github.com/microsoft/aspire/releases)._ ## 13.2.4 # Aspire 13.2.4 ## What's New in Aspire 13.2.4 Patch release addressing a security advisory in OpenTelemetry dependencies. ### 🐛 Fixes - 🔒 Bumped OpenTelemetry dependencies to address CVE-2026-40894 (#16420) ### 🏷️ Housekeeping - 🚀 Bumped branding to 13.2.4 (#16436) Commits viewable in [compare view](microsoft/aspire@v13.2.3...v13.2.4). </details> Updated [Aspire.StackExchange.Redis.DistributedCaching](https://github.com/microsoft/aspire) from 13.2.3 to 13.2.4. <details> <summary>Release notes</summary> _Sourced from [Aspire.StackExchange.Redis.DistributedCaching's releases](https://github.com/microsoft/aspire/releases)._ ## 13.2.4 # Aspire 13.2.4 ## What's New in Aspire 13.2.4 Patch release addressing a security advisory in OpenTelemetry dependencies. ### 🐛 Fixes - 🔒 Bumped OpenTelemetry dependencies to address CVE-2026-40894 (#16420) ### 🏷️ Housekeeping - 🚀 Bumped branding to 13.2.4 (#16436) Commits viewable in [compare view](microsoft/aspire@v13.2.3...v13.2.4). </details> Updated [Microsoft.Playwright](https://github.com/microsoft/playwright-dotnet) from 1.48.0 to 1.59.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.Playwright's releases](https://github.com/microsoft/playwright-dotnet/releases)._ ## 1.59.0 ## 🎬 Screencast New [Page.Screencast](https://playwright.dev/dotnet/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 [`recordVideoDir`](https://playwright.dev/dotnet/docs/api/class-browser#browser-new-context-option-record-video-dir) option: ```csharp await page.Screencast.StartAsync(new() { Path = "video.webm" }); // ... perform actions ... await page.Screencast.StopAsync(); ``` **Action annotations** — enable built-in visual annotations that highlight interacted elements and display action titles during recording: ```csharp await page.Screencast.ShowActionsAsync(new() { Position = "top-right" }); ``` `ShowActionsAsync` 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. **Visual overlays** — add chapter titles and custom HTML overlays on top of the page for richer narration: ```csharp await page.Screencast.ShowChapterAsync("Adding TODOs", new() { Description = "Type and press enter for each TODO", Duration = 1000, }); await page.Screencast.ShowOverlayAsync("<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: ```csharp await page.Screencast.StartAsync(new() { OnFrame = frame => SendToVisionModel(frame.Data), }); ``` ... (truncated) ## 1.58.0 ## Trace Viewer Improvements - New 'system' theme option follows your OS dark/light mode preference - Search functionality (Cmd/Ctrl+F) is now available in code editors - Network details panel has been reorganized for better usability - JSON responses are now automatically formatted for readability Thanks to [@cpAdm](https://github.com/cpAdm) for contributing these improvements! ## Miscellaneous [BrowserType.ConnectOverCDPAsync()](https://playwright.dev/dotnet/docs/api/class-browsertype#browser-type-connect-over-cdp) now accepts an `IsLocal` option. When set to `true`, it tells Playwright that it runs on the same host as the CDP server, enabling file system optimizations. ## Breaking Changes⚠️ - Removed `_react` and `_vue` selectors. See [locators guide](https://playwright.dev/dotnet/docs/locators) for alternatives. - Removed `:light` selector engine suffix. Use standard CSS selectors instead. - Option `Devtools` from [BrowserType.LaunchAsync()](https://playwright.dev/dotnet/docs/api/class-browsertype#browser-type-launch) has been removed. Use `Args = new[] { "--auto-open-devtools-for-tabs" }` instead. - Removed macOS 13 support for WebKit. ## Browser Versions - Chromium 145.0.7632.6 - Mozilla Firefox 146.0.1 - WebKit 26.0 ## 1.57.0 ## Chrome for Testing Starting with this release, Playwright switches from Chromium, to using [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) builds. Both headed and headless browsers are subject to this. Your tests should still be passing after upgrading to Playwright 1.57. We're expecting no functional changes to come from this switch. The biggest change is the new icon and title in your toolbar. <img width="500" alt="new and old logo" src="https://github.com/user-attachments/assets/e9a5c4f2-9f35-4c27-9382-0f5eda377097" /> If you still see an unexpected behaviour change, please [file an issue](https://github.com/microsoft/playwright/issues/new). On Arm64 Linux, Playwright continues to use Chromium. ## Breaking Change After 3 years of being deprecated, we removed `Page.Accessibility` from our API. Please use other libraries such as [Axe](https://www.deque.com/axe/) if you need to test page accessibility. See our Node.js [guide](https://playwright.dev/docs/accessibility-testing) for integration with Axe. ## New APIs - [Worker.Console](https://playwright.dev/dotnet/docs/api/class-worker#worker-event-console) event is emitted when JavaScript within the worker calls one of console API methods, e.g. console.log or console.dir. - [Locator.Description](https://playwright.dev/dotnet/docs/api/class-locator#locator-description) returns locator description previously set with [Locator.Describe()](https://playwright.dev/dotnet/docs/api/class-locator#locator-describe). - New option [`Steps`](https://playwright.dev/dotnet/docs/api/class-locator#locator-click-option-steps) in [Locator.ClickAsync()](https://playwright.dev/dotnet/docs/api/class-locator#locator-click) and [Locator.DragToAsync()](https://playwright.dev/dotnet/docs/api/class-locator#locator-drag-to) that configures the number of `mousemove` events emitted while moving the mouse pointer to the target element. ## Browser Versions - Chromium 143.0.7499.4 - Mozilla Firefox 144.0.2 - WebKit 26.0 ## 1.56.0 ## New APIs - New methods [Page.ConsoleMessagesAsync()](https://playwright.dev/dotnet/docs/api/class-page#page-console-messages) and [Page.PageErrorsAsync()](https://playwright.dev/dotnet/docs/api/class-page#page-page-errors) for retrieving the most recent console messages from the page - New method [Page.RequestsAsync()](https://playwright.dev/dotnet/docs/api/class-page#page-requests) for retrieving the most recent network requests from the page ## Breaking Changes - Event [BrowserContext.BackgroundPage](https://playwright.dev/dotnet/docs/api/class-browsercontext#browser-context-event-background-page) has been deprecated and will not be emitted. Property [BrowserContext.BackgroundPages](https://playwright.dev/dotnet/docs/api/class-browsercontext#browser-context-background-pages) will return an empty list ## Miscellaneous - Aria snapshots render and compare `input` `placeholder` ## Browser Versions - Chromium 141.0.7390.37 - Mozilla Firefox 142.0.1 - WebKit 26.0 ## 1.55.0 ## Codegen - Automatic `ToBeVisibleAsync()` assertions: Codegen can now generate automatic `ToBeVisibleAsync()` assertions for common UI interactions. This feature can be enabled in the Codegen settings UI. ## Breaking Changes -⚠️ Dropped support for Chromium extension manifest v2. ## Miscellaneous - Added support for Debian 13 "Trixie". - Added support for Xunit v3 as part of [`Microsoft.Playwright.Xunit.v3`](https://www.nuget.org/packages/Microsoft.Playwright.Xunit.v3) - Added support for MSTest v4 as part of [`Microsoft.Playwright.MSTest.v4`](https://www.nuget.org/packages/Microsoft.Playwright.MSTest.v4) ## Browser Versions - Chromium 140.0.7339.16 - Mozilla Firefox 141.0 - WebKit 26.0 This version was also tested against the following stable channels: - Google Chrome 139 - Microsoft Edge 139 ## 1.54.0 ## Highlights - New cookie property `PartitionKey` in [browserContext.cookies()](https://playwright.dev/dotnet/docs/api/class-browsercontext#browser-context-cookies) and [browserContext.addCookies()](https://playwright.dev/dotnet/docs/api/class-browsercontext#browser-context-add-cookies). This property allows to save and restore partitioned cookies. See [CHIPS MDN article](https://developer.mozilla.org/en-US/docs/Web/Privacy/Guides/Privacy_sandbox/Partitioned_cookies) for more information. Note that browsers have different support and defaults for cookie partitioning. - New option `--user-data-dir` in multiple commands. You can specify the same user data dir to reuse browsing state, like authentication, between sessions. ```bash pwsh bin/Debug/netX/playwright.ps1 codegen --user-data-dir=./user-data ``` - `pwsh bin/Debug/netX/playwright.ps1 open` does not open the test recorder anymore. Use `pwsh bin/Debug/netX/playwright.ps1 codegen` instead. ## Browser Versions - Chromium 139.0.7258.5 - Mozilla Firefox 140.0.2 - WebKit 26.0 This version was also tested against the following stable channels: - Google Chrome 140 - Microsoft Edge 140 ## 1.53.0 ## Miscellaneous - New Steps in Trace Viewer: <img src="https://github.com/user-attachments/assets/1963ff7d-4070-41be-a79b-4333176921a2" alt="New Trace Viewer Steps" height="500"> - New method [Locator.Describe()](https://playwright.dev/dotnet/docs/api/class-locator#locator-describe) to describe a locator. Used for trace viewer. ```csharp var button = Page.GetByTestId("btn-sub").Describe("Subscribe button"); await button.ClickAsync(); ``` - `pwsh bin/Debug/netX/playwright.ps1 install --list` will now list all installed browsers, versions and locations. ## Browser Versions - Chromium 138.0.7204.4 - Mozilla Firefox 139.0 - WebKit 18.5 This version was also tested against the following stable channels: - Google Chrome 137 - Microsoft Edge 137 ## 1.52.0 ## Highlights - New method [Expect(locator).ToContainClassAsync()](https://playwright.dev/dotnet/docs/api/class-locatorassertions#locator-assertions-to-contain-class) to ergonomically assert individual class names on the element. ```csharp await Expect(Page.GetByRole(AriaRole.Listitem, new() { Name = "Ship v1.52" })).ToContainClassAsync("done"); ``` - [Aria Snapshots](https://playwright.dev/dotnet/docs/aria-snapshots) got two new properties: [`/children`](https://playwright.dev/dotnet/docs/aria-snapshots#strict-matching) for strict matching and `/url` for links. ```csharp await Expect(locator).ToMatchAriaSnapshotAsync(@" - list - /children: equal - listitem: Feature A - listitem: - link ""Feature B"": - /url: ""https://playwright.dev"" "); ``` ## Miscellaneous - New option [`MaxRedirects`](https://playwright.dev/dotnet/docs/api/class-apirequest#api-request-new-context-option-max-redirects) in [apiRequest.NewContextAsync()](https://playwright.dev/dotnet/docs/api/class-apirequest#api-request-new-context) to control the maximum number of redirects. - New option [`Ref`](https://playwright.dev/dotnet/docs/api/class-locator#locator-aria-snapshot-option-ref) in [locator.AriaSnapshotAsync()](https://playwright.dev/dotnet/docs/api/class-locator#locator-aria-snapshot) to generate reference for each element in the snapshot which can later be used to locate the element. ## Breaking Changes - Method [route.ContinueAsync()](https://playwright.dev/dotnet/docs/api/class-route#route-continue) does not allow to override the `Cookie` header anymore. If a `Cookie` header is provided, it will be ignored, and the cookie will be loaded from the browser's cookie store. To set custom cookies, use [browserContext.AddCookiesAsync()](https://playwright.dev/dotnet/docs/api/class-browsercontext#browser-context-add-cookies). - macOS 13 is now deprecated and will no longer receive WebKit updates. Please upgrade to a more recent macOS version to continue benefiting from the latest WebKit improvements. ## Browser Versions - Chromium 136.0.7103.25 - Mozilla Firefox 137.0 - WebKit 18.4 This version was also tested against the following stable channels: - Google Chrome 135 - Microsoft Edge 135 ## 1.51.0 ## Highlights * New option [`IndexedDB`](https://playwright.dev/dotnet/docs/api/class-browsercontext#browser-context-storage-state-option-indexed-db) for [BrowserContext.StorageStateAsync()](https://playwright.dev/dotnet/docs/api/class-browsercontext#browser-context-storage-state) allows to save and restore IndexedDB contents. Useful when your application uses [IndexedDB API](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) to store authentication tokens, like Firebase Authentication. Here is an example following the [authentication guide](https://playwright.dev/dotnet/docs/auth#reusing-signed-in-state): ```csharp // Save storage state into the file. Make sure to include IndexedDB. await context.StorageStateAsync(new() { Path = "../../../playwright/.auth/state.json", IndexedDB = true }); // Create a new context with the saved storage state. var context = await browser.NewContextAsync(new() { StorageStatePath = "../../../playwright/.auth/state.json" }); ``` * New option [`Visible`](https://playwright.dev/dotnet/docs/api/class-locator#locator-filter-option-visible) for [locator.filter()](https://playwright.dev/dotnet/docs/api/class-locator#locator-filter) allows matching only visible elements. ```csharp // Ignore invisible todo items. var todoItems = Page.GetByTestId("todo-item").Filter(new() { Visible = true }); // Check there are exactly 3 visible ones. await Expect(todoItems).ToHaveCountAsync(3); ``` * New option `Contrast` for methods [page.emulateMedia()](https://playwright.dev/dotnet/docs/api/class-page#page-emulate-media) and [Browser.NewContextAsync()](https://playwright.dev/dotnet/docs/api/class-browser#browser-new-context) allows to emulate the `prefers-contrast` media feature. * New option [`FailOnStatusCode`](https://playwright.dev/dotnet/docs/api/class-apirequest#api-request-new-context-option-fail-on-status-code) makes all fetch requests made through the [APIRequestContext](https://playwright.dev/dotnet/docs/api/class-apirequestcontext) throw on response codes other than 2xx and 3xx. ## Browser Versions * Chromium 134.0.6998.35 * Mozilla Firefox 135.0 * WebKit 18.4 This version was also tested against the following stable channels: * Google Chrome 133 * Microsoft Edge 133 ## 1.50.0 ## Support for Xunit * Support for xUnit 2.8+ via [Microsoft.Playwright.Xunit](https://www.nuget.org/packages/Microsoft.Playwright.Xunit). Follow our [Getting Started](https://playwright.dev/dotnet/docs/intro) guide to learn more. ## Miscellaneous * Added method [Expect(locator).toHaveAccessibleErrorMessage()](https://playwright.dev/dotnet/docs/api/class-locatorassertions#locator-assertions-to-have-accessible-error-message) to assert the Locator points to an element with a given [aria errormessage](https://w3c.github.io/aria/#aria-errormessage). ## UI updates * New button in Codegen for picking elements to produce aria snapshots. * Additional details (such as keys pressed) are now displayed alongside action API calls in traces. * Display of `canvas` content in traces is error-prone. Display is now disabled by default, and can be enabled via the `Display canvas content` UI setting. * `Call` and `Network` panels now display additional time information. ## Breaking * [Expect(locator).toBeEditable()](https://playwright.dev/dotnet/docs/api/class-locatorassertions#locator-assertions-to-be-editable) and [locator.isEditable()](https://playwright.dev/dotnet/docs/api/class-locator#locator-is-editable) now throw if the target element is not `<input>`, `<select>`, or a number of other editable elements. ## Browser Versions * Chromium 133.0.6943.16 * Mozilla Firefox 134.0 * WebKit 18.2 This version was also tested against the following stable channels: * Google Chrome 132 * Microsoft Edge 132 ## 1.49.0 ## Aria snapshots New assertion [Expect(locator).toMatchAriaSnapshot()](https://playwright.dev/dotnet/docs/api/class-locatorassertions#locator-assertions-to-match-aria-snapshot) verifies page structure by comparing to an expected accessibility tree, represented as YAML. ```csharp await page.GotoAsync("https://playwright.dev"); await Expect(page.Locator("body")).ToMatchAriaSnapshotAsync(@" - banner: - heading /Playwright enables reliable/ [level=1] - link ""Get started"" - link ""Star microsoft/playwright on GitHub"" - main: - img ""Browsers (Chromium, Firefox, WebKit)"" - heading ""Any browser • Any platform • One API"" "); ``` You can generate this assertion with [Test Generator](https://playwright.dev/dotnet/docs/codegen) or by calling [locator.ariaSnapshot()](https://playwright.dev/dotnet/docs/api/class-locator#locator-aria-snapshot). Learn more in the [aria snapshots guide](https://playwright.dev/dotnet/docs/aria-snapshots). ## Tracing groups New method [tracing.group()](https://playwright.dev/dotnet/docs/api/class-tracing#tracing-group) allows you to visually group actions in the trace viewer. ```csharp // All actions between GroupAsync and GroupEndAsync // will be shown in the trace viewer as a group. await Page.Context.Tracing.GroupAsync("Open Playwright.dev > API"); await Page.GotoAsync("https://playwright.dev/"); await Page.GetByRole(AriaRole.Link, new() { Name = "API" }).ClickAsync(); await Page.Context.Tracing.GroupEndAsync(); ``` ## Breaking: `chrome` and `msedge` channels switch to new headless mode This change affects you if you're using one of the following channels in your `playwright.config.ts`: - `chrome`, `chrome-dev`, `chrome-beta`, or `chrome-canary` - `msedge`, `msedge-dev`, `msedge-beta`, or `msedge-canary` After updating to Playwright v1.49, run your test suite. If it still passes, you're good to go. If not, you will probably need to update your snapshots, and adapt some of your test code around PDF viewers and extensions. See [issue #33566](microsoft/playwright#33566) for more details. ## Try new Chromium headless You can opt into the new headless mode by using `'chromium'` channel. As [official Chrome documentation puts it](https://developer.chrome.com/blog/chrome-headless-shell): > New Headless on the other hand is the real Chrome browser, and is thus more authentic, reliable, and offers more features. This makes it more suitable for high-accuracy end-to-end web app testing or browser extension testing. See [issue #33566](microsoft/playwright#33566) for the list of possible breakages you could encounter and more details on Chromium headless. Please file an issue if you see any problems after opting in. ... (truncated) Commits viewable in [compare view](microsoft/playwright-dotnet@v1.48.0...v1.59.0). </details> 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mpaulosky <60372079+mpaulosky@users.noreply.github.com>
- promote Sprint 12 from sprint/12-xunit-v3-apphost-tests into dev - add the Dependabot auto-merge workflow validated in PR #202 - complete Sprint 12 milestone closeout Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merges Sprint 13 into dev, including the milestone workflow-chain repair and AppHost.Tests xUnit v3 / Playwright E2E updates.
Closes #211 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- preserve main ancestry in dev so the release PR no longer hits reconciliation conflicts - keep dev's xUnit v3 test layout while resolving backport drift - carry forward the reviewed Gimli history fix Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
#217) Co-authored-by: Boromir <boromir@squad.dev>
…s group (#219) Bumps the all-actions group with 1 update: [actions/github-script](https://github.com/actions/github-script). Updates `actions/github-script` from 8 to 9 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/github-script/releases">actions/github-script's releases</a>.</em></p> <blockquote> <h2>v9.0.0</h2> <p><strong>New features:</strong></p> <ul> <li><strong><code>getOctokit</code> factory function</strong> — Available directly in the script context. Create additional authenticated Octokit clients with different tokens for multi-token workflows, GitHub App tokens, and cross-org access. See <a href="https://github.com/actions/github-script#creating-additional-clients-with-getoctokit">Creating additional clients with <code>getOctokit</code></a> for details and examples.</li> <li><strong>Orchestration ID in user-agent</strong> — The <code>ACTIONS_ORCHESTRATION_ID</code> environment variable is automatically appended to the user-agent string for request tracing.</li> </ul> <p><strong>Breaking changes:</strong></p> <ul> <li><strong><code>require('@actions/github')</code> no longer works in scripts.</strong> The upgrade to <code>@actions/github</code> v9 (ESM-only) means <code>require('@actions/github')</code> will fail at runtime. If you previously used patterns like <code>const { getOctokit } = require('@actions/github')</code> to create secondary clients, use the new injected <code>getOctokit</code> function instead — it's available directly in the script context with no imports needed.</li> <li><code>getOctokit</code> is now an injected function parameter. Scripts that declare <code>const getOctokit = ...</code> or <code>let getOctokit = ...</code> will get a <code>SyntaxError</code> because JavaScript does not allow <code>const</code>/<code>let</code> redeclaration of function parameters. Use the injected <code>getOctokit</code> directly, or use <code>var getOctokit = ...</code> if you need to redeclare it.</li> <li>If your script accesses other <code>@actions/github</code> internals beyond the standard <code>github</code>/<code>octokit</code> client, you may need to update those references for v9 compatibility.</li> </ul> <h2>What's Changed</h2> <ul> <li>Add ACTIONS_ORCHESTRATION_ID to user-agent string by <a href="https://github.com/Copilot"><code>@Copilot</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/695">actions/github-script#695</a></li> <li>ci: use deployment: false for integration test environments by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/712">actions/github-script#712</a></li> <li>feat!: add getOctokit to script context, upgrade <code>@actions/github</code> v9, <code>@octokit/core</code> v7, and related packages by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/700">actions/github-script#700</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Copilot"><code>@Copilot</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/695">actions/github-script#695</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/github-script/compare/v8.0.0...v9.0.0">https://github.com/actions/github-script/compare/v8.0.0...v9.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/github-script/commit/3a2844b7e9c422d3c10d287c895573f7108da1b3"><code>3a2844b</code></a> Merge pull request <a href="https://redirect.github.com/actions/github-script/issues/700">#700</a> from actions/salmanmkc/expose-getoctokit + prepare re...</li> <li><a href="https://github.com/actions/github-script/commit/ca10bbdd1a7739de09e99a200c7a59f5d73a4079"><code>ca10bbd</code></a> fix: use <code>@octokit/core/</code>types import for v7 compatibility</li> <li><a href="https://github.com/actions/github-script/commit/86e48e20ac85c970ed1f96e718fd068173948b7b"><code>86e48e2</code></a> merge: incorporate main branch changes</li> <li><a href="https://github.com/actions/github-script/commit/c1084728b5b935ec4ddc1e4cee877b01797b3ff9"><code>c108472</code></a> chore: rebuild dist for v9 upgrade and getOctokit factory</li> <li><a href="https://github.com/actions/github-script/commit/afff112e4f8b57c718168af75b89ce00bc8d091d"><code>afff112</code></a> Merge pull request <a href="https://redirect.github.com/actions/github-script/issues/712">#712</a> from actions/salmanmkc/deployment-false + fix user-ag...</li> <li><a href="https://github.com/actions/github-script/commit/ff8117e5b78c415f814f39ad6998f424fee7b817"><code>ff8117e</code></a> ci: fix user-agent test to handle orchestration ID</li> <li><a href="https://github.com/actions/github-script/commit/81c6b7876079abe10ff715951c9fc7b3e1ab389d"><code>81c6b78</code></a> ci: use deployment: false to suppress deployment noise from integration tests</li> <li><a href="https://github.com/actions/github-script/commit/3953caf8858d318f37b6cc53a9f5708859b5a7b7"><code>3953caf</code></a> docs: update README examples from <a href="https://github.com/v8"><code>@v8</code></a> to <a href="https://github.com/v9"><code>@v9</code></a>, add getOctokit docs and v9 brea...</li> <li><a href="https://github.com/actions/github-script/commit/c17d55b90dcdb3d554d0027a6c180a7adc2daf78"><code>c17d55b</code></a> ci: add getOctokit integration test job</li> <li><a href="https://github.com/actions/github-script/commit/a047196d9a02fe92098771cafbb98c2f1814e408"><code>a047196</code></a> test: add getOctokit integration tests via callAsyncFunction</li> <li>Additional commits viewable in <a href="https://github.com/actions/github-script/compare/v8...v9">compare view</a></li> </ul> </details> <br /> [](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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updated [Auth0.ManagementApi](https://github.com/auth0/auth0.net) from 8.1.0 to 8.2.0. <details> <summary>Release notes</summary> _Sourced from [Auth0.ManagementApi's releases](https://github.com/auth0/auth0.net/releases)._ ## 8.2.0 **Added** - SSE Events streaming: Added `IEventsClient` with `SubscribeAsync` returning `IAsyncEnumerable<EventStreamSubscribeEventsResponseContent>` for real-time event consumption with cursor-based resumption and typed CloudEvent variants (user, client, connection, organization, etc.) [\#995](auth0/auth0.net#995) ([fern-api[bot]](https://github.com/apps/fern-api)) - New `GoneError` exception (HTTP 410) for expired stream cursors in SSE event streams [\#995](auth0/auth0.net#995) ([fern-api[bot]](https://github.com/apps/fern-api)) - Refresh token bulk revocation: Added `RefreshTokensClient.RevokeAsync` to bulk-revoke tokens by `Ids`, `UserId`, or `ClientId` [\#995](auth0/auth0.net#995) ([fern-api[bot]](https://github.com/apps/fern-api)) - Branding identifiers: Added `BrandingIdentifiers` type with `LoginDisplay`, `OtpAutocomplete`, and `PhoneDisplay` configuration options [\#995](auth0/auth0.net#995) ([fern-api[bot]](https://github.com/apps/fern-api)) - SAML assertion decryption: Added `ConnectionAssertionDecryptionSettings` for configuring SAML assertion decryption on connections [\#995](auth0/auth0.net#995) ([fern-api[bot]](https://github.com/apps/fern-api)) - Custom domain header forwarding: Added `ManagementClientOptions.CustomDomain` to inject `Auth0-Custom-Header` on allow-listed Management API endpoints via a new `CustomDomainInterceptor` [\#984](auth0/auth0.net#984) ([kailash-b](https://github.com/kailash-b)) - Directory Provisioning: Added `ListSynchronizedGroupsAsync` and `SetAsync` to `DirectoryProvisioningClient` for managing synchronized groups on a connection [\#984](auth0/auth0.net#984) ([kailash-b](https://github.com/kailash-b)) - New query filters: `Strategy` on `Connections.ListAsync`, `Hydrate` on Flows/Forms/FlowExecutions endpoints, `Search` on `Groups.ListAsync`, `Identifiers` on `ResourceServers.ListAsync`, and `GrantIds` on `Organizations.ClientGrants.ListAsync` [\#987](auth0/auth0.net#987) ([kailash-b](https://github.com/kailash-b)) - Email providers: Added `Resend` as a supported value in `EmailProviderNameEnum` [\#987](auth0/auth0.net#987) ([kailash-b](https://github.com/kailash-b)) - `UpdateUserAuthenticationMethodResponseContent`: Added `Confirmed` (`bool?`) property to indicate whether an authentication method has been confirmed [\#987](auth0/auth0.net#987) ([kailash-b](https://github.com/kailash-b)) - Client configuration: Added `ThirdPartySecurityMode`, `RedirectionPolicy`, and `MyOrganizationConfiguration` properties on Client request/response types [\#984](auth0/auth0.net#984) ([kailash-b](https://github.com/kailash-b)) - Client Grants: Added `DefaultFor` property and a matching `DefaultFor` filter on `ClientGrants.ListAsync` [\#984](auth0/auth0.net#984) ([kailash-b](https://github.com/kailash-b)) - Tenant Settings: Added `DynamicClientRegistrationSecurityMode` and `ClientIdMetadataDocumentSupported` on tenant settings request/response types [\#984](auth0/auth0.net#984) ([kailash-b](https://github.com/kailash-b)) - DPoP support on connections: Added `DpopSigningAlg` property to `ConnectionOptionsOidc`, `ConnectionOptionsOkta`, and `ConnectionPropertiesOptions` [\#984](auth0/auth0.net#984) ([kailash-b](https://github.com/kailash-b)) - Pagination metadata: `Page<TItem>` now exposes `Response`, `StatusCode`, and `Headers` from the underlying HTTP response, populated via `WithRawResponse()` in pager requests [\#976](auth0/auth0.net#976) ([fern-api[bot]](https://github.com/apps/fern-api)) **Fixed** - `RefreshTokens.GetAsync` now correctly handles `BadRequestError` (HTTP 400) responses; previously only 401, 403, and 404 were handled [\#987](auth0/auth0.net#987) ([kailash-b](https://github.com/kailash-b)) - Fixed pagination page-size handling to correctly defer page size when not specified [\#987](auth0/auth0.net#987) ([kailash-b](https://github.com/kailash-b)) - Path parameters and query strings now use context-aware encoding (path-segment-safe vs. query key/value character sets) to prevent malformed URL construction [\#976](auth0/auth0.net#976) ([fern-api[bot]](https://github.com/apps/fern-api)) **Changed** - Self-Service Profiles: renamed "SSO Flow" concepts to "Enterprise Configuration" across request/response types [\#995](auth0/auth0.net#995) ([fern-api[bot]](https://github.com/apps/fern-api)) - Upgraded `WireMock.Net` test dependency to `2.4.0` [\#992](auth0/auth0.net#992) ([kailash-b](https://github.com/kailash-b)) Commits viewable in [compare view](auth0/auth0.net@mgmt-8.1.0...mgmt-8.2.0). </details> Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 18.5.0 to 18.5.1. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Test.Sdk's releases](https://github.com/microsoft/vstest/releases)._ ## 18.5.1 ## What's Changed * Fix System.Collections.Immutable binding mismatch in Common.dll (rel/18.5) by @nohwnd in microsoft/vstest#15720 * Port verify-binding-redirects.ps1 to rel/18.5 by @nohwnd in microsoft/vstest#15719 * Bump to 18.5.1 by @nohwnd in microsoft/vstest#15721 **Full Changelog**: microsoft/vstest@v18.5.0...v18.5.1 Commits viewable in [compare view](microsoft/vstest@v18.5.0...v18.5.1). </details> 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> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mpaulosky <60372079+mpaulosky@users.noreply.github.com>
…ng, identity Closes #222 Aragorn-approved squad maintenance pass: formatting cleanup across .squad/ files, malformed YAML fix in identity/now.md, duplicate heading removal in decisions.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…-matter (#230) ## Summary Resolves the format inconsistency in `.squad/identity/now.md` where `updated_at` lived in the YAML front-matter while `focus_area` and `active_issues` were formatted as quasi-YAML in the Markdown body. Closes #224 ## Changes - Moved `focus_area` and `active_issues` into the YAML front-matter block alongside `updated_at` - Removed the quasi-YAML key:value pairs from the Markdown body - Updated `focus_area` and `active_issues` values to reflect current work queue (#224, #226, #227) - Updated `updated_at` to today ## Decision Chose **YAML front-matter only** for machine-readable fields — `updated_at`, `focus_area`, `active_issues` are all metadata and belong in the front-matter. The Markdown body retains only human-readable narrative content. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ig (#229) ## Summary Working as Frodo (Tech Writer) This PR resolves all markdown lint violations across the `MyBlog` repository and adds a `.markdownlint.json` configuration to enforce standards going forward. Closes #227 ## Changes ### New File - `.markdownlint.json` — project-wide lint config (MD013@400, MD033/MD041 off, MD060 consistent, etc.) ### Auto-fixed (markdownlint-cli --fix) - MD032/MD022/MD031/MD029/MD012 — blank-line and ordered-list violations across ~20 files ### MD040 — Missing code fence language identifiers Added language specifiers to all fenced code blocks across: - `README.md`, `docs/ARCHITECTURE.md`, `docs/AUTH0_SETUP.md`, `docs/TESTING.md`, `docs/THEMING.md` - `docs/SQUAD-COMMANDS.md` (8 blocks), `docs/sprint-8-xunit-v3-pilot-retro.md` - `docs/blog/` (2 posts), `.github/skills/` (multiple files), `.github/prompts/` (multiple files) - Language choices: `text` for diagrams/CLI/trees, `yaml`/`html`/`css` for structured content ### MD013 — Long line wrapping - Wrapped long summary paragraphs in 5 blog posts - Wrapped long line in `editorconfig.prompt.md` ### MD001 — Heading level increment - Fixed `h1 → h3` jump in `xunit.prompt.md` (changed `###` → `##`) ### MD046 — Indented code block - Reformatted malformed YAML block in `xunit-integration.prompt.md` as fenced ```yaml``` block ### Broken link fix - Fixed `docs/SECRETS.md`: broken link to `src/Web/Auth/README.md` → `./AUTH0_SETUP.md` ## Verification ```bash npx markdownlint-cli README.md CONTRIBUTING.md RELEASE.md 'docs/**/*.md' '.github/instructions/*.md' '.github/prompts/*.md' '.github/skills/**/*.md' # Exit code: 0 — zero violations ``` --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Summary Adds a pre-commit git hook that runs `markdownlint-cli2` on staged `.md` files before each local commit, preventing formatting violations from ever entering commits. ## Changes - **`.github/hooks/pre-commit`** — new hook that: - Lints only staged `.md` files (fast: never scans the whole repo) - Uses repo `.markdownlint.json` config for consistent rules - Degrades gracefully if `markdownlint-cli2` is not installed (warns, does not block) - Exits 1 with clear file/rule output on violations; silent on success - **`scripts/install-hooks.sh`** — updated to install `pre-commit` alongside `pre-push`; updated summary message - **`package.json`** — adds `markdownlint-cli2 ^0.17.2` as dev dependency - **`package-lock.json`** — updated lockfile ## Testing - Staged a known-good `.md` file → hook exits 0 silently ✅ - Staged a `.md` file with violations → hook exits 1 with clear error output showing file and rule ✅ ## Context Follows up on PR #229 which fixed 3,243+ markdownlint violations and added `.markdownlint.json`. This gate prevents regressions at commit time. Working as Aragorn (Lead / Architect) --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…up across 1 directory (#233) Bumps the npm_and_yarn group with 1 update in the / directory: [js-yaml](https://github.com/nodeca/js-yaml). Updates `js-yaml` from 4.1.0 to 4.1.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md">js-yaml's changelog</a>.</em></p> <blockquote> <h2>[4.1.1] - 2025-11-12</h2> <h3>Security</h3> <ul> <li>Fix prototype pollution issue in yaml merge (<<) operator.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/nodeca/js-yaml/commit/cc482e775913e6625137572a3712d2826170e53a"><code>cc482e7</code></a> 4.1.1 released</li> <li><a href="https://github.com/nodeca/js-yaml/commit/50968b862e75866ef90e626572fe0b2f97b55f9f"><code>50968b8</code></a> dist rebuild</li> <li><a href="https://github.com/nodeca/js-yaml/commit/d092d866031751cb27c12d93f3e2470ad74d678b"><code>d092d86</code></a> lint fix</li> <li><a href="https://github.com/nodeca/js-yaml/commit/383665ff4248ec2192d1274e934462bb30426879"><code>383665f</code></a> fix prototype pollution in merge (<<)</li> <li><a href="https://github.com/nodeca/js-yaml/commit/0d3ca7a27b03a6c974790a30a89e456007d62976"><code>0d3ca7a</code></a> README.md: HTTP => HTTPS (<a href="https://redirect.github.com/nodeca/js-yaml/issues/678">#678</a>)</li> <li><a href="https://github.com/nodeca/js-yaml/commit/49baadd52af887d2991e2c39a6639baa56d6c71b"><code>49baadd</code></a> doc: 'empty' style option for !!null</li> <li><a href="https://github.com/nodeca/js-yaml/commit/ba3460eb9d3e4478edcbc29edabe17c2157fc9ce"><code>ba3460e</code></a> Fix demo link (<a href="https://redirect.github.com/nodeca/js-yaml/issues/618">#618</a>)</li> <li>See full diff in <a href="https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1">compare view</a></li> </ul> </details> <br /> [](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 You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/mpaulosky/MyBlog/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…, ralph, sam, scribe (#231) ## Summary Working as Boromir (Senior .NET Developer & Squad Coordinator) This PR adds missing sections to 6 agent charters that lacked the full standard structure. Closes #226 ## Changes - **gandalf**: added `## Expertise` and `## Critical Rules` - **legolas**: added `## Critical Rules` - **pippin**: added `## Critical Rules` - **ralph**: added `## Identity`, `## Expertise`, `## Boundaries`, `## Critical Rules` - **sam**: added `## Critical Rules` - **scribe**: added `## Identity`, `## Expertise`, `## Boundaries`, `## Critical Rules`⚠️ This task was flagged as 'needs review' — please have Aragorn review before merging. --------- Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…te now.md ## Summary Sprint 15 squad maintenance pass performed by Ralph (Meta). Working as Ralph (Meta/Scribe) Closes #234 ## Changes - **Synced local dev** to `origin/dev` after divergence caused by js-yaml Dependabot bump conflict - **Deleted 10 stale local branches** (7 squad branches + 3 temp branches) - **Fixed MD032 violations** in `aragorn/history.md` — blank lines around lists (pre-existing from PR #231) - **Merged inbox decision** `aragorn-precommit-gate.md` into `decisions.md` - **Fixed 9 pre-existing lint violations** in `decisions.md`: - MD013 (3 lines > 400 chars): wrapped long bullet text at lines 397, 438, 1390 - MD040 (5 fenced code blocks without language): added `text` specifier - MD001 (h3 directly under h1): changed Directive headings to h2 - **Updated `identity/now.md`**: board clear, `active_issues: []`, focus updated - **Updated `ralph/history.md`** with 2026-05-06 maintenance session log ## Verification - Pre-commit markdownlint gate: ✅ 0 errors on all 4 staged files - Pre-push gate (build + test + integration): ✅ all green Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…emote branch prune (#237) ## Summary Working as Ralph (Meta) Closes #236 ## Changes - **Merged PR #235** — squash merged with all 23 CI checks passing - **Pruned 6 stale remote branches** (Sprint 6–8 orphans, all associated issues/PRs closed since April 2026): - `origin/squad/140-domain-servicedefaults-ca-warnings` (PR #156) - `origin/squad/153-web-infrastructure-warnings` (PR #157) - `origin/squad/154-webtests-bunit-warnings` (PR #158) - `origin/squad/155-test-assembly-ca1014` (PR #159) - `origin/squad/164-domain-tests-xunit-v3-fixes` (PR #171) - `origin/sprint/8-xunit-v3-pilot` (PR #188) - **Updated `identity/now.md`**: Sprint 16 ready, remote hygiene milestone noted - **Updated `ralph/history.md`**: 2026-05-06 follow-up session log appended ## Verification - Pre-commit gate: ✅ 0 markdownlint errors - Pre-push gate (build + tests + integration): ✅ all green Co-authored-by: Boromir <boromir@squad.dev> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Move ThemeProvider inside the interactive Routes boundary - Remove unsafe Blazor lifecycle ConfigureAwait(false) usage and harden readiness handling - Add regression coverage for render boundaries, bUnit async behavior, and theme persistence Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Raise Web coverage above 80% with focused Web.Tests additions - Add cache service and handler exception-path coverage - Apply review-cycle cleanup for test formatting and branch hygiene Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…a command
- MongoDbClearCommandTests: 5 model-level xUnit tests (no Docker required) verifying:
- annotation presence on mongodb resource
- IsHighlighted=true (destructive marker)
- ConfirmationMessage non-empty (y/n prompt gate)
- UpdateState returns Enabled when Healthy
- UpdateState returns Disabled when Unhealthy
- Handler test skipped (GetValueAsync blocks without DCP)
- ClearCommandAppFixture: IAsyncLifetime fixture that boots full Aspire host
- MongoClearIntegrationCollection: xUnit collection definition for Docker tests
- MongoClearDataIntegrationTests: 3 integration tests (require live MongoDB/Docker)
- ClearCommandAppFixture: fix CS8601 null-coalescing on GetConnectionStringAsync
- MongoClearDataIntegrationTests: fix xUnit1051 by using TestContext.Current.CancellationToken
- AppHost.cs: production WithCommand handler — mongo.WithCommand('clear-myblog-data', ...)
- Packages: MongoDB.Driver 3.6.0, Testcontainers.MongoDb for test project
Closes #247
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Gimli quality pass on issue #248 test coverage: - Remove [Fact(Skip)] from Handler_Without_Running_Host_Returns_Graceful_Failure_Not_Exception: GetValueAsync() blocks without a running DCP host, making this test untestable as a unit test. The graceful-failure path is covered transitively by MongoClearDataIntegrationTests. Deleting the skipped test restores the no-skipped-tests charter invariant. - Add two-tier test harness architecture decision to .squad/decisions.md - Update Gimli history.md with session learnings (overlay vs real filesystem, GetValueAsync blocking behaviour, Aspire IsRunMode in CreateAsync) - Fix pre-existing markdownlint violations in history.md, decisions.md and other squad docs All 5 MongoDbClearCommandTests unit tests: PASS (0 skipped) Integration tests (3) require Docker — covered by existing Docker CI gate. Closes #248 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
WithVolume("mongo-data") was passing the volume name as the container
target path, causing Docker to reject it with:
invalid mount path: 'mongo-data' mount path must be absolute
Aspire.Hosting.MongoDB provides WithDataVolume() which mounts the named
volume at the MongoDB-standard /data/db path. This unblocks the three
ClearCommandAppFixture integration tests that were timing out because
the mongodb container could never be created.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ion hang AppHost.Tests was hanging in CI because parallelizeTestCollections=true caused two Aspire host fixtures to start simultaneously: - AppHostTests collection (AspireManager) boots full Aspire host + Docker MongoDB - MongoClearIntegration collection (ClearCommandAppFixture) boots a second full host Both App.StartAsync() calls competed for the same DCP daemon, causing the second to deadlock indefinitely. CI timed out at 45 min on every run. Fix: set parallelizeTestCollections=false so collections run sequentially. Only one Aspire/DCP/Docker instance is alive at a time; no contention. Sequential wall-clock cost is ~5-10 min extra — well within the 45-min CI budget. Ref: #251 (PR), #247, #248 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Summary
Implements and verifies the local-only `clear-myblog-data` AppHost
operator command for MongoDB.
## Changes
- exposes the destructive command only during local run mode
- clears every non-system collection in `myblog` with `DeleteManyAsync`,
preserving collection shells
- hardens command behavior with Mongo-only health gating, single-flight
semaphore protection, and per-collection warning handling
- adds model-level and Docker-backed integration coverage, including
concurrent invocation and warning-path tests
- uses `WithDataVolume("mongo-data")` for the MongoDB container and
serializes AppHost test collections to avoid Aspire/DCP contention in CI
Closes #247
Closes #248
Closes #249
Closes #252
Contributor
🏗️ PR Added to Squad Triage QueueThis PR has been labeled with Next steps:
|
- reconcile main into dev to unblock release PR #254 - preserve current dev-side workflow, package, test, and AppHost settings - keep AppHost.Tests collection parallelism disabled during sync Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Summary - merge `main` into `dev` to resolve the dirty merge state blocking release PR #254 - preserve the current `dev` versions of conflicting workflow, package, doc, and test files - keep `AppHost.Tests` collection parallelism disabled during the sync ## Links - Unblocks #254 - Sync branch for release conflict resolution ## Validation - pre-push hook passed on `squad/254-resolve-release-conflicts` during push
Contributor
Owner
Author
|
Aragorn review gate:
From a technical gate perspective, I do not see a remaining code or conflict blocker on #254. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #254 +/- ##
==========================================
+ Coverage 78.64% 83.01% +4.37%
==========================================
Files 43 43
Lines 721 730 +9
Branches 112 112
==========================================
+ Hits 567 606 +39
+ Misses 108 81 -27
+ Partials 46 43 -3
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release Checklist
0dc7e88Release Scope
devsince PR [RELEASE] Promote dev to main #213mainintodevto clear the release conflicts on this PRRelease Notes
clear-myblog-datacommand plus Mongo clear hardening and test coverage.dev.Notes
mainintodevwith a merge commit so this release PR is mergeable again.devbranch tomainper the release-only branch model.