Documentation can be found on Hackage.
Changes between versions are recorded in the change log.
Building from Git repository
When building this package directly from the Git repository, one must run
autoreconf -fi to generate the configure script needed by cabal configure. This requires Autoconf to be installed.
autoreconf -fi
cabal install
There is no need to run the configure script manually however, as cabal configure does that automatically.
Fix a bug where createFileLink and createDirectoryLink failed to
handle .. in absolute paths.
Improve support (partially) for paths longer than 260 characters on
Windows. To achieve this, many functions will now automatically prepend
\\?\ before calling the Windows API. As a side effect, the \\?\
prefix may show up in the error messages of the affected functions.
makeAbsolute can now handle drive-relative paths on Windows such as
C:foobar
1.3.1.0 (March 2017)
findFile (and similar functions): when an absolute path is given, the
list of search directories is now completely ignored. Previously, if the
list was empty, findFile would always fail.
(#72)
For symbolic links on Windows, the following functions had previously
interpreted paths as referring to the links themselves rather than their
targets. This was inconsistent with other platforms and has been fixed.
getFileSize
doesPathExist
doesDirectoryExist
doesFileExist
Fix incorrect location info in errors from pathIsSymbolicLink.
Add functions for symbolic link manipulation:
createFileLink
createDirectoryLink
removeDirectoryLink
getSymbolicLinkTarget
canonicalizePath can now resolve broken symbolic links too.
(#64)
1.3.0.2 (February 2017)
[optimization] Increase internal buffer size of copyFile
(#69)
Add missing import of (<*>) on Windows for base earlier than 4.8.0.0
(#53)
1.2.6.2 (April 2016)
Bundled with GHC 8.0.1
Fix typo in file time functions when utimensat is not available and
version of unix package is lower than 2.7.0.0
1.2.6.1 (April 2016)
Fix mistake in file time functions when utimensat is not available
(#47)
1.2.6.0 (April 2016)
Make findExecutable, findExecutables, findExecutablesInDirectories,
findFile, and findFilesWith lazier
(#43)
Add findFileWith
Add copyFileWithMetadata, which copies additional metadata
(#40)
Improve error message of removeDirectoryRecursive when used on a
directory symbolic link on Windows.
Add isSymbolicLink
Drop support for Hugs.
1.2.5.1 (February 2016)
Improve error message of getCurrentDirectory when the current working
directory no longer exists
(#39)
Fix the behavior of trailing path separators in canonicalizePath as well
as makeAbsolute when applied to the current directory; they should now
match the behavior of canonicalizePath prior to 1.2.3.0 (when the bug
was introduced)
(#42)
Set the location in IO errors from makeAbsolute.
1.2.5.0 (December 2015)
Add listDirectory, which is similar to getDirectoryContents
but omits . and ..
(#36)
Remove support for --with-cc= in configure; use the CC= flag instead
(ghc:D1608)
1.2.4.0 (September 2015)
Work around lack of #const_str when cross-compiling
(haskell-cafe)
Restore support for Safe Haskell with base < 4.8
(#30)
1.2.3.0 (July 2015)
Add support for XDG Base Directory Specification
(#6)
Implement setModificationTime counterpart to getModificationTime
(#13)
Implement getAccessTime and setAccessTime
Set the filename in IO errors from the file time functions
Fix canonicalizePath so that it always returns a reasonable result even
if the path is inaccessible and will not throw exceptions unless the
current directory cannot be obtained
(#23)
Corrected the trailing slash behavior of makeAbsolute
so that makeAbsolute "" == makeAbsolute "."
Deprecate use of HsDirectory.h and HsDirectoryConfig.h
Implement withCurrentDirectory
1.2.2.1 (Apr 2015)
Fix dependency problem on NixOS when building with tests
(#24)
1.2.2.0 (Mar 2015)
Bundled with GHC 7.10.1
Make getModificationTime support sub-second resolution on Windows
Fix silent failure in createDirectoryIfMissing
Replace throw by better defined throwIOs
Avoid stack overflow in getDirectoryContents
(#17)
removeDirectoryRecursive no longer follows symlinks under any
circumstances
(#15)
Allow trailing path separators in getPermissions on Windows
(#9)
renameFile now always throws the correct error type
(InappropriateType) when the destination is a directory, as long as the
filesystem is not being modified concurrently
(#8)
Add makeAbsolute, which should be preferred over canonicalizePath
unless one requires symbolic links to be resolved
1.2.1.0 (Mar 2014)
Bundled with GHC 7.8.1
Add support for sub-second precision in getModificationTime when
linked against unix>=2.6.0.0
Fix createDirectoryIfMissing _ "." in C:\ on Windows
Remove support for NHC98 compiler
Update package to cabal-version >= 1.10 format
Enhance Haddock documentation for doesDirectoryExist and
canonicalizePath
Fix findExecutable to check that file permissions indicate executable
New convenience functions findFiles and findFilesWith