blob: 4ca08147cd188a50b771fd5029979f2970dac944 [file] [log] [blame]
Jeff Thompsona28eed82013-08-22 16:21:10 -07001
2[/ Copyright 2005-2008 Daniel James.
3 / Distributed under the Boost Software License, Version 1.0. (See accompanying
4 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ]
5
6[section:changes Change Log]
7
8[h2 Boost 1.33.0]
9
10* Initial Release
11
12[h2 Boost 1.33.1]
13
14* Fixed the points example, as pointed out by 沈慧峰.
15
16[h2 Boost 1.34.0]
17
18* Use declarations for standard classes, so that the library
19 doesn't need to include all of their headers
20* Deprecated the `<boost/functional/hash/*.hpp>` headers. Now a single header,
21 <[headerref boost/functional/hash.hpp]> is used.
22* Add support for the `BOOST_HASH_NO_EXTENSIONS` macro, which
23 disables the extensions to TR1.
24
25* Minor improvements to the hash functions for floating point numbers.
26* Update the portable example to hopefully be more generally portable.
27
28[h2 Boost 1.34.1]
29
30* [@http://svn.boost.org/trac/boost/ticket/952 Ticket 952]:
31 Suppress incorrect 64-bit warning on Visual C++.
32
33[h2 Boost 1.35.0]
34
35* Support for `long long`, `std::complex`.
36* Improved algorithm for hashing floating point numbers:
37 * Improved portablity, as described by Daniel Krügler in
38 [@http://lists.boost.org/boost-users/2005/08/13418.php
39 a post to the boost users list].
40 * Fits more information into each combine loop, which can reduce the
41 the number of times combine is called and hopefully give a better
42 quality hash function.
43 * Improved the algorithm for hashing floating point numbers.
44 * On Cygwin use a binary hash function for floating point numbers, as
45 Cygwin doesn't have decent floating point functions for `long double`.
46 * Never uses `fpclass` which doesn't support `long double`.
47 * [@http://svn.boost.org/trac/boost/ticket/1064 Ticket 1064]:
48 Removed unnecessary use of `errno`.
49* Explicitly overload for more built in types.
50* Minor improvements to the documentation.
51* A few bug and warning fixes:
52 * [@http://svn.boost.org/trac/boost/ticket/1509 Ticket 1509]:
53 Suppress another Visual C++ warning.
54 * Some workarounds for the Sun compilers.
55
56[h2 Boost 1.36.0]
57
58* Stop using OpenBSD's dodgy `std::numeric_limits`.
59* Using the boost typedefs for `long long` and `unsigned long long`.
60* Move the extensions into their own header.
61
62[h2 Boost 1.37.0]
63
64* [@http://svn.boost.org/trac/boost/ticket/2264 Ticket 2264]:
65 In Visual C++, always use C99 float functions for `long double` and `float` as
66 the C++ overloads aren't always availables.
67
68[h2 Boost 1.38.0]
69
70* Changed the warnings in the deprecated headers from 1.34.0 to errors. These
71 will be removed in a future version of Boost.
72* Moved detail headers out of `boost/functional/detail`, since they are part of
73 functional/hash, not functional. `boost/functional/detail/container_fwd.hpp`
74 has been moved to `boost/detail/container_fwd.hpp` as it's used outside of
75 this library, the others have been moved to `boost/functional/hash/detail`.
76
77[h2 Boost 1.39.0]
78
79* Move the hash_fwd.hpp implementation into the hash subdirectory, leaving a
80 forwarding header in the old location. You should still use the old location,
81 the new location is mainly for implementation and possible modularization.
82* [@https://svn.boost.org/trac/boost/ticket/2412 Ticket 2412]: Removed deprecated
83 headers.
84* [@https://svn.boost.org/trac/boost/ticket/2957 Ticket 2957]: Fix configuration
85 for vxworks.
86
87[h2 Boost 1.40.0]
88
89* Automatically configure the float functions using template metaprogramming
90 instead of trying to configure every possibility manually.
91* Workaround for when STLport doesn't support long double.
92
93[h2 Boost 1.42.0]
94
95* Reduce the number of warnings for Visual C++ warning level 4.
96* Some code formatting changes to fit lines into 80 characters.
97* Rename an internal namespace.
98
99[h2 Boost 1.43.0]
100
101* [@https://svn.boost.org/trac/boost/ticket/3866 Ticket 3866]:
102 Don't foward declare containers when using gcc's parallel library,
103 allow user to stop forward declaration by defining the
104 `BOOST_DETAIL_NO_CONTAINER_FWD` macro.
105* [@https://svn.boost.org/trac/boost/ticket/4038 Ticket 4038]:
106 Avoid hashing 0.5 and 0 to the same number.
107* Stop using deprecated `BOOST_HAS_*` macros.
108
109[h2 Boost 1.44.0]
110
111* Add option to prevent implicit conversions when calling `hash_value` by
112 defining `BOOST_HASH_NO_IMPLICIT_CASTS`. When using `boost::hash`
113 for a type that does not have `hash_value` declared but does have
114 an implicit conversion to a type that does, it would use that
115 implicit conversion to hash it. Which can sometimes go very wrong,
116 e.g. using a conversion to bool and only hashing to 2 possible
117 values. Since fixing this is a breaking change and was only
118 approached quite late in the release cycle with little discussion
119 it's opt-in for now. This, or something like it, will become the
120 default in a future version.
121
122[h2 Boost 1.46.0]
123
124* Avoid warning due with gcc's `-Wconversion` flag.
125
126[h2 Boost 1.50.0]
127
128* [@http://svn.boost.org/trac/boost/ticket/6771 Ticket 6771]:
129 Avoid gcc's `-Wfloat-equal` warning.
130* [@http://svn.boost.org/trac/boost/ticket/6806 Ticket 6806]:
131 Support `std::array` and `std::tuple` when available.
132* Add deprecation warning to the long deprecated
133 `boost/functional/detail/container_fwd.hpp`.
134
135[h2 Boost 1.51.0]
136
137* Support the standard smart pointers.
138* `hash_value` now implemented using SFINAE to avoid implicit casts to built
139 in types when calling it.
140* Updated to use the new config macros.
141
142[h2 Boost 1.52.0]
143
144* Restore `enum` support, which was accidentally removed in the last version.
145* New floating point hasher - will hash the binary representation on more
146 platforms, which should be faster.
147
148[h2 Boost 1.53.0]
149
150* Add support for `boost::int128_type` and `boost::uint128_type` where
151 available - currently only `__int128` and `unsigned __int128` on some
152 versions of gcc.
153* On platforms that are known to have the standard floating point functions,
154 don't use automatic detection - which can break if there are ambiguous
155 overloads.
156* Fix undefined behaviour when using the binary float hash (Thomas Heller).
157
158[h2 Boost 1.54.0]
159
160* [@https://svn.boost.org/trac/boost/ticket/7957 Ticket 7957]:
161 Fixed a typo.
162
163[endsect]