Releases: dwcullop/DynamicData
Releases · dwcullop/DynamicData
9.4.37
Fixes:
- 7b861d0 Fixed that the cache-land dynamic
.Filter()operator relied on limited mutation of an internalDictionary<,>during enumeration, a behavior that is not supported on target frameworks older than .NET Core 3.0. Additional logic to copy the keys to iterate, before mutation, should now be injected for builds targeting such older frameworks. (reactivemarbles#1084) @JakenVeina
Other:
- b0d4c70 Update SwappableLock to support NET9+ Lock type (reactivemarbles#1077) @dwcullop
9.4.35
Other:
- 12c1947 Overhaul XML documentation for ObservableCacheEx extension methods (reactivemarbles#1080) @dwcullop
Test:
- c1c312b test: fix AsyncDisposeMany thread safety test timeout on CI (reactivemarbles#1082) @dwcullop
9.4.33
Fixes:
- 9bc6b44 Fix race in ExpireAfter when item is removed or updated before expiration fires (reactivemarbles#1076) @dwcullop
Other:
- bf45445 Add AI Instruction Files for GitHub Copilot (reactivemarbles#1078) @dwcullop
9.4.31
Fixes:
- 29424ad Fixed issues across the Join operators, regarding incomplete or missing support for re-grouping, when foreign key values change. (reactivemarbles#1012) @JakenVeina
- 3d72c9e Fixed a filename typo preventing successful builds on Linux (where file systems are case-sensitive). (reactivemarbles#1040) @JakenVeina
Housekeeping:
- dcba2ff Housekeeping: Add Net10, Remove obsolete FilterOnProperty (reactivemarbles#1050) @ChrisPulman
Other:
- 5f9a27c Added new operator .AsyncDisposeMany(), equivalent to .DisposeMany(), but with support for IAsyncDisposable. (reactivemarbles#1011) @JakenVeina
- 758ef92 Bump version to 9.4 (reactivemarbles#1016) @RolandPheasant
- 7295286 Re-wrote .ToObservableChangeSet() operators for both Cache and List, to eliminate a deadlocking issue. (reactivemarbles#1017) @JakenVeina
- 7bc76f0 Remove references to dynamic-data.org - fixes reactivemarbles#988 (reactivemarbles#1023) @RolandPheasant
- 546f3ad Added weak-referencing to operators using background scheduling, to ensure that schedulers do not leak the operator subscriptions. (reactivemarbles#1027) @JakenVeina
- 0e76b11 Removed remaining references to dynamic-data.org. (reactivemarbles#1046) @JakenVeina
- 0dc5c80 chore(deps): update actions/checkout action to v5 (reactivemarbles#1029) @renovate[bot]
- edbf4ff chore(deps): update dependency nerdbank.gitversioning to 3.8.118 (reactivemarbles#1042) @renovate[bot]
- fdec969 chore(deps): update actions/setup-dotnet action to v5 (reactivemarbles#1038) @renovate[bot]
- 4b6dee5 chore(deps): update actions/setup-java action to v5 (reactivemarbles#1032) @renovate[bot]
- 36b6865 chore(deps): update actions/checkout action to v6 (reactivemarbles#1053) @renovate[bot]
- 9570383 chore(deps): update dependency microsoft.net.test.sdk to 17.14.1 (reactivemarbles#1015) @renovate[bot]
- cc3277b chore(deps): update dependency roslynator.analyzers to 4.15.0 (reactivemarbles#1026) @renovate[bot]
- 5d9b1be chore(deps): update dependency nerdbank.gitversioning to 3.9.50 (reactivemarbles#1051) @renovate[bot]
- da69249 chore(deps): update dependency system.reactive to 6.1.0 (reactivemarbles#1036) @renovate[bot]
- 6c90004 chore(deps): update dependency microsoft.reactive.testing to 6.1.0 (reactivemarbles#1035) @renovate[bot]
- a665cbc chore(deps): update dessant/lock-threads action to v6 (reactivemarbles#1055) @renovate[bot]
- f78c810 chore(deps): update xunit-dotnet monorepo (reactivemarbles#1001) @renovate[bot]
- 62787e0 chore(deps): update actions/cache action to v5 (reactivemarbles#1054) @renovate[bot]
- 7d65daa chore(deps): update dependency microsoft.net.test.sdk to v18 (reactivemarbles#1049) @renovate[bot]
- 88bc23e Removed bogus .Filter() overload that did not allow the consumer to supply filtering logic, resulting in all items always being filtered out. (reactivemarbles#1013) @JakenVeina
- d9a994d Operator and testing modernization for cache
.Filter()operators, as described in #1014. (reactivemarbles#1048) @JakenVeina - 8e68b3f Enhanced .WhenValueChanged() to support type casting within the expression. In particular, this allows the use of null as a fallback value for non-nullable value types. (reactivemarbles#1059) @JakenVeina
- d82a9cb Rewrote testing for the list variant of the OnItemRefreshed() operator, in accordance with #1014. (reactivemarbles#1065) @JakenVeina
- df1be36 Rewrote testing for the list variant of the OnItemRemoved() operator, in accordance with #1014, and in a preliminary effort to resolve reactivemarbles#1061. (reactivemarbles#1062) @JakenVeina
- dcb76a3 Rewrote testing for the list variant of the OnItemAdded() operator, in accordance with #1014. (reactivemarbles#1064) @JakenVeina
- f01a8c9 Re-wrote and optimized the static version of the list .Filter() operator, persuant to #1014, and #1060. This operator now properly supports Refresh changes, and preserves ordering of items, for downstream consumers. (reactivemarbles#1063) @JakenVeina
- 1a7d43a Rewrote the list variant of the OnItemAdded() operator, in accordance with #1014. (reactivemarbles#1069) @JakenVeina
- 4aaa9c1 Rewrote the list variant of the OnItemRefreshed() operator, in accordance with #1014. (reactivemarbles#1068) @JakenVeina
- 8db4806 Rewrote the list variant of the OnItemRemoved() operator, in accordance with #1014, as a fix for reactivemarbles#1062. (reactivemarbles#1067) @JakenVeina
9.3.4
Other:
- 77f9539 Generalized Solution for avoiding Out-of-Order Cache Child ChangeSets (reactivemarbles#1009) @dwcullop
9.3.3
Other:
- 50a4c48 Ensure TransformOnObservable preserves ChangeSet order (reactivemarbles#1008) @dwcullop
9.3.2
Bug Fixes:
- 6269c7d Bug Fix: Virtual sort on same page (reactivemarbles#997) @RolandPheasant
Other:
- ecd97f3 Net 9.0 target + test packages upgrade (reactivemarbles#1002) @RolandPheasant
- 1f02f36 Bump version for release (reactivemarbles#1003) @RolandPheasant
- ce443e9 Use new lock primitive (reactivemarbles#1005) @RolandPheasant
9.2.1
Other:
- 2dafcf1 Add AOT Friendly Attributes for BindingList Compatibility (reactivemarbles#987) @dwcullop
- 2cefd22 Release v9.2 (reactivemarbles#989) @RolandPheasant
9.1.2
Fixes:
- 9f934a2 Fix for ChangeSetMergeTracker so that it correctly works with Value Types (reactivemarbles#940) @dwcullop
- 5b0a911 Fixed a typo. (reactivemarbles#942) @JakenVeina
- f30efa2 Fixed that .SortAndPage() would not send a downstream changeset upon change of the comprer, when the current page includes all items. (reactivemarbles#967) @JakenVeina
- 95b94d3 Fixed that .Switch() did not propagate errors downstream. (reactivemarbles#968) @JakenVeina
- dd1f54d Fixed initialization logic for Join operators, to ensure that only one initial changeset is emitted, and that it emits only after both sources have emitted their initialization changeset. (reactivemarbles#945) @JakenVeina
- 2fb3eff Fix sort exception when using binary search (reactivemarbles#984) @RolandPheasant
Other:
- 61ac166 chore(deps): update dependency bogus to 35.6.0 (reactivemarbles#902) @renovate[bot]
- 741cf6b chore(deps): update dependency dotnet-sdk to v8.0.401 (reactivemarbles#883) @renovate[bot]
- a193643 chore(deps): update dependency nerdbank.gitversioning to 3.6.146 (reactivemarbles#928) @renovate[bot]
- ae5f97d chore(deps): update dependency microsoft.net.test.sdk to 17.11.1 (reactivemarbles#933) @renovate[bot]
- e897cf6 chore(deps): update dependency roslynator.analyzers to 4.12.9 (reactivemarbles#948) @renovate[bot]
- f0d0ead Update Build to allow for Net 9.0 (reactivemarbles#961) @ChrisPulman
- f7f0618 chore(deps): update dependency fluentassertions to 6.12.2 (reactivemarbles#947) @renovate[bot]
- 5e1dcd5 chore(deps): update dependency microsoft.net.test.sdk to 17.12.0 (reactivemarbles#962) @renovate[bot]
- 37ffe9d Added new Filter operators that utilize a predicate state stream, to help avoid unneccessary allocations of a new filter predicate delegate, every time the consumer desires to change filtering logic. (reactivemarbles#941) @JakenVeina
- d3fad52 chore(deps): update dependency roslynator.analyzers to 4.12.10 (reactivemarbles#972) @renovate[bot]
- 672bbde chore(deps): update dependency nerdbank.gitversioning to 3.7.112 (reactivemarbles#970) @renovate[bot]
- 1ab7c1c chore(deps): update dependency xunit.runner.visualstudio to v3 (reactivemarbles#971) @renovate[bot]
- 353a316 SortAndBind fixes and improvements (reactivemarbles#939) @RolandPheasant
- 9420bf4 Bump version to 9.1 for release (reactivemarbles#977) @RolandPheasant
9.0.7
Fixes:
- 76fd915 Fixed that ChangeSet was incorrectly counting item changes, by not including Refresh changes, and added corresponding tests. (reactivemarbles#892) @JakenVeina
- 903afc8 Fixed ambiguous overloads for
ObservableCacheEx.ExpireAfter()andObservableListEx.ExpireAfter(). (reactivemarbles#822) @JakenVeina - 897beb8 fix polyfills visibility (reactivemarbles#910) @kronic
- 41a608d Fixed premature evaluation of the collection within the Cache
TrueForoperators, causing premature and potentially incorrect emissions to occur, when items in the collection publish values immediately upon subscription. (reactivemarbles#923) @JakenVeina - afbbb47 Fixed a bogus use of the
defaultkeyword, within a ternary expression where implicit casting of a generic is in play. The expression compiles differently depending on whether the generic type in question is a value type, versus a reference type, and generates an excpetion in the case of a value type. (reactivemarbles#926) @JakenVeina - b6e851e Fixed that
.Bind()operators forISortedChangeSet<TObject, TKey>streams were not properly recognizing theResetOnFirstTimeLoadoption. The option was only being used if the initial changeset also exceeded theResetThresholdsetting. (reactivemarbles#935) @JakenVeina - 2c32489 Fix for GroupOnObservable OnCompleted handling (reactivemarbles#938) @dwcullop
Other:
- ba58742 New SortAndBind operator (reactivemarbles#878) @RolandPheasant
- 27d4011 Enable the use of default comparer for SortAndBind (reactivemarbles#879) @RolandPheasant
- 5114d01 Bump version to 8.4 for release (reactivemarbles#880) @RolandPheasant
- 6f45aa3 Observable comparers for SortAndBind (reactivemarbles#884) @RolandPheasant
- a02c6d6 Added a shared/reusable implementation for multi-locking within stream operators, I.E. being able to process upstream notifications and downstream notifications at the same time, with different locks, while still preserving notification order. (reactivemarbles#893) @JakenVeina
- 14c047f chore(deps): update dependency roslynator.analyzers to v4.12.3 (reactivemarbles#857) @renovate[bot]
- c69556f chore(deps): update xunit-dotnet monorepo to v2.8.0 (reactivemarbles#897) @renovate[bot]
- f9d1acf chore(deps): update dependency verify.xunit to v23.7.2 (reactivemarbles#886) @renovate[bot]
- 00a702e Update ListEx.cs, missing char (reactivemarbles#905) @kmgallahan
- 275cc2c New Virtualization operator (reactivemarbles#888) @RolandPheasant
- cec559b [DO NOT MERGE]: IKeyValueCollection as IReadOnlyList (reactivemarbles#874) @kronic
- a78094e chore(deps): update dependency microsoft.net.test.sdk to v17.10.0 (reactivemarbles#908) @renovate[bot]
- 6b19fd5 chore(deps): update dependency microsoft.reactive.testing to v6.0.1 (reactivemarbles#906) @renovate[bot]
- 5f4ddd2 chore(deps): update dependency system.reactive to v6.0.1 (reactivemarbles#907) @renovate[bot]
- af2a29e IObservableList items as IReadOnlyList (reactivemarbles#912) @kronic
- ad5d682 use null check pattern (reactivemarbles#911) @kronic
- 7b04571 ToChangeSet now emits empty sets too (reactivemarbles#916) @geferon
- 01d1119 New SortAndPage operator (reactivemarbles#917) @RolandPheasant
- 7f2b220 Remove obsolete code (reactivemarbles#918) @RolandPheasant
- 3382f7f Expose read only collections for source cache (reactivemarbles#919) @RolandPheasant
- 254dff0 chore(deps): update dependency nerdbank.gitversioning to v3.6.139 (reactivemarbles#915) @renovate[bot]
- 9d670db chore(deps): update dependency roslynator.analyzers to v4.12.4 (reactivemarbles#914) @renovate[bot]
- f6a187f Upgrade to Version 9 (reactivemarbles#920) @RolandPheasant
- 8fd1124 Concept/Prototype for testing utilities (reactivemarbles#870) @JakenVeina
- 55002ae SortAndBind uses Move instead of RemoveAt/Insert when applicable. (reactivemarbles#936) @kristian-pettersen