Path IO follows SemVer.
- Added instances of
AnyPath
forSomeBase
. PR 72.
- Added
doesPathExist
,getFileSize
,renamePath
, andremovePathForcibly
.
-
Fixed a bug that caused
removeDirLink
fail on Linux because of a trailing slash that used to be passed to the underlyingremoveDirectoryLink
function from thedirectory
package. Issue 59. -
Works with GHC 9.0.1.
- Fixed a bug in the
findFilesWith
and based on itfindFiles
functions.
- Fixed a space leak in
walkDirAccum
. Issue 55.
-
Changed how
copyDirRecur
andcopyDirRecur'
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 thecp
utility, not traversing symlinked directories, but recreating symlinks in the target directory according to their targets in the source directory. -
Fixed a bug in
createDirLink
which would always fail complaining that its destination location does not exist. -
Dropped support for GHC 8.2.
- Dropped support for GHC 8.0 and older.
- Added new functions:
getXdgDirList
,createFileLink
,createDirLink
,removeDirLink
,getSymlinkTarget
.
- Fixed various bugs in
listDirRecurRel
,walkDirRel
, andwalkDirAccumRel
and clarified their behavior in the docs.
- Fixed a bug in
walkDirRel
that resulted inNotAProperPrefix
exception every time the function was called.
-
Added relative versions of some actions:
listDirRel
,listDirRecurRel
,walkDirRel
, andwalkDirAccumRel
. -
Dropped support for GHC 7.8.
- (Hopefully) fixed test suite failure with Cabal 2.0 and GHC 8.2.1.
- Reduce a number of
(MonadIO m, MonadThrow m)
constraints to justMonadIO m
#27
- Made
listDirRecur
faster for deep directory trees.
-
Change the default behavior of recursive traversal APIs to not follow symbolic links. The change affects the following functions:
listDirRecur
,copyDirRecur
, andcopyDirRecur'
. -
Add
isSymlink
which allows to test whether a path is a symbolic link. -
Move the type functions
AbsPath
andRelPath
to theAnyPath
type class (previously they were standalone closed type families, now they are associated types ofAnyPath
). -
Improved the documentation and metadata.
- Allowed
time-1.7
.
-
Fixed a bug in
setModificationTime
function that previously calledsetAccessTime
instead ofsetModificationTime
fromdirectory
. -
Added notes to all pieces of API that are conditional (some functions are only available if
directory-1.2.3.0
or later is used, now it's mentioned for every such function explicitely).
-
Allowed
directory-1.3.0.0
. -
Added
getXdgDir
. Only available ofdirectory-1.2.3.0
or later is used. -
Various cosmetic improvements.
-
Added
walkDir
function to traverse a directory tree with a handler. -
Added
walkDirAccum
function which is likewalkDir
but 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.
-
Fixed bug in
copyDirRecur
when it was unable to fully copy read-only directories. -
Added
copyDirRecur'
function that works just likecopyDirRecur
, but does not preserve directory permissions.
-
Fixed bug in
copyDirRecur
for non-existing destination paths when directory to copy does not contain sub-directories. -
Made
copyDirRecur
try to copy permissions for destination directory too (previously it only tried to copy them for sub-directories).
-
Changed signature of
getAppUserDataDir
, so it takesString
as the first argument. -
Removed deprecated
forgivingAbsence'
function. -
Made
findFile
lazier, it stops searching as soon as a file is found. -
Added some tests.
-
Introduced synonym for
forgivingAbsence'
—ignoringAbsence
.forgivingAbsence'
is deprecated now, but it's still there. -
Added a handy shortcut
ensureDir
that is defined asensureDir = createDirIfMissing True
. -
Made
getHomeDir
andgetTempDir
more robust when they are influenced by values of environment variables.
-
Added
forgivingAbsence
,resolveFile
, andresolveDir
functions, so the package now provides all functionality thatPath.IO
module in Stack has. -
Added closed type family
RelPath
,makeRelative
, andmakeRelativeToCurrentDir
functions. -
Fixed signature of
getAppUserDataDir
.
- Added functions from
temporary
:withTempFile
,withTempDir
,withSystemTempFile
,withSystemTempDir
,openTempFile
,openBinaryTempFile
, andcreateTempDir
.temporary
is a lightweight and ubiquitous package, so depending on it should be OK.
- Fixed type signatures of
renameFile
andcopyFile
.
- Initial release.