changes.qbk 8.1 KB

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