filepather-0.7.0.0: changelog.md
# Changelog
## 0.7.0.0
* Start again, replacing filepather 0.6, in the document-build repository
* Add System.FilePather.FilePather: FilePather f a, a newtype for
FilePath -> f a, with type aliases (FilePather', FilePatherIO,
FilePatherMaybe, FilePatherList, FilePatherNonEmpty, FilePatherEither,
FilePatherMaybeT, FilePatherExceptT, FilePatherExitcode,
FilePatherExitcode'), and instances, derived through ReaderT FilePath f
where possible, for Generic, Generic1, NFData, Semigroup, Monoid, Functor,
Apply, Applicative, Bind, Monad, Alt, Plus, Alternative, MonadPlus,
MonadFail, MonadFix, MonadZip, MonadIO, MonadTrans, MonadReader FilePath,
MonadState, MonadWriter, MonadError, MonadCont, Selective, Filterable,
Distributive, Representable, Contravariant, Divisible, Decidable, Wrapped
and Rewrapped
* Add filePatherReaderT, the isomorphism between FilePather and ReaderT,
and the classy optics GetFilePather, HasFilePather, ReviewFilePather and
AsFilePather
* Add System.FilePather.Combinators: (~>), (~>>), onFile, hoistFilePather,
Rule, whenFile, rule, everyFile, hasExtension, isFile, isWithin,
directoryFiles and directoryFilesWhere
* Add System.FilePather.Trail: Step, Trail, Repetition and Cycle, with
lenses, prisms and classy optics, checkStep and displayCycle
* Add System.FilePather.Tracked: Tracked f a, named build steps that record
the files they make, with step, stepWith, step', stepWith', untracked,
askTrail, onPath, whenPath, whenTrail, hoistTracked, trackedFunction and
classy optics, and instances for Generic, NFData, Functor, Apply,
Applicative, Bind, Monad, Selective, Alt, Plus, Alternative, MonadPlus,
Semigroup, Monoid, Filterable, MonadTrans, MonadIO, MonadFail,
MonadReader FilePath, MonadState, MonadError, MonadWriter, Contravariant,
Wrapped and Rewrapped
* Add rewrite rules fusing compositions of fmap and mapMaybe for FilePather
and Tracked
* Add hedgehog property tests for the laws of every instance and optic, and
doctests