testcontainers-go

Testcontainers for Go is a Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done.

MIT License

Stars
3.2K
Committers
233

Bot releases are visible (Hide)

testcontainers-go - v0.31.0 Latest Release

Published by release-drafter[bot] 5 months ago

What's Changed

⚠️ Breaking Changes

  • break: return error from Customize request option (#2267) @stevenh

Are you hosting your own Testcontainers for Go module?

If you are hosting your own module, please update all the custom options you created for the module, updating them to return an error in the case it occurs. This breaking change is needed to provide a more robust and consistent API for creating modules, allowing module authors to create custom code to customise the container avoiding panics.

πŸ”’ Security

  • chore(deps): bump github.com/containerd/containerd from 1.7.12 to 1.7.15 (#2517) @mdelapenya

πŸš€ Features

  • feat(modules.mongodb): add replica set support via opts (#2469) @heiytor
  • feat: expose JSON representation of a container with Inspect (#2534) @mdelapenya
  • feat: forward host ports to a container using an SSH tunnel (#2471) @mdelapenya
  • feat: support overriding the default recreate options for compose (#2511) @mdelapenya
  • feat: support passing io.Reader for compose files when creating a compose instance (#2509) @mdelapenya
  • feat: support Ryuk for the compose module (#2485) @mdelapenya
  • feat: Bump default postgres version (#2481) @bearrito
  • support Dolt (#2177) @coffeegoddd
  • Elasticsearch disable CA retrieval when ssl is disabled (#2475) @Anaethelion

πŸ› Bug Fixes

  • fix(modules.kafka): Use broker container IP instead of host IP for advertised broker listener (#1989) @khartld
  • fix(compose): avoid race conditions when caching services (#2528) @mdelapenya
  • fix: enhance host configuration port binding (#2512) @wilsouza
  • fix: don't retry on permanent APIClient errors (#2506) @p-jahn
  • fix: fallback to URL-path when parsing auth config URL without scheme (#2488) @p-jahn
  • fix(postgres): Fix the non-default dbname error (#2489) @Minivera

πŸ“– Documentation

  • docs: add documentation for Exec method (#2451) @gustavosbarreto
  • docs: document the SSHd tunnel (#2514) @mdelapenya
  • [doc] Fix follow_logs.md by adding missing package (#2513) @JulienBreux

🧹 Housekeeping

  • chore(influxdb): include more characters in wait for log regex (#2532) @mdelapenya
  • chore(compose): return error in options (#2520) @mdelapenya
  • fix: use new UUID for sshd server password (#2515) @mdelapenya
  • chore: add funding button for testcontainers (#2510) @mdelapenya
  • chore: create TLS certs in a consistent manner (#2478) @mdelapenya
  • fix: handle dockerignore exclusions properly (#2476) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump test-summary action to v2.3 (#2535) @mdelapenya
  • chore(deps): bump jinja2 from 3.1.3 to 3.1.4 (#2533) @dependabot
  • Update devcontainer image (#2531) @bells17
  • chore(deps): bump golangci/golangci-lint-action from 3.7.0 to 5.1.0 (#2525) @dependabot
  • chore(deps): bump mkdocs-material from 8.2.7 to 9.5.18 (#2524) @dependabot
  • chore(deps): bump github.com/compose-spec/compose-go/v2 from v2.0.0-rc8 to v2.1.0 (#2519) @mdelapenya
  • chore(deps): bump github.com/containerd/containerd from 1.7.12 to 1.7.15 (#2517) @mdelapenya
  • chore(deps): bump golang.org/x/net in modules (minio, gcloud, weaviate, compose, qdrant, couchbase, k3s, milvus, mockserver, pulsar, kafka) (#2505) @mdelapenya
  • chore(deps): bump idna from 3.6 to 3.7 (#2480) @dependabot
testcontainers-go - v0.30.0

Published by github-actions[bot] 6 months ago

What's Changed

πŸš€ Features

  • feat(k6):Add remote test scripts (#2350) @bearrito
  • feat: optimizes file copies to and from containers (#2450) @codefromthecrypt
  • feat(exitcode): Add exit code sugar method (#2342) @bearrito
  • feat: add module to support InfluxDB v1.x (#1703) @JJCinAZ
  • feat: authenticate docker on PullImage (#2446) @codefromthecrypt
  • feat: add distribution-registry module (#2341) @mdelapenya
  • feat: support passing io.Reader as ContainerFile (#2401) @mdelapenya
  • feat(MustConn): Add MustConnectionString on (some) dbs (#2343) @bearrito
  • feat: support for waiting for response headers (#2349) @mdelapenya
  • Add method for getting Weaviate's gRPC port (#2339) @antas-marcin
  • feat: add openfga module (#2332) @mdelapenya

πŸ› Bug Fixes

  • Fix: HTTP wait strategy does not take query params into account (#2466) @benja-M-1
  • fix: logging deadlock (#2346) @stevenh
  • fix(exec): updates the Multiplexed opt to combine stdout and stderr (#2452) @gustavosbarreto
  • bug:Fix AMQPS url (#2462) @bearrito
  • Added error handling for context.Canceled in log reading code (#2268) @prateekdwivedi
  • fix: consul race on HTTP port (#2336) @codefromthecrypt

πŸ“– Documentation

  • docs: fix wrong copy&paste in Weaviate docs (#2338) @mdelapenya

🧹 Housekeeping

  • Upgrade neo4j module to use features from v0.29.1 of testcontainers-go (#2463) @danielorbach
  • chore: use "docker compose" (v2) instead of "docker-compose" (v1) (#2464) @mdelapenya
  • refactor: Add Weaviate modules tests (#2447) @antas-marcin
  • docs: Fix typo in ci-test-go.yml (#2394) @uh-zz
  • redpanda: set entrypoint to the custom entrypoint file (#2347) @bojand
  • Move the container and config tests into a test package (#2242) @Minivera
  • chore: use WithEnv option in localstack module (#2337) @mdelapenya
  • chore: check that the new version is not empty (#2331) @mdelapenya

πŸ“¦ Dependency updates

  • fix: data race on container run, caused by the otelhttp dependency (#2345) @stevenh
  • chore(deps): bump github/codeql-action from 2.22.12 to 3.24.9 (#2459) @dependabot
  • chore(deps): Bumping ChromaGo client version (#2402) @tazarov
  • chore(deps): bump github.com/docker/docker from 25.0.3+incompatible to 25.0.5+incompatible (#2444) @mdelapenya
  • chore: bump ryuk to latest v0.7.0 (#2395) @mdelapenya
  • chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#2392) @mdelapenya
  • chore: updated compose-go version (#2340) @shettyh
  • chore(deps): bump mkdocs-material from 8.2.7 to 9.5.13 (#2334) @dependabot
  • chore: retire dependabot (#2325) @mdelapenya
testcontainers-go - v0.29.1

Published by release-drafter[bot] 8 months ago

What's Changed

πŸš€ Features

  • Add k3s WithManifest option (#1920) @pablochacin
  • feat: add ollama module (#2265) @mdelapenya
  • Adding surrealDB module (#2192) @jespino
  • feat: WithLogger ContainerCustomizer support (#2259) @stevenh
  • feat: WithEnv customize request option (#2260) @stevenh
  • feat: add vector database modules (Qdrant, Weaviate, Chroma, pgvector, OpenSearch, Milvus) (#2245) @mdelapenya

πŸ› Bug Fixes

  • Fix Dockerfile not located when added to dockerignore (#2272) @danvergara
  • bug: allow start container with reuse in different test package (#2247) @Alviner

πŸ“– Documentation

  • docs: fix comment corruption (#2262) @stevenh
  • docs: improve module creation section (#2239) @mdelapenya

🧹 Housekeeping

  • generic.go: GenericContainer(): clearer error message (#2327) @JordanP
  • chore: confirm support for new mongo images (#2326) @mdelapenya
  • chore: bump Go version to 1.21 (#2292) @mdelapenya
  • Move the file and mounts tests into a test package (#2270) @Minivera
  • chore(milvus): embed etcd should use default ports (#2258) @mdelapenya
  • chore: use logger.PrintXX instead of fmt.PrintXX (#2257) @stevenh
  • Fix modulege template to succeed on make lint command (#2243) @jespino
  • chore: enforce test package in modules (#2241) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /modules/qdrant (#2281) @dependabot
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.18.0 to 2.20.0 in /modules/clickhouse (#2290) @dependabot
  • chore(deps): bump github.com/Shopify/toxiproxy/v2 from 2.7.0 to 2.8.0 in /examples/toxiproxy (#2282) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.16.0 to 5.18.0 in /modules/neo4j (#2278) @dependabot
  • chore(deps): bump github.com/minio/minio-go/v7 from 7.0.66 to 7.0.68 in /modules/minio (#2304) @dependabot
  • chore(deps): bump github.com/tmc/langchaingo from 0.1.4 to 0.1.5 in /modules/ollama (#2318) @dependabot
  • chore(deps): bump github.com/elastic/go-elasticsearch/v8 from 8.11.1 to 8.12.1 in /modules/elasticsearch (#2303) @dependabot
  • chore(deps): bump google.golang.org/api from 0.167.0 to 0.168.0 in /modules/gcloud (#2317) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/credentials from 1.16.14 to 1.17.5 in /modules/localstack, github.com/aws/aws-sdk-go-v2 from 1.24.1 to 1.25.2 in /modules/localstack (#2320) @mdelapenya
  • chore(deps): bump github.com/twmb/franz-go from 1.15.4 to 1.16.1 in /modules/redpanda, github.com/twmb/franz-go/pkg/kadm from 1.10.0 to 1.11.0 in /modules/redpanda (#2322) @mdelapenya
  • chore(deps): bump github.com/hashicorp/vault-client-go from 0.3.3 to 0.4.3 in /modules/vault, github.com/tidwall/gjson from 1.17.0 to 1.17.1 in /modules/vault (#2321) @mdelapenya
  • chore(deps): bump github.com/jackc/pgx/v5 from 5.5.3 to 5.5.4 in /modules/postgres, github.com/jackc/pgx/v5 from 5.5.3 to 5.5.4 in /modules/cockroachdb (#2323) @mdelapenya
  • chore(deps): bump golang.org/x/mod from 0.12.0 to 0.16.0 (#2316) @mdelapenya
  • chore(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /modulegen (#2298) @dependabot
  • chore(deps): bump github.com/docker/docker from 25.0.2+incompatible to 25.0.3+incompatible (#2296) @mdelapenya
  • chore(deps): bump github.com/couchbase/gocb/v2 from 2.7.1 to 2.7.2 in /modules/couchbase, github.com/tidwall/gjson from 1.17.0 to 1.17.1 in /modules/couchbase (#2297) @mdelapenya
  • chore(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#2295) @mdelapenya
  • chore(deps): bump github.com/microsoft/go-mssqldb from 1.6.0 to 1.7.0 in /modules/mssql (#2288) @dependabot
  • chore(deps): bump github.com/amikos-tech/chroma-go from 0.0.0-20240109142503-c8fb49c3e28c to 0.0.1 in /modules/chroma (#2275) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /modules/gcloud, google.golang.org/api from 0.165.0 to 0.167.0 in /modules/gcloud, cloud.google.com/go/pubsub from 1.36.1 to 1.36.2 in /modules/gcloud (#2293) @mdelapenya
  • chore(deps): bump github.com/nats-io/nats.go from 1.32.0 to 1.33.1 in /modules/nats (#2253) @dependabot
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.17.1 to 2.18.0 in /modules/clickhouse (#2226) @dependabot
  • chore(deps): bump github.com/jackc/pgx/v5 from 5.5.2 to 5.5.3 in /modules/cockroachdb (#2217) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /modules/gcloud (#2251) @dependabot
  • chore(deps): bump github.com/opencontainers/image-spec from 1.1.0-rc5 to 1.1.0 (#2254) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.58.3 to 1.61.1 in /modules/qdrant (#2255) @dependabot
  • chore(deps): bump k8s.io/client-go from 0.29.1 to 0.29.2 in /modules/k3s, k8s.io/apimachinery from 0.29.1 to 0.29.2 in /modules/k3s, k8s.io/api from 0.29.1 to 0.29.2 in /modules/k3s (#2236) @mdelapenya
  • chore(deps): bump cloud.google.com/go/spanner from 1.56.0 to 1.57.0 in /modules/gcloud, cloud.google.com/go/bigquery from 1.58.0 to 1.59.1 in /modules/gcloud, google.golang.org/api from 0.160.0 to 0.165.0 in /modules/gcloud (#2238) @mdelapenya
  • chore(deps): bump golang.org/x/mod from 0.14.0 to 0.15.0 in /modules/kafka, golang.org/x/mod from 0.14.0 to 0.15.0 in /modulegen (#2237) @mdelapenya
testcontainers-go - v0.28.0

Published by release-drafter[bot] 8 months ago

What's Changed

⚠️ Breaking Changes

  • [breaking] Add err chan to log producer and don't panic on error (#1971) @Tofel

If you are starting a log producer, it's now possible to pass log options in a variadic manner (at this moment only the log producer timeout option is available). So this breaking change will affect you if and only if you are assigning the StartLogProducer method of a container to a variable.

πŸš€ Features

  • feat: include PostReady hook, defining proper execution order for container lifecycle hooks (#1922) @mdelapenya
  • Added Consul module (#2194) @Chris-AS1
  • feat (postgres): support for creating and restoring Snapshots (#2199) @Minivera
  • Add Support for WASM Transforms to Redpanda Module (#2170) @gene-redpanda
  • feat(modules.clickhouse): Add zookeeper for clickhouse clusterization (#1995) @laskoviymishka
  • redpanda: allow using SASL and TLS together (#2140) @srenatus
  • feat(modules.cockroachdb) Adds cockroachdb module (#2131) @rcrowe
  • Openldap module support (#2117) @jespino
  • Adding inbucket module (#2142) @jespino
  • feat: Add Minio module (#2132) @adoublef
  • Adding LogConsumers start as part of the ContainerRequest (#2073) @jespino
  • Adding mockserver module (#2085) @jespino
  • feat: expose Redpanda's listener in the docker network (#1994) @sago2k8
  • feat: copy files to the container and create directories as needed upon request (#2049) @stillya
  • GenericContainer: in case of error: return a reference to the failed container (#2082) @JordanP

πŸ› Bug Fixes

  • fix: apply volume options only to volumes (#2201) @mdelapenya
  • fix: all mounts should contain the testcontainers labels (#2191) @mdelapenya
  • fix: deprecate BindMounts correctly (#2190) @mdelapenya
  • fix: Add HTTPStrategy WithForcedIPv4LocalHost To Fix Docker Port Map (#1775) @tateexon
  • fix: skip-host-cache option removed in latest MySQL 8.3.0 version (#2130) @mdelapenya
  • fix: Recreate Ryuk container if terminated (#2084) @Mathew-Estafanous
  • fix(modules/rabbitmq): update container image to 3.12.11 to allow connections without passing admin credentials (#2051) @abemedia
  • fix(modules.gcloud): pass as ptr to allow request customization (#1972) @jboyens

πŸ“– Documentation

  • fix: go doc reference broken image (#2195) @mmorel-35

🧹 Housekeeping

  • fix: wait more time in test (#2211) @mdelapenya
  • chore(ci): do not fail fast main tests in different Go versions (#2210) @mdelapenya
  • redpanda/test: add admin client call (#2200) @srenatus
  • chore: do not panic in testable examples (#2193) @mdelapenya
  • [redpanda] sasl test for wrong mechanism (#2048) @rwaweber
  • chore(docker_mounts): stop doing misleading logging (#2178) @srabraham
  • chore: do not compile modules on macos workers on GH (#2164) @mdelapenya
  • testifylint: enable compares rule (#2143) @mmorel-35
  • chore: bring back assertion for network aliases for bridge in rootless mode (#2141) @mdelapenya
  • chore: skip assertions for Docker Rootless (#2135) @mdelapenya
  • pin Docker images version (#2129) @mmorel-35
  • enable golangci-lint for examples (#2128) @mmorel-35
  • enable golangci-lint for redis module (#2126) @mmorel-35
  • Go install gotestsum and golangci-lint (#2127) @mmorel-35
  • improve OSSF score (#2125) @mmorel-35
  • chore: run make lint on new modules (#2122) @mdelapenya
  • enable golangci-lint for pulsar (#2121) @mmorel-35
  • lint: enable testifylint (#2120) @mmorel-35
  • chore: move internal/testcontainersdocker package's files to internal/core (#2083) @mdelapenya
  • chore: enrich HTTP headers to the Docker daemon with the project path (#2080) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump cloud.google.com/go/spanner from 1.55.0 to 1.56.0 in /modules/gcloud, cloud.google.com/go/pubsub from 1.35.0 to 1.36.1 in /modules/gcloud, cloud.google.com/go/bigquery from 1.57.1 to 1.58.0 in /modules/gcloud (#2197) @mdelapenya
  • chore(deps): bump github.com/docker/docker from 25.0.1+incompatible to 25.0.2+incompatible (#2196) @mdelapenya
  • chore(deps): bump github.com/docker/compose/v2 from 2.24.1 to 2.24.3 in /modules/compose (#2162) @dependabot
  • chore(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 in /modules/minio (#2161) @dependabot
  • chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /modules/openldap (#2165) @dependabot
  • chore(deps): bump github.com/google/uuid from 1.5.0 to 1.6.0 (#2169) @mdelapenya
  • chore(deps): bump google.golang.org/api from 0.156.0 to 0.159.0, google.golang.org/grpc from 1.60.1 to 1.61.0, cloud.google.com/go/pubsub from 1.33.0 to 1.35.0 in /modules/gcloud (#2168) @mdelapenya
  • chore(deps): bump github.com/hashicorp/consul/api from 1.26.1 to 1.27.0 in /examples/consul (#2152) @dependabot
  • chore(deps): bump github.com/couchbase/gocb/v2 from 2.7.0 to 2.7.1 in /modules/couchbase (#2145) @dependabot
  • chore(deps): bump k8s.io/api, k8s.io/apimachinery and k8s.io/client-go from 0.29.0 to 0.29.1 in /modules/k3s (#2167) @mdelapenya
  • Bump containerd version to v1.7.12 (#2137) @lachieggg
  • chore(deps): bump github.com/docker/compose/v2 from 2.23.3 to 2.24.0 in /modules/compose (#2096) @dependabot
  • chore(deps): bump github.com/dvsekhvalnov/jose2go from 1.5.0 to 1.6.0 in /modules/pulsar (#2136) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.15.0 to 5.16.0 in /modules/neo4j (#2098) @dependabot
  • chore(deps): bump github.com/nats-io/nats.go from 1.31.0 to 1.32.0 in /modules/nats (#2094) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.15.0 to 0.16.0 (#2104) @dependabot
  • chore(deps): bump actions/upload-artifact from 3.1.3 to 4.0.0 (#2088) @dependabot
  • chore(deps): bump cloud.google.com/go/spanner from 1.54.0 to 1.55.0, google.golang.org/api from 0.154.0 to 0.156.0 in /modules/gcloud (#2115) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.25.10 to 1.26.3, github.com/aws/aws-sdk-go from 1.48.13 to 1.49.19 in /modules/localstack (#2114) @mdelapenya
  • chore(deps): bump github.com/docker/go-connections from 0.4.0 to 0.5.0 (#2113) @mdelapenya
  • chore(deps): bump jinja2 from 3.1.2 to 3.1.3 (#2086) @dependabot
  • fix: align codeql versions in GH workflow (#2081) @mdelapenya
  • chore(deps): bump go.mongodb.org/mongo-driver from 1.13.0 to 1.13.1 in /modules/mongodb (#2065) @dependabot
  • chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.11 to 3.23.12 (#2068) @dependabot
  • chore(deps): bump github.com/twmb/franz-go from 1.15.3 to 1.15.4 in /modules/redpanda (#2072) @dependabot
  • chore(deps): bump k8s.io/api, k8s.io/apimachinery, k8s.io/client-go from 0.28.4 to 0.29.0 in /modules/k3s (#2078) @mdelapenya
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.16.0 to 2.17.1 in /modules/clickhouse (#2066) @dependabot
  • chore(deps): bump github.com/google/uuid from 1.4.0 to 1.5.0 (#2077) @mdelapenya
  • bump google.golang.org/api from 0.153.0 to 0.154.0, cloud.google.com/go/spanner from 1.53.1 to 1.54.0, bump google.golang.org/grpc from 1.59.0 to 1.60.1 in /modules/gcloud (#2076) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.23.5 to 1.24.0 (credentials from 1.16.9 to 1.16.13, service/s3 from 1.47.1 to 1.47.7) in /modules/localstack (#2075) @mdelapenya
  • chore(deps): bump github/codeql-action from 2 to 3 (#2056) @dependabot
  • chore(deps): bump test-summary/action from 2.1 to 2.2 (#2058) @dependabot
  • chore(deps): bump actions/setup-go from 4 to 5 (#2057) @dependabot
testcontainers-go - v0.27.0

Published by release-drafter[bot] 10 months ago

What's Changed

⚠️ Breaking Changes

Building images with FromDockerfile

The ImageBuildInfo interface now includes a new method: BuildOptions, which is used to configure the build process.
This method returns the image build options when building a Docker image from a Dockerfile,
and it will apply some defaults and finally call the new BuildOptionsModifier method from the FromDockerfile struct, if set.
This way it's possible to access Docker's types.ImageBuildOptions type and modify it before the build process starts.

  • feat: support customizing the Docker build command (#1931) @mdelapenya

Executing commands using the Executable interface

It now includes an Options method that needs to be implemented. This method will allow configuring the exec options added in this PR for the WithStartupCommand functional option.
If your code is implementing Executable, you can embed the ExecOptions struct in your own struct in order to satisfy the interface.
Please take a look at the RabbitMQ test types to see examples on how to do it.

  • feat: support for executing commands in a container with user, workDir and env (#1914) @mdelapenya

πŸ”’ Security

  • chore(deps): bump golang.org/x/crypto to 0.17.0 in /modules (#2006) @mdelapenya

πŸš€ Features

  • Add neo4j license agreement customization options (#2036) @danielorbach
  • feat: support configuring Ryuk verbose mode at config level (#2038) @mdelapenya
  • feat: create networks with random names (#1993) @mdelapenya
  • feat: add module to support Microsoft SQL Server (#1969) @agosmou
  • feat: exec multiplexed to return stderr (#1933) @gutocondela
  • feat: support for custom registry prefixes at the configuration level (#1928) @mdelapenya
  • Add username and password functions to mongodb (#1910) @ugrkm
  • feat: Allow the container working directory to be specified (#1899) @fhke
  • feat: expose a WithNetwork functional option (#1887) @mdelapenya

πŸ› Bug Fixes

  • fix: remove docker.io from Ryuk image name (#2046) @mdelapenya
  • fix: fallback matching of registry authentication config (#1927) @sermio-te
  • fix(modules.kafka): Switch to MaxInt for 32-bit support (#1923) @powersj
  • fix(reaper): fix race condition when reusing reapers (#1904) @lefinal
  • Fix - respect ContainerCustomizer in neo4j module (#1903) @fhke

πŸ“– Documentation

  • Add more content on how to use Exec function (#1970) @danvergara
  • docs: include MongoDB's username and password options into the docs (#1930) @mdelapenya
  • docs: add some Vault module examples (#1825) @kuisathaverat
  • docs: fix code snippet for image substitution (#1918) @mdelapenya
  • Add database driver note to SQL Wait strategy docs (#1916) @mihaitodor

🧹 Housekeeping

  • chore: do not read config but instead pass the hub prefix to the prependHub modifier (#2047) @mdelapenya
  • adds gotestsum to install tools (#2043) @hughesjj
  • chore: lookup exposed ports in the image from Config, not from ContainerConfig (#2039) @mdelapenya
  • chore: skip TestContainerLogWithErrClosed as flaky on rootless docker (#1925) @mdelapenya
  • Reduce flakiness in ClickHouse tests (#1902) @rafiramadhana
  • lint: enable nonamedreturns (#1909) @mmorel-35
  • chore: deprecate BindMount APIs (#1907) @mdelapenya
  • chore: make rabbitmq examples more readable (#1905) @mdelapenya
  • chore: add tests for withNetwork option (#1894) @mdelapenya
  • fix(redpanda): add wait for listening port condition on startup (#1828) @sbuliarca

πŸ“¦ Dependency updates

  • chore: bump Ryuk to 0.6.0 (#2040) @mdelapenya
  • chore(deps): bump github.com/containerd/containerd from 1.7.7 to 1.7.11 (#2011) @dependabot
  • chore(deps): bump golang.org/x/crypto to 0.17.0 in /modules (#2006) @mdelapenya
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.15.0 to 2.16.0 in /modules/clickhouse (#1982) @dependabot
  • chore(deps): bump github.com/twmb/franz-go from 1.15.2 to 1.15.3 in /modules/redpanda (#1973) @dependabot
  • chore(deps): bump google.golang.org/api from 0.152.0 to 0.153.0, cloud.google.com/go/bigtable from 1.20.0 to 1.21.0 and cloud.google.com/go/spanner from 1.53.0 to 1.53.1 in /modules/gcloud (#1983) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go and github.com/aws/aws-sdk-go-v2 in /modules/localstack (#1981) @mdelapenya
  • chore(deps): bump mkdocs-include-markdown-plugin from 6.0.1 to 6.0.4 (#1974) @dependabot
  • chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.10 to 3.23.11 (#1943) @dependabot
  • chore(deps): bump golang.org/x/mod from 0.13.0 to 0.14.0 in /modules/kafka (#1956) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.13.0 to 0.15.0 (#1944) @dependabot
  • chore(deps): bump golang.org/x/text and golang.org/x/mod from 0.13.0 to 0.14.0 in /modulegen (#1968) @mdelapenya
  • chore(deps): bump go.mongodb.org/mongo-driver from 1.12.1 to 1.13.0 in /modules/mongodb (#1960) @dependabot
  • chore(deps): bump github.com/couchbase/gocb/v2 from 2.6.5 to 2.7.0 in /modules/couchbase (#1952) @dependabot
  • chore(deps): bump github.com/elastic/go-elasticsearch/v8 from 8.10.1 to 8.11.1 and golang.org/x/mod from 0.13.0 to 0.14.0 in /modules/elasticsearch (#1967) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go and github.com/aws/aws-sdk-go-v2 in /modules/localstack (#1953) @mdelapenya
  • chore(deps): bump actions/github-script from 6.4.1 to 7.0.1 (#1949) @dependabot
  • chore(deps): bump github.com/IBM/sarama from 1.41.3 to 1.42.1 in /modules/kafka (#1955) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.14.0 to 5.15.0 in /modules/neo4j (#1961) @dependabot
  • chore(deps): bump github.com/compose-spec/compose-go from 1.20.0 to 1.20.2 and github.com/docker/compose/v2 from 2.23.0 to 2.23.3 in /modules/compose (#1966) @mdelapenya
  • chore(deps): bump google.golang.org/api from 0.143.0 to 0.152.0 and cloud.google.com/go/spanner from 1.50.0 to 1.53.0 in /modules/gcloud (#1965) @mdelapenya
  • chore(deps): bump mkdocs-include-markdown-plugin from 6.0.1 to 6.0.4 (#1934) @dependabot
  • chore(deps): bump github.com/twmb/franz-go from 1.15.1 to 1.15.2 in /modules/redpanda (#1935) @dependabot
  • chore(deps): bump k8s.io from 0.28.3 to 0.28.4 in /modules/k3s (#1954) @mdelapenya
  • chore(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 in /modulegen (#1958) @dependabot
  • chore(deps): bump github.com/twmb/franz-go and github.com/twmb/franz-go/pkg/kadm in /modules/redpanda (#1896) @mdelapenya
  • chore(deps): bump github.com/nats-io/nkeys and github.com/nats-io/nats.go in /modules/nats (#1897) @mdelapenya
  • chore(deps): bump google.golang.org/grpc and cloud.google.com/go/firestore in /modules/gcloud (#1891) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go and github.com/aws/aws-sdk-go-v2/config in /modules/localstack (#1892) @mdelapenya
  • chore(deps): bump Github actions (#1890) @mdelapenya
  • chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.9 to 3.23.10 (#1858) @dependabot
  • chore(deps): bump github.com/hashicorp/consul/api from 1.24.0 to 1.26.1 in /examples/consul (#1863) @dependabot
  • chore(deps): bump github.com/IBM/sarama from 1.41.2 to 1.41.3 in /modules/kafka (#1874) @dependabot
  • chore(deps): bump github.com/couchbase/gocb/v2 from 2.6.4 to 2.6.5 in /modules/couchbase (#1861) @dependabot
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.14.2 to 2.15.0 in /modules/clickhouse (#1867) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.13.0 to 5.14.0 in /modules/neo4j (#1869) @dependabot
  • chore(deps): bump github.com/Shopify/toxiproxy/v2 from 2.6.0 to 2.7.0 in /examples/toxiproxy (#1882) @dependabot
  • chore(deps): bump github.com/elastic/go-elasticsearch/v8 from 8.10.0 to 8.10.1 in /modules/elasticsearch (#1864) @dependabot
  • chore(deps): bump mkdocs-include-markdown-plugin from 6.0.1 to 6.0.3 (#1860) @dependabot
  • chore(deps): bump k8s.io/client-go from 0.28.2 to 0.28.3 in /modules/k3s (#1889) @mdelapenya
  • chore(deps): bump github.com/google/uuid from 1.3.1 to 1.4.0 (#1888) @mdelapenya
  • chore(deps): bump github.com/docker/docker from 24.0.6+incompatible to 24.0.7+incompatible (#1886) @mdelapenya
testcontainers-go - v0.26.0

Published by github-actions[bot] 12 months ago

What's Changed

πŸ”’ Security

  • chore(deps): bump github.com/nats-io/nats-server/v2 from 2.9.21 to 2.9.23 in /modules/nats (#1784) @dependabot
  • chore(deps): bump urllib3 from 2.0.6 to 2.0.7 (#1781) @dependabot
  • chore(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 (#1772) @mdelapenya

πŸš€ Features

  • feat: add image-keep option for built images (#1785) @lefinal
  • feat: support for replacing images with custom substitutions (#1719) @mdelapenya
  • ignore patterns defined in dockerignore (#1725) @Luukvdm
  • feat: Add Cassandra module (#1726) @anilsenay
  • K6 module (#1721) @pablochacin

πŸ› Bug Fixes

  • fix: data race in docker client Info() (#1779) @pmalek

πŸ“– Documentation

  • docs: remove OpenSSF scorecard (#1823) @mdelapenya
  • Add OpenSSF Scorecards GitHub Action (#1795) @mmorel-35
  • Fix wrong module names in docs and comments (#1776) @anilsenay
  • docs: add default options to k6 module (#1744) @mdelapenya
  • docs: Fix typo and mention the relevant function name in doc (#1745) @anilsenay
  • DOCKER_HOST var typo (#1743) @udf2457
  • Rancher Desktop instructions (#1724) @udf2457

🧹 Housekeeping

  • Auto-cleanup of k6 build cache (#1788) @pablochacin
  • chore: expose SessionID (#1793) @mdelapenya
  • chore: use HTTP calls to invoke the lambda from the tests (#1794) @mdelapenya
  • Log producer start stop sync (#1701) @gflarity
  • chore: add an example of using localstack alongside AWS lambdas (#1790) @mdelapenya
  • fix: use correct formatting directive for errors in lifecycle logs (#1780) @robherley
  • fix race condition in Test_StartStop (#1700) @gflarity

πŸ“¦ Dependency updates

  • chore(deps): bump github.com/opencontainers/image-spec from 1.1.0-rc4 to 1.1.0-rc5 (#1626) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.7.6 to 1.7.7 (#1742) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.12.0 to 0.13.0 (#1730) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.57.0 to 1.57.1 (#1822) @mdelapenya
  • chore(deps): bump github.com/nats-io/nats-server/v2 from 2.9.21 to 2.9.23 in /modules/nats (#1784) @dependabot
  • chore(deps): bump urllib3 from 2.0.6 to 2.0.7 (#1781) @dependabot
  • chore(deps): combine and bump compose dependencies (#1787) @mdelapenya
  • chore(deps): bump golang.org/x/mod from 0.12.0 to 0.13.0 in /modules/{elasticsearch,kafka} and /modulegen (#1778) @mdelapenya
  • chore(deps): bump github.com/rabbitmq/amqp091-go from 1.8.1 to 1.9.0 in /modules/rabbitmq (#1728) @dependabot
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.14.1 to 2.14.2 in /modules/clickhouse (#1732) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/{service/s3,credentials,config} in /modules/localstack (#1773) @mdelapenya
  • chore(deps): bump cloud.google.com/go/{datastore,bigtable,spanner} in /modules/gcloud (#1774) @mdelapenya
  • chore(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 (#1772) @mdelapenya
  • chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9 (#1720) @mdelapenya
  • chore(deps): bump urllib3 from 2.0.5 to 2.0.6 (#1718) @dependabot
  • chore(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.9.1 to 1.9.2 in /modules/redpanda (#1714) @dependabot
  • chore(deps): bump github.com/couchbase/gocb/v2 from 2.6.3 to 2.6.4 in /modules/couchbase (#1704) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.12.0 to 5.13.0 in /modules/neo4j (#1713) @dependabot
  • chore(deps): bump github.com/nats-io/nats.go from 1.30.0 to 1.30.2 in /modules/nats (#1705) @dependabot
  • chore(deps): bump cloud.google.com/go/firestore from 1.12.0 to 1.13.0, google.golang.org/api from 0.142.0 to 0.143.0 and cloud.google.com/ge, google.golang.org/api from 0.142.0 to 0.143.0 and cloud.google.com/go/bigquery from 1.53.0 to 1.55 in /modules/gcloud (#1716) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.39.0 to 1.40.0 and github.com/aws/aws-sdk-go from 1.45.15 to 1.45.19 in /modules/localstack (#1717) @mdelapenya
testcontainers-go - v0.25.0

Published by github-actions[bot] about 1 year ago

What's Changed

πŸš€ Features

  • feat: add GCloud module (#1670) @mdelapenya
  • make ryuk timeouts configurable via properties file (#1668) @srenatus
  • feat: support for loading images in the K3s module (#1622) @pablochacin
  • feat: add RabbitMQ support (#1618) @mdelapenya
  • feat: add functional option for startup commands (#1647) @mdelapenya

πŸ› Bug Fixes

  • fix: avoid checking for the reaper out of its mutex (#1692) @mdelapenya

πŸ“– Documentation

  • fix: typo (#1696) @testwill
  • docs: improve experience for creating modules for first time (#1690) @mdelapenya
  • docs: remove shared docs in template (#1650) @mdelapenya
  • docs: have common options in a common markdown file (#1648) @mdelapenya

🧹 Housekeeping

  • avoid race conditions by waiting one polling interval (#1697) @gflarity
  • Improve redpanda resource usage (#1698) @eddumelendez
  • fix TestContainerRunningCheckingStatusCode to pass on arm platforms (#1693) @gflarity
  • reduce timeout in context cancellation propegation test for test stability (#1695) @gflarity
  • TestBuildContainerFromDockerfileWithDockerAuthConfig working on MacOS (#1694) @gflarity
  • Wait for k3s node to sync (#1685) @pablochacin
  • fix: support running the semver Docker image interactively during the release process (#1646) @mdelapenya

πŸ“¦ Dependency updates

  • fix: bump tc-go dependency in RabbitMQ (#1699) @mdelapenya
  • chore(deps): bump golang.org/x/text to v0.15.0 (#1687) @mdelapenya
  • chore(deps): bump github.com/shirou/gopsutil/v3 from 3.23.7 to 3.23.8 (#1651) @dependabot
  • chore(deps): bump github.com/IBM/sarama from 1.41.1 to 1.41.2 in /modules/kafka (#1637) @dependabot
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.13.4 to 2.14.1 in /modules/clickhouse (#1625) @dependabot
  • chore(deps): bump github.com/elastic/go-elasticsearch/v8 from 8.9.0 to 8.10.0 in /modules/elasticsearch (#1641) @dependabot
  • chore(deps): bump github.com/tidwall/gjson from 1.16.0 to 1.17.0 in /modules/couchbase and /modules/vault (#1684) @mdelapenya
  • chore(deps): bump mkdocs from 1.5.2 to 1.5.3 (#1662) @dependabot
  • chore(deps): bump github.com/nats-io/nats.go from 1.28.0 to 1.30.0 in /modules/nats (#1657) @dependabot
  • chore(deps): bump k8s.io/apimachinery from 0.28.1 to 0.28.2 and k8s.io/client-go from 0.28.1 to 0.28.2 in /modules/k3s (#1683) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.39 to 1.18.42 and github.com/aws/aws-sdk-go from 1.45.3 to 1.45.15 and github.com/aws/aws-sdk-go-v2/service/s3 from 1.38.5 to 1.39.0 in /modules/localstack (#1680) @mdelapenya
  • chore(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.9.0 to 1.9.1 and github.com/twmb/franz-go from 1.14.4 to 1.15.0 in /modules/redpanda (#1682) @mdelapenya
  • chore(deps): bump cloud.google.com/go/datastore from 1.13.0 to 1.14.0 and google.golang.org/grpc from 1.58.1 to 1.58.2 and cloud.google.com/go/spanner from 1.47.0 to 1.49.0 in /modules/gcloud (#1681) @mdelapenya
  • chore(deps): bump mkdocs-material from 8.2.7 to 9.3.2 (#1649) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.57.0 to 1.58.1 and google.golang.org/api from 0.138.0 to 0.142.0 in /examples (#1667) @mdelapenya
testcontainers-go - v0.24.1

Published by release-drafter[bot] about 1 year ago

What's Changed

πŸ› Bug Fixes

  • fix: avoid deadlocks when Docker is not available (#1645) @mdelapenya
testcontainers-go - v0.24.0

Published by github-actions[bot] about 1 year ago

What's Changed

πŸš€ Features

  • feat: define test session semantics (#1513) @mdelapenya
  • feat: add kafka (KRaft mode only) module (#1610) @mdelapenya
  • feat: support creating a network for localstack (#1612) @mdelapenya
  • feat: add Elasticsearch module (#1574) @mdelapenya
  • feat: support waiting for logs with regexp (#1560) @mdelapenya
  • feat: convert NATS example into a module (#1559) @mdelapenya
  • feat: add mariadb module (#1548) @mdelapenya
  • [Enhancement]: add ability to set repo:tag for ContainerRequest FromDockerfile (#1508) @igribkov
  • feat(modules/redpanda): support tls (#1511) @abemedia

πŸ› Bug Fixes

  • fix: do not remove the file schema in docker.host property (#1517) @mdelapenya

πŸ“– Documentation

  • docs: use Go testable examples in modules (#1603) @mdelapenya
  • chore: generate Go examples for new modules (#1600) @mdelapenya
  • fix: use proper service name in Pulsar module (#1542) @arjunmadan-toast
  • doc fix: make file permission examples octal (#1510) @martin-mfg
  • Add new badge in header (#1512) @eddumelendez

🧹 Housekeeping

  • modulegen: generate sonar configuration (#1644) @mmorel-35
  • chore: update sonarcloud properties when releasing the project (#1615) @mdelapenya
  • ci(sonarcloud): upload artifact (#1614) @mmorel-35
  • chore: always generate the examples including a explicit image (#1611) @mdelapenya
  • chore: support linting all modules locally (#1609) @mdelapenya
  • ci(sonarcloud): run only when docker is not rootless (#1608) @mmorel-35
  • fix: remove extra equal in sonar.organization (#1607) @mmorel-35
  • chore(ci): enable code coverage on Sonarcloud (#1518) @mmorel-35
  • ci(lint): enable errorlint linter (#1604) @mmorel-35
  • ci(lint): enable gocritic linter (#1605) @mmorel-35
  • ci(security): setup codeql scan (#1606) @mmorel-35
  • chore: define interfaces for file and project generation (#1568) @mdelapenya
  • Update actions/github-script to 6.4.1 (#1561) @mmorel-35
  • modulegen: use cobra instead of native golang flag (#1550) @mmorel-35
  • chore: refine fail-fast strategy on CI (#1555) @mdelapenya
  • fix: remove wrong example from workspace (#1556) @mdelapenya
  • modulegen: generate code-workspace with json marshal (#1551) @mmorel-35
  • feat(modulegen): print out VSCode workspace file if needed (#1549) @mdelapenya
  • modulegen: generate md file inside internal/mkdocs (#1543) @mmorel-35
  • modulegen: create internal/module and internal/modfile (#1539) @mmorel-35
  • Fix module generator for examples (#1545) @mmorel-35
  • modulegen: create internal/make (#1537) @mmorel-35
  • chore: fix workflow (#1538) @mmorel-35
  • chore: properly render mkdocs.yml (#1521) @mmorel-35
  • modulegen: create internal/workflow (#1520) @mmorel-35
  • modulegen: create internal/module (#1505) @mmorel-35
  • modulegen: create internal/mkdocs (#1504) @mmorel-35
  • fix: reset config in tests (#1516) @mdelapenya
  • modulegen: create internal/dependabot (#1503) @mmorel-35
  • chore: use Info instead of Ping to check if Docker is live (#1490) @mdelapenya
  • Golangci-lint for all go-modules (#1498) @mmorel-35

πŸ“¦ Dependency updates

  • chore(deps): bump actions/checkout from 3 to 4 (#1623) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.7.3 to 1.7.6 (#1617) @mmorel-35
  • chore(deps): bump github.com/hashicorp/vault-client-go in /modules/vault (#1566) @mmorel-35
  • chore(deps): bump github.com/cyphar/filepath-securejoin from 0.2.3 to 0.2.4 in /modules/compose (#1601) @dependabot
  • chore(deps): bump github.com/tidwall/gjson from 1.15.0 to 1.16.0 in /modules/vault (#1586) @dependabot
  • chore(deps): bump github.com/elastic/go-elasticsearch/v8 from 8.0.0 to 8.9.0 in /modules/elasticsearch (#1593) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go and aws-sdk-go-v2 in /modules/localstack (#1599) @mdelapenya
  • chore(deps): bump golang.org/x/text from 0.12.0 to 0.13.0 (#1583) @dependabot
  • chore(deps): bump github.com/docker/docker from 24.0.5+incompatible to 24.0.6+incompatible (#1584) @dependabot
  • chore(deps): bump github.com/google/uuid from 1.3.0 to 1.3.1 (#1585) @dependabot
  • chore: remove dependabot groups (#1582) @mdelapenya
  • chore(deps): bump actions/checkout from 3 to 4 (#1576) @dependabot
  • chore(deps): bump mkdocs-material from 8.2.7 to 9.2.8 (#1580) @dependabot
  • chore(deps): bump the all group in /modules/compose with 1 update (#1565) @dependabot
  • chore(deps): bump mkdocs-material from 8.2.7 to 9.2.6 (#1567) @dependabot
  • chore(deps): bump the all group in /modules/neo4j with 1 update (#1562) @dependabot
  • chore(deps): bump the all group in /modules/clickhouse with 1 update (#1563) @dependabot
  • chore(deps): bump the all group in /modules/localstack with 1 update (#1564) @dependabot
  • Update Pipenv to use Python 3.8 (#1558) @mmorel-35
  • chore(deps): bump the all group in /modulegen with 1 update (#1554) @dependabot
  • chore(deps): bump the all group in /modules/localstack with 1 update (#1552) @dependabot
  • chore(deps): bump the all group in /modules/compose with 2 updates (#1553) @dependabot
  • chore(deps): bump the all group in /examples/cockroachdb with 1 update (#1522) @dependabot
  • chore(deps): bump the all group in /examples/bigtable with 1 update (#1534) @dependabot
  • chore(deps): bump the all group in /modules/localstack with 4 updates (#1535) @dependabot
  • chore(deps): bump the all group in /modules/k3s with 2 updates (#1526) @dependabot
  • chore(deps): bump the all group in /examples/spanner with 2 updates (#1532) @dependabot
  • chore(deps): bump the all group in /examples/firestore with 1 update (#1523) @dependabot
  • chore(deps): bump the all group in /modules/redis with 1 update (#1524) @dependabot
  • chore(deps): bump the all group in /modules/clickhouse with 1 update (#1525) @dependabot
  • chore(deps): bump the all group in /examples/toxiproxy with 2 updates (#1528) @dependabot
  • chore(deps): bump the all group in /examples/pubsub with 1 update (#1531) @dependabot
  • chore(deps): bump the all group in /examples/datastore with 2 updates (#1530) @dependabot
  • chore(deps): bump the all group in /modules/redpanda with 1 update (#1527) @dependabot
testcontainers-go - v0.23.0

Published by release-drafter[bot] about 1 year ago

What's Changed

πŸš€ Features

  • feat(modules): add artemis container (#1440) @abemedia
  • feat: pass testcontainers-go version as HTTP header (#1491) @mdelapenya
  • Add support for MongoDB testing module (#1447) @ravilushqa
  • feat: add clickhouse module (#1372) @anilsenay
  • feat: use credential helper in docker config, even if auth is empty in .docker/config.json (#1079) @rokjoana

πŸ› Bug Fixes

  • fix: properly set the Docker socket on Windows (#1458) @mdelapenya
  • all: fix goroutine leaks (#1358) @AlexanderYastrebov
  • internal/testcontainersdocker: close unused client (#1441) @AlexanderYastrebov

πŸ“– Documentation

  • docs: embed code snippets for the artemis module (#1502) @mdelapenya
  • Add global testcontainers header to docs (#1308) @leocross

🧹 Housekeeping

  • chore: bump minimal Go version to 1.20 (#1497) @mdelapenya
  • chore: Use generic db url for postgresql container (#1493) @kevinrobayna
  • fix: run tests for module generator in all platforms (#1496) @mdelapenya
  • chore: run modulegen tests on Windows (#1478) @mdelapenya
  • Add default labels when Ryuk is disabled (#1339) @eddumelendez
  • chore: increase timeout for go test and GH action steps (#1475) @mdelapenya
  • chore: triple max timeout for the workflow run, which takes +10m (#1474) @mdelapenya
  • chore: add a GH action for release drafter (#1470) @mdelapenya
  • Simplify dependabot updates sorting (#1460) @mmorel-35
  • chore: run Windows tests on a Linux container (#1456) @mdelapenya
  • chore: remove temporary workaround for windows (#1442) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump the all group in /modules/localstack with 1 update (#1500) @dependabot
  • chore(deps): bump the all group in /modules/compose with 2 updates (#1501) @dependabot
  • chore: bump minimal Go version to 1.20 (#1497) @mdelapenya
  • chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.12.1 to 2.13.0 in /modules/clickhouse (#1492) @dependabot
  • chore(deps): bump the all group with 1 update (#1480) @dependabot
  • chore(deps): bump the all group in /modules/couchbase with 1 update (#1487) @dependabot
  • chore(deps): bump the all group in /modules/clickhouse with 1 update (#1488) @dependabot
  • chore(deps): bump the all group in /modules/localstack with 1 update (#1483) @dependabot
  • Support groups in dependabot updates (#1459) @mmorel-35
  • chore(deps): bump github.com/aws dependencies in /modules/localstack (#1472) @mdelapenya
  • chore(deps): bump Google emulators dependencies in /examples (#1471) @mdelapenya
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.10.0 to 5.11.0 in /modules/neo4j (#1427) @dependabot
  • chore(deps): bump github.com/tidwall/gjson from 1.14.4 to 1.15.0 in /modules/vault (#1428) @dependabot
  • chore(deps): bump mkdocs-material from 3.2.0 to 8.2.7 (#1468) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.33.1 to 1.38.2 in /modules/localstack (#1457) @dependabot
  • chore(deps): bump golang.org/x/text from 0.11.0 to 0.12.0 in /modulegen (#1449) @dependabot
  • chore(deps): bump github.com/hashicorp/consul/api from 1.23.0 to 1.24.0 in /examples/consul (#1450) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.8.0 to 0.11.0 (#1453) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.31 to 1.18.32 in /modules/localstack (#1429) @dependabot
  • chore(deps): bump github.com/twmb/franz-go/pkg/kadm from 1.8.1 to 1.9.0 in /modules/redpanda (#1431) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go from 1.44.273 to 1.44.317 in /modules/localstack (#1451) @dependabot
  • chore(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.6.0 (#1448) @dependabot
  • chore(deps): bump mkdocs-material from 8.1.3 to 8.2.7 (#1452) @dependabot
  • fix devcontainer go version to 1.19 (#1455) @mmorel-35
  • chore: run dependabot on sundays (#1446) @mdelapenya
  • fix: simplify and do not run make on windows (#1445) @mdelapenya
  • fix: proper semver name (#1444) @mdelapenya
  • chore: downgrade GH action github-script (#1443) @mdelapenya
testcontainers-go - v0.22.0

Published by release-drafter[bot] about 1 year ago

What's Changed

⚠️ Breaking Changes

  • chore(deps): bump docker dependencies to v24.0.5+incompatible (#1394) @mdelapenya

As a consequence of the bugs described in #1359, we had to bump the Docker version to a major version, which moved the types.AuthConfig type to registry.AuthConfig. We used that type as public API, therefore, our API has changed the signature of the method of an interface, which is used to build images from a Dockerfile. Please look at #1394 to understand the changes in the GetAuthConfigs method.

πŸš€ Features

  • feat(redpanda): Add option to enable topic auto-creation (#1360) @ladislavmacoun
  • feat: fail-fast of wait.LogStrategy (#1304) @frozenbonito

πŸ“– Documentation

  • docs: fix link to GH action in docs site (#1416) @mdelapenya

🧹 Housekeeping

  • chore: fix branch protection settings (#1418) @mdelapenya
  • chore(ci): set LongPathsEnabled on WIndows workers (#1415) @mdelapenya
  • chore(ci): define a pipeline with multiple gates (#1414) @mdelapenya
  • test: fix TestGetDockerConfig (#1413) @AlexanderYastrebov
  • chore(ci): add a Windows pipeline for running the tests (#1375) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump github.com/containerd/containerd from 1.6.19 to 1.7.3 (#1378) @dependabot
  • chore: run go mod tidy (#1417) @mdelapenya
  • chore(deps): bump github.com/tidwall/gjson from 1.14.4 to 1.15.0 in /modules/couchbase (#1376) @dependabot
  • chore(deps): bump github.com/opencontainers/image-spec from 1.1.0-rc2 to 1.1.0-rc4 (#1312) @dependabot
  • chore(deps): bump github.com/hashicorp/consul/api from 1.20.0 to 1.23.0 in /examples/consul (#1381) @dependabot
  • chore(deps): bump github.com/twmb/franz-go from 1.13.5 to 1.14.3 in /modules/redpanda (#1387) @dependabot
  • chore(deps): bump github.com/nats-io/nats.go from 1.26.0 to 1.28.0 in /examples/nats (#1389) @dependabot
  • chore(deps): bump golang.org/x/text from 0.9.0 to 0.11.0 in /modulegen (#1388) @dependabot
  • chore(deps): bump google.golang.org/api from 0.125.0 to 0.134.0 in /examples (#1412) @mdelapenya
  • chore(deps): bump golang.org/x/mod and github.com/aws/aws-sdk-go-v2/config in /modules/localstack (#1410) @mdelapenya
  • chore(deps): bump k8s.io/client-go from 0.27.2 to 0.27.4 in /modules/k3s (#1404) @dependabot
  • chore(deps): bump cloud.google.com/go in /examples (#1411) @mdelapenya
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.9.0 to 5.10.0 in /modules/neo4j (#1318) @dependabot
  • chore(deps): bump google.golang.org/grpc to 1.57.0 (#1409) @mdelapenya
  • chore(deps): bump go.mongodb.org/mongo-driver from 1.11.6 to 1.12.0 in /examples/mongodb (#1311) @dependabot
  • chore(deps): bump docker dependencies to v24.0.5+incompatible (#1394) @mdelapenya
  • chore: remove gotestsum to reduce the number of transitive dependencies (#1303) @mdelapenya
testcontainers-go - v0.21.0

Published by release-drafter[bot] over 1 year ago

What's Changed

πŸš€ Features

  • feat: provide container logs on container startup failures (#1297) @mdelapenya
  • feat: setup docker_host discovery strategies properly (#1161) @mdelapenya
  • added NATS JetStream example (#1190) @adoublef
  • feat: adds k3s module (#1194) @mritunjaysharma394

πŸ› Bug Fixes

  • fix: use first exposed port by default in HTTP wait strategy (#1086) @anuraaga
  • fix: prefer cross-platform default DOCKER_HOST (#1294) @danielorbach
  • fix: support detecting if k3s module is running from inside a Docker container (#1289) @rfratto
  • fix: stronger validation for the schema of the Docker socket path (#1286) @mdelapenya
  • fix: return proper docker socket for remote Docker hosts (#1281) @mdelapenya
  • #1152 execute HostConfigModifier at last (#1153) @xmh19936688
  • fix: align header while log producers are reading (#1085) @Dirk007

πŸ“– Documentation

  • docs: document CI services (#1298) @mdelapenya
  • Update java docs domain (#1279) @leocross
  • docs: fix passing env vars example (#1252) @borod108
  • docs: document the Go version (#1246) @mdelapenya
  • fix: update link to modules docs (#1192) @mdelapenya
  • docs: enrich docs for modules (#1167) @mdelapenya

🧹 Housekeeping

  • Fix locations set to None in sitemap (#1296) @leocross
  • fix: use correct path for gotestsum output (#1287) @sebastianbuechler
  • chore: simplify ReadConfig signature, not passing context (#1292) @mdelapenya
  • fix: skip host network tests in Docker Desktop (#1285) @mdelapenya
  • chore: Removes the refercence about docker 22.06 from the docker-compose docs (#1243) @stubents
  • chore: use fixed version in k3s module (#1225) @mritunjaysharma394
  • chore: support for bumping ryuk in an automated manner (#1195) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump github.com/moby/term from 0.0.0-20221128092401-c43b287e0e0f to 0.5.0 (#1253) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go from 1.44.268 to 1.44.273 in /modules/localstack (#1271) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.8.1 to 5.9.0 in /modules/neo4j (#1265) @dependabot
  • chore(deps): bump google.golang.org/api from 0.124.0 to 0.125.0 in /examples (#1284) @mdelapenya
  • chore(deps): bump github.com/twmb/franz-go from 1.13.4 to 1.13.5 in /modules/redpanda (#1283) @dependabot
  • chore(deps): bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#1282) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/config from 1.18.19 to 1.18.25 in /modules/localstack (#1222) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.7.0 to 0.8.0 (#1202) @dependabot
  • chore(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#1232) @dependabot
  • chore(deps): bump cloud.google.com/go/spanner from 1.45.1 to 1.46.0 in /examples/spanner (#1226) @dependabot
  • chore(deps): bump go.mongodb.org/mongo-driver from 1.11.4 to 1.11.6 in /examples/mongodb (#1233) @dependabot
  • chore(deps): bump google.golang.org/api from 0.123.0 to 0.124.0 in /examples (#1244) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.31.3 to 1.33.1 in /modules/localstack (#1241) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go from 1.44.244 to 1.44.268 in /modules/localstack (#1242) @dependabot
  • chore(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.15 (#1204) @dependabot
  • chore(deps): bump cloud.google.com/go/firestore from 1.9.0 to 1.10.0 in /examples/firestore (#1216) @dependabot
  • chore(deps): bump k8s.io/client-go from 0.22.5 to 0.27.2 in /modules/k3s (#1211) @dependabot
  • chore(deps): bump go.mongodb.org/mongo-driver from 1.11.3 to 1.11.4 in /examples/mongodb (#1092) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.8.0 to 5.8.1 in /modules/neo4j (#1206) @dependabot
  • chore(deps): bump github.com/twmb/franz-go from 1.13.3 to 1.13.4 in /modules/redpanda (#1201) @dependabot
  • chore(deps): bump google.golang.org/api from 0.121.0 to 0.123.0 in /examples (#1229) @mdelapenya
  • chore(deps): bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#1228) @mdelapenya
  • chore(deps): bump pymdown-extensions from 9.0 to 10.0 (#1193) @dependabot
  • chore(deps): bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible (#1189) @mdelapenya
testcontainers-go - v0.20.1

Published by release-drafter[bot] over 1 year ago

What's Changed

πŸ› Bug Fixes

  • Revert "fix: don't panic when logs waits for more than 5 seconds (#947)" (#1164) @mdelapenya
  • Fix race condition while initializing docker client (#1160) @nhatthm

πŸ“– Documentation

  • fix: define a two-phase release process (#1163) @mdelapenya

🧹 Housekeeping

  • fix: define a two-phase release process (#1163) @mdelapenya
  • ci(lint): enable misspell and gci linters (#1162) @mmorel-35
testcontainers-go - v0.20.0

Published by release-drafter[bot] over 1 year ago

Maintainers' note

We want to inform you about an issue that occurred with the release, v0.20.0. Due to an unintended error, the git tags associated with v0.20.0 were created in an inconsistent state. As a result, the tags were removed and recreated to accurately reflect the intended release state. This situation could have affected users relying on the Go proxy cache during the short time window between the initial release and the tag correction.

To address this issue, we have now created the patch release v0.20.1, which is based on the correct state of the project and provides a seamless transition from v0.20.0.

To ensure that you have the latest updates, we recommend updating your dependencies to use v0.20.1 instead of v0.20.0 to ensure you have the correct and stable version.

We apologise for any inconvenience this may have caused and appreciate your understanding. If you have any questions or encounter any issues, please don't hesitate to reach out to us.

Thank you for your continued support!

What's Changed

⚠️ Breaking Changes

The signature of the testcontainers.NewDockerClient has changed in order to provide a simpler API for the future changes, and for that reason we were forced to break it and simplify its signature, returning the client and an error, instead of an instance of the Testcontainers properties and the host. At the same time, the TestContainersConfig struct representing the configuration properties has been renamed to TestcontainersConfig, which is brings consistency with the name of the project.

  • break: disable reaper at config level (#941) @mdelapenya

πŸš€ Features

  • feat: Add Redpanda module (#1058) @weeco
  • feat: Add ability to disable internal checks for wait.HostPortStrategy (#1039) @RiverPhillips
  • feat: use an interface for container customization in modules (#1042) @mdelapenya
  • Add support for LocalStack v2 (#994) @eddumelendez
  • feat: provide container lifecycle hooks (#1036) @mdelapenya
  • feat: support for wait.ForExec with response matcher (#1035) @mdelapenya
  • feat: building blocks for Go modules (#1016) @mdelapenya
  • feat: add Redis module (#993) @mdelapenya
  • feat: Auto detect the use of Podman from DOCKER_HOST (#982) @jtwatson
  • feat: add Neo4j module (#937) @fbiville
  • Add MySQL module (#943) @eddumelendez
  • feat: add Vault Module (#942) @alihanyalcin
  • feat: add Postgres module (#945) @mdelapenya
  • feat: add status check to wait strategies (#944) @frozenbonito
  • add couchbase module (#876) @alihanyalcin

πŸ› Bug Fixes

  • fix: don't panic when logs waits for more than 5 seconds (#947) @martin-sucha
  • fix: generated code must compile (#1059) @mdelapenya
  • fix: proper lifecycle for following logs using consumers (#366) @slsyy

πŸ“– Documentation

  • docs: include the testcontainers-go version in which a module was added (#1081) @mdelapenya
  • docs: use consistent format in Neo4j docs (#1057) @mdelapenya
  • docs: document tc_host inside the networking section (#1041) @sgloutnikov
  • docs: add permalink to mkdocs headings (#1032) @mdelapenya
  • docs: fix technology name (#990) @mdelapenya
  • Reorder docs language links (#985) @leocross
  • docs: simplify MySQL code snippet in docs (#984) @mdelapenya
  • docs: extend Couchbase docs (#971) @mdelapenya
  • fix: update code snippet for Docker Auth (#940) @mdelapenya

🧹 Housekeeping

  • Revert "chore: run pipelines in order (#1130)" (#1157) @mdelapenya
  • chore: run pipelines in order (#1130) @mdelapenya
  • fix: escape slashes (#1084) @mdelapenya
  • chore: support for multiple lifecycles defined by the user (#1037) @mdelapenya
  • Add support for Neo4j configuration (#992) @fbiville
  • Revert "chore: render logos from the base location (#995)" (#998) @mdelapenya
  • chore: skip CI builds when updating the docs (#996) @mdelapenya
  • chore: render logos from the base location (#995) @mdelapenya
  • chore: include how to install the module in the generated docs (#991) @mdelapenya
  • chore: use testdata as a Go idiom (#983) @mdelapenya
  • chore: do not force SSL disabled in the connection string (#981) @mdelapenya
  • Use hashicorp/consul in examples (#950) @eddumelendez
  • chore: always close Docker client (#939) @mdelapenya
  • fix: move to the right dir to git commit when releasing (#931) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump dependencies in /modules/localstack (#1158) @mdelapenya
  • chore(deps): bump golang.org/x/sys from 0.6.0 to 0.7.0 (#1088) @dependabot
  • chore(deps): bump github.com/couchbase/gocb/v2 from 2.6.2 to 2.6.3 in /modules/couchbase (#1107) @dependabot
  • chore(deps): bump github.com/docker/docker v23.0.5+incompatible in modules and examples (#1156) @mdelapenya
  • chore(deps): bump google dependencies in /examples (#1155) @mdelapenya
  • chore(deps): bump github.com/docker/docker from 23.0.3+incompatible to 23.0.5+incompatible (#1134) @dependabot
  • chore(deps): bump golang.org/x/sync from 0.1.0 to 0.2.0 in /modules/compose (#1143) @dependabot
  • chore(deps): bump github.com/docker/compose/v2 from 2.17.2 to 2.17.3 in /modules/compose (#1149) @dependabot
  • chore(deps): bump dependencies in /modules/redpanda (#1154) @mdelapenya
  • chore(deps): bump github.com/apache/pulsar-client-go from 0.9.0 to 0.10.0 in /modules/pulsar (#1105) @dependabot
  • chore(deps): bump github.com/docker/{cli|docker} from 23.0.3+incompatible to 23.0.5+incompatible in /modules (#1132) @mdelapenya
  • chore(deps): bump google.golang.org/api to 0.120.0 in /examples (#1131) @mdelapenya
  • chore(deps): bump github.com/cenkalti/backoff/v4 from 4.2.0 to 4.2.1 in /modules/couchbase (#1099) @dependabot
  • chore(deps): bump github.com/go-sql-driver/mysql from 1.7.0 to 1.7.1 in /modules/mysql (#1122) @dependabot
  • chore(deps): bump github.com/lib/pq from 1.10.7 to 1.10.9 in /modules/postgres (#1127) @dependabot
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.7.0 to 5.8.0 in /modules/neo4j (#1126) @dependabot
  • chore(deps): bump golang.org/x/text from 0.8.0 to 0.9.0 in /modulegen (#1095) @dependabot
  • chore(deps): bump gotest.tools/gotestsum from 1.9.0 to 1.10.0 (#1129) @mdelapenya
  • chore(deps): bump aws deps in /modules/localstack (#1077) @mdelapenya
  • chore(deps): bump docker libs in /modules/compose (#1076) @mdelapenya
  • chore(deps): bump github.com/docker/docker from 23.0.2+incompatible to 23.0.3+incompatible in /modules (#1074) @mdelapenya
  • chore(deps): bump github.com/docker/docker from 23.0.2+incompatible to 23.0.3+incompatible (#1060) @mdelapenya
  • chore(deps): bump github.com/neo4j/neo4j-go-driver/v5 from 5.6.0 to 5.7.0 in /modules/neo4j (#1030) @dependabot
  • chore(deps): bump github.com/docker/docker from 23.0.1+incompatible to 23.0.2+incompatible (#1026) @mdelapenya
  • chore(deps): bump github.com/opencontainers/runc from 1.1.3 to 1.1.5 (#1017) @mdelapenya
  • chore(deps): bump localstack dependencies in /modules/localstack (#980) @mdelapenya
  • chore: update Go deps in modules (#979) @mdelapenya
  • chore(deps): bump google.golang.org/grpc from 1.53.0 to 1.54.0 in /examples (#973) @mdelapenya
  • chore(deps): bump compose dependencies in /modules/compose (#974) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go in /modules/localstack (#972) @mdelapenya
  • chore(deps): bump cloud.google.com/go/pubsub from 1.28.0 to 1.30.0 in /examples/pubsub (#968) @dependabot
  • chore(deps): bump go.mongodb.org/mongo-driver from 1.11.2 to 1.11.3 in /examples/mongodb (#953) @dependabot
  • chore(deps): bump github.com/couchbase/gocb/v2 from 2.6.1 to 2.6.2 in /modules/couchbase (#952) @dependabot
  • chore: bump Ryuk to v0.4.0 release (#936) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go from 1.44.211 to 1.44.217 in /modules/localstack (#934) @dependabot
  • chore(deps): bump github.com/hashicorp/consul/api from 1.19.1 to 1.20.0 in /examples/consul (#933) @dependabot
testcontainers-go - v0.19.0

Published by release-drafter[bot] over 1 year ago

What's Changed

⚠️ Breaking Changes

If you are relying in the deprecated RegistryCred field from the ContainerRequest struct, then we broke your code 😞: the field is not used anymore therefore your own registry credentials won't be used. We expected that the credentials would live into the credential helpers, therefore would be automatically populated but, thanks to @srabraham, we discovered it's not. If that's your case you have to populate the DOCKER_AUTH_CONFIG env var with your own credentials, as @srabraham did here https://github.com/testcontainers/testcontainers-go/pull/869#issuecomment-1480364456.

  • feat: support for reading auth credentials from docker credential helpers (#869) @mdelapenya

πŸ”’ Security

  • chore: bump golang/x/net and containerd (#858) @mdelapenya

πŸš€ Features

  • remove volumes on down (#910) @cgoodsirsmyth-pp
  • Allow numerical characters in example names/titles (#922) @fbiville
  • feat: convert pulsar example into a Go module (#872) @mdelapenya
  • feat: add basic auth support in the wait.ForHTTP strategy (#301) @nevins-b

πŸ› Bug Fixes

  • Fix stop services in docker compose (#918) @sko00o
  • bug(892): include godog in replace block of compose gomod (#893) @cgoodsirsmyth-pp
  • fix: proper sorting of dependabot updates when generating a module (#894) @mdelapenya
  • fix: update modules path in generator (#877) @mdelapenya

πŸ“– Documentation

  • docs: add social links in the website (#890) @mdelapenya
  • Update docs link for tc-node (#878) @cristianrgreco
  • docs: add usage reference in OpenTelemetry Collector (#861) @dmitryax
  • docs: include haskell logo to the website (#860) @mdelapenya

🧹 Housekeeping

  • chore: prepare Go modules for the next release (#929) @mdelapenya
  • fix: use right paths in the release script (#928) @mdelapenya
  • chore: bump minimal compile version of GO to 1.19 (#924) @mdelapenya
  • chore: sync governance files (#909) @mdelapenya
  • chore: monthly updates for dependabot (#906) @mdelapenya
  • chore: simplify env vars for localstack module (#873) @mdelapenya
  • chore: remove replace directive in modules (#871) @mdelapenya
  • chore: bump testcontainers-go in Go modules (#870) @mdelapenya
  • chore: sync governance files (#859) @mdelapenya
  • chore: prepare for next minor development cycle (0.19.0) (#840) @mdelapenya
  • fix: tune release script (#839) @mdelapenya

πŸ“¦ Dependency updates

  • chore: prepare Go modules for the next release (#929) @mdelapenya
  • chore: sync dependencies (#927) @mdelapenya
  • chore(deps): bump github.com/moby/buildkit from 0.11.2 to 0.11.4 in /modules/compose (#926) @dependabot
  • chore: sync dependencies in Go modules (#920) @mdelapenya
  • chore(deps): bump dependencies (#919) @mdelapenya
  • chore: update module dependencies (#911) @mdelapenya
  • chore(deps): bump google.golang.org/api from 0.110.0 to 0.111.0 in /examples (#908) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go deps in localstack module (#907) @mdelapenya
  • chore(deps): bump github.com/jackc/pgx/v4 from 4.18.0 to 4.18.1 in /examples/cockroachdb (#895) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.6.18 to 1.6.19 (#897) @dependabot
  • chore(deps): bump github.com/compose-spec/compose-go from 1.11.0 to 1.12.0 in /modules/compose (#899) @dependabot
  • chore: monthly updates for dependabot (#906) @mdelapenya
  • bug(892): include godog in replace block of compose gomod (#893) @cgoodsirsmyth-pp
  • chore(deps): bump github.com/lib/pq from 0.0.0-20150723085316-0dad96c0b94f to 1.10.7 in /examples/postgres (#887) @dependabot
  • chore(deps): bump golang.org/x/mod from 0.6.0-dev.0.20220419223038-86c51ed26bb4 to 0.8.0 in /modules/localstack (#886) @dependabot
  • chore(deps): bump github.com/hashicorp/consul/api from 1.18.0 to 1.19.1 in /examples/consul (#889) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go from 1.44.204 to 1.44.209 in /modules/localstack (#884) @dependabot
  • chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#891) @mdelapenya
  • chore(deps): bump github.com/compose-spec/compose-go from 1.9.0 to 1.11.0 in /modules/compose (#865) @dependabot
  • chore(deps): bump github.com/docker deps from 23.0.0+incompatible to 23.0.1+incompatible (#875) @mdelapenya
  • chore(deps): bump github.com/aws/aws-sdk-go libs in /modules/localstack (#874) @mdelapenya
  • chore: remove replace directive in modules (#871) @mdelapenya
  • chore: bump testcontainers-go in Go modules (#870) @mdelapenya
testcontainers-go - v0.18.0

Published by release-drafter[bot] over 1 year ago

What's Changed

πŸš€ Features

  • chore: move host-config and endpoint settings to a specific modifiers (#633) @mdelapenya
  • feat: support generating Go modules or example modules (#826) @mdelapenya
  • feat: add localstack module (#800) @mdelapenya
  • feat: support for titles in examples (#775) @mdelapenya
  • feat: support passing registry credentials to the reaper (#647) @mdelapenya

πŸ› Bug Fixes

  • fix: always absolute paths when tarring files to a Docker container (#814) @mdelapenya
  • fix: nil pointer dereference in HealthStrategy (#802) @massenz
  • fix: Synchronise writes to dockerCompose.containers map (#812) @joshua-hill-form3
  • Verify Reaper state to create new or return existing instance (#782) @mdonkers
  • fix: use right import package for compose in docs (#791) @mdelapenya
  • Reaper container should not be labeled with "org.testcontainers.golang.sessionId" (#721) @rzajac
  • fix: close response body in http strategy (#718) @kruskall

πŸ“– Documentation

  • chore: automate the creation of a release (#776) @mdelapenya
  • docs: add intel as user (#798) @sicoyle
  • fix: use right import package for compose in docs (#791) @mdelapenya
  • simplify mongodb test (#726) @ravilushqa
  • MongoDB example (#723) @ravilushqa
  • add consul example (#722) @bo-er

🧹 Housekeeping

  • chore: automate the creation of a release (#776) @mdelapenya
  • chore: update Docker labels for containers (#813) @mdelapenya
  • chore: restructure Docker helper methods (#799) @mdelapenya
  • chore: extract docker host calculation to an internal package (#796) @mdelapenya
  • chore: run "go mod tidy" automatically when creating examples (#794) @mdelapenya
  • chore: build images with backoff retries (#792) @mdelapenya
  • Add devcontainer file (#765) @eddumelendez
  • chore: check dependabot dependencies weekly (#789) @mdelapenya
  • chore: support running MySQL compose tests in ARM (#712) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump github.com/docker/compose/v2 from 2.15.1 to 2.16.0 in /modules/compose (#824) @dependabot
  • chore(deps): bump github.com/aws/aws-sdk-go from 1.44.192 to 1.44.200 in /modules/localstack (#835) @dependabot
  • chore(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.13 in /modules/localstack (#828) @dependabot
  • chore(deps): bump google.golang.org/api from 0.109.0 to 0.110.0 in /examples (#836) @mdelapenya
  • chore(deps): bump go.mongodb.org/mongo-driver from 1.11.1 to 1.11.2 in /examples/mongodb (#831) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.52.3 to 1.53.0 in /examples (#827) @mdelapenya
  • chore(deps): bump github.com/containerd/containerd from 1.6.16 to 1.6.17 (#817) @dependabot
  • chore(deps): bump golang.org/x/text from 0.6.0 to 0.7.0 (#818) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.4.0 to 0.5.0 (#816) @dependabot
  • chore(deps): bump github.com/jackc/pgx/v4 from 4.17.2 to 4.18.0 in /examples/cockroachdb (#819) @dependabot
  • chore(deps): bump google.golang.org/api from 0.108.0 to 0.109.0 in /examples (#810) @mdelapenya
  • chore(deps): bump cloud.google.com/go/spanner from 1.43.0 to 1.44.0 in /examples/spanner (#806) @dependabot
  • chore: bump containerd in examples (#797) @mdelapenya
  • chore(deps): bump github.com/containerd/containerd from 1.6.15 to 1.6.16 (#793) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.52.1 to 1.52.3 in /examples (#790) @mdelapenya
  • chore: check dependabot dependencies weekly (#789) @mdelapenya
  • chore(deps): bump google.golang.org/grpc from 1.52.0 to 1.52.1 in /examples (#783) @mdelapenya
  • chore(deps): bump cloud.google.com/go/spanner from 1.42.0 to 1.43.0 in /examples/spanner (#771) @dependabot
  • chore(deps): bump github.com/docker/compose/v2 from 2.15.0 to 2.15.1 in /modules/compose (#735) @dependabot
  • chore(deps): bump gotest.tools/gotestsum from 1.8.2 to 1.9.0 (#774) @mdelapenya
  • chore(deps): bump github.com/compose-spec/compose-go from 1.8.2 to 1.9.0 in /modules/compose (#772) @dependabot
  • chore(deps): bump google.golang.org/api from 0.105.0 to 0.108.0 in /examples (#773) @mdelapenya
  • chore(deps): bump google.golang.org/grpc from 1.51.0 to 1.52.0 in /examples (#741) @mdelapenya
  • chore(deps): bump github.com/containerd/containerd from 1.6.14 to 1.6.15 (#733) @dependabot
  • chore(deps): bump github.com/compose-spec/compose-go from 1.8.1 to 1.8.2 in /modules/compose (#734) @dependabot
  • chore(deps): bump github.com/docker/compose/v2 from 2.14.2 to 2.15.0 in /modules/compose (#732) @dependabot
  • chore(deps): bump golang.org/x/text from 0.5.0 to 0.6.0 (#725) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.3.0 to 0.4.0 (#724) @dependabot
  • chore: move e2e module to postgres example module (#717) @mdelapenya
  • chore: bump containerd transitive dep in examples (#715) @mdelapenya
  • chore(deps): bump github.com/containerd/containerd from 1.6.12 to 1.6.14 (#703) @dependabot
  • chore(deps): bump github.com/compose-spec/compose-go from 1.8.0 to 1.8.1 in /modules/compose (#710) @dependabot
  • chore: bump testcontainers-go to 0.17.0 in examples (#714) @mdelapenya
  • chore(deps): bump github.com/docker/compose/v2 from 2.14.0 to 2.14.2 in /modules/compose (#711) @dependabot
  • chore: simplify compose replace directives (#713) @mdelapenya
  • chore: add compose module to dependabot (#709) @mdelapenya
testcontainers-go - v0.17.0

Published by release-drafter[bot] almost 2 years ago

What's Changed

⚠️ Breaking Changes

Given the amount of issues after #476, causing consumers of this library to update their dependencies with multiple replace directives in their go.mod files, we have moved compose code to a separate module. Therefore the majority of the users of the library will only need to replace Docker dependency with the one used in this library, which is simpler in terms of usage. Please see Install instructions for further information.

replace (
	github.com/docker/docker => github.com/docker/docker v20.10.3-0.20221013203545-33ab36d6b304+incompatible // 22.06 branch
)

On the other hand, users of native Docker Compose code will still need all the replace directives, as described in the Compose docs.

  • chore: move compose code to a separate module (#650) @mdelapenya

πŸš€ Features

  • feat: provide a tool to generate examples from code (#618) @mdelapenya

πŸ› Bug Fixes

  • fix: avoid panics when checking container state and container.raw is nil (#635) @mdelapenya

πŸ“– Documentation

  • docs: refine onboarding process with quickstart guide (#706) @mdelapenya
  • chore: add mysql example (#700) @mdelapenya
  • chore: postgres example (#674) @mdelapenya
  • Add bigtable example (#676) @eddumelendez
  • Improve datastore, firestore, pubsub and spanner tests (#670) @eddumelendez
  • Add toxiproxy example (#643) @eddumelendez
  • Add spanner example (#642) @eddumelendez
  • Add pubsub example (#640) @eddumelendez
  • Add datastore example (#638) @eddumelendez
  • Add firestore example (#637) @eddumelendez
  • feat: provide a tool to generate examples from code (#618) @mdelapenya
  • chore: bump version in mkdocs (#630) @mdelapenya
  • docs: remove code snippets from main README (#631) @mdelapenya
  • docs: document replace directive for Docker Compose (#632) @mdelapenya

🧹 Housekeeping

  • chore: reduce concurrent builds (#702) @mdelapenya
  • chore: update mkdocs format to go-yaml v3 (#667) @mdelapenya
  • chore: generate dependabot configs for examples (#654) @mdelapenya
  • chore: format dependabot using go-yaml indents (#658) @mdelapenya
  • chore: remove quotes from dependabot updates (#655) @mdelapenya
  • fix: do not create garbage in examples nav bar (#652) @mdelapenya
  • chore: sync governance files (#641) @testcontainersbot
  • chore: adjust generator for the docs site (#639) @mdelapenya

πŸ“¦ Dependency updates

  • chore: move compose code to a separate module (#650) @mdelapenya
  • chore: move redis-specific tests to the example module (#701) @mdelapenya
  • chore: bump transitive dependencies (#527) @mdelapenya
  • chore: add mysql example (#700) @mdelapenya
  • chore(deps): bump google.golang.org/api from 0.104.0 to 0.105.0 (#699) @mdelapenya
  • chore(deps): bump google.golang.org/api from 0.103.0 to 0.104.0 in /examples/firestore (#683) @dependabot
  • chore(deps): bump cloud.google.com/go/spanner from 1.41.0 to 1.42.0 in /examples/spanner (#688) @dependabot
  • chore(deps): bump google.golang.org/api from 0.103.0 to 0.104.0 in /examples/pubsub (#685) @dependabot
  • chore(deps): bump google.golang.org/api from 0.103.0 to 0.104.0 in /examples/spanner (#684) @dependabot
  • chore(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0 in /examples/firestore (#686) @dependabot
  • chore(deps): bump google.golang.org/api from 0.102.0 to 0.104.0 in /examples/bigtable (#680) @dependabot
  • chore(deps): bump google.golang.org/api from 0.103.0 to 0.104.0 in /examples/datastore (#678) @dependabot
  • chore(deps): bump golang.org/x/text from 0.3.7 to 0.5.0 (#660) @dependabot
  • chore(deps): bump github.com/magiconair/properties from 1.8.6 to 1.8.7 (#677) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.6.10 to 1.6.12 (#675) @dependabot
  • chore: run go mod tidy in examples (#672) @mdelapenya
  • chore: group dependabot updates (#668) @mdelapenya
  • chore(deps): bump github.com/docker/compose/v2 from 2.12.2 to 2.14.0 (#657) @dependabot
  • chore(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#583) @dependabot
  • chore(deps): bump github.com/cenkalti/backoff/v4 from 4.1.3 to 4.2.0 (#656) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.6.8 to 1.6.10 (#621) @dependabot
  • chore(deps): bump golang.org/x/sys from 0.1.0 to 0.3.0 (#651) @dependabot
  • chore: run go mod tidy for all examples (#649) @mdelapenya
testcontainers-go - v0.16.0

Published by release-drafter[bot] almost 2 years ago

What's Changed

⚠️ Breaking Changes

  • feat: support native docker compose api (#476) @baez90

    Docker Compose v2 is implemented in Go, and for that reason we have decided to provide native Go support to Compose, deprecating the shell-escape based LocalDockerCompose, which was invoking the local binary of compose. Given the version includes the Compose dependency, and the Docker folks added a replace directive until the upcoming Docker 22.06 release is out, we were forced to add it too, causing consumers of Testcontainers for Go to add the following replace directive too.

replace (
	github.com/docker/cli => github.com/docker/cli v20.10.3-0.20221013132413-1d6c6e2367e2+incompatible // 22.06 master branch
	github.com/docker/docker => github.com/docker/docker v20.10.3-0.20221013203545-33ab36d6b304+incompatible // 22.06 branch
	github.com/moby/buildkit => github.com/moby/buildkit v0.10.1-0.20220816171719-55ba9d14360a // same as buildx

	github.com/opencontainers/runc => github.com/opencontainers/runc v1.1.2 // Can be removed on next bump of containerd to > 1.6.4

	// For k8s dependencies, we use a replace directive, to prevent them being
	// upgraded to the version specified in containerd, which is not relevant to the
	// version needed.
	// See https://github.com/docker/buildx/pull/948 for details.
	// https://github.com/docker/buildx/blob/v0.8.1/go.mod#L62-L64
	k8s.io/api => k8s.io/api v0.22.4
	k8s.io/apimachinery => k8s.io/apimachinery v0.22.4
	k8s.io/client-go => k8s.io/client-go v0.22.4
)
  • fix: do not prepend garbage in the container.Exec response (#624) @mdelapenya

    The signature of the Exec function on a container created by the library has been changed in what we thought it was a non-breaking change manner, using variadic arguments. But we confirmed that it could be a breaking change in the rare case where the Exec function is assigned to a variable.

// The original Exec function works here because its type is func(context.Context, []string),
// but the new Exec function’s type is func(context.Context, []string, ...ProcessOption),
// so the assignment fails at compile time. For that reason we are moving it to this section.
var execFn func(ctx context.Context, cmd []string) = myContainer.Exec

πŸš€ Features

  • feat: implement new MultiStrategy design (#580) @hhsnopek

    This PR enhances how the wait.ForAll strategy behaves: it will control the startup timeout and the deadline for all inner wait strategies, using two methods: WithStartupTimeoutDefault, which sets the default timeout for all inner wait strategies; and WithDeadline, which sets a time.Duration which limits all wait strategies. As a consequence, the already existing function WithStartupTimeout has been deprecated from the multi-strategy struct.

  • feat: Auth config for build images (#602) @paulozenida

  • feat: log docker info from compose (#591) @mdelapenya

πŸ› Bug Fixes

  • fix: support parallel execution of reusable containers (#593) @mdelapenya

πŸ“– Documentation

  • README: update nginxC.Terminate (#627) @ofey404
  • update gotest.md - fix errors in the example (#623) @pantafive
  • docs: fix syntax (#615) @mdelapenya
  • docs: networking basics (#612) @mdelapenya
  • docs: wording in project name (#610) @mdelapenya
  • add example of using Pulsar with testcontainers-go (#597) @clive-jevons
  • docs: add languages to docs site (#599) @mdelapenya
  • docs: Rename the MkDocs site name to match other Testcontainers languages (#598) @HofmeisterAn
  • chore: sync governance files (#589) @mdelapenya
  • chore: sync governance files (#586) @mdelapenya

🧹 Housekeeping

  • chore: sync governance files (#622) @testcontainersbot
  • chore: use a fixed version of MySQL (#617) @mdelapenya
  • feat: add golangci-lint (#569) @hhsnopek
  • chore: sync governance files (#608) @mdelapenya
  • chore: sync governance files (#586) @mdelapenya
  • Remove codecov and test coverage file (#584) @misantron

πŸ“¦ Dependency updates

  • chore: retire podman pipeline (#625) @mdelapenya
  • chore(deps): bump github.com/docker/compose/v2 from 2.12.0 to 2.12.2 (#588) @dependabot
  • feat: bump version of test-summary (#596) @Bablzz
testcontainers-go - v0.15.0

Published by release-drafter[bot] almost 2 years ago

What's Changed

πŸš€ Features

  • feat: add sessionID HTTP Header to the Docker client setup (#570) @mdelapenya
  • chore: proper messaging on disabling ryuk (#566) @mdelapenya
  • Support returning all IP addresses of a container (#553) @gauravgahlot
  • Support for cap-add/cap-drop (#555) @dhuckins
  • Log docker server info (#548) @gauravgahlot

⚠️ Breaking Changes

  • feat: add host param to url function for wait.ForSQL (#524) @frozenbonito

Before this change, when waiting for a SQL to be executed in a container it always checked against localhost, but it could be the case that the database instance runs in a different container. For that reason, the library now supports passing the host where the database is running so that the wait.ForSQL function needs the host as part of the input parameters.

- func ForSQL(port nat.Port, driver string, url func(nat.Port) string) *waitForSql {
+ func ForSQL(port nat.Port, driver string, url func(host string, port nat.Port) string) *waitForSql {

πŸ› Bug Fixes

  • fix: check if the container request is for the reaper (#574) @mdelapenya
  • fix: pass docker context key when reusing a container (#550) @mdelapenya
  • fix: use regex to find container by name (#558) @hwwwi
  • fix: expose default exposed ports if the NetworkMode is not container (#560) @clive-jevons
  • fix(compose): wait.ForExit() strategy should work for finished containers (#514) @Malinskiy

πŸ“– Documentation

  • fix: edit link in documentation (#575) @DanielHabenicht
  • chore: proper messaging on disabling ryuk (#566) @mdelapenya
  • docs: add general Docker requirements (#565) @mdelapenya
  • Add system requirements parent docs page for podman and colima (#562) @gauravgahlot
  • docs: add docs regarding Colima usage (#547) @hhsnopek
  • chore: add CONTRIBUTING file (#539) @mdelapenya
  • docs: add a basic layout for wait strategies in docs (#536) @mdelapenya
  • docs: improve consistency and fix typos (#534) @sicoyle

🧹 Housekeeping

  • chore: prepare for 0.15.0 release (#581) @mdelapenya
  • fix: better error message in tests (#577) @mdelapenya
  • chore: check error message in parts when testing the CreateContainerWithDirs method (#576) @mdelapenya
  • chore: use container.State() function in tests (#543) @mdelapenya
  • chore: add emoji to breaking changes in release drafter (#542) @mdelapenya
  • issue #537 Rename the wait/multi.go file to wait/all.go (#541) @skofli
  • chore: do not skip test (#528) @mdelapenya
  • chore: include test flakiness in the release drafter (#535) @mdelapenya
  • chore: retire old versions of Go (#530) @mdelapenya
  • chore: improve issue templates (#523) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump gotest.tools/v3 from 3.3.0 to 3.4.0 (#563) @dependabot
  • Update testcontainers/ryuk version to 0.3.4 (#564) @eddumelendez
  • chore: use hashed versions of test-summary action (#556) @mdelapenya
  • chore: retire old versions of Go (#530) @mdelapenya
  • chore: pin codecov's GH action to v3.1.0 (#526) @mdelapenya
testcontainers-go - v0.14.0

Published by release-drafter[bot] about 2 years ago

What's Changed

πŸš€ Features

  • feat: copy directory to container (#517) @mdelapenya
  • feat: Use exposed ports specified in image if it is not specified in ContainerRequest (#468) @fiftin
  • Issue 439: use an existing container (#464) @VladimirStepanov
  • Issue 225 copy files before container started (#460) @VladimirStepanov
  • refactor: read RYUK_CONTAINER_PRIVILEGED once (#475) @zregvart
  • feature: custom ForSQL query (#451) @funvit
  • Issue 332 generic parallel containers (#456) @VladimirStepanov
  • Improve Podman compatibility (#414) @baez90
  • Add SHM size to the container request (#461) @EndPositive
  • feat: support binds in addition to mounts (#452) @zregvart
  • feat: add IPAM configs to NetworkRequest (#394) @aivinog1
  • use var TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE (#407) @mniak
  • Docker compose: Add the output of the command to the returning struct (#420) @oriser
  • Add extra hosts to the container request (#436) @EndPositive

⚠️ Breaking Changes

  • feat: ability to configure running privileged Ryuk (#449) @zregvart
  • Return a Reader from the Exec function (#435) @johanoskarsson

πŸ› Bug Fixes

  • Return container IP when attached to a single named network (#491) @leszko
  • fix: return bad error after parallel running (#483) @VladimirStepanov
  • fix: strip stream headers from logs (#454) @funvit
  • Fix compose v2 wait strategy (#426) @oriser

πŸ“– Documentation

  • docs: add contributing guides (#522) @mdelapenya
  • docs: add docs regarding Podman usage (#503) @baez90
  • docs: fix format for create-container feature (#481) @mdelapenya
  • Remove unused import in redis example (#471) @doodot
  • docs: add telegraf to users of testcontainers-go (#447) @powersj
  • chore: update branding (#429) @mdelapenya

🧹 Housekeeping

  • Add CODEOWNERS (#507) @eddumelendez
  • Remove bug_report.md and add slack/discusions to config.yml (#506) @eddumelendez
  • chore: add issue templates (#501) @mdelapenya
  • chore: retire non-supported Go versions (#493) @mdelapenya
  • chore: display test summary on GH actions (#473) @mdelapenya
  • refactor: more nuanced env vs properties config (#479) @zregvart
  • chore(ci): update podman pipeline (#478) @mdelapenya
  • add missing test for checking status code matcher (#469) @VladimirStepanov
  • check that environment is clean (#458) @VladimirStepanov
  • fix: temp fix of flaky test (#455) @funvit
  • Negotiate client version for docker compose (#432) @rahul-muttineni-okcupid
  • chore: update configs for mkdocs (#434) @mdelapenya

πŸ“¦ Dependency updates

  • chore(deps): bump github.com/docker/go-units from 0.4.0 to 0.5.0 (#515) @dependabot
  • chore(deps): bump github.com/lib/pq from 1.10.6 to 1.10.7 in /e2e (#518) @dependabot
  • Update go-redis to v8.11.5 (#424) @johanoskarsson
  • chore(deps): bump gotest.tools/gotestsum from 1.7.0 to 1.8.2 (#499) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.6.7 to 1.6.8 (#495) @dependabot
  • chore(deps): bump gotest.tools/gotestsum from 1.8.1 to 1.8.2 in /e2e (#498) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.6.6 to 1.6.7 (#494) @dependabot
  • chore(deps): bump github.com/containerd/containerd from 1.5.9 to 1.6.6 (#444) @dependabot
  • chore: retire non-supported Go versions (#493) @mdelapenya
  • chore(deps): bump github.com/stretchr/testify from 1.7.2 to 1.8.0 (#487) @dependabot
  • chore(deps): bump gotest.tools/v3 from 3.2.0 to 3.3.0 (#486) @dependabot
  • chore(deps): bump github.com/cenkalti/backoff/v4 from 4.1.2 to 4.1.3 (#480) @dependabot
  • feat(deps): update dependencies to resolve dependabot security alerts (#484) @purpleclay
  • feat: update 3d party packages (#467) @VladimirStepanov
  • chore(deps): bump gotest.tools/gotestsum from 1.7.0 to 1.8.1 in /e2e (#477) @dependabot
  • chore: tell dependabot about the new module (#474) @mdelapenya
  • chore(deps): bump github.com/magiconair/properties from 1.8.5 to 1.8.6 (#448) @dependabot
  • chore(deps): bump gotest.tools/v3 from 3.0.3 to 3.2.0 (#431) @dependabot
  • chore(deps): bump containerd version to v1.5.13 (#446) @vinijabes
Package Rankings
Top 0.73% on Proxy.golang.org
Badges
Extracted from project README
Main pipeline GoDoc Reference Go Report Card Quality Gate Status License Open in GitHub Codespaces Join our Slack