What's Changed
⚠️ Breaking Changes
- feat(azure)!: add Azurite, EventHubs and ServiceBus in the new Azure module, deprecating the old Azurite module (#3008) @mdelapenya
Users of the old Azurite module must update their code to use the new Azure module instead, which contains the same functionality under the
azurite
sub-package.
We took this opportunity to remove the unnecessarily exportedSettings
field from theAzurite
container type,
so users of theAzurite
container type must update their code to simply do not use that field.
- chore(deps)!: bump github.com/docker/docker from 27.1.1+incompatible to 28.0.1+incompatible (#3017) @dependabot[bot]
Bumping the Docker package to a newer major version came with lots of benefits, but also some breaking changes. For that reason, users of the following
container methods and types must update their code to use the new types and methods instead:
Container.Inspect
: the return type has been changed fromtypes.ContainerJSON
tocontainer.InspectResponse
.Container.State
: the return type has been changed fromtypes.ContainerState
tocontainer.State
.DockerProvider.ContainerFromType
: the method signature has been changed to accept acontainer.Summary
instead of atypes.Container
.
At the same time, if consuming Docker types or methods, users must update their code to use the new types and methods instead.
As a good rule of thumb, users of the"github.com/docker/docker/api/types"
package must update their code to use"github.com/docker/docker/api/types/container"
instead.
- chore!: export DockerCompose type in compose package (#2953) @jasonyunicorn
Users of the deprecated
DockerCompose
type from thecompose
module must update their code to useDockerComposer
instead.
The former unexporteddockerCompose
type has been renamed toDockerCompose
. This breaking change was done because returning
an un-exported type from a constructor function limits the flexibility and usability of the returned instance. Callers could use
the exported methods, but could not declare variables of that type, pass instances to other functions, or embed them in structs
without exposing the constructor itself. This breaking change was needed to improve the usability of thecompose
module.
- feat!: log package for consistent output (#2979) @KenxinKun
Users of the
testcontainers.Logging
variable and thetestcontainers.TestLogger
function must update their code to use the newlog.Default()
logger instance and thelog.TestLogger()
function instead, and
users of thetestcontainers.Logger
interface must update their code to use the newlog.Logger
interface instead.
The newlog
package allows users to set a custom logger instance calling thelog.SetDefault(l log.Logger)
function.
This breaking change was needed to improve the usability of the logging functionality when using thetestcontainers
package.
- chore(nats)!: remove variadic arguments from nats ConnectionString (#2967) @jasonyunicorn
Users of the NATS module and the
ConnectionString
type must remove the variadic arguments from theConnectionString
method. This breaking change was needed because those arguments weren't in use.
- chore!: rename EnpointSettingsModifier to EndpointSettingsModifier (#2941) @NathanBaulch
We fixed a typo in the exported field of the
ContainerRequest
struct, so users of theEnpointSettingsModifier
type must update their code to use theEndpointSettingsModifier
type instead.
🔒 Security
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.36.0 in /modules/dynamodb (#3059) @mdelapenya
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.36.0 in /modules/scylladb (#3058) @dependabot[bot]
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.36.0 in /modules/databend (#3055) @dependabot[bot]
- chore(deps): bump golang.org/x/net from 0.26.0 to 0.33.0 (#2961) @dependabot[bot]
🚀 Features
- feat(azure)!: add Azurite, EventHubs and ServiceBus in the new Azure module, deprecating the old Azurite module (#3008) @mdelapenya
- feat(modules): add dind module (#3004) @acouvreur
- feat: add ScyllaDB module (#2992) @mdelapenya
- feat(mssql): add WithInitSQL function (#2988) @MattiasMTS
- feat(redpanda): add bootstrap user account option (#2975) @bojand
- feat!: log package for consistent output (#2979) @KenxinKun
- feat: adds Pinecone module (#2955) @mdelapenya
🐛 Bug Fixes
- fix(valkey): fix port race (#2962) @stevenh
- fix(localstack): more reliable legacy tag detection (#2936) @NathanBaulch
📖 Documentation
- docs: refine texts on how to set the module image (#3012) @mdelapenya
- docs: correct container variable (#3010) @tacerus
- docs: fix typo of grafanalgtm -> grafana-lgtm module package (#2999) @ZackarySantana
- docs: remove duplicated options in the customisers lists (#2989) @mdelapenya
🧹 Housekeeping
- chore: dockerise docs build (#3060) @mdelapenya
- fix(ci): update sonar script path in the GH actions (#3045) @mdelapenya
- chore(ci): manage Sonar projects from Github actions (#3039) @mdelapenya
- chore(sonar): set main as default branch (#3038) @mdelapenya
- fix(sonar): run on ubuntu and the lowest Go version (#3037) @mdelapenya
- fix(ci): update core path in sonar build (#3036) @mdelapenya
- fix: use empty dir for the core (#3035) @mdelapenya
- fix: pass secret to the reusable workflow (#3034) @mdelapenya
- chore(ci): use new GH action for SonarQube (#3007) @mdelapenya
- chore: readd dependabot, including a way to refresh the project files for all the modules (#2997) @mdelapenya
- chore: enable empty-block from revive (#2994) @mmorel-35
- fix(ci): exclude mkdocs.yml file and sonar.properties from the changed-modules script (#2993) @mdelapenya
- chore(ci): run compose module tests against the upstream compose projects (#2990) @mdelapenya
- chore(ci): add an end job to verify the pipeline finished with success (#2991) @mdelapenya
- chore(k6): exclude "modules/k6" from the build (#2987) @mdelapenya
- chore: enable var-naming from revive (private vars only) (#2978) @mmorel-35
- fix(ci): use same condition for sonar steps (#2974) @mdelapenya
- fix: return unique modified modules (#2973) @mdelapenya
- chore(ci): run lint in a separate build before running the tests (#2876) @mdelapenya
- chore: enable unused-parameter from revive (#2949) @mmorel-35
- chore: enable use-any from revive (#2948) @mmorel-35
- chore: enable var-declaration from revive linter (#2942) @mmorel-35
- chore: enable context-as-argument from revive linter (#2946) @mmorel-35
- chore: enable early-return, indent-error-flow and superfluous-else from revive linter (#2947) @mmorel-35
- chore: recover from panic in
SkipIfProviderIsNotHealthy
test helper function (#2939) @jasonyunicorn - chore: fix typos (#2940) @NathanBaulch
📦 Dependency updates
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.36.0 in /modules/dynamodb (#3059) @mdelapenya
- chore(deps): bump github.com/magiconair/properties from 1.8.7 to 1.8.9 (#3057) @dependabot[bot]
- chore(deps): bump golangci/golangci-lint-action from 6.3.0 to 6.5.2 (#3052) @dependabot[bot]
- chore(deps): bump golang.org/x/sys from 0.28.0 to 0.31.0 (#3056) @dependabot[bot]
- chore(deps): bump actions/setup-go from 5.3.0 to 5.4.0 (#3054) @dependabot[bot]
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.36.0 in /modules/scylladb (#3058) @dependabot[bot]
- chore(deps): bump github/codeql-action from 3.28.11 to 3.28.12 (#3053) @dependabot[bot]
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.36.0 in /modules/databend (#3055) @dependabot[bot]
- chore(deps): bump github.com/docker/buildx from 0.21.2 to 0.21.3 in /modules/compose (#3043) @dependabot[bot]
- chore(deps): bump github.com/containerd/containerd/v2 from 2.0.3 to 2.0.4 in /modules/compose (#3042) @dependabot[bot]
- deps(compose): bump compose to v2.34.0 and compose-go to v2.4.9 (#3041) @mdelapenya
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.36.0 in /modules/yugabytedb (#3040) @dependabot[bot]
- chore(deps)!: bump github.com/docker/docker from 27.1.1+incompatible to 28.0.1+incompatible (#3017) @dependabot[bot]
- chore(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 in /modules (#3033) @dependabot[bot]
- chore(deps): bump github.com/opencontainers/image-spec from 1.1.0 to 1.1.1, dario.cat/mergo from 1.0.0 to 1.0.1 (#3030) @mdelapenya
- chore(deps): bump github/codeql-action from 3.28.0 to 3.28.11 (#3014) @dependabot[bot]
- chore(deps): bump ossf/scorecard-action from 2.4.0 to 2.4.1 (#3013) @dependabot[bot]
- chore(modules): update Weaviate version to v1.29.0 and Weaviate Go client to v5.0.2 (#3006) @antas-marcin
- chore(deps): bump docker/setup-docker-action from 4.1.0 to 4.2.0 (#3002) @dependabot[bot]
- chore(ci): run compose module tests against the upstream compose projects (#2990) @mdelapenya
- deps: update go version from 1.22.0 to 1.23.0 (#2985) @mmorel-35
- chore(ollama): bump default version to 0.5.7 (#2966) @mdelapenya
- chore(deps): bump actions/checkout from 4.1.7 to 4.2.2 (#2971) @dependabot[bot]
- chore(deps): bump release-drafter/release-drafter from 6.0.0 to 6.1.0 (#2970) @dependabot[bot]
- chore(deps): bump golangci/golangci-lint-action from 6.2.0 to 6.3.0 (#2969) @dependabot[bot]
- fix(deps): update to github.com/shirou/gopsutil/v4 (#2964) @zchee
- chore(deps): bump golang.org/x/net from 0.25.0 to 0.33.0 in /modules/pinecone (#2963) @dependabot[bot]
- chore(deps): bump golang.org/x/net from 0.26.0 to 0.33.0 (#2961) @dependabot[bot]
- deps(fix): include modulegen templates dir in dependabot updates (#2956) @mdelapenya
- chore(deps): bump docker/setup-docker-action from 4.0.0 to 4.1.0 (#2959) @dependabot[bot]
- chore(deps): bump actions/setup-go from 5.1.0 to 5.3.0 (#2957) @dependabot[bot]
- chore(deps): bump actions/upload-artifact from 4.4.3 to 4.6.0 (#2958) @dependabot[bot]
- chore(deps): bump golangci-lint to v1.63.4 (#2950) @mmorel-35
- deps(compose): bump compose (v2.32.2) and compose-go spec (v2.4.7) (#2938) @mdelapenya