2020-01-20 19:19:45 +00:00
0.11.0
* Many API breaking changes
* Remove RelC and Fn, because they complicate API/break semantics (see #29)
* Redo 'parseAny'
* Unexpose HPath.Internal
* Don't preserve trailing path separators (if you need to pass something to a C function that way, do it manually)
* Added `rooPath`, `isRootPath`, `getAllComponents`, `getAllComponentsAfterRoot`
2020-01-18 17:58:21 +00:00
0.10.2
* Add `parseAny` and the related QuasiQuoter
2020-01-13 22:43:19 +00:00
0.10.1
* Add quasi quoters for hpath
2020-01-04 19:13:01 +00:00
0.10.0
* split packages, this one now just contains the type-safe Path wrappers
2018-04-12 00:23:56 +00:00
0.9.2
* fix build with ghc-7.6
* raise required bytestring version
* Tighten base bound to prevent building before GHC 7.6 (by George Wilson)
2018-04-11 21:03:35 +00:00
0.9.1
* fix build with ghc-7.8 and 7.10
2018-04-10 23:12:12 +00:00
0.9.0
* don't force "Path Abs" anymore in IO module, abstract more over Path types
* add 'toAbs'
2018-04-06 15:22:57 +00:00
0.8.1
* add 'readFile', 'readFileEOF', 'writeFile' and 'appendFile'
2016-06-05 15:56:31 +00:00
0.8.0
* 'copyDirRecursiveOverwrite', 'copyFileOverwrite', 'easyCopyOverwrite' and 'moveFileOverwrite' have been removed, instead use the versions without the *Overwrite suffix and pass in 'Strict' (for default behavior) or 'Overwrite' as the CopyMode argument
* introduced a new 'RecursiveErrorMode' type to allow controlling recursive behavior of 'copyDirRecursive' (use 'FailEarly' for default behavior)
* 'createRegularFile' and 'createDir' now take FileMode as a parameter (also see 'newFilePerms' and 'newDirPerms')
* various documentation fixes
* improved reliability of tests
2016-06-03 22:36:23 +00:00
0.7.5:
2016-06-03 22:20:41 +00:00
* relicense to BSD3
2016-05-30 15:16:37 +00:00
0.7.3:
* don't expose HPath.Internal
2016-05-29 15:47:22 +00:00
0.7.2:
* fix tests, so they work with the sdist tarball too
* added the following function to HPath.IO: createSymlink
2016-05-24 13:36:34 +00:00
0.7.1:
* various cleanups and documentation improvements
* added the following functions to System.Posix.FilePath: splitSearchPath, getSearchPath, stripExtension, makeRelative, makeValid
2016-05-18 12:02:08 +00:00
0.7.0:
* use 'sendfile' from 'simple-sendfile' in _copyFile and do read/write as a fallback only
* add isFileName, hasParentDir, hiddenFile to System.Posix.FilePath
* add our own openFd version for more control
* small documentation improvements
* add a getDirectoryContents' version that works on Fd
* lift version constraints in benchmark
* remove fpToString and userStringToFP, use Data.ByteString.UTF8 directly instead
2016-05-09 22:45:40 +00:00
0.6.0:
* fixes 'throwDestinationInSource' to be more reliable.
* removes some unused HPathIOException constructors
* consistently provide exception constructor identifiers
* be less harsh when non-supported file types get passed to our functions, possibly ignoring them
* minor cleanups
2016-05-09 15:37:33 +00:00
0.5.9:
* Adds our posix-paths fork and a lot of IO operations.
Fork chrisdone's path library
I wasn't happy with the way it dealt with Dir vs File things. In his
version of the library, a `Path b Dir` always ends with a trailing
path separator and `Path b File` never ends with a trailing path separator.
IMO, it is nonsensical to make a Dir vs File distinction on path level,
although it first seems nice.
Some of the reasons are:
* a path is just that: a path. It is completely disconnected from IO level
and even if a `Dir`/`File` type theoretically allows us to say "this path
ought to point to a file", there is literally zero guarantee that it will
hold true at runtime. So this basically gives a false feeling of a
type-safe file distinction.
* it's imprecise about Dir vs File distinction, which makes it even worse,
because a directory is also a file (just not a regular file). Add symlinks
to that and the confusion is complete.
* it makes the API oddly complicated for use cases where we basically don't
care (yet) whether something turns out to be a directory or not
Still, it comes also with a few perks:
* it simplifies some functions, because they now have guarantees whether a
path ends in a trailing path separator or not
* it may be safer for interaction with other library functions, which behave
differently depending on a trailing path separator (like probably shelly)
Not limited to, but also in order to fix my remarks without breaking any
benefits, I did:
* rename the `Dir`/`File` types to `TPS`/`NoTPS`, so it's clear we are only
giving information about trailing path separators and not actual file
types we don't know about yet
* add a `MaybeTPS` type, which does not mess with trailing path separators
and also gives no guarantees about them... then added `toNoTPS` and
`toTPS` to allow type-safe conversion
* make some functions accept more general types, so we don't unnecessarily
force paths with trailing separators for `(</>)` for example... instead
these functions now examine the paths to still have correct behavior.
This is really minor overhead. You might say now "but then I can append
filepath to filepath". Well, as I said... we don't know whether it's a
"filepath" at all.
* merge `filename` and `dirname` into `basename` and make `parent` be
`dirname`, so the function names match the name of the POSIX ones,
which do (almost) the same...
* fix a bug in `basename` (formerly `dirname`) which broke the type
guarantees
* add a pattern synonym for easier pattern matching without exporting
the internal Path constructor
2016-03-08 21:53:42 +00:00
0.5.8:
* First version of the fork.
2016-03-06 16:43:49 +00:00
0.5.7:
* Fix haddock problem.
2016-03-04 14:07:00 +00:00
0.5.6:
* Reject only .. and .
2016-03-04 13:50:28 +00:00
0.5.5:
* Use filepath's isValid function for additional sanity checks
2016-03-04 13:40:20 +00:00
0.5.4:
* Disable parsing of path consisting only of "."
* Add NFData instance for Path
* Some typo/docs improvements
* Add standard headers to modules
2015-11-21 18:54:27 +00:00
0.5.3:
* Added conversion functions.
2015-05-11 17:00:34 +00:00
0.2.0:
* Rename parentAbs to simply parent.
* Add dirname.
2015-05-22 09:32:41 +00:00
0.3.0:
* Removed Generic instance.
0.4.0:
* Implemented stricter parsing, disabling use of "..".
2015-05-22 09:33:34 +00:00
* Made stripDir generic over MonadThrow
2015-05-27 15:08:03 +00:00
0.5.0:
* Fix stripDir p p /= Nothing bug.
2015-06-21 10:18:45 +00:00
0.5.2:
* Removed unused DeriveGeneric.