v0.36.0
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
azuritesub-package.
We took this opportunity to remove the unnecessarily exportedSettingsfield from theAzuritecontainer type,
so users of theAzuritecontainer 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.ContainerJSONtocontainer.InspectResponse.Container.State: the return type has been changed fromtypes.ContainerStatetocontainer.State.DockerProvider.ContainerFromType: the method signature has been changed to accept acontainer.Summaryinstead 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
DockerComposetype from thecomposemodule must update their code to useDockerComposerinstead.
The former unexporteddockerComposetype 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 thecomposemodule.
- feat!: log package for consistent output (#2979) @KenxinKun
Users of the
testcontainers.Loggingvariable and thetestcontainers.TestLoggerfunction must update their code to use the newlog.Default()logger instance and thelog.TestLogger()function instead, and
users of thetestcontainers.Loggerinterface must update their code to use the newlog.Loggerinterface instead.
The newlogpackage 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 thetestcontainerspackage.
- chore(nats)!: remove variadic arguments from nats ConnectionString (#2967) @jasonyunicorn
Users of the NATS module and the
ConnectionStringtype must remove the variadic arguments from theConnectionStringmethod. 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
ContainerRequeststruct, so users of theEnpointSettingsModifiertype must update their code to use theEndpointSettingsModifiertype 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
SkipIfProviderIsNotHealthytest 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