Jeff Thompson | a28eed8 | 2013-08-22 16:21:10 -0700 | [diff] [blame] | 1 | |
| 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] |