Module documentation for 1.8.0
This package provides an interface to the
directory package for
path. It also
implements some extra functionality like recursive scanning and copying of
directories, working with temporary files/directories, etc.
Consult Haddocks for usage, which should be trivial.
Issues, bugs, and questions may be reported in the GitHub issue tracker for this project.
Pull requests are also welcome.
Copyright © 2016–present Mark Karpov
Distributed under BSD 3 clause license.
Path IO follows SemVer.
Path IO 1.8.0
- Added instances of
SomeBase. PR 72.
Path IO 1.7.0
Path IO 1.6.3
Fixed a bug that caused
removeDirLinkfail on Linux because of a trailing slash that used to be passed to the underlying
removeDirectoryLinkfunction from the
directorypackage. Issue 59.
Works with GHC 9.0.1.
Path IO 1.6.2
- Fixed a bug in the
findFilesWithand based on it
Path IO 1.6.1
- Fixed a space leak in
walkDirAccum. Issue 55.
Path IO 1.6.0
copyDirRecur'functions work. Previously, the functions created empty directories in the destination directory when the source directory contained directory symlinks. The symlinked directories were not recursively traversed. It also copied symlinked files creating normal regular files in the target directory as the result. This is fixed so that the function now behaves much like the
cputility, not traversing symlinked directories, but recreating symlinks in the target directory according to their targets in the source directory.
Fixed a bug in
createDirLinkwhich would always fail complaining that its destination location does not exist.
Dropped support for GHC 8.2.
Path IO 1.5.0
- Dropped support for GHC 8.0 and older.
- Added new functions:
Path IO 1.4.2
- Fixed various bugs in
walkDirAccumReland clarified their behavior in the docs.
Path IO 1.4.1
- Fixed a bug in
walkDirRelthat resulted in
NotAProperPrefixexception every time the function was called.
Path IO 1.4.0
Added relative versions of some actions:
Dropped support for GHC 7.8.
Path IO 1.3.3
- (Hopefully) fixed test suite failure with Cabal 2.0 and GHC 8.2.1.
Path IO 1.3.2
- Reduce a number of
(MonadIO m, MonadThrow m)constraints to just
Path IO 1.3.1
listDirRecurfaster for deep directory trees.
Path IO 1.3.0
Change the default behavior of recursive traversal APIs to not follow symbolic links. The change affects the following functions:
isSymlinkwhich allows to test whether a path is a symbolic link.
Move the type functions
AnyPathtype class (previously they were standalone closed type families, now they are associated types of
Improved the documentation and metadata.
Path IO 1.2.3
Path IO 1.2.2
Fixed a bug in
setModificationTimefunction that previously called
Added notes to all pieces of API that are conditional (some functions are only available if
directory-220.127.116.11or later is used, now it’s mentioned for every such function explicitely).
Path IO 1.2.1
getXdgDir. Only available of
directory-18.104.22.168or later is used.
Various cosmetic improvements.
Path IO 1.2.0
walkDirfunction to traverse a directory tree with a handler.
walkDirAccumfunction which is like
walkDirbut also accepts an output writer and returns the accumulated output.
All recursive traversal functions (existing and new) now safely handle directory loops due to symbolic or hard links.
Added “since” notes to public functions in API.
Path IO 1.1.0
Fixed bug in
copyDirRecurwhen it was unable to fully copy read-only directories.
copyDirRecur'function that works just like
copyDirRecur, but does not preserve directory permissions.
Path IO 1.0.1
Fixed bug in
copyDirRecurfor non-existing destination paths when directory to copy does not contain sub-directories.
copyDirRecurtry to copy permissions for destination directory too (previously it only tried to copy them for sub-directories).
Path IO 1.0.0
Changed signature of
getAppUserDataDir, so it takes
Stringas the first argument.
findFilelazier, it stops searching as soon as a file is found.
Added some tests.
Path IO 0.3.1
Introduced synonym for
forgivingAbsence'is deprecated now, but it’s still there.
Added a handy shortcut
ensureDirthat is defined as
ensureDir = createDirIfMissing True.
getTempDirmore robust when they are influenced by values of environment variables.
Path IO 0.3.0
resolveDirfunctions, so the package now provides all functionality that
Path.IOmodule in Stack has.
Added closed type family
Fixed signature of
Path IO 0.2.0
- Added functions from
temporaryis a lightweight and ubiquitous package, so depending on it should be OK.
Path IO 0.1.1
- Fixed type signatures of
Path IO 0.1.0
- Initial release.