CHANGES revision 13481
1Changes for 1.7.0:
2
3* All new improvements in Google Test 1.7.0.
4* New feature: matchers DoubleNear(), FloatNear(),
5  NanSensitiveDoubleNear(), NanSensitiveFloatNear(),
6  UnorderedElementsAre(), UnorderedElementsAreArray(), WhenSorted(),
7  WhenSortedBy(), IsEmpty(), and SizeIs().
8* Improvement: Google Mock can now be built as a DLL.
9* Improvement: when compiled by a C++11 compiler, matchers AllOf()
10  and AnyOf() can accept an arbitrary number of matchers.
11* Improvement: when compiled by a C++11 compiler, matchers
12  ElementsAreArray() can accept an initializer list.
13* Improvement: when exceptions are enabled, a mock method with no
14  default action now throws instead crashing the test.
15* Improvement: added class testing::StringMatchResultListener to aid
16  definition of composite matchers.
17* 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* Improvement: the Google Mock Generator can now generate mocks for
27  some class templates.
28* Bug fix: mock object destruction triggerred by another mock object's
29  destruction no longer hangs.
30* Improvement: Google Mock Doctor works better with newer Clang and
31  GCC now.
32* Compatibility fixes.
33* Bug/warning fixes.
34
35Changes for 1.6.0:
36
37* Compilation is much faster and uses much less memory, especially
38  when the constructor and destructor of a mock class are moved out of
39  the class body.
40* 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