ghc::filesystem Release v1.5.14

2023-03-05 13:13

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

This release brings build support for Haiku and GNU/Hurd, fixes a directory iterator issue on Windows where all files subsequent to a symlink were treated as symlinks, a POSIX issue with colons in filenames, a Y2038 bug on Windows and various other issues.

The full list of changes in v1.5.14:

  • Pull request #163 , build support for Haiku (also fixes #159 )
  • Pull request #162 , fix for directory iterator treating all files subsequent to a symlink as symlink on Windows
  • Pull request #161 , the CMake alias ghcFilesystem::ghc_filesystem is now set unconditionally
  • Fix for #160 , the cmake config now only sets install targets by default if the project is no subproject, as documented
  • Fix for #157 , suppress C4191 warning on MSVC for GetProcAddress casts
  • Fix for #156 , on POSIX stem(), filename() and extension() of fs::path would return wrong result if a colon was in the filename
  • Pull request #154 , build support for GNU/Hurd
  • Pull request #153 , fixed fs::last_write_time(path, time, ec) setter on iOS, tvOS and watchOS
  • Fix for #151 , fs::directory_entry::refresh() now, consistently with status() will not throw on symlinks to non-existing targets, but make the entry have file_type::not_found as the type
  • Pull request #149 , add version to CMake project and export it
  • Fix for #146 , handle EINTR on POSIX directory iteration and file copy to avoid errors on network filesystems
  • Pull request #145 , fix for Y2038 bug in timeToFILETIME on Windows
  • Pull request #144 , fs::copy_file() now also copies the permissions
  • Pull request #143 , fix for fs::copy_file() ignoring the skip_existing option.

I want to thank all contributors for their support!