ghc::filesystem Release v1.3.6

2020-10-10 09:40

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

This release fixes symlink evaluation on Windows, enhances the performance of path handling and directory iteration, and root names are now case insensitive on Windows, introducing the new LWG_2936_BEHAVIOUR switch.

The full list of changes in v1.3.6:

  • Pull request #74 , on Windows symlink evaluation used the wrong reparse struct information and was not handling the case of relative paths well, thanks for the contribution.
  • Refactoring for #73 , enhanced performance in path handling. the changes lead to much fewer path/string creations or copies, speeding up large directory iteration or operations on many path instances.
  • Bugfix for #72 , the TestAllocator in filesystem_test.cpp was completed to fulfill the requirements to build on CentOS 7 with devtoolset-9. CentOS 7 and CentOS 8 are now part of the CI builds.
  • Bugfix for #70 , root names are now case insensitive on Windows. This fix also adds the new behaviour switch LWG_2936_BEHAVIOUR that allows to enable post C++17 fs::path::compare behaviour, where the comparison is as if it was an element wise path comparison as described in LWG 2936 and C++20 [fs.path.compare]. It is default off in v1.3.6 and will be default starting from v1.4.0 as it changes ordering.

I want to thank all contributors for their support!