Skip to content

Conversation

@thomhurst
Copy link
Owner

@thomhurst thomhurst commented Dec 24, 2025

This PR contains the following updates:

Package Type Update Change
TUnit nuget patch 1.6.201.6.28
TUnit.AspNetCore nuget patch 1.6.201.6.28
TUnit.Assertions nuget patch 1.6.201.6.28
TUnit.Assertions.FSharp nuget patch 1.6.201.6.28
TUnit.Core nuget patch 1.6.201.6.28
TUnit.Playwright nuget patch 1.6.201.6.28

Release Notes

thomhurst/TUnit (TUnit)

v1.6.28: 1.6.28

What's Changed
Other Changes

Full Changelog: v1.6.27...v1.6.28

v1.6.27: 1.6.27

What's Changed
Other Changes
  • feat: enhance test configuration isolation and validation in WebApplicationFactory by @​thomhurst in #​4157

Full Changelog: v1.6.25...v1.6.27

v1.6.25: 1.6.25

What's Changed
Other Changes
Dependencies

Full Changelog: v1.6.20...v1.6.25


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@thomhurst thomhurst added dependencies Pull requests that update a dependency file PATCH renovate-bot labels Dec 24, 2025
Copilot AI review requested due to automatic review settings December 24, 2025 00:53
@thomhurst thomhurst added dependencies Pull requests that update a dependency file PATCH renovate-bot labels Dec 24, 2025
@thomhurst thomhurst enabled auto-merge (squash) December 24, 2025 00:53
@claude
Copy link
Contributor

claude bot commented Dec 24, 2025

PR Review: Dependency Update - TUnit 1.6.20 → 1.6.25

Summary

This is an automated dependency update PR from Renovate Bot that bumps TUnit packages from version 1.6.20 to 1.6.25 across templates and the main package configuration.


✅ Code Quality

LGTM - The changes are straightforward and consistent:

  • All version updates are uniform across the codebase
  • Updates applied to both Directory.Packages.props (centralized package management) and individual template project files
  • No breaking changes expected (patch version bump: 1.6.20 → 1.6.25)

📦 Changes Included in 1.6.25

