1 Changes for 1.6.0: 2 3 * Compilation is much faster and uses much less memory, especially 4 when the constructor and destructor of a mock class are moved out of 5 the class body. 6 * New matchers: Pointwise(), Each(). 7 * New actions: ReturnPointee() and ReturnRefOfCopy(). 8 * CMake support. 9 * Project files for Visual Studio 2010. 10 * AllOf() and AnyOf() can handle up-to 10 arguments now. 11 * Google Mock doctor understands Clang error messages now. 12 * SetArgPointee<> now accepts string literals. 13 * gmock_gen.py handles storage specifier macros and template return 14 types now. 15 * Compatibility fixes. 16 * Bug fixes and implementation clean-ups. 17 18 Potentially breaking changes: 19 20 * The description string for MATCHER*() changes from Python-style 21 interpolation to an ordinary C++ string expression. 22 * SetArgumentPointee is deprecated in favor of SetArgPointee. 23 * Some non-essential project files for Visual Studio 2005 are removed. 24 25 Changes for 1.5.0: 26 27 * New feature: Google Mock can be safely used in multi-threaded tests 28 on platforms having pthreads. 29 * New feature: function for printing a value of arbitrary type. 30 * New feature: function ExplainMatchResult() for easy definition of 31 composite matchers. 32 * The new matcher API lets user-defined matchers generate custom 33 explanations more directly and efficiently. 34 * Better failure messages all around. 35 * NotNull() and IsNull() now work with smart pointers. 36 * Field() and Property() now work when the matcher argument is a pointer 37 passed by reference. 38 * Regular expression matchers on all platforms. 39 * Added GCC 4.0 support for Google Mock Doctor. 40 * Added gmock_all_test.cc for compiling most Google Mock tests 41 in a single file. 42 * Significantly cleaned up compiler warnings. 43 * Bug fixes, better test coverage, and implementation clean-ups. 44 45 Potentially breaking changes: 46 47 * Custom matchers defined using MatcherInterface or MakePolymorphicMatcher() 48 need to be updated after upgrading to Google Mock 1.5.0; matchers defined 49 using MATCHER or MATCHER_P* aren't affected. 50 * Dropped support for 'make install'. 51 52 Changes for 1.4.0 (we skipped 1.2.* and 1.3.* to match the version of 53 Google Test): 54 55 * Works in more environments: Symbian and minGW, Visual C++ 7.1. 56 * Lighter weight: comes with our own implementation of TR1 tuple (no 57 more dependency on Boost!). 58 * New feature: --gmock_catch_leaked_mocks for detecting leaked mocks. 59 * New feature: ACTION_TEMPLATE for defining templatized actions. 60 * New feature: the .After() clause for specifying expectation order. 61 * New feature: the .With() clause for for specifying inter-argument 62 constraints. 63 * New feature: actions ReturnArg<k>(), ReturnNew<T>(...), and 64 DeleteArg<k>(). 65 * New feature: matchers Key(), Pair(), Args<...>(), AllArgs(), IsNull(), 66 and Contains(). 67 * New feature: utility class MockFunction<F>, useful for checkpoints, etc. 68 * New feature: functions Value(x, m) and SafeMatcherCast<T>(m). 69 * New feature: copying a mock object is rejected at compile time. 70 * New feature: a script for fusing all Google Mock and Google Test 71 source files for easy deployment. 72 * Improved the Google Mock doctor to diagnose more diseases. 73 * Improved the Google Mock generator script. 74 * Compatibility fixes for Mac OS X and gcc. 75 * Bug fixes and implementation clean-ups. 76 77 Changes for 1.1.0: 78 79 * New feature: ability to use Google Mock with any testing framework. 80 * New feature: macros for easily defining new matchers 81 * New feature: macros for easily defining new actions. 82 * New feature: more container matchers. 83 * New feature: actions for accessing function arguments and throwing 84 exceptions. 85 * Improved the Google Mock doctor script for diagnosing compiler errors. 86 * Bug fixes and implementation clean-ups. 87 88 Changes for 1.0.0: 89 90 * Initial Open Source release of Google Mock 91