Changelog for pathtype-0.8.1
0.8:
* relPath, absPath, filePath, dirPath deprecated in favor of
Path.rel, Path.abs, Path.absRel, Path.file, Path.dir
Same for the according type synonyms.
* Deprecate extended path construction functions:
mkAbsPath, mkAbsPathFromCwd, mkPathAbsOrRel, mkPathFileOrDir
You better combine path constructors and further manipulations.
* Deprecate functions based on path strings.
You should better use functions from the filepath package.
* absRel -> withAbsRel, fileDir -> withFileDir
We do not need these functions very often
and instead we need Path.absRel as constructor name
that is consistent with Path.abs and Path.rel.
* Split main module into multiple one,
in order to use a consistent name set for every aspect.
E.g. we have:
Path.Abs: an absolute path
Path.Part.Abs: absolute (drive) part of a path
Path.PartClass.Abs: class for an absolute part
Path.AbsRel: an absolute or relative path
Path.Part.AbsRel: initial part of an absolute or relative path
Path.PartClass.AbsRel: class for absolute or relative parts
Path.Abs -> Part.Abs
Path.AbsOrRel -> Part.AbsRel
Path.AbsOrRelClass -> PartClass.AbsRel
Path.FileOrDirClass -> PartClass.FileDir
0.7:
* Move absRel and fileDir out of their classes.
A problem would arise if someone writes
import System.Path (AbsRelClass(absRel))
He would have to replace it by
import System.Path (AbsRelClass, absRel)
* Monoid instance for Path.RelDir
Requires helper classes IsRel, IsDir.
IsAbs and IsFile added for completeness.
* Declare infix precedences of </>, <.> and <++> such that we can write:
dir0 </> dir1 </> dir2 </> base <++> "-foo" <++> "-bar" <.> "tar" <.> "gz"
This is similar to the fixities in the 'filepath' package,
but differs slightly
since in our package paths and extensions have different types.
* Import packages 'transformers' and 'utility-ht'
that allow for some simplifications.
* Deprecate asPath,
asRelFile, asRelDir, asAbsFile, asAbsDir,
asRelPath, asAbsPath, asFilePath, asDirPath
* Recommended are now the checking constructors 'path', maybePath, parsePath,
relFile, relDir, absFile, absDir,
relPath, absPath, filePath, dirPath
* replace IsString instance for OverloadedStrings
by an instance that cannot be implemented.
* getDirectoryContents is no longer synonym to relDirectoryContents.
Instead it returns the list of all directory objects as RelFileOrDir.
This is closer to the getDirectoryContents function
from the 'directory' package.
* clarify meaning of AbsRel and FileDir tags of a path
* clarify meaning of drive-relative paths on Windows
* clarify handling of file system links
0.6:
* joinPath: restrict to RelPath and atomic path components
* Add type class constraints and restrict types
in order to make the functions work with the new datatype.
E.g. we need to fix the type to FilePath
wherever a function requires a non-empty path.
* Add support for MS Windows paths with leading drive labels
0.5.5:
* AbsRelClass, FileDirClass: turn into closed-world classes.
Strict accordance to PVP would require to bump version to 0.6,
but since the user cannot write instances of this class,
we can hardly break code.
* instance {Show, Read} Path now emit and parse valid Haskell expressions
* IO.withFile restricted to FilePath
This changes API but it should only break buggy code.
0.5.4.3:
* Make test suite static part of the source code,
but maintain a program to update the test suite to changed tests.
0.5.4.1:
* Merge git back to darcs, continue on hub.darcs.net
0.5.4:
* Migrated from darcs to git (on GitHub)
0.5.3:
* Upgrades + changes for GHC 7.6.1 - by Ben Millwood
0.5.0:
* Added System.Path.Windows and System.Path.Posix modules. These are modelled on the System.FilePath approach to supporting the two styles of path.
0.0.2:
* Split System.Path.Directory into its own module
* Implemented covers for all the remaining System.Directory functions
* Renamed 'hasExtension' to 'hasAnExtension', and added new 'hasExtension' fn which checks for a given extension
* Renamed the '...FileOrDir...' functions to be 'generic...' (thanks to Neil Mitchell for the suggestion!)
* Added support for OverloadedStrings
* Renamed the 'mk...' unchecked construction functions to 'as...' to better reflect what they do
* Added: makeAbsolute, makeAbsoluteFromCwd, genericMakeAbsolute, genericMakeAbsoluteFromCwd
* Added: mkAbsPath, mkAbsPathFromCwd
* Added System.Path.IO to cover System.IO
* Made the internal 'Path' type strict
* Removed 'splitDirectories' as it serves no purpose not covered by 'splitPath'
* Changed behaviour of 'getDirectoryContents' to return relative paths
* Fixed the type of 'setCurrentDirectory'
0.0.1:
Initial Release