Changelog

# Changelog

## Nowide 11.3.0 (Boost 1.82)

- Add `convert_string` overload accepting a string
- Add `quoted` to output (quoted) paths (std::filesystem or boost::filesystem)

## Nowide 11.2.0 (Boost 1.80)

- `filebuf`: Major performance improvement for Bulk I/O
- `filebuf`: Fix wrong return value of `sync` when `fflush` failed
- `filebuf`: Fix possible undefined behavior in a corner case when nothing was actually written but buffer is in "write" mode
- `filebuf`: Limit putback of characters (i.e. `pbackfail`) only allowing putback of buffered characters (may be only 1 character)
- Add missing define `NOWIDE_USE_WCHAR_OVERLOADS` (standalone only)

## Nowide 11.1.4 (Boost 1.79)

- Fix possible redefinition of `_LARGEFILE_SOURCE`
- Fix missing include when `BOOST_USE_WINDOWS_H` and `WIN32_LEAN_AND_MEAN` are defined.
- Fix compile failures on recent MinGW-w64 compilers
- Add sanity checking of the buffer size passed to the (possibly) 64 bit `stat` function
- Known issues: Read performance for text files is possibly worse than the `std` streams. Binary files and writing is unaffected.
- Fix possible use-after-free when reusing a closed filebuf

## Nowide 11.1.3 (Boost 1.78)

- Fix missing config file in release
- Fix possible double-free when setting a custom buffer (`setbuf`) after filebuf already allocated an internal buffer
- Handle some warnings (mostly on MSVC)
- Known issues: Read performance for text files is degraded. Binary files and writing is unaffected.

## Nowide 11.1.2 (Boost 1.76)

- Don't define `__MSVCRT_VERSION__` version to fix compatibility with ucrt
- Known issues: Read performance for text files is degraded. Binary files and writing is unaffected.

## Nowide 11.1.1

- Fix discarding of characters for text file streams when seek or sync functions are used and newlines were converted (e.g. on Windows)
- Fix potential use-after-free bug when reusing (via `open`) a file stream that has been closed
- Fix potential invalid memory access when using a file stream that has been moved or swapped to where the source had a put-back character or was set to unbuffered mode
- Known issues: Read performance for text files is degraded. Binary files and writing is unaffected.

## Nowide 11.1.0

- Add support for string_view to `narrow` and `widen`
- Add support for UTF character types such as `char16_t`

## Nowide 11.0.0 (Boost 1.74)

- Require C++11 compatible compiler and stdlib
- LFS: Add support for files > 2 GB where the underlying system supports it
- Generic UTF conversion functions are now available in the `boost::nowide::utf` namespace
- Add support for stat with UTF-8 paths

## Nowide 10.0.2

- boost::nowide::cin now ignores CR (\r) characters and treats CTRL+Z at the beginning of a line as EOF (matching `std::cin` behavior)
- boost::nowide::cin supports sync by flushing the input and console buffer

## Nowide 10.0.1 (Boost 1.73)

- IMPORTANT: C++03 support is deprecated and will be removed in the next Boost release
- Fix -Wctor-dtor-privacy warning in trait

## Nowide 10.0.0

- Initial Release