Skip to content

Commit 05bac4f

Browse files
authored
Add general note about StaticAssert, notes for Atomic, Filesystem, Log. (#621)
1 parent cffcc14 commit 05bac4f

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

release-notes/boost_1_91_0.adoc

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ boost_at:/doc/libs/1_91_0/[Documentation]
1212
// Boost-specific macros: https://github.com/cppalliance/asciidoctor-boost?tab=readme-ov-file#macros
1313
// Please keep the list of libraries sorted in lexicographical order.
1414

15+
== General Notes
16+
17+
* boost_phrase:library[StaticAssert,/libs/static_assert/] has been merged into boost_phrase:library[Config,/libs/config/]. This includes code, tests and documentation. For backward compatibility git submodule, CMake and b2 targets of StaticAssert are still available; the targets simply introduce a dependency on Config. Eventually, the submodule and targets will be removed. Users are recommended to update their dependencies on StaticAssert to replace it with Config. No C++ code modifications are necessary. Most Boost libraries have been updated accordingly.
18+
1519
== New Libraries
1620

1721
// Example:
@@ -36,6 +40,9 @@ boost_at:/doc/libs/1_91_0/[Documentation]
3640
** Fixed `import std` detection in CMake.
3741
** Simplified implmentation of `boost::anys::basic_any`.
3842

43+
* boost_phrase:library[Atomic,/libs/atomic/]:
44+
** Fixed compilation of `thread_pause` on PowerPC with Apple compilers. (boost_gh:issue[atomic,79])
45+
3946
* boost_phrase:library[Beast,/libs/beast/]:
4047
** Fixed typecast warnings in `inflate_with_eb`.
4148
** Enforced 8KB sanity limit on chunk headers.
@@ -58,6 +65,18 @@ boost_at:/doc/libs/1_91_0/[Documentation]
5865
* boost_phrase:library[Exception,/libs/exception/]:
5966
** Added customizable serialization API, built-in support for Boost.JSON and nlohmann/json.
6067

68+
* boost_phrase:library[Filesystem,/libs/filesystem/]:
69+
** Boost.Filesystem now defines and uses its own platform macros `BOOST_FILESYSTEM_POSIX_API` and `BOOST_FILESYSTEM_WINDOWS_API`. The old `BOOST_POSIX_API` and `BOOST_WINDOWS_API` macros are still defined by Boost.System. Boost.Filesystem will check that the two sets of macros are in sync and by default will fail to compile if not. The compilation error can be reduced to a warning by defining `BOOST_FILESYSTEM_ALLOW_SYSTEM_API_MISMATCH` to 1 or disabled entirely by defining it to 2. Note that in this case the error code values reported by Boost.Filesystem will not match the error category.
70+
** On POSIX platforms not supporting `openat` and related APIs, fixed an error reported by `recursive_directory_iterator` increment when the iterator encounters a dangling symlink and following symlinks is disabled.
71+
** *Breaking change for Cygwin users.* The library now treats Cygwin as a POSIX platform. This has several user-facing consequences, in particular:
72+
*** The `path::value_type` type has changed from `wchar_t` to `char`. As on other POSIX platforms, wide character paths will be converted to the narrow character encoding using the locale set by `path::imbue`. Note that since Cygwin is running on top of Windows, it will also perform character code conversion internally. It is important that locale in the Cygwin environment is configured correctly.
73+
*** Path syntax now follows POSIX conventions, Windows-specific paths (e.g. UNC paths, drive names and path prefixes) are not supported.
74+
*** Certain Windows-specific parts of the API will become inaccessible. Since reparse points are a Windows-only feature, `file_type::reparse_file` will not be reported for files. Reparse point handling is dependent on Cygwin runtime behavior.
75+
*** Cygwin has its own implementation of symlinks that is incompatible with native Windows symlinks. Boost.Filesystem will now create and operate on Cygwin symlinks.
76+
*** Error codes reported by Boost.Filesystem will now use POSIX `errno` values.
77+
** On DragonFly BSD, NetBSD and Solaris, Boost.Filesystem default path locale now uses UTF-8 for path character encoding.
78+
** On Linux, use `read`/`write` loop implementation of `copy_file` and `copy` for configfs, securityfs, cgroup and cgroup2 filesystems, in addition to the previously blacklisted filesystems.
79+
6180
* boost_phrase:library[JSON,/libs/json/]:
6281
** Changed `value` construction from `std::initializer_list` to use `value_from`.
6382

@@ -72,6 +91,9 @@ boost_at:/doc/libs/1_91_0/[Documentation]
7291
* boost_phrase:library[LexicalCast,/libs/lexical_cast/]:
7392
** Implemented initial version of C++20 module `boost.lexical_cast`.
7493

94+
* boost_phrase:library[Log,/libs/log/]:
95+
** Enabled building interprocess communication support on Cygwin by default.
96+
7597
* boost_phrase:library[MultiIndex,/libs/multi_index/]:
7698
** *Breaking change:* All type lists accepted or provided by the library (`indexed_by`,
7799
`tag`, nested typedefs `index_specifier_type_list`, `index_type_list`, `iterator_type_list`

0 commit comments

Comments
 (0)