CHANGES revision 13481
113481Sgiacomo.travaglini@arm.comChanges for 1.7.0:
213481Sgiacomo.travaglini@arm.com
313481Sgiacomo.travaglini@arm.com* All new improvements in Google Test 1.7.0.
413481Sgiacomo.travaglini@arm.com* New feature: matchers DoubleNear(), FloatNear(),
513481Sgiacomo.travaglini@arm.com  NanSensitiveDoubleNear(), NanSensitiveFloatNear(),
613481Sgiacomo.travaglini@arm.com  UnorderedElementsAre(), UnorderedElementsAreArray(), WhenSorted(),
713481Sgiacomo.travaglini@arm.com  WhenSortedBy(), IsEmpty(), and SizeIs().
813481Sgiacomo.travaglini@arm.com* Improvement: Google Mock can now be built as a DLL.
913481Sgiacomo.travaglini@arm.com* Improvement: when compiled by a C++11 compiler, matchers AllOf()
1013481Sgiacomo.travaglini@arm.com  and AnyOf() can accept an arbitrary number of matchers.
1113481Sgiacomo.travaglini@arm.com* Improvement: when compiled by a C++11 compiler, matchers
1213481Sgiacomo.travaglini@arm.com  ElementsAreArray() can accept an initializer list.
1313481Sgiacomo.travaglini@arm.com* Improvement: when exceptions are enabled, a mock method with no
1413481Sgiacomo.travaglini@arm.com  default action now throws instead crashing the test.
1513481Sgiacomo.travaglini@arm.com* Improvement: added class testing::StringMatchResultListener to aid
1613481Sgiacomo.travaglini@arm.com  definition of composite matchers.
1713481Sgiacomo.travaglini@arm.com* Improvement: function return types used in MOCK_METHOD*() macros can
1813481Sgiacomo.travaglini@arm.com  now contain unprotected commas.
1913481Sgiacomo.travaglini@arm.com* Improvement (potentially breaking): EXPECT_THAT() and ASSERT_THAT()
2013481Sgiacomo.travaglini@arm.com  are now more strict in ensuring that the value type and the matcher
2113481Sgiacomo.travaglini@arm.com  type are compatible, catching potential bugs in tests.
2213481Sgiacomo.travaglini@arm.com* Improvement: Pointee() now works on an optional<T>.
2313481Sgiacomo.travaglini@arm.com* Improvement: the ElementsAreArray() matcher can now take a vector or
2413481Sgiacomo.travaglini@arm.com  iterator range as input, and makes a copy of its input elements
2513481Sgiacomo.travaglini@arm.com  before the conversion to a Matcher.
2613481Sgiacomo.travaglini@arm.com* Improvement: the Google Mock Generator can now generate mocks for
2713481Sgiacomo.travaglini@arm.com  some class templates.
2813481Sgiacomo.travaglini@arm.com* Bug fix: mock object destruction triggerred by another mock object's
2913481Sgiacomo.travaglini@arm.com  destruction no longer hangs.
3013481Sgiacomo.travaglini@arm.com* Improvement: Google Mock Doctor works better with newer Clang and
3113481Sgiacomo.travaglini@arm.com  GCC now.
3213481Sgiacomo.travaglini@arm.com* Compatibility fixes.
3313481Sgiacomo.travaglini@arm.com* Bug/warning fixes.
3413481Sgiacomo.travaglini@arm.com
3513481Sgiacomo.travaglini@arm.comChanges for 1.6.0:
3613481Sgiacomo.travaglini@arm.com
3713481Sgiacomo.travaglini@arm.com* Compilation is much faster and uses much less memory, especially
3813481Sgiacomo.travaglini@arm.com  when the constructor and destructor of a mock class are moved out of
3913481Sgiacomo.travaglini@arm.com  the class body.
4013481Sgiacomo.travaglini@arm.com* New matchers: Pointwise(), Each().
41* New actions: ReturnPointee() and ReturnRefOfCopy().
42* CMake support.
43* Project files for Visual Studio 2010.
44* AllOf() and AnyOf() can handle up-to 10 arguments now.
45* Google Mock doctor understands Clang error messages now.
46* SetArgPointee<> now accepts string literals.
47* gmock_gen.py handles storage specifier macros and template return
48  types now.
49* Compatibility fixes.
50* Bug fixes and implementation clean-ups.
51* Potentially incompatible changes: disables the harmful 'make install'
52  command in autotools.
53
54Potentially breaking changes:
55
56* The description string for MATCHER*() changes from Python-style
57  interpolation to an ordinary C++ string expression.
58* SetArgumentPointee is deprecated in favor of SetArgPointee.
59* Some non-essential project files for Visual Studio 2005 are removed.
60
61Changes for 1.5.0:
62
63 * New feature: Google Mock can be safely used in multi-threaded tests
64   on platforms having pthreads.
65 * New feature: function for printing a value of arbitrary type.
66 * New feature: function ExplainMatchResult() for easy definition of
67   composite matchers.
68 * The new matcher API lets user-defined matchers generate custom
69   explanations more directly and efficiently.
70 * Better failure messages all around.
71 * NotNull() and IsNull() now work with smart pointers.
72 * Field() and Property() now work when the matcher argument is a pointer
73   passed by reference.
74 * Regular expression matchers on all platforms.
75 * Added GCC 4.0 support for Google Mock Doctor.
76 * Added gmock_all_test.cc for compiling most Google Mock tests
77   in a single file.
78 * Significantly cleaned up compiler warnings.
79 * Bug fixes, better test coverage, and implementation clean-ups.
80
81 Potentially breaking changes:
82
83 * Custom matchers defined using MatcherInterface or MakePolymorphicMatcher()
84   need to be updated after upgrading to Google Mock 1.5.0; matchers defined
85   using MATCHER or MATCHER_P* aren't affected.
86 * Dropped support for 'make install'.
87
88Changes for 1.4.0 (we skipped 1.2.* and 1.3.* to match the version of
89Google Test):
90
91 * Works in more environments: Symbian and minGW, Visual C++ 7.1.
92 * Lighter weight: comes with our own implementation of TR1 tuple (no
93   more dependency on Boost!).
94 * New feature: --gmock_catch_leaked_mocks for detecting leaked mocks.
95 * New feature: ACTION_TEMPLATE for defining templatized actions.
96 * New feature: the .After() clause for specifying expectation order.
97 * New feature: the .With() clause for for specifying inter-argument
98   constraints.
99 * New feature: actions ReturnArg<k>(), ReturnNew<T>(...), and
100   DeleteArg<k>().
101 * New feature: matchers Key(), Pair(), Args<...>(), AllArgs(), IsNull(),
102   and Contains().
103 * New feature: utility class MockFunction<F>, useful for checkpoints, etc.
104 * New feature: functions Value(x, m) and SafeMatcherCast<T>(m).
105 * New feature: copying a mock object is rejected at compile time.
106 * New feature: a script for fusing all Google Mock and Google Test
107   source files for easy deployment.
108 * Improved the Google Mock doctor to diagnose more diseases.
109 * Improved the Google Mock generator script.
110 * Compatibility fixes for Mac OS X and gcc.
111 * Bug fixes and implementation clean-ups.
112
113Changes for 1.1.0:
114
115 * New feature: ability to use Google Mock with any testing framework.
116 * New feature: macros for easily defining new matchers
117 * New feature: macros for easily defining new actions.
118 * New feature: more container matchers.
119 * New feature: actions for accessing function arguments and throwing
120   exceptions.
121 * Improved the Google Mock doctor script for diagnosing compiler errors.
122 * Bug fixes and implementation clean-ups.
123
124Changes for 1.0.0:
125
126 * Initial Open Source release of Google Mock
127