2.4.0
What's Changed
⚠️ Breaking Changes
We made a concerted effort to avoid breaking changes as much as possible. Our goal was to provide a smooth transition to the new version for our users. To achieve this, we have flagged all upcoming breaking changes as obsolete, which means that they will still work for now but will be removed in the next version.
However, there may be cases where we are unable to maintain backwards compatibility. In such instances, we will do our best to provide clear documentation and guidance on how to update your code to work with the new version. We apologize in advance for any inconvenience this may cause and we appreciate your understanding.
-
The interface member
IWaitUntil.Until(ITestcontainersContainer, ILogger)
has been changed toIWaitUntil.UntilAsync(IContainer)
. The container instance now holds the instance ofILogger
. -
The member
ImageFromDockerfileBuilder.Build()
does not return aTask<string>
anymore. It returns an implementation ofIFutureDockerImage
. To finally build the image callCreateAsync(CancellationToken)
. -
Use the
ContainerBuilder
instead ofTestcontainersBuilder<TestcontainersContainer>
orContainerBuilder<DockerContainer>
for generic (non module) configurations. If you rely on the module builder, please be aware of #750 (comment) for now. -
Following interfaces and classes has been renamed (the old interfaces and classes are still supported in 2.4.0):
Old name New name ITestcontainersContainer
,IDockerContainer
,IRunningDockerContainer
IContainer
IDockerImage
IImage
IDockerNetwork
INetwork
IDockerVolume
IVolume
TestcontainersBuilder
ContainerBuilder
TestcontainersNetworkBuilder
NetworkBuilder
TestcontainersVolumeBuilder
VolumeBuilder
TestcontainersContainer
DockerContainer
- feat(#493): Add container lifecycle events (#743) @HofmeisterAn
- refactor(#493): Replace module extension methods with module API (#729) @HofmeisterAn
🚀 Features
- feat: Invoke create parameter modifier for image, network, volume build or create (#746) @HofmeisterAn
- feat(#493): Add .NET module template (#742) @HofmeisterAn
- feat(#493): Add container lifecycle events (#743) @HofmeisterAn
- feat(#493): Add low level modifications API for all resources (#741) @HofmeisterAn
- refactor(#493): Replace module extension methods with module API (#729) @HofmeisterAn
- feat: Add GitHub Codespaces configuration (Dev Container) (#735) @HofmeisterAn
- feat(#725): Do not return JSON auth config for partial Docker registry matches (#726) @HofmeisterAn
- chore: Replace SharpZipLib TarArchive helper class with TarOutputStream (#724) @HofmeisterAn
- feat: Include file path in TarException: Entry closed at [...] (Docker build) (#720) @HofmeisterAn
- feat(#715): Add HttpWaitStrategy (#717) @HofmeisterAn
🐛 Bug Fixes
- fix: Wait until LocalStack writes ready message (#738) @HofmeisterAn
📖 Documentation
- chore: Add link Open in GitHub Codespaces (#739) @eddumelendez
- docs: Add Docker Desktop Compose example (#731) @HofmeisterAn
🧹 Housekeeping
- chore: Rename release branch to main (#748) @HofmeisterAn
- feat(#493): Prepare module NuGet support, sign NuGet (#744) @HofmeisterAn
- chore: Replace host port 0 with an empty string (#727) @HofmeisterAn
- fix: Remove Sonar finding csharpsquid:S6444 (#721) @HofmeisterAn
- chore: Increase HttpWaitStrategy test coverage (#719) @HofmeisterAn
- fix: Remove Sonar finding csharpsquid:S1006 (#718) @HofmeisterAn
- chore: Reduce concurrent builds (#714) @HofmeisterAn
- feat: Prepare next release cycle (2.4.0) (#711) @HofmeisterAn