haskell · release

CanonicalPath v0.3.0.0

A summary of the third major release of CanonicalPath library, highlighting API changes, performance improvements, and enhanced testing infrastructure while maintaining compatibility with major Haskell package repositories.


Recently there was the third major release of CanonicalPath library introducing some good stuff, but unfortunately breaking API (just a tiny little bit).

The new version is available on Github, Hackage and Stackage.

  • Remove UnsafePath data type. It was a synonym to FilePath and was confusing me sometimes, so I decided to cut it off.
  • Rename cpathToText to toText'.
  • Remove pathToText and textToPath.
  • Export toText and fromText from Filesystem.Path.CurrentOS.
  • Export fromPrelude and toPrelude functions.
  • Improve performance (path canonicalization now is performed 1.6x faster than before). Now that I have tests and criterion, I can measure performance.
  • Improve canonicalPath error messages. Most important - now it respects errors from System.Directory.canonicalizePath.
  • Add tests.
  • Add Travis support.
  • Update documentation.

As always - suggestions and pull requests are welcome!