ghc::filesystem Release v1.3.6

2020-10-10 07:46

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 adds CentOS 7 and 8 to the CI tested and supported platforms. Additionally the fs::path class was optimized to create less copies and temporaries during many operations.

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!