Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 4, 2025

This PR contains the following updates:

Package Change Age Confidence
TestContainers (source) 3.8.0 -> 4.9.0 age confidence

Release Notes

testcontainers/testcontainers-dotnet (TestContainers)

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

v4.8.1

Compare Source

What's Changed

🐛 Bug Fixes

v4.8.0

Compare Source

What's Changed

Thank you to all the contributors 🙌.

In version 4.7.0, we noticed that the reuse hash could change depending on the order of dictionary values. This has been fixed to ensure that dictionary values are processed in a consistent order when generating the reuse hash. As a result, the reuse hash will likely change again with 4.8.0.

Wait strategies now default to the Running mode. This mode expects the container to remain running throughout startup. If the container exits unexpectedly, Testcontainers will throw a ContainerNotRunningException that includes the exit code and container logs.

The container startup callback now includes an additional overload that provides the actual container configuration. If you implement IContainerBuilder<TBuilderEntity, TContainerEntity>, you need to add the container configuration (e.g., IContainerConfiguration) as a third generic type constraint to IContainerBuilder.

IContainerBuilder.WithResourceMapping and IContainer.CopyAsync now include two new optional arguments: uid and gid. If you do not need to specify those, use named arguments for the existing parameters: fileMode or ct.

⚠️ Breaking Changes

🚀 Features

🐛 Bug Fixes

📖 Documentation

🧹 Housekeeping

v4.7.0

Compare Source

What's Changed

This release doesn't introduce breaking changes to the public API, but it isn't binary compatible due to necessary internal changes. Make sure to update all related packages (Testcontainers modules) to the same version. See more details here. Thanks to all contributors 👏.

⚠️ Breaking Changes
🚀 Features
🐛 Bug Fixes
📖 Documentation
🧹 Housekeeping

v4.6.0

Compare Source

What's Changed

This is a patch release (but the minor version was already set). It fixes a bug in our Docker.DotNet fork where a wrong HTTP Connection header break Podman and possibly other environments. Shipped a quick fix. Thanks again to @​ahaeber and @​victor-lambret for the help.

🐛 Bug Fixes

🧹 Housekeeping

v4.5.0

Compare Source

What's Changed

Big thanks to everyone who contributed to this release 🤜🤛.

🚀 Features
🐛 Bug Fixes
📖 Documentation
🧹 Housekeeping

v4.4.0

Compare Source

What's Changed

Time for a new release! Big thanks to everyone who helped out with this one. It's got some awesome new features and fixes 😎. Seriously, I can't thank you enough. This wouldn't be possible without your ongoing support 🙏.

🚀 Features
🐛 Bug Fixes
📖 Documentation
🧹 Housekeeping

v4.3.0

Compare Source

What's Changed

Thank you to all the contributors 🙌.

🚀 Features
🐛 Bug Fixes
🧹 Housekeeping

v4.2.0

Compare Source

What's Changed

Thanks for all the contributions. Great first release of the year ❤️.

🚀 Features

🐛 Bug Fixes

🧹 Housekeeping

v4.1.0

Compare Source

What's Changed

This is likely the last release for this year, unless urgent fixes become necessary.

I want to mention a change introduced in the last major release, where we refactored the IImage interface. As part of this update, we removed obsolete properties and overloaded constructors. If you previously used an overload other than DockerImage(string), please ensure you pass the correct values to the constructor.

Additionally, we replaced Docker.DotNet with our own fork to keep the Docker Engine API up to date. Our goal is to improve reliability and performance while offering a more developer-friendly and convenient client. If you depend on a Docker client for .NET, we encourage you to contribute to this project ❤️.

On a personal note, I wish everyone a peaceful and lovely holiday season. Take this time to rest, connect with loved ones, and recharge for the new year. Take care.

🚀 Features

🐛 Bug Fixes

📖 Documentation

🧹 Housekeeping

v4.0.0

Compare Source

What's Changed

Thanks so much for all the effort you put into this release 🙌. We are continuing to align Testcontainers for .NET with other language implementations and working on improving the domain-specific language.

We have updated the IImage interface to follow the domain-specific language with the correct property names. The table below shows the changes. We tried to make the transition as smooth as possible, but be aware that relying on the Repository property might cause issues since it now resolves a different value than before. We have kept the old properties, marked them as obsolete, and provided guidance on how to migrate.

Actual Expected (New)
Registry - myregistryhost:5000
Repository myregistryhost:5000/fedora fedora/httpd
Name httpd -
Tag version1.0 version1.0
Digest - sha256:37a3b014d320...
GetHostname() myregistryhost:5000 myregistryhost:5000

⚠️ Breaking Changes

🚀 Features

🐛 Bug Fixes

  • fix: Bump MSSQL image version, remove Azure SQL Edge and Papercut module (#​1265) @​HofmeisterAn
  • fix: Throw exception if Docker resource does not exist instead of silently ignoring it (#​1254) @​0xced

🧹 Housekeeping

v3.10.0

Compare Source

Hey everyone, just wanted to say a huge thanks to all of you who helped with this version — whether through contributions, reporting issues, or discussions. I've been very busy lately, and your support has been a huge help. I really appreciate it!

What's Changed

🚀 Features

🐛 Bug Fixes

📖 Documentation

🧹 Housekeeping

v3.9.0

Compare Source

Thank you to everyone whose contributions made this release possible.

What's Changed

⚠️ Breaking Changes

The UntilOperationIsSucceeded(Func<bool>, int, Action<IWaitStrategy>) wait strategy is obsolete. Instead of this wait strategy, use any other wait strategy that matches your use case and configure the retry behavior accordingly (wait strategy options).

Using reuse together with the container builder method WithName(string) will generate a new reuse hash the first time you use the configuration. The container name was not included in calculating the reuse hash previously.

🚀 Features

🐛 Bug Fixes

  • fix: Add default file permission (755 for image build) (#​1176) @​HofmeisterAn
  • fix(MySql): Create an empty /var/lib/mysql-files directory to prevent older versions from failing to start (#​1144) @​0xced

📖 Documentation

🧹 Housekeeping

📦 Dependency Updates


Configuration

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

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from ChrisKujawa as a code owner November 4, 2025 10:32
@renovate renovate bot force-pushed the renovate/major-testcontainers-dotnet-monorepo branch 2 times, most recently from c7a5201 to 2736a75 Compare November 4, 2025 10:54
@renovate renovate bot force-pushed the renovate/major-testcontainers-dotnet-monorepo branch 3 times, most recently from d274c92 to ed34c8a Compare November 18, 2025 13:44
@renovate renovate bot force-pushed the renovate/major-testcontainers-dotnet-monorepo branch from ed34c8a to ff58b58 Compare November 23, 2025 18:07
@renovate
Copy link
Contributor Author

renovate bot commented Nov 27, 2025

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 4.x releases. But if you manually upgrade to 4.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/major-testcontainers-dotnet-monorepo branch November 27, 2025 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants