Changelog of @hackage/pathtype 0.8.1.3

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