Changelog for auto-0.4.1.0
0.4.1.0
https://github.com/mstksg/auto/releases/tag/v0.4.1.0
-
Adapted to more consistent semantic versioning scheme, where the third number is a new update, and the fourth number is reserved for bug fixes.
-
Control.Auto.Blip:
foldrBandfoldlB'officially deprecated in their current forms. From0.5, they will have corrected functionality and a new type signature. The current functionality doesn't really make sense, and was a mistake during their implementation. You can begin using the new versions now, with:foldrB = foldr (merge f) mempty foldlB' = foldl' (merge f) mempty -
Control.Auto.Effects: New "sealing" mechanisms for underlying
Reader:sealReaderMVarandsealReaderM.sealReaderMVarallows things like "hot swapping" configuration data; at every step, theAutoasks for its environment from anMVar, that could be changed/modified from a different thread with new configuration data.sealReaderMis a more general/potentially dangerous version where the environment is retrieved through an arbitrary action in the underlying monad. -
Control.Auto.Run: New powerful combinator
throughT, letting you "lift" anAutoto run over/through anyTraversable. Can replaceduring,perBlip,accelOverList, etc. The specialized versions will remain more performant, though. -
Control.Auto.Run: In the spirit of the hip and current Foldable Traversable Proposal,
overTraversableadded to complementoverList, so you can now "stream"Autos overIntMaps,Maybes,Consts...or anyTraversable. Not replacingoverListcompletely, though, for performance reasons. -
Control.Auto.Blip: Removed unnecessary
Monadconstraints onbecame_,became',noLonger_, andnoLonger'. -
Control.Auto.Interval: Bug fix on
holdForandholdFor_, where they had the potential to overflowIntand begin "holding" forever when given specifically malformed input. -
Control.Auto.Time: Performance boost on
accelOverListby using strictWriterover lazy.
0.4.0.0
https://github.com/mstksg/auto/releases/tag/v0.4.0.0
- Bug fix version reverting breaking changes from
0.3.0.0.0.4.xshould be able to run all0.2.xprograms with full backwards compatibility. - Control.Auto.Effects: Reverted back to lazy
StateTandWriterT, because of situations where auto cannot resolve fixed points for recursive bindings. - Control.Auto.Blip:
forkBrenamed tosplitBto prevent confusion with "fork", usually used in Haskell to refer to concurrency. Also anticipating adding concurrency-basedAutos, so this is a move to clear the way for any possible conflicts.
0.3.0.0
https://github.com/mstksg/auto/releases/tag/v0.3.0.0
DEPRECATED: Please use 0.4.0.0!
- Control.Auto.Effects: Breaking change: switched to strict
StateTandWriterT. - Control.Auto.Effects: Added
readerAandwriterA, for convenience in "creating"Autos underReaderTandWriterT; also addedstateAandaccumAfor completeness.
0.2.0.6
https://github.com/mstksg/auto/releases/tag/v0.2.0.6
- Control.Auto.Run: As a part of an effort to provide integration with
disciplined effectful streaming, introduced
streamAutoEffectsandtoEffectStream, which convertAuto m a b's to streams of effects inmthat can be processed and manipulated and integrated with anyListT-compatible library, like pipes. See documentation for more details. These were also added to the exports ofControl.Auto. - Control.Auto.Interval: New
AutoholdJusts, which stretches the last seen "on"/Justvalue over the duration of a "off"/Nothinginterval. - Documentation fixes to emphasize auto's focus on value streams, not effect streams, in contrast to pipes, conduit, etc.
- Version restrictions on some packages relaxed on profunctors, semigroups, and base.
0.2.0.5
https://github.com/mstksg/auto/releases/tag/v0.2.0.5
- Control.Auto.Process.Random: Added combinators and sealers dealing
for working with an underlying
RandorRandTmonad. - Because of this, committed to adding MonadRandom as a dependency.
0.2.0.4
https://github.com/mstksg/auto/releases/tag/v0.2.0.4
- Control.Auto: Added
unserialize,delay, anddelay_toControl.Auto's exports. - Control.Auto.Blip: New blip stream manipulator:
forkB, which forks a blip stream into to separate ones based on whether or not the emitted values match a predicate. - Control.Auto.Time: Added a generalized version of
stretch,stretchAccumBywhich allows access to the "skipped" inputs during the stretched periods, as well as the ability to control the outputs during the stretched periods.
0.2.0.3
https://github.com/mstksg/auto/releases/tag/v0.2.0.3
- Control.Auto.Collection: Bug for
dynZipFfixed, where newly addedAutos would overwrite ones alreay stored. - Control.Auto:
fromIntervaladded toControl.Auto's exports.
0.2.0.2
https://github.com/mstksg/auto/releases/tag/v0.2.0.2
DEPRECATED: Please use 0.2.0.3!
- Control.Auto.Collection:
dynZipFanddynMapF, implicit-serialization dynamic collections.
0.2.0.1
https://github.com/mstksg/auto/releases/tag/v0.2.0.1
- Control.Auto.Effects:
catchAadded toControl.Auto.Effects, allowing explicit catching of runtime exceptions thrown in underlyingIO.
0.2.0.0
https://github.com/mstksg/auto/releases/tag/v0.2.0.0
- First official release. No backwards-incompatible changes until
0.3.0.0.