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