Releases: google/googletest
1.17.0
Release Notes
GoogleTest will not accept patches of new features to the v1.17.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.
C++ Language Support
- GoogleTest now requires at least C++17 and follows Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
Notable Changes
v1.16.0
Release Notes
GoogleTest will not accept patches of new features to the v1.16.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.
C++ Language Support
- GoogleTest requires at least C++14 and follows Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
- The
1.16.xbranch will be the last to support C++14. Future development will require at least C++17.
Notable Changes
- Bazel
BUILDfiles now reference repositories by their canonical names from the Bazel Central Registry (cee1ba1). Users still using the oldWORKSPACEsystem may need to userepo_mappingon repositories that still use the old names. - Testsuite properties as are now exported as XML elements, not attributes (b4aae50).
v1.15.2
Release Notes
GoogleTest will not accept patches of new features to the v1.15.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.
C++ Language Support
- GoogleTest requires at least C++14 and follows Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
Notable Changes
- Bzlmod is now officially supported (previously it was supported by the community). Note that it may take several days after the release for it to become available in the Bazel Central Registry.
- Many bug fixes
v1.15.0
Release Notes
GoogleTest will not accept patches of new features to the v1.15.x branch.
We recommend building GoogleTest from the latest commit instead.
Exceptional critical bug fixes may be considered.
C++ Language Support
- GoogleTest requires at least C++14 and follows Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
Notable Changes
- Bzlmod is now officially supported (previously it was supported by the community). Note that it may take several days after the release for it to become available in the Bazel Central Registry.
- Many bug fixes
Known Issues
v1.14.0
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
- GoogleTest requires at least C++14 and follows Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
Notable Changes
- Many bug fixes
v1.13.0
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
- GoogleTest now requires at least C++14 and follows Google's Foundational C++ Support Policy. See this table for a list of currently supported versions compilers, platforms, and build tools.
Notable Changes
v1.12.1
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
WhenBase64Unescaped(652ec31)
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
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
WhenBase64Unescaped(652ec31)
ResultOf()now has a 3-arg overload that takes a description string for better error messages (0e40217)
Build & Test
v1.11.0
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
- Contents significantly updated
- Files moved into docs (4892835)
- Now using GitHub pages (1a5a78b, d9c309f, c3fc92f)
- Added Bazel quickstart (32ad3c8)
- Added CMake quickstart (d4e3b8c)
Mocking
MOCK_METHODnow handles noexcept correctly (#2498)MOCK_METHODnow supports ref-qualifiers (d89b363)MOCK_METHODnow supports returning function pointers (1f9edcd)DoAllnow accepts move-only arguments (48ec640)MockFunctioncan now be used for mockingstd::function(#2350)MockFunctionis now templated for use with other function classes, besidesstd::function(662fe38)ACTIONmacros now support more than 10 arguments (63713e1)
Matchers
- New matchers
- New actions
ReturnRoundRobin(37f3227)
- Added
Matcher<std::string_view>specialization that internally stores astringinstead ofstring_view(6f5fd0d) - String matchers now accept
string_viewinput (13a433a) DoubleNearPredFormatmatcher now fails on impractically small epsilons (b5687db)Trulymatcher now explains failures (0c400f6)- Matchers can now be implemented without extending
MatcherInterface(c13c27a) - Added output messages for skipped tests (#2517, #2767)
Behavior
- New flags
- Failures in
SetUpTestSuiteandTearDownTestSuitenow cause tests to fail rather than log (9ed99c6) - Uninstantiated
TEST_PandTYPED_TEST_Pnow fail unless allowlisted usingGTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(d442089, a13a062, 0b024bd, 3e79d36, ec94d9f)
Output
- Added specialized printing for
std::any,std::optional, andstd::variant(#2742) - Added recursive printing for
std::unique_ptrandstd::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
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.