Skip to content

Releases: google/googletest

v1.14.0

02 Aug 16:32
Compare
Choose a tag to compare

Release Notes

GoogleTest will not accept patches of new features to the v1.14.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.

C++ Language Support

Notable Changes

  • Many bug fixes

v1.13.0

17 Jan 18:52
Compare
Choose a tag to compare

Release Notes

GoogleTest will not accept patches of new features to the v1.13.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.

C++ Language Support

Notable Changes

  • Floating point prints full precision by default to aid in debugging (9c33214)
  • GTEST_FAIL_AT now terminates the test (like ASSERT_*), rather than failing and continuing (like EXPECT_*) (6f14952)
  • Added testing::SrcDir(), which returns the configured directory for test data files (912db74)

v1.12.1

30 Jun 13:46
58d77fa
Compare
Choose a tag to compare

Release Notes

GoogleTest will not accept patches of new features to the v1.12.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.

C++ Language Support

  • This will be the last release to support C++11. Future releases will require at least C++14.

Mocking

  • Support for move-only values to Return (5126f71)

Matchers

  • New matchers
  • ResultOf() now has a 3-arg overload that takes a description string for better error messages (0e40217)

Build & Test

  • CMake minimum increased to 3.5
  • Bazel users that build GoogleTest using the Abseil library as a dependency now also require a dependency on RE2 (e33c2b2)
  • Bazel users that build GoogleTest using the Abseil library now use the Abseil library to parse all command-line flags (25dcdc7)

Patches

58d77fa - Fixes the version number in CMakeLists.txt (#3911)

v1.12.0

23 Jun 14:17
Compare
Choose a tag to compare

Release Notes

GoogleTest will not accept patches of new features to v1.12.0.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.

C++ Language Support

  • This will be the last release to support C++11. Future releases will require at least C++14.

Mocking

  • Support for move-only values to Return (5126f71)

Matchers

  • New matchers
  • ResultOf() now has a 3-arg overload that takes a description string for better error messages (0e40217)

Build & Test

  • CMake minimum increased to 3.5
  • Bazel users that build GoogleTest using the Abseil library as a dependency now also require a dependency on RE2 (e33c2b2)
  • Bazel users that build GoogleTest using the Abseil library now use the Abseil library to parse all command-line flags (25dcdc7)

v1.11.0

12 Jun 03:08
Compare
Choose a tag to compare

Release Notes

GoogleTest will not accept patches of new features to v1.11.0.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.

Documentation

Mocking

  • MOCK_METHOD now handles noexcept correctly (#2498)
  • MOCK_METHOD now supports ref-qualifiers (d89b363)
  • MOCK_METHOD now supports returning function pointers (1f9edcd)
  • DoAll now accepts move-only arguments (48ec640)
  • MockFunction can now be used for mocking std::function (#2350)
  • MockFunction is now templated for use with other function classes, besides std::function (662fe38)
  • ACTION macros now support more than 10 arguments (63713e1)

Matchers

  • New matchers
  • New actions
  • Added Matcher<std::string_view> specialization that internally stores a string instead of string_view (6f5fd0d)
  • String matchers now accept string_view input (13a433a)
  • DoubleNearPredFormat matcher now fails on impractically small epsilons (b5687db)
  • Truly matcher now explains failures (0c400f6)
  • Matchers can now be implemented without extending MatcherInterface (c13c27a)
  • Added output messages for skipped tests (#2517, #2767)

Behavior

  • New flags
    • --gtest_brief shows only test failures in output (#2751)
    • --gtest_fail_fast stops test execution on first failure (1ced315)
  • Failures in SetUpTestSuite and TearDownTestSuite now cause tests to fail rather than log (9ed99c6)
  • Uninstantiated TEST_P and TYPED_TEST_P now fail unless allowlisted using GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST (d442089, a13a062, 0b024bd, 3e79d36, ec94d9f)

Output

  • Added specialized printing for std::any, std::optional, and std::variant (#2742)
  • Added recursive printing for std::unique_ptr and std::shared_ptr (6b2e749)
  • Printing incomplete types is now supported (f8304d7)
  • Start timestamps in XML/JSON output now use millisecond precision (af1e75c)
  • Added more structured information about test suite to XML/JSON output on environment failures (ac1d60c)

Build & Test

  • CMake minimum increased to 2.8.12 (#3094)
  • GoogleTest is now using Kokoro CI instead of Travis and AppVeyor

Misc

v1.10.0

03 Oct 16:34
Compare
Choose a tag to compare

Release 1.10.0
1.10.0 Release reflects a current version of the project.
The 1.10.x will not consider any requests for any new features, The bug fix requests will only be considered if proven "critical"

High Level Changes:
This release deprecated "....TEST_CASE" API in favor of "....TEST_SUITE". In a nutshell if you have code that uses something like "INSTANTIATE_TYPED_TEST_CASE_P " - this and all other "*_TEST_CASE " are now deprecated in favor of more standard _TEST_SUITE. See https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature.

There is also new powerful MOCK_METHOD macro. See https://github.com/google/googletest/blob/72adf7a4155b6642da1e6761678fe546590c0269/googlemock/docs/cook_book.md#creating-mock-classes. This replaces older way of mocking.
For example
(Old) MOCK_METHOD1(Bar, double(std::string s));
(New) MOCK_METHOD(double, Bar, (std::string s), (override));
So there is no need to count the parameters anymore.

v1.8.1

31 Aug 15:53
2fe3bd9
Compare
Choose a tag to compare

1.8.1 Release reflects a current version of the project.
The 1.8.x is the last release supporting pre-C++11 compilers.
The 1.8.x will not accept any requests for any new features and any bugfix requests will only be accepted if proven "critical"