Meet the new maintainers
It has been a great year for Open Source at AtomicJar, with our team doubling in size thanks to Manuel de la Peña and Andre Hofmeister—the Testcontainers for Go and Testcontainers for .NET maintainers—joining us. And of course Eddú Meléndez joined AtomicJar earlier this year as well, doing an amazing job of being a maintainer of Testcontainers for Java, no matter if it was about answering your question in our community Slack, on Stack Overflow, or reviewing PRs and bug reports.
And while there are many individual highlights, the biggest overarching theme is our commitment to providing a great Testcontainers experience across our supported programming languages. This has been a driving force for us throughout the year (it also means you will get a great Testcontainers Cloud experience when using Testcontainers for Java, Go or .NET).
Part of our goal was also creating a consistent look and feel for Testcontainers as a multi language project. In April, we launched our new Testcontainers brand update consisting of: our revamped logo, brand new versatile logo variants, refreshed colors, and a new font and typography styles.
The changes are subtle, but they deliver a much more polished and consistent look, helping us solidify the Testcontainers brand identity. And considering that many of you have added our new Testcontainers stickers to your laptop, we hope you like the new look as much as we do.
As part of this redesign, we also updated the style of our documentation; but not only for Testcontainers for Java, no, also for Testcontainers for Go and Testcontainers for .NET, all of which now provide you with the same documentation system.
Testcontainers for Go
Manu joined the team as Testcontainers for Go maintainer in September, and pushed our Go implementation forward at an incredible pace. Not only growing the community, but also making sure you can find the features you know and love from Testcontainers for Java in Testcontainers for Go as well. Features such as copying files to containers, support for Docker registry authentication as part of a Docker build, improvements for combining multiple wait strategies, and the first experimental support for reusable containers. We were also able to contribute Testcontainers-powered tests to the OpenTelemetry project in our pursuit to collaborate with other Open Source projects. This means OpenTelemetry now internally uses Testcontainers for Java, for Go and for .NET for their corresponding agent and collector implementations, how cool is that? 😎
But what about Modules in Testcontainers for Go — the functionality many of you appreciate from Testcontainers for Java and that makes running even complex technologies as part of your tests simple and easy? The Testcontainers for Go documentation now features an example section. It is based on actual Go modules that are executed as part of our documentation generation process (so you can be sure the examples actually work!). This will be a starting point for Testcontainers Modules in Testcontainers for Go in the future. Interested in running Pulsar, Toxiproxy, or PostgreSQL using Testcontainers for Go? Simply checkout our ready-to-use examples and use them in your own projects 🙌.
Testcontainers for .NET
In June, we moved the Testcontainers for .NET community fork of Andre Hofmeister into our GitHub organization. Making it our official .NET implementation (and thereby resolving the confusion regarding the different .NET forks within the community). And soon after, Andre joined AtomicJar in October as an OSS developer and Testcontainers for .NET maintainer. Since then, Testcontainers for .NET has become one of the fastest growing Testcontainers implementations and we are continuously working on aligning the feature set with the Java and Go implementations. Just as a small shoutout to noteworthy additions we can mention — improved support for logging (making it much easier to debug your Testcontainers-based tests), better automatic Docker environment discovery, and the ability to copy files into containers as part of container configuration.
Maybe some of you have already seen our shiny new testcontainers.com website, which serves as an entrypoint for all Testcontainers users, not only Java developers. We have much more in store for how we can make this a true hub for all content regarding the Testcontainers project, so stay tuned 😉.
Testcontainers for Java
But let’s also not forget Testcontainers for Java, with 8 releases in 2022 alone, with Eddú delivering 5 of those as the release manager 🤯. These releases contain new modules, additional features, improvements and bugfixes by more than 30 contributors of the community. A bit thank you to our Testcontainers OSS family as a whole 🙇. It is hard to point out specific highlights, but we grew our modules ecosystem with great additions such as Redpanda, YugabyteDB or QuestDB.
And last but not least, our trusty resource reaper component, Ryuk, has just overpassed 100M downloads on Docker Hub (with us celebrating 55M downloads in April of this year).
See you in 2023
We are excited for the future of the Testcontainers project in 2023. And while we can’t yet say for certain which changes and improvements we will see along the road, we can always be reminded of the famous quote by Alan Kay: “The best way to predict the future is to invent it.” So happy hacking to the Testcontainers community ⌨️🥳.
Yours truly, Kevin Wittek & Team.