blob: e42e68fc8377df4f7f2a08547dcad8f0aa4ea3c0 [file] [log] [blame]
zhanyong.wan061f1d42013-04-07 03:16:38 +00001Changes for 1.7.0:
2
zhanyong.wanf4274522013-04-24 02:49:43 +00003* All new improvements in Google Test 1.7.0.
zhanyong.wan616180e2013-06-18 18:49:51 +00004* New feature: matchers DoubleNear(), FloatNear(),
zhanyong.wanfb25d532013-07-28 08:24:00 +00005 NanSensitiveDoubleNear(), NanSensitiveFloatNear(),
6 UnorderedElementsAre(), UnorderedElementsAreArray(), WhenSorted(),
zhanyong.wan616180e2013-06-18 18:49:51 +00007 WhenSortedBy(), IsEmpty(), and SizeIs().
zhanyong.wanf4274522013-04-24 02:49:43 +00008* Improvement: Google Mock can now be built as a DLL.
zhanyong.wan616180e2013-06-18 18:49:51 +00009* Improvement: when compiled by a C++11 compiler, matchers AllOf()
10 and AnyOf() can accept an arbitrary number of matchers.
zhanyong.wan1cc1d4b2013-08-08 18:41:51 +000011* Improvement: when compiled by a C++11 compiler, matchers
12 ElementsAreArray() can accept an initializer list.
zhanyong.wanf4274522013-04-24 02:49:43 +000013* Improvement: when exceptions are enabled, a mock method with no
14 default action now throws instead crashing the test.
zhanyong.wan1cc1d4b2013-08-08 18:41:51 +000015* Improvement: added class testing::StringMatchResultListener to aid
16 definition of composite matchers.
zhanyong.wanf4274522013-04-24 02:49:43 +000017* Improvement: function return types used in MOCK_METHOD*() macros can
18 now contain unprotected commas.
19* Improvement (potentially breaking): EXPECT_THAT() and ASSERT_THAT()
20 are now more strict in ensuring that the value type and the matcher
21 type are compatible, catching potential bugs in tests.
22* Improvement: Pointee() now works on an optional<T>.
23* Improvement: the ElementsAreArray() matcher can now take a vector or
24 iterator range as input, and makes a copy of its input elements
25 before the conversion to a Matcher.
26* Bug fix: mock object destruction triggerred by another mock object's
27 destruction no longer hangs.
28* Improvement: Google Mock Doctor works better with newer Clang and
29 GCC now.
30* Compatibility fixes.
31* Bug/warning fixes.
zhanyong.wan061f1d42013-04-07 03:16:38 +000032
zhanyong.wan79d82b62011-02-24 07:31:48 +000033Changes for 1.6.0:
34
35* Compilation is much faster and uses much less memory, especially
36 when the constructor and destructor of a mock class are moved out of
37 the class body.
38* New matchers: Pointwise(), Each().
39* New actions: ReturnPointee() and ReturnRefOfCopy().
zhanyong.wan62a35fb2011-02-24 21:59:54 +000040* CMake support.
zhanyong.wan79d82b62011-02-24 07:31:48 +000041* Project files for Visual Studio 2010.
42* AllOf() and AnyOf() can handle up-to 10 arguments now.
43* Google Mock doctor understands Clang error messages now.
44* SetArgPointee<> now accepts string literals.
45* gmock_gen.py handles storage specifier macros and template return
46 types now.
47* Compatibility fixes.
48* Bug fixes and implementation clean-ups.
zhanyong.wan8d7c5ad2011-04-14 07:49:05 +000049* Potentially incompatible changes: disables the harmful 'make install'
50 command in autotools.
zhanyong.wan79d82b62011-02-24 07:31:48 +000051
52Potentially breaking changes:
53
54* The description string for MATCHER*() changes from Python-style
55 interpolation to an ordinary C++ string expression.
56* SetArgumentPointee is deprecated in favor of SetArgPointee.
57* Some non-essential project files for Visual Studio 2005 are removed.
58
zhanyong.wan5905ba02010-02-24 17:21:37 +000059Changes for 1.5.0:
60
zhanyong.wanaa28b172010-03-26 05:38:55 +000061 * New feature: Google Mock can be safely used in multi-threaded tests
62 on platforms having pthreads.
63 * New feature: function for printing a value of arbitrary type.
64 * New feature: function ExplainMatchResult() for easy definition of
65 composite matchers.
zhanyong.wan5905ba02010-02-24 17:21:37 +000066 * The new matcher API lets user-defined matchers generate custom
67 explanations more directly and efficiently.
zhanyong.wanaa28b172010-03-26 05:38:55 +000068 * Better failure messages all around.
zhanyong.wan5905ba02010-02-24 17:21:37 +000069 * NotNull() and IsNull() now work with smart pointers.
70 * Field() and Property() now work when the matcher argument is a pointer
71 passed by reference.
zhanyong.wanaa28b172010-03-26 05:38:55 +000072 * Regular expression matchers on all platforms.
zhanyong.wan5905ba02010-02-24 17:21:37 +000073 * Added GCC 4.0 support for Google Mock Doctor.
74 * Added gmock_all_test.cc for compiling most Google Mock tests
75 in a single file.
76 * Significantly cleaned up compiler warnings.
77 * Bug fixes, better test coverage, and implementation clean-ups.
78
79 Potentially breaking changes:
80
81 * Custom matchers defined using MatcherInterface or MakePolymorphicMatcher()
82 need to be updated after upgrading to Google Mock 1.5.0; matchers defined
83 using MATCHER or MATCHER_P* aren't affected.
84 * Dropped support for 'make install'.
85
zhanyong.wan7db42db2009-10-01 23:31:41 +000086Changes for 1.4.0 (we skipped 1.2.* and 1.3.* to match the version of
87Google Test):
zhanyong.wan5bc7cfe2009-09-04 18:10:53 +000088
zhanyong.wan7db42db2009-10-01 23:31:41 +000089 * Works in more environments: Symbian and minGW, Visual C++ 7.1.
90 * Lighter weight: comes with our own implementation of TR1 tuple (no
91 more dependency on Boost!).
zhanyong.wan5bc7cfe2009-09-04 18:10:53 +000092 * New feature: --gmock_catch_leaked_mocks for detecting leaked mocks.
93 * New feature: ACTION_TEMPLATE for defining templatized actions.
94 * New feature: the .After() clause for specifying expectation order.
95 * New feature: the .With() clause for for specifying inter-argument
96 constraints.
97 * New feature: actions ReturnArg<k>(), ReturnNew<T>(...), and
98 DeleteArg<k>().
zhanyong.wan7db42db2009-10-01 23:31:41 +000099 * New feature: matchers Key(), Pair(), Args<...>(), AllArgs(), IsNull(),
100 and Contains().
101 * New feature: utility class MockFunction<F>, useful for checkpoints, etc.
zhanyong.wan5bc7cfe2009-09-04 18:10:53 +0000102 * New feature: functions Value(x, m) and SafeMatcherCast<T>(m).
103 * New feature: copying a mock object is rejected at compile time.
104 * New feature: a script for fusing all Google Mock and Google Test
105 source files for easy deployment.
106 * Improved the Google Mock doctor to diagnose more diseases.
107 * Improved the Google Mock generator script.
zhanyong.wan7db42db2009-10-01 23:31:41 +0000108 * Compatibility fixes for Mac OS X and gcc.
zhanyong.wan5bc7cfe2009-09-04 18:10:53 +0000109 * Bug fixes and implementation clean-ups.
110
zhanyong.wanda579bd2009-03-17 23:34:45 +0000111Changes for 1.1.0:
112
113 * New feature: ability to use Google Mock with any testing framework.
114 * New feature: macros for easily defining new matchers
115 * New feature: macros for easily defining new actions.
116 * New feature: more container matchers.
117 * New feature: actions for accessing function arguments and throwing
118 exceptions.
119 * Improved the Google Mock doctor script for diagnosing compiler errors.
zhanyong.wan5bc7cfe2009-09-04 18:10:53 +0000120 * Bug fixes and implementation clean-ups.
zhanyong.wanda579bd2009-03-17 23:34:45 +0000121
shiqiane35fdd92008-12-10 05:08:54 +0000122Changes for 1.0.0:
123
124 * Initial Open Source release of Google Mock