According to the release notes, this update includes:

  1. Performance improvement: Replaced fixed-length List with Span (perf: replace fixed length List with Span #4153) - aligns with TUnit's performance-first philosophy
  2. New feature: Added NotDiscoverableAttribute to hide tests from discovery (feat: add NotDiscoverableAttribute to hide tests from discovery #4154)
  3. Dependency updates: Polyfill updated to 9.5.0

🔍 Potential Issues

None identified - This is a low-risk patch update:

  • ✅ No code changes required
  • ✅ No API surface changes (patch version)
  • ✅ CI checks are running
  • ✅ Automerge is enabled (appropriate for patch updates)
  • ✅ All TUnit package versions updated consistently

🧪 Test Coverage

N/A for this PR - This is a dependency update that:

  • Doesn't modify test code
  • Doesn't change public APIs
  • Doesn't affect dual-mode implementation
  • Doesn't require snapshot updates

The CI pipeline will validate compatibility across:

  • Multiple OSs (Ubuntu, Windows, macOS)
  • Multiple locales (fr-FR, pl-PL, de-DE)
  • CodeQL security analysis

🚀 Performance Considerations

Positive impact expected: The underlying 1.6.25 release includes a performance optimization (replacing List with Span), which aligns with TUnit's "Performance First" principle from CLAUDE.md.


🔒 Security Concerns

None identified:

  • ✅ Snyk security check passed
  • ✅ Patch version update (low risk)
  • ✅ No new dependencies introduced

📋 Recommendation

APPROVE - This PR is ready to merge once CI passes.

The update is:

  • Low risk (patch version)
  • Consistent across all affected files
  • Includes beneficial performance improvements
  • Properly configured for automerge

📝 Notes

  • All 9 project files updated correctly
  • Central package management in Directory.Packages.props updated
  • Template projects across all variants (C#, F#, VB, AspNet, Aspire, Playwright) updated consistently
  • No manual intervention required after CI passes

Status: ✅ Ready to merge after CI validation

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates TUnit package dependencies from version 1.6.20 to 1.6.25 across project templates and central package management. The update includes performance improvements (replacing fixed-length List with Span) and a new NotDiscoverableAttribute feature introduced in TUnit 1.6.25.

Key Changes:

  • Updated core TUnit packages (TUnit, TUnit.Core, TUnit.Assertions, TUnit.AspNetCore) in Directory.Packages.props
  • Updated TUnit packages in all project templates (C#, F#, VB.NET, ASP.NET, Aspire, Playwright)

Reviewed changes

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

Show a summary per file
File Description
TUnit.Templates/content/TUnit/TestProject.csproj Updated TUnit to 1.6.25 in C# template
TUnit.Templates/content/TUnit.VB/TestProject.vbproj Updated TUnit to 1.6.25 in VB.NET template
TUnit.Templates/content/TUnit.Playwright/TestProject.csproj Updated TUnit.Playwright to 1.6.25 in Playwright template
TUnit.Templates/content/TUnit.FSharp/TestProject.fsproj Updated TUnit and TUnit.Assertions.FSharp to 1.6.25 in F# template
TUnit.Templates/content/TUnit.Aspire.Test/ExampleNamespace.csproj Updated TUnit to 1.6.25 in Aspire test template
TUnit.Templates/content/TUnit.Aspire.Starter/ExampleNamespace.TestProject/ExampleNamespace.TestProject.csproj Updated TUnit to 1.6.25 in Aspire starter template
TUnit.Templates/content/TUnit.AspNet/TestProject/TestProject.csproj Updated TUnit to 1.6.25 in ASP.NET template
TUnit.Templates/content/TUnit.AspNet.FSharp/TestProject/TestProject.fsproj Updated TUnit and TUnit.Assertions.FSharp to 1.6.25 in ASP.NET F# template
Directory.Packages.props Updated TUnit, TUnit.AspNetCore, TUnit.Core, and TUnit.Assertions to 1.6.25 in central package management

The changes are consistent across all files, properly updating version numbers from 1.6.20 to 1.6.25. All template files maintain proper version alignment for their respective TUnit packages. No issues identified.

@thomhurst thomhurst changed the title chore(deps): update tunit to 1.6.25 chore(deps): update tunit to 1.6.27 Dec 24, 2025
@claude
Copy link
Contributor

claude bot commented Dec 24, 2025

Pull Request Review: TUnit Dependency Update (1.6.20 → 1.6.27)

✅ Overall Assessment

This is a clean, low-risk dependency update PR generated by Renovate Bot. The changes are straightforward version bumps across template files and central package management.


📋 Review Summary

Scope: Patch version update (1.6.20 → 1.6.27)
Changes: 14 additions / 14 deletions across 9 files
Impact: Template projects and centralized package references
Risk Level: ⬇️ Low (patch-level updates, no breaking changes expected)


Positives

  1. Consistent Version Updates: All TUnit package references updated uniformly to 1.6.27
  2. Central Package Management: Proper use of Directory.Packages.props for version control
  3. Template Coverage: All template project types updated (C#, F#, VB, AspNet, Aspire, Playwright)
  4. Clean Diff: No unexpected changes or formatting issues

📦 Packages Updated

  • TUnit: 1.6.20 → 1.6.27
  • TUnit.AspNetCore: 1.6.20 → 1.6.27
  • TUnit.Core: 1.6.20 → 1.6.27
  • TUnit.Assertions: 1.6.20 → 1.6.27
  • TUnit.Assertions.FSharp: 1.6.20 → 1.6.27
  • TUnit.Playwright: 1.6.20 → 1.6.27

🔍 Notable Changes in v1.6.21-v1.6.27

Based on the PR description, recent releases include:

v1.6.27:

  • Enhanced test configuration isolation and validation in WebApplicationFactory

v1.6.25:

  • Performance improvement: Replaced fixed-length List with Span (hot path optimization)
  • New feature: Added NotDiscoverableAttribute to hide tests from discovery

These align with TUnit's performance-first philosophy and provide useful new capabilities.


⚠️ Recommendations

1. Verify Template Functionality

Since these are template updates, consider spot-checking that templates still work correctly:

# Test a sample template (e.g., basic TUnit template)
dotnet new tunit -n TestTemplateProject
cd TestTemplateProject
dotnet test

2. Check for Snapshot Updates (if applicable)

If any of the updated features affect source generator output or public APIs:

  • Run dotnet test TUnit.Core.SourceGenerator.Tests
  • Run dotnet test TUnit.PublicAPI
  • Accept any necessary snapshot updates

However, since this is just a dependency version bump in templates, snapshot changes are unlikely.

3. AutoMerge is Enabled

The PR has automerge enabled. Ensure CI passes before merge:

  • ✅ All builds successful
  • ✅ All tests passing
  • ✅ No unexpected failures

🚀 Performance Impact

The Span optimization in v1.6.25 is particularly noteworthy as it aligns with TUnit's Rule 4: Performance First. This should provide measurable improvements in test discovery/execution hot paths.


🔒 Security Assessment

No security concerns identified:

  • Patch-level updates from the same trusted source (TUnit official releases)
  • No external dependencies introduced
  • No code logic changes in this PR

Code Quality

  • Style Compliance: N/A (version number changes only)
  • Breaking Changes: None (patch-level semantic versioning)
  • Test Coverage: Existing template tests should cover this
  • Documentation: No doc updates needed for dependency bumps

🎯 Final Recommendation

APPROVE

This is a routine maintenance PR that:

  • Keeps templates in sync with latest stable TUnit releases
  • Includes beneficial performance improvements
  • Follows semantic versioning (patch-level only)
  • Has automerge configured appropriately

Action Items:

  • ✅ Let CI complete
  • ✅ Monitor for any unexpected test failures
  • ✅ AutoMerge will handle the merge once checks pass

📝 Notes

  • This PR was auto-generated by Renovate Bot (expected and normal)
  • The changes are mechanical version bumps with no logic modifications
  • Users of templates will benefit from latest bug fixes and performance improvements
  • No manual intervention required unless CI fails

Great maintenance hygiene! 🎉

@claude
Copy link
Contributor

claude bot commented Dec 24, 2025

PR Review: TUnit Package Update (1.6.20 → 1.6.27)

✅ Overall Assessment: APPROVED

This is a clean, automated dependency update from Renovate Bot that updates TUnit package references across the repository.


🔍 Review Findings

Strengths

  1. Consistency: All TUnit package versions are consistently updated to 1.6.27 across:

    • Central package management (Directory.Packages.props): TUnit, TUnit.AspNetCore, TUnit.Core, TUnit.Assertions
    • All 9 template project files: C#, F#, VB, AspNet, Aspire, Playwright variants
  2. Completeness: The PR correctly updates all package references, including:

    • TUnit.Playwright (mentioned in PR description and updated in template)
    • TUnit.Assertions.FSharp (F# templates)
  3. Release Notes Context: The update includes two patch releases (1.6.25 and 1.6.27) with:

    • Performance improvements (Span usage replacing List)
    • New NotDiscoverableAttribute feature
    • Enhanced ASP.NET Core test configuration
  4. Automation: Properly configured with automerge, indicating this is a routine, safe update


📋 Code Quality

  • Clean diff: Only version number changes, no structural modifications
  • No breaking changes: Patch version update (1.6.x) maintains API compatibility
  • Template integrity: All template variations maintain proper structure

🔒 Security & Performance

  • Security: No security concerns identified
  • Performance: Release notes indicate performance improvements (Span optimization in v1.6.25)
  • Testing: Changes are self-contained version bumps; template instantiation tests should validate

⚠️ Observations

Note: TUnit.Playwright is not in Directory.Packages.props central package management (line 88-91 only include TUnit, TUnit.AspNetCore, TUnit.Core, TUnit.Assertions). This appears intentional since:

  • It's only used in one template (TUnit.Playwright)
  • Direct version specification in the template is acceptable for specialized packages
  • No consistency issues detected

🎯 Recommendations

  1. Approve and merge - This is a routine, well-formed dependency update
  2. CI validation - Ensure all template instantiation tests pass
  3. 📝 Optional: Consider adding TUnit.Playwright to Directory.Packages.props for centralized version management (future enhancement, not blocking)

📚 Compliance with CLAUDE.md

  • ✅ No dual-mode implementation required (version bumps only)
  • ✅ No snapshot updates needed (no code generation changes)
  • ✅ No public API changes
  • ✅ No performance-critical code paths affected
  • ✅ Modern C# syntax N/A (configuration files only)

Verdict: This is a textbook example of a clean dependency update. Safe to merge. 🚀

@thomhurst thomhurst changed the title chore(deps): update tunit to 1.6.27 chore(deps): update tunit to 1.6.28 Dec 24, 2025
@claude
Copy link
Contributor

claude bot commented Dec 24, 2025

PR Review - TUnit Dependency Update (1.6.20 → 1.6.28)

Summary

This Renovate Bot PR updates TUnit and related packages across templates from version 1.6.20 to 1.6.28 (patch updates).


✅ Code Quality & Best Practices

Positive:

  • Changes are minimal and focused - only version number updates
  • All package updates are consistent across the codebase (1.6.28 everywhere)
  • Both central package management (Directory.Packages.props) and template project files are updated
  • Covers all TUnit variants: AspNetCore, Assertions, Core, FSharp, Playwright

Structure:

  • Updates follow consistent pattern across all affected files
  • No code changes, purely dependency version bumps

✅ Potential Issues & Bugs

None identified. This is a straightforward patch version bump with no breaking changes according to semantic versioning.


✅ Performance Considerations

Release notes indicate performance improvements:

  • v1.6.25 includes: "perf: replace fixed length List with Span" (#4153)
  • This aligns with TUnit's Performance First principle from CLAUDE.md
  • Patch versions should maintain API compatibility while potentially improving performance

✅ Security Concerns

None. Snyk security check has passed.


✅ Test Coverage

No new tests required - this is a dependency update. The existing test suite will validate compatibility.

CI Status: All checks are currently queued/running. The PR should only merge after:

  • All platform builds pass (ubuntu, windows, macos)
  • Locale tests pass (de-DE, fr-FR, pl-PL)
  • CodeQL analysis completes
  • .NET build pipeline succeeds

📋 Recommendations

  1. Wait for CI - Ensure all automated checks pass before merging (currently queued)
  2. Verify template functionality - Consider spot-checking that templates still scaffold correctly with new versions
  3. No action needed - This appears to be a routine, well-structured dependency update

🎯 Alignment with CLAUDE.md

Follows project conventions:

  • Maintains consistency across all template variants
  • No breaking changes (patch version)
  • Automerge is enabled, appropriate for routine dependency updates

Overall Assessment

LGTM ✓ This is a clean, straightforward dependency update following semantic versioning best practices. Once CI passes, this should be safe to merge.

Risk Level: Low
Recommendation: Approve pending CI checks

@claude
Copy link
Contributor

claude bot commented Dec 24, 2025

Pull Request Review

Summary

This is a Renovate bot-generated PR that updates TUnit package references from version 1.6.20 to 1.6.28 across template files and central package management.

Code Quality: ✅ APPROVED

Positive Aspects:

  • Clean, straightforward dependency update
  • Consistent version bumps across all TUnit packages (TUnit, TUnit.AspNetCore, TUnit.Core, TUnit.Assertions, TUnit.Assertions.FSharp, TUnit.Playwright)
  • Updates both Directory.Packages.props (central package management) and template project files
  • No functional code changes - only version number updates

Changes Included in Version Updates

Based on the PR description, versions 1.6.21-1.6.28 include:

v1.6.28:

v1.6.27:

v1.6.25:

Testing Considerations

Recommendation: While this is a patch version update and should be backwards compatible, I recommend:

  1. Run the full test suite to ensure compatibility:

    dotnet test
  2. Test template generation to verify templates still work correctly:

    # Test that templates can be instantiated and run
    dotnet new tunit -o /tmp/test-template
    cd /tmp/test-template && dotnet test
  3. Verify CI pipeline passes before auto-merge

Performance Considerations ✅

The v1.6.25 update includes a performance improvement (List → Span), which aligns well with TUnit's performance-first philosophy from CLAUDE.md.

Security Concerns: ✅ None

No security issues identified. This is a routine dependency update of first-party packages.

Compliance with CLAUDE.md: ✅

  • ✅ No code changes requiring dual-mode implementation
  • ✅ No source generator changes requiring snapshot updates
  • ✅ No public API changes requiring snapshot updates
  • ✅ Dependency updates are handled correctly via central package management

Recommendation: APPROVE & MERGE

This PR is safe to merge once CI passes. The auto-merge configuration is appropriate for this type of routine dependency update.

Note: Since this is updating TUnit to consume its own newer version in templates, it's essentially a self-update to ensure templates use the latest stable version. The fact that CI is likely already running with these versions internally makes this update low-risk.

@claude
Copy link
Contributor

claude bot commented Dec 25, 2025

PR Review: Dependency Update (TUnit 1.6.20 → 1.6.28)

Summary

This is an automated Renovate Bot PR updating TUnit package versions from 1.6.20 to 1.6.28 across template files and the central package management file.


✅ Code Quality & Best Practices

PASS - The changes are consistent and follow proper dependency management patterns:

  • Uses centralized package versioning via Directory.Packages.props
  • All template files updated consistently
  • Version numbers align across all TUnit packages

🔍 Changes Analysis

Files Modified:

  • Directory.Packages.props - Central package version definitions (4 packages)
  • 8 template .csproj/.fsproj/.vbproj files

Scope: Patch version update (1.6.20 → 1.6.28)

Included Updates:

  • TUnit
  • TUnit.AspNetCore
  • TUnit.Core
  • TUnit.Assertions
  • TUnit.Assertions.FSharp
  • TUnit.Playwright

📋 CLAUDE.md Compliance Check

Based on the repository's development guidelines:

No source generator changes - No snapshot updates needed
No public API changes - No API snapshot updates needed
No dual-mode implementation required - Dependency update only
No performance implications - Version bump only
No reflection/AOT concerns - No code changes


🎯 Specific Observations

Positive:

  1. Consistent versioning - All TUnit-related packages updated to the same version
  2. Template coverage - All project templates updated (C#, F#, VB.NET, AspNet, Aspire, Playwright)
  3. Automated process - Renovate Bot ensures systematic updates
  4. Automerge enabled - Appropriate for patch-level dependency updates

Notes:

  1. The PR includes updates from v1.6.21 through v1.6.28, which include:

🔒 Security Concerns

NONE - This is an internal dependency update (TUnit updating itself). No external dependency risks.


🧪 Test Coverage

N/A for this PR type - This is a template file update. The actual TUnit functionality changes were tested in their respective PRs (#4153, #4154, #4157, #4158).

Recommendation: Ensure CI passes before automerge, which should validate:

  • Template project references are valid
  • No breaking changes between versions
  • Package restore works correctly

🎯 Verdict

APPROVE

This is a standard, well-structured dependency update PR. The changes are:

  • Minimal and focused
  • Consistent across all affected files
  • Following centralized package management best practices
  • Appropriate for automerge (patch version update of internal packages)

No action required - Allow automerge to proceed once CI passes.


💡 Minor Suggestion (Optional, Not Blocking)

Consider adding a CI check that validates all TUnit package versions in templates match the versions in Directory.Packages.props to catch any drift in future updates. This would ensure template consistency is maintained automatically.

@thomhurst thomhurst merged commit 914e70f into main Dec 25, 2025
13 checks passed
@thomhurst thomhurst deleted the renovate/tunit branch December 25, 2025 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file PATCH renovate-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants