- guarded conditional LevelChangedException
- removed LevelChangedException
- workaround for LevelChangedException
- avoid WPF contention-inline problems with transaction
- updated MultiCallbackObject with proper locking #113
- added some combinators for HashSet/HashMap
- made FSharp.Data.Adaptive trimmable via
<IsTrimmable>true</IsTrimmable>
- fixed KeyNotFoundException in async evaluation of
ASet.mapA
andASet.flattenA
(issue #103)
- fixed
AList.sub
problem
- added
HashSet.ChooseToMap(V)
- added
ASet.sort(By)Descending
- added
AMap.sortBy(Descending)
- added
clist.UpdateTo(seq, list, array)
- fixed AssemblyVersions
- new
AList.sub
implementation - switched to
aardpack
based build with CI publishing - switched to newest fsdocs
- Index-Deletion now handled via Async/Task instead of its own thread (threads not supported on blazor-wasm)
- several AList bugfixes
- added AList slicing utilities
- added
AMap.choose2(V)
and derived combinators (intersectWith
,intersect(V)
)
- fixed GC problem with
AVal.mapNonAdaptive
- added adaptive FileSystem tools
- implemented efficient
IndexList.computeDeltaTo(Array|List|Seq)
(https://neil.fraser.name/writing/diff/myers.pdf)
- raised minimal FSharp.Core version to 4.7.0 (necessary due to Fable.Core update)
- fixed fable build
- added [HashMap|HashSet|IndexList] computeDeltaCustom
- ShallowEquality now descends into non-recursive DUs (e.g. option)
- changed Transaction.Current/Running to ValueOption
- small performance improvements
- more c# extensions
- fixed bind of cset.Content
- fixed ASet.force
- major upgrade with improved performance
- several new combinators
ASet.xor
,AVal.cast
, etc. - public enumerators for all datastructures.
- AdaptiveSynchronizationContext
- added several interfaces to clist, cset, etc.
- UpdateTo returning boolean
- exposed ThreadStatic fields
- stable release
- attempted fix for Xamarin.IOS problems
- allowing overrides for ShallowEquality via
ShallowEquality<'T>.Set(...)
- weak callbacks are now correctly GC'ed individually
- some new IndexList combinators
- Fable compatibility
- added missing
AddWeakMarkingCallback
for C#
- re-added weak callbacks
- All callbacks are now GC roots avoiding strange behaviour when ignoring their Subscriptions.
- added
AList.toASetIndexed
- added ChangeableLazyVal
- more C# interop (MarkOutdated, AList creators)
- loads of new combinators (custom/mapUse/etc.)
- better C# interop thanks to @luithefirst
- reintroduced
groupBy
- several conveniene combinators (bind2, bind3, etc.)
- fixed shallowEquals for enums
- added several shallowEquals tests
- fixed transaction bug
- proper locking in WeakOutputSet
- consistent equality everywhere
- DefaultEqualityComparer.SetProvider allows to override default equality before first use
- fixed fable build
- HashSet/HashMap.ofSeq now type-tests the given seq
- building with lowest matching FSharp.Core version
- avoiding C#-project problems
- added CSharp.Data.Adaptive package template
- Transaction performance improvements
- several performance improvements in Transaction
- implemented ChangeableModelList/ChangeableModelMap here
- several improvements for HashMap/HashSet/MapExt
- clist.AddRange
- removed ADAPTIVE_NO_TYPE_TESTS
- added ShallowEqualityComparer
- fixed ref-counting bug in history
- added CList/CMap.UpdateTo
- optimized versions for (AList|ASet|AMap).(map|choose|filter)
- added Transaction.using
- improved Fable representation of WeakOutputSet
- all collections now have mapA/chooseA/filterA
- improved AList.mapA/chooseA
- added standard reductions (forall, exists, countBy, isEmpty, sumBy, exists, etc.)
- added reduce/reduceBy/reduceByA
- fixed fable build
- AList.countBy/countByA
- AList.rev/tryMin/tryMax
- AList.indexed
- AList.sorts/exists/forall/etc.
- added AdaptiveReductions
- AList.reduce/reduceBy/reduceByA
- AList.count/isEmpty
- AList.mapA/chooseA/filterA
- Fable compat
- ConditionalWeakTable polyfill
- fixed Interlocked.Increment in Callbacks for Fable
- callback optimizations (single CallbackObject for many callbacks)
- AVal.bind3
- added non-generic AdaptiveValue interface
- implemented BindReturn/Bind for adaptive builder
- IndexList.tryGetPosition
- IndexListDelta.ofIndexList
- IndexList.tryRemove IndexList.neighbours
- added ConservativeEquals / UpdateTo to HashMap/IndexList/etc.
- IndexList.choose2 / toSeqIndexed / etc.
- relaxed FSharp.Core version
fixed fable package
added several missing operators like
AList.ofAVal
AMap.fold(Group|HalfGroup)
AMap.tryFind
AList.try(Get|At)
AMap.ofASet
initial version