- Add support for GHC 9.8 and 9.10
- Headless Host: Generalize to allow returning arbitrary types
- Add MonadMask, MonadCatch, MonadThrow instances
- Headless Host: Add some MonadSample, MonadHold, and MonadFix instances
- Add support for ghc-9.6
- Breaking Change: Filter updates to
listWithKey
child widgets so that changes to the input Map don't cause spurious updates to unaffected children. This imposes anEq
constraint on the child values. - Expose all Requester internals in Reflex.Requester.Base.Internal
- Add EventWriter instance for RequesterT #469
- Require witherable >= 0.4 and, hence, a newer monoidal-containers
- Support newer constraints-extras (0.4)
- Fix build for GHC 9.2
- Require patch >= 0.0.7.0
- Add
matchResponseMapWithRequests
, which it similar tomatchResponsesWithRequests
but allows processing of multiple responses at once.
- Allow newer hlint for older GHCs, and add upper bound for newer GHCs
- Add support for GHC 8.10
- Drop support for GHC < 8.4
- Replace 0.7.2.0 with 0.8.0.0 to reflect the
MonadHold
interface change. Deprecates 0.7.2.0.
- (#416) Add
now :: m (Event t ())
toMonadHold
. - Extend some dependency version bounds
- Fix HLint 3 test
Backport release. Changes do not carry forward to 0.7.2.0.
- Add support for GHC 8.10
- Drop support for GHC < 8.4
- Extend some dependency version bounds
- Fix HLint 3 test
- (#413, #417) Add
Reflex.Host.Headless
module which providesrunHeadlessApp
as an easy way to run a Reflex network in a "headless" environment. - (#420) Add a
Data.Zip.Unzip
instance forEvent
. - (#419) Add
distributeIntMapOverDynPure
andjoinDynThroughIntMap
as convenience functions for working withDynamic
IntMap
s.
- Add lifting instances for most classes to
Reflex.Profiled.Profiled
. (#398) - Class
MonadQuery t q m
now has aMonad m
superclass constraint. (#400) - (Breaking change) Rename class
MonadBehaviorWriter
->BehaviorWriter
for consistency withEventWriter
/DynamicWriter
. (#401) - Introduce deprecated alias
MonadBehaviorWriter = BehaviorWriter
. (#401) - Fix bug in spider where event subscriptions would be prematurely finalized due to over-aggressive inlining. (#409)
- Add instances of
PerformEvent
andTriggerEvent
forMaybeT
. (#395)
- Fix a bug in the Reflex Profiled transformer where
Reflex.Class.mergeIncrementalG
andReflex.Class.mergeIncrementalWithMoveG
implementations referenced itself instead of the inner transformed timeline, causing an infinite loop.
-
Support GHC 8.8
-
Add
Reflex.Query.Base.mapQueryT
. See that module for documentation -
The
Reflex.Patch.*
modules were moved to thepatch
library. They areData.Patch.*
there, but reexported under their old names for backwards compatability here. -
Additional instances for
Query
classes for basic types. -
Add cabal flags
debug-propagation
anddebug-event-cycles
to build in debugging code for performance and for cyclic dependencies between events
-
Data.WeakBag.traverse
andData.FastWeakBag.traverse
have been deprecated. They are replaced withData.WeakBag.traverse_
andData.FastWeakBag.traverse_
, respectively. -
Fixes a bug in
Reflex.Patch.MapWithMove.patchThatSortsMapWith
that was producing invalidPatchMapWithMove
. -
Add missing
NotReady
instances:instance NotReady (SpiderTimeline x) (SpiderHost x)
instance HasSpiderTimeline x => NotReady (SpiderTimeline x) (PerformEventT (SpiderTimeline x) (SpiderHost x))
- Update to monoidal-containers 0.6
- Add an upper-bound to witherable
-
Support these >= 1. Add
split-these
flag to control whether to use new these/semialign combination or not. -
Update version bounds to fix some CI failures
-
Add travis CI configuration
-
Generalize
fan
tofanG
to take aDMap
with non-Identity
functor:fan
tofanG
EventSelectorG
forfanG
result selector.
-
Reduce the amount of unsafeCoerce in coercing newtypes under Event/Dynamic/Behavior.
- Add fused ReaderIO for the purpose of coercion (ReaderT's third argument has nominal role preventing automated coerce)
- Add incrementalCoercion/coerceIncremental to go with dynamicCoercion/coerceDynamic
-
Generalize merging functions:
merge
tomergeG
,mergeIncremental
tomergeIncrementalG
,mergeIncrementalWithMove
tomergeIncrementalWithMoveG
. -
Generalize distribute function:
distributeDMapOverDynPure
todistributeDMapOverDynPureG
,
-
Fix
holdDyn
so that it is lazy in its event argument These produceDMap
s whose values needn't beIdentity
. -
Stop using the now-deprecated
*Tag
classes (e.g.,ShowTag
). -
Fix
holdDyn
so that it is lazy in its event argument.
-
Re-export all of
Data.Map.Monoidal
-
Fix
QueryT
andRequesterT
tests
-
Deprecate
FunctorMaybe
in favor ofData.Witherable.Filterable
. We still exportfmapMaybe
,ffilter
, etc., but they all rely onFilterable
now. -
Rename
MonadDynamicWriter
toDynamicWriter
and add a deprecation for the old name. -
Remove many deprecated functions.
-
Add a
Num
instance forDynamic
. -
Add
matchRequestsWithResponses
to make it easier to useRequester
with protocols that don't do this matching for you. -
Add
withRequesterT
to map functions over the request and response of aRequesterT
. -
Suppress nil patches in
QueryT
as an optimization. TheQuery
type must now have anEq
instance. -
Add
throttleBatchWithLag
toReflex.Time
. See that module for details.