ghc::filesystem Release v1.5.6

2021-05-24 10:26

Today I released v1.5.6 of ghc::filesystem , my implementation of C++17 std::filesystem for C++11, C++14, C++17 and C++20.

This release fixes ghc::filesystem erroneously treating mounted folders/volumes as symlinks, adds missing support for char16_t, char32_t and on C++20 char8_t literals, and brings experimental first QNX compile support.

The full list of changes in v1.5.6:

  • Fix for #124 , ghc::filesystem treated mounted folder/volumes erroneously as symlinks, leading fs::canonical to fail on paths containing those.
  • Fix for #122 , incrementing the recursive_directory_iterator will not try to enter dead symlinks.
  • Fix for #121 , on Windows backend the fs::remove failed when the path pointed to a read-only entry, see also (microsoft/STL#1511 ) for the corresponding issue in std::fs on windows.
  • Fix for #119 , added missing support for char16_t and char32_t and on C++20 char8_t literals.
  • Pull request #118 , when running tests as root, disable tests that would not work.
  • Pull request #117 , added checks to tests to detect the clang/libstdc++ combination.
  • Fix for #116 , internal macro GHC_NO_DIRENT_D_TYPE allows os detection to support systems without the dirent.d_type member, experimental first QNX compile support as initial use case, fixed issue with filesystems returning DT_UNKNOWN (e.g. reiserfs).
  • Pull request #115 , added string_view support when clang with libstdc++ is detected.
  • Fix for #114 , for macOS the pre-Catalina deployment target detection worked only if <Availability.h> was included before <ghc/fs_std.hpp> or <ghc/fs_std_fwd.hpp>/<ghc/fs_std_impl.hpp>.
  • Fix for #113 , the use of standard chapter numbers was misleading since C++17 and C++20 std::filesystem features are supported, and was replaced by the tag-like chapter names that stay (mostly) consistent over the versions.

I want to thank all contributors for their support!