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:
foldrB
andfoldlB'
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
:sealReaderMVar
andsealReaderM
.sealReaderMVar
allows things like "hot swapping" configuration data; at every step, theAuto
asks for its environment from anMVar
, that could be changed/modified from a different thread with new configuration data.sealReaderM
is 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" anAuto
to 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,
overTraversable
added to complementoverList
, so you can now "stream"Auto
s overIntMap
s,Maybe
s,Const
s...or anyTraversable
. Not replacingoverList
completely, though, for performance reasons. -
Control.Auto.Blip: Removed unnecessary
Monad
constraints onbecame_
,became'
,noLonger_
, andnoLonger'
. -
Control.Auto.Interval: Bug fix on
holdFor
andholdFor_
, where they had the potential to overflowInt
and begin "holding" forever when given specifically malformed input. -
Control.Auto.Time: Performance boost on
accelOverList
by using strictWriter
over 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.x
should be able to run all0.2.x
programs with full backwards compatibility. - Control.Auto.Effects: Reverted back to lazy
StateT
andWriterT
, because of situations where auto cannot resolve fixed points for recursive bindings. - Control.Auto.Blip:
forkB
renamed tosplitB
to prevent confusion with "fork", usually used in Haskell to refer to concurrency. Also anticipating adding concurrency-basedAuto
s, 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
StateT
andWriterT
. - Control.Auto.Effects: Added
readerA
andwriterA
, for convenience in "creating"Auto
s underReaderT
andWriterT
; also addedstateA
andaccumA
for 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
streamAutoEffects
andtoEffectStream
, which convertAuto m a b
's to streams of effects inm
that 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
Auto
holdJusts
, which stretches the last seen "on"/Just
value over the duration of a "off"/Nothing
interval. - 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
Rand
orRandT
monad. - 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
,stretchAccumBy
which 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
dynZipF
fixed, where newly addedAuto
s would overwrite ones alreay stored. - Control.Auto:
fromInterval
added 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:
dynZipF
anddynMapF
, implicit-serialization dynamic collections.
0.2.0.1
https://github.com/mstksg/auto/releases/tag/v0.2.0.1
- Control.Auto.Effects:
catchA
added 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
.