Release notes
December 20, 2024 - 25.2
Features
- [SDK] New Python SDK! Source is available on GitHub and usage instructions can be found in our documentation. The module is available on PyPI.
- [SDK] Go SDK release v0.4.3 includes many fixes, including better handling of test (
*_test.go
) and protobuf (*.pb.go
) files. - [API] New standard API for launching tests that require minimal parametrization.
- [Simulation] Better UX experience when tests do not complete simulation startup.
- [Simulation] Events generated by processes running in containers display the container name in the
source.container
field. - [Reports] Added the “No Antithesis session errors” property, which reports errors generated by the Antithesis SaaS service.
- [Reports] The “No unexpected container exits” property now groups failures by container name and exit code.
- [Reports] Triage reports now consistently group Always assertions into
always
andalways_or_unreachable
categories. - [SDK] Failing to include debug symbols for instrumented binaries will now produce a failing test property rather than silently refusing to symbolize coverage information.
Fixes
- [Debugging] Fixed an issue that sometimes resulted in duplicate debugging session emails.
- [API] Fixed an issue that sometimes meant session failure emails were not sent.
November 23, 2024 - 24.2
Features
- [Simulation] The default kernel in the Antithesis environment has been upgraded to 6.6.
- [Simulation] Events now contain the PID of the process that generated them, provided that they were logged via our SDKs, or the output capture directory.
- [Debugging] Files can be added into running containers with the
inject_file()
command. - [SDK] Go SDK release v0.4.2 better handles complex Go codebases with multiple
.mod
files. - [SDK] Java SDK release v1.4.0 now includes new assertions for guiding Antithesis, e.g.
sometimes()
,alwaysGreaterThan()
,alwaysLessThan()
.
Fixes
- [SDK] C++ SDK release v0.4.3, fixes for multiple bugs
- [Service] Multiple improvements to operational stability.
November 12, 2024 - 23.2
Features
- [Simulation] A new, self-serve testing framework, Test Composer, provides a simple way to build fault-aware generative workloads. Check out the reference documentation here.
- [SDK] In addition to defining test properties, SDK assertions now guide the Antithesis platform in its exploration of your code. Check out the Zelda blog post for an example of how this happens.
- [SDK] Rust SDK release v0.2.2 now includes new assertions for guiding Antithesis as described above, e.g.
assert_sometimes()
,assert_always_greater_than()
,assert_always_less_than()
. - [SDK] Visual improvements to logs making SDK assertions easier to read.
- [Reports] A new Property, “No Antithesis Errors”, reports if your test hit any bugs in Antithesis itself.
Fixes
- [Service] Fix a number of issues which could cause tests to fail to complete.
October 23, 2024 - 22.2
Features
- [Debugging] When multiverse debugging,
Ctrl+P
shortcut wraps expressions in a call toprint()
. - [Reports] Property subgroups are sorted so that properties with no examples or counterexamples are deprioritized.
- [CI] GitHub, Slack, and Discord integrations now report failed test runs.
- [Docs] Documentation engine was upgraded for styling and functionality to better match the remainder of the website.
Fixes
- [Notebook] Fixed a memory leak in the Antithesis notebook that could cause Antithesis reports to crash browser tabs.
- [Notebook] Fixed an issue where error reports from failed runs could be missing logs.
- [Debugging] Multiverse Debugging now refuses to replay bug moments if it detects that doing so will use excessive browser memory.
September 23, 2024 - 21.1
Features
- [SDK] New Java SDK! Source is available on GitHub and usage instructions can be found in our documentation. The module is available on Maven Central under the Antithesis namespace.
- [Debugging] Interactive commands show a more accurate and complete status while running.
- [Service] Detailed logs are included in error reporting for all tests that fail to complete.
- [Service] New backstop service will notify the caller if, for any reason at all, a test could not be completed.
Fixes
- [Service] Webhook calls made with invalid parameters will fail faster and send useful debugging information.
- [Notebook] Enhanced filtering in the log viewer in cases where the “source” and “stream” are unset.
- [Notebook] Markdown renderer correctly displays links.
September 12, 2024 - 20.1
Features
- [Debugging] Multiverse Debugging allows you to replay a bug, inspect your system, change history, and explore possible resolutions of the issue. Read more in our announcement post here!
- [Notebook] A fully integrated help system is now available under the
help()
function. - [Notebook] Refresh of the notebook UI.
Fixes
- [Notebook] Fixed a number of stability issues with networking in debugging sessions.
- [Simulation] Additional fixes for stability when gathering artifacts.
September 6, 2024 - 19.3
Features
- [Simulation] Software under test in Antithesis now has access to a greatly increased amount of system memory.
- [Simulation] All containers in the Antithesis environment now have a
bash
shell available. This enhanced environment allows debugging commands and artifact gathering even in “minimal” container images. - [Debugging] Lower latency when injecting commands in multiverse debugging.
- [Reports] Users can now copy any moment’s information easily wherever they are displayed in reports using the Copy moment feature.
Fixes
- [Reports] Fixed a class of issues where reports are sometimes generated before all the data is collected.
- [Reports] Improved the loading screen of reports.
August 26, 2024 - 17.1 & 18.3
Features
- [Reports] Triage reports progressively load property details, greatly speeding initial page load and increasing scalability limits for log volume and debugging artifacts.
- [SDK] The Go and C++ SDKs now feature rich assertions. As introduced in the Zelda blog post, rich assertions give users of the Antithesis SDKs the power to guide Antithesis’ search for bugs in their software. Supported in Go SDK v0.4.0 and C++ SDK v0.4.0.
- [CI] New integrations for Discord and Slack show results of Antithesis tests directly in your team’s chats. The Antithesis bot posts counts of passing and failing Properties and a link back to the full results.
- [CI] The GitHub Action integration now summarizes results in the information posed back. Any failing test properties will cause the integration to report a failure.
- [Reports] A new “Changed” filter in the Triage Report highlights newly failing and passing properties.
Fixes
- [Service] Improved the handling of invalid and malformed parameters.
- [Service] Fixed a class of issues in which transient network errors could cause test evaluation to hang.
- [Reports] Fixed a number of error messages for clarity and brevity. In more cases, include logs leading up to errors.
- [Reports] Fixed a situation where the Triage Report could show inaccurate history for a property.
June 19, 2024 - 16.1
Features
- [Reports] New options for controlling access to reports. We can now integrate directly with your OIDC-enabled Identity Provider to ensure that only authorized users can load reports.
- [Reports] Property groups now support up to 1,000 properties.
- [Service] When a test fails to start (for example, due to a build failure), logs are now returned along with the error message indicating the reason for the failure.
Fixes
- [SDK] The C++ SDK (v0.3.1) improved the way that assertions in templates or header files are handled.
- [Service] Fixed issue where images passed via web parameters were always tagged as
latest
in the Antithesis environment. Now, images specified by tag (when using theantithesis.images
API parameter) retain that tag inside the Antithesis environment. - [Reports] Fixed a number of situations in which reports would fail to load.
- [Reports] Fixed a case where the property history of reports would wrongly treat different test setups as the same test.
- [Reports] Improved performance when a property has many sub-groups.
- [CI] Fixed a case where, when using the GitHub Action, transient GitHub API errors could cause a test to report failure.
June 3, 2024 - 15.2
Features
- [SDK] SDK messages now appear in Antithesis logs. This includes assertions being hit, system lifecycle events, and custom messages you emit through the SDK’s logging API.
- [Simulation] The default kernel in the Antithesis environment has been upgraded to 6.1.
Fixes
- [Reports] Fixed a case where debug logs after the moment a bug occurred could not be loaded.
May 14, 2024 - 13 & 14.1
Features
- [SDK] New Rust SDK! Source is available on GitHub and usage instructions can be found in our documentation.
- [SDK] The C++ SDK offers a dedicated header file for coverage instrumentation support. This header is compatible with C programs and does not require a modern compiler or C++ version.
- [SDK] Triage reports now inform you whether the SDK was set up correctly.
- [Service] When a single bug is found multiple times within a test, we pick a few examples for which to report full logs and other debugging artifacts. We now always pick the examples with the least total output volume leading up to them, as a proxy for simplicity of reproduction.
- [Service] New API parameter,
antithesis.description
, which customize headers in reports and emails. For details, see the webhook documentation. - [Service] New API parameter,
antithesis.config_image
, which specifies the configuration image for a test. For details, see the webhook documentation. - [Service] The
antithesis.images
API parameter is now more powerful and flexible. For details, see the webhook documentation. - [Service] Misconfigured tests now fail faster in some cases and send more actionable information back to the caller.
- [CI] Antithesis GitHub Action: Shipped the v0.4 update which supports all the new API parameters in this release.
Fixes
- [SDK] Reports now correctly handle large numbers of SDK assertions (200+).
- [SDK] Go: multiple bugfixes.
- [Service] Fixed issue where container dates could be malformed in reports.
- [Service] Fixed situations where excessively verbose logs emitted by customer software could degrade the report experience.
- [API] Fixed situations where malformed API parameters did not cause obvious failures.
- [Reports] Fixed bug where Antithesis internal system messages leaked into reports.
Apr 22, 2024 - 12.1
Features
- [Reports] All Log Viewers have an Expand / “Full Screen” button.
- [Reports] New default property that software was built for x86_64. Many users have ARM-based laptops and can accidentally push ARM containers when iterating locally.
- [SDK] Multiple C++ SDK improvements, including better shared library loading.
- [SDK] A new, easy option for sending program log output to Antithesis. Program output sent in this way will appear in logs sent back in reports, helping to identify bugs and diagnose root causes. More details are documented in the capturing output section.
Fixes
- [Reports] Multiple fixes to improve report loading speed.
- [Service] In more cases, Customer Support will be notified of errors.
Apr 9, 2024 - 11.3
Features
- [SDK] New C++ SDK! See the source on Github and see the documentation for usage information.
- [SDK] Go SDK (v0.3.4) adds new pass-through compile flag
no_antithesis_sdk
. See the Go SDK documentation for detailed information. - [Service] New API parameter,
antithesis.source
, used to establish history for properties. See the webhook documentation for more information. - [Service] Extracting files from running system now supports streams as well as regular files.
Mar 4, 2024 - 10.3
Features
- [SDK] New Go SDK! See the source on Github and see the documentation.
- [API] Webhook parameter
antithesis.images
specifies software image versions by digest or tag. See webhook documentation. - [API] Webhook parameter
antithesis.report.recipients
configures per-run report destination addresses. See webhook documentation. - [Service] A new GitHub Actions integration allows for direct use of Antithesis from a standard project on GitHub. Tests can be started either automatically or on-demand and results are directly attached to commits for future reference. Details are documented in the CI section.
- [Reports] New default property “Software images match expected platform” checks that software was built for x86_64. Many users have ARM-based laptops and can accidentally push ARM containers when iterating locally.
- [Reports] Reports support dark mode in compatible browsers.
Fixes
- [Reports] Many fixes to improve the load speed for reports.
- [Instrumentation] Fixed issue encountered when adding coverage instrumentation to WAR files.
- [Service] Fixed situations in which CI callbacks could fail to fire.
Dec 20, 2023 - 5.1
Features
-
[Reports] Logs captured in reports can be searched by text and filtered by text through inline search bars. Additionally, logs coverage extends somewhat beyond bug manifestation, which often surfaces stack traces, etc.
-
[Reports] Reports use less bandwidth and render more quickly once loaded.
-
[Instrumentation] ASAN-compiled binaries are supported with Antithesis instrumentation.
-
[Fault Injection] New fault type: clock-skew faults can be introduced at the customer container level.
-
[Reports] New report: the Bug Report offers a deep-dive for debugging a particular issue.
-
[API] Artifact gathering is more configurable to match customers’ needs.
-
[Reports] Triage Reports include:
- Additional metadata about tested software such as upload data and all the tags associated with that container.
- Much more complete description about each tested property.
- Go instrumented binaries have correct line-number information in stack traces, etc.
- Bugs in the Triage Report have a Copy moment function.
Fixes
- [API] Core dump files did not support spaces in the name.
- [API] Artifact (core dump, log file, etc.) extraction is more reliable.
- [Fault Injection] Thread-pausing for LLVM-based binaries could be unexpectedly disabled.
- [Reports] In some cases customers would receive multiple emails for a single test.