Skip to content

Conversation

@thomhurst
Copy link
Owner

This PR contains the following updates:

Package Type Update Change
Testcontainers.Redis (source) nuget minor 4.8.1 -> 4.9.0

Release Notes

testcontainers/testcontainers-dotnet (Testcontainers.Redis)

v4.9.0

Compare Source

What's Changed

This release adds a new configuration (DOCKER_API_VERSION) that lets you pin and downgrade the Docker Engine API version. This was needed because Docker Engine v29 introduced breaking changes that affect Docker.DotNet and Testcontainers for .NET. This release pins the API version to 1.44. So far, no issues or negative side effects have been observed.

I am also working on updating Docker.DotNet to make it fully compatible with Docker Engine v29. There is already a work-in-progress PR.

Thanks to all the contributors who helped with this release 👍.

⚠️ Breaking Changes

🚀 Features

🐛 Bug Fixes

📖 Documentation

🧹 Housekeeping


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 this update 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 MINOR renovate-bot labels Nov 23, 2025
@thomhurst thomhurst enabled auto-merge (squash) November 23, 2025 16:09
@claude
Copy link
Contributor

claude bot commented Nov 23, 2025

Claude finished @thomhurst's task —— View job


PR Review: Dependency Update - testcontainers.redis 4.8.1 → 4.9.0

Review Checklist

  • Analyze the changed files
  • Review release notes for breaking changes
  • Check for Redis container usage in TUnit
  • Assess security implications
  • Provide comprehensive feedback

Review Summary

This PR updates testcontainers.redis from version 4.8.1 to 4.9.0. Based on my analysis, this is a safe and recommended update with some important benefits.

Code Quality Assessment ✅

File Changed: Directory.Packages.props:81

  • Clean, single-line dependency version update
  • Follows TUnit's centralized package management approach
  • No breaking changes in the update path

Compatibility Analysis ✅

TUnit's Redis Usage:

  1. Real Redis Containers: Used in TUnit.Example.Asp.Net.TestProject/InMemoryRedis.cs:14-16 - Real testcontainers usage
  2. Mock Redis Containers: Used in TUnit.TestProject/ParallelPropertyInjectionTests.cs - Mock classes for testing (not affected)

The actual Redis container usage follows standard testcontainers patterns:

public RedisContainer Container => field ??= new RedisBuilder()
    .WithNetwork(DockerNetwork.Instance)
    .Build();

Key Benefits from 4.9.0 Update 🎯

  1. Docker Engine v29 Compatibility:

    • Pins Docker API version to 1.44 for stability
    • Prevents issues with Docker Engine v29 breaking changes
    • Critical for CI/CD environments using newer Docker versions
  2. New Features:

    • .NET 10 support added
    • Multiple new container modules (KurrentDb, Mosquitto, Toxiproxy, Grafana, Playwright)
    • Enhanced wait strategy fixes
  3. Bug Fixes:

    • Milvus deployment mode fix for v2.6+
    • Kusto wait strategy encoding improvements
    • Various stability improvements

Security Considerations ✅

  • No security vulnerabilities introduced
  • Dependency comes from trusted testcontainers organization
  • Release includes standard housekeeping and dependency updates
  • Docker API version pinning actually improves security by preventing unexpected API behavior

Performance Impact ✅

  • Minor version update with no breaking changes
  • Performance should be neutral or slightly improved
  • Container initialization patterns remain unchanged

Test Coverage Assessment ✅

  • TUnit's existing Redis container tests will continue to work
  • The mock Redis classes in parallel injection tests are unaffected
  • No additional test coverage needed for this dependency update

Compatibility Matrix ✅

Component Status Notes
TUnit Redis Usage ✅ Compatible Standard testcontainers patterns
.NET Framework Support ✅ Enhanced Added .NET 10 support
Docker Engine ✅ Improved Better v29 compatibility
CI/CD ✅ Stable API version pinning prevents issues

Recommendation

✅ APPROVE - This update is recommended and safe to merge.

Key Reasons:

  1. Provides important Docker Engine v29 compatibility
  2. No breaking changes affecting TUnit's usage patterns
  3. Includes valuable stability and feature improvements
  4. Follows semantic versioning (4.8.1 → 4.9.0 = minor update)

The automatic merge by Renovate is appropriate for this type of dependency update.


@claude
Copy link
Contributor

claude bot commented Nov 23, 2025

Claude finished @thomhurst's task —— View job


PR Review: Dependency Update - testcontainers.redis 4.8.1 → 4.9.0

Review Checklist

  • Analyze the changed files
  • Review release notes for breaking changes
  • Check for Redis container usage in TUnit
  • Assess security implications
  • Provide comprehensive feedback

Code Quality Assessment ✅

File Changed: Directory.Packages.props:81

  • Clean, single-line dependency version update
  • Follows TUnit's centralized package management approach
  • No breaking changes in the update path

Compatibility Analysis ✅

TUnit's Redis Usage:

  1. Real Redis Containers: Used in TUnit.Example.Asp.Net.TestProject/InMemoryRedis.cs:14-16 - Real testcontainers usage
  2. Mock Redis Containers: Used in TUnit.TestProject/ParallelPropertyInjectionTests.cs - Mock classes for testing (not affected)

The actual Redis container usage follows standard testcontainers patterns:

public RedisContainer Container => field ??= new RedisBuilder()
    .WithNetwork(DockerNetwork.Instance)
    .Build();

Key Benefits from 4.9.0 Update 🎯

  1. Docker Engine v29 Compatibility:

    • Pins Docker API version to 1.44 for stability
    • Prevents issues with Docker Engine v29 breaking changes
    • Critical for CI/CD environments using newer Docker versions
  2. New Features:

    • .NET 10 support added
    • Multiple new container modules (KurrentDb, Mosquitto, Toxiproxy, Grafana, Playwright)
    • Enhanced wait strategy fixes
  3. Bug Fixes:

    • Milvus deployment mode fix for v2.6+
    • Kusto wait strategy encoding improvements
    • Various stability improvements

Security Considerations ✅

  • No security vulnerabilities introduced
  • Dependency comes from trusted testcontainers organization
  • Release includes standard housekeeping and dependency updates
  • Docker API version pinning actually improves security by preventing unexpected API behavior

Performance Impact ✅

  • Minor version update with no breaking changes
  • Performance should be neutral or slightly improved
  • Container initialization patterns remain unchanged

Test Coverage Assessment ✅

  • TUnit's existing Redis container tests will continue to work
  • The mock Redis classes in parallel injection tests are unaffected
  • No additional test coverage needed for this dependency update

Compatibility Matrix ✅

Component Status Notes
TUnit Redis Usage ✅ Compatible Standard testcontainers patterns
.NET Framework Support ✅ Enhanced Added .NET 10 support
Docker Engine ✅ Improved Better v29 compatibility
CI/CD ✅ Stable API version pinning prevents issues

Recommendation

✅ APPROVE - This update is recommended and safe to merge.

Key Reasons:

  1. Provides important Docker Engine v29 compatibility
  2. No breaking changes affecting TUnit's usage patterns
  3. Includes valuable stability and feature improvements
  4. Follows semantic versioning (4.8.1 → 4.9.0 = minor update)

The automatic merge by Renovate is appropriate for this type of dependency update.


This was referenced Dec 8, 2025
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 MINOR renovate-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants