Releases: boostorg/nowide
Release v11.3.0
UTF8-aware functions for Windows to make cross-platform easier
Release v11.2.0
UTF8-aware functions for Windows to make cross-platform easier
Changes
filebuf
: Major performance improvement for Bulk I/Ofilebuf
: Fix wrong return value ofsync
whenfflush
failedfilebuf
: Fix possible undefined behavior in a corner case when nothing was actually written but buffer is in "write" modefilebuf
: 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)
Release v11.1.4
UTF8-aware functions for Windows to make cross-platform easier
Release v11.1.3
UTF8-aware functions for Windows to make cross-platform easier
Changes
- Improve performance of utf8_codecvt
- Ensure initialization of std::cout/cerr/cin in nw::cout/cerr/cin
- Suppress or handle some warnings
- Fix missing
config/check_lfs_support.cpp
in release tarballs - Fix possible double-free when setting a custom buffer (
setbuf
) after filebuf already allocated an internal buffer
Release v11.1.2
UTF8-aware functions for Windows to make cross-platform easier
Changes
- Don't define
__MSVCRT_VERSION__
version to fix compatibility with ucrt
From 11.1.1 tag:
- 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.
Release v11.1.0
UTF8-aware functions for Windows to make cross-platform easier
Changes
- Add support for string_view to
narrow
andwiden
- Add support for UTF character types such as
char16_t
Release v11.0.0
UTF8-aware functions for Windows to make cross-platform easier
Changes
- 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
Release v10.0.2
UTF8-aware functions for Windows to make cross-platform easier
Changes:
- 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
Release v10.0.1
UTF8-aware functions for Windows to make cross-platform easier
Release v10.0.0
UTF8-aware functions for Windows to make cross-platform easier
Initial release, contains fixes and enhancements implemented on top of the original project.
- Proper CMake support
- Invalid UTF-8 sequences are silently converted to the replacement char (default:
U+FFFD
) - Throw exceptions in (unlikely case) that WinAPI calls fail (there is no meaningful recovery in such cases)
- Support for
boost::filesystem::path
in streams - Critical bugfix of
putenv
leading to potential read of invalid memory
Supports usage as part of Boost or as a submodule (copy folder to some location add use add_subdirectory
in CMake to add it to the build)
The standalone version requires no Boost library at all but a C++11 capable compiler instead.