Skip to content

Commit 3bc6e6d

Browse files
committed
update release notes
1 parent 87e69ff commit 3bc6e6d

1 file changed

Lines changed: 49 additions & 12 deletions

File tree

RELEASE_NOTES.md

Lines changed: 49 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,40 @@
11
### 4.0.0
2+
3+
* **Breaking:** `AsyncSeq<'T>` is now `System.Collections.Generic.IAsyncEnumerable<'T>` (the BCL type). `ofAsyncEnum` and `toAsyncEnum` are now identity functions and marked `[<Obsolete>]`. Code that directly calls `.GetEnumerator()`/`.MoveNext()` must switch to `.GetAsyncEnumerator(ct)`/`.MoveNextAsync()` ([#230](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/230), [PR #231](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/231)).
4+
* Added `YieldFrom` overload for `seq<'T>` in `asyncSeq` computation expression — `yield! items` now works when `items` is a `seq<'T>` ([#123](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/123), [PR #236](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/236)).
5+
* Added `[<CompilerMessage>]` warning to `groupBy` and `groupByAsync` to alert users that results must be consumed with a parallel combinator to avoid deadlock ([#125](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/125), [PR #235](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/235)).
26
* Added `AsyncSeq.mapAsyncUnorderedParallelThrottled` for throttled unordered parallel mapping ([#31](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/31), [PR #225](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/225)).
37
* Fixed `ofAsyncEnum` deadlock on single-threaded runtimes such as Blazor WASM ([#152](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/152), [PR #229](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/229)).
48
* Updated `PackageLicenseExpression` (removed deprecated `PackageLicenseUrl`) and updated `Microsoft.Bcl.AsyncInterfaces` to 10.0.3 ([#168](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/168), [PR #228](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/228)).
59

610
### 3.3.1
11+
712
* Quick summary of changes:
8-
- Performance improvements: optimized `iterAsync` and `iteriAsync`; optimized `collect`, `mapAsync` and `unfoldAsync`; fixed append memory leak (Issue #35).
9-
- Added `mapAsyncUnorderedParallel` for improved parallel performance.
10-
- Added `AsyncSeq.chunkBy` and `AsyncSeq.chunkByAsync` for grouping consecutive elements by key ([#156](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/156), [PR #222](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/222)).
11-
- `AsyncSeq.mergeAll` now accepts `seq<AsyncSeq<'T>>` instead of `list<AsyncSeq<'T>>` for broader compatibility ([#165](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/165), [PR #221](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/221)).
12-
- Set up BenchmarkDotNet for systematic benchmarking; performance benchmarks show measurable improvements (addresses Round 1 & 2 of #190).
13-
- Build/CI updates: configuration and build-step updates.
13+
* Performance improvements: optimized `iterAsync` and `iteriAsync`; optimized `collect`, `mapAsync` and `unfoldAsync`; fixed append memory leak (Issue #35).
14+
* Added `mapAsyncUnorderedParallel` for improved parallel performance.
15+
* Added `AsyncSeq.chunkBy` and `AsyncSeq.chunkByAsync` for grouping consecutive elements by key ([#156](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/156), [PR #222](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/222)).
16+
* `AsyncSeq.mergeAll` now accepts `seq<AsyncSeq<'T>>` instead of `list<AsyncSeq<'T>>` for broader compatibility ([#165](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/165), [PR #221](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/221)).
17+
* Set up BenchmarkDotNet for systematic benchmarking; performance benchmarks show measurable improvements (addresses Round 1 & 2 of #190).
18+
* Build/CI updates: configuration and build-step updates.
1419

1520
### 3.2.1
21+
1622
* Release latest
1723

1824
### 3.2.0
25+
1926
* [Update to Fable 3.0](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/148)
2027

2128
### 3.1.0
22-
* Sorting functions https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/126
29+
30+
* Sorting functions <https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/126>
2331

2432
### 3.0.5
33+
2534
* Update publishing
2635

2736
### 3.0.4
37+
2838
* Restore netstandard2.0 (and thereby .NET Framework 4.6.1+) compatibility
2939
* Update build env versions to current recommendations
3040
* Adjust to ensure all tests pass and eliminate warnings in vscode (ionide) and visual studio
@@ -38,83 +48,106 @@
3848
* Move to only netstandard 2.1
3949

4050
### 2.0.24 - 27.05.2020
51+
4152
* Adding ofIQueryable [#112](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/112)
4253

4354
### 2.0.23 - 29.01.2019
55+
4456
* Adding .NET IAsyncEnumerable conversion functions (ofAsyncEnum and toAsyncEnum) [#96](https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/96)
4557

4658
### 2.0.22 - 29.09.2019
59+
4760
* Rename toList and toArray to toListSynchronously and toArraySynchronously
4861
* Add ofSeqAsync and concat
4962
* Improve parallelism of AsyncSeq.cache
5063

5164
### 2.0.21 - 28.12.2017
65+
5266
* Fix packaging issues
5367
* Reference FSharp.Core 4.3 for nestandard builds
5468

5569
### 2.0.21-alpha02 - 28.12.2017
70+
5671
* Fix packaging issues
5772
* Reference FSharp.Core 4.3 for nestandard builds
5873

5974
### 2.0.21-alpha01 - 28.12.2017
75+
6076
* Fix packaging issues
6177
* Reference FSharp.Core 4.3 for nestandard builds
6278

6379
### 2.0.20 - 16.12.2017
80+
6481
* Target .NET Standard
6582

6683
### 2.0.19-alpha01 - 22.12.2017
84+
6785
* Target .NET Standard
6886

6987
### 2.0.18 - 14.12.2017
88+
7089
* AsyncSeq.mergeAll min-max fairness
7190

7291
### 2.0.17 - 21.11.2017
73-
* Improve performance of internal Async.chooseTasks function which improves performance of AsyncSeq.bufferByCountAndTime, etc (https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/73)
92+
93+
* Improve performance of internal Async.chooseTasks function which improves performance of AsyncSeq.bufferByCountAndTime, etc (<https://github.com/fsprojects/FSharp.Control.AsyncSeq/pull/73>)
7494

7595
### 2.0.16 - 29.09.2017
96+
7697
* Fix previous package deployment
7798

7899
### 2.0.15 - 27.09.2017
100+
79101
* NEW: AsyncSeq.bufferByTime
80102

81103
### 2.0.14 - 27.09.2017
104+
82105
* BUG: Fixed head of line blocking in AsyncSeq.mapAsyncParallel
83106

84107
### 2.0.13 - 26.09.2017
108+
85109
* NEW: AsyncSeq.takeWhileInclusive
86110
* NEW: AsyncSeq.replicateUntilNoneAsync
87111
* NEW: AsyncSeq.iterAsyncParallel
88112
* NEW: AsyncSeq.iterAsyncParallelThrottled
89113
* BUG: Fixed exception propagation in AsyncSeq.mapAsyncParallel
90114

91115
### 2.0.12 - 06.04.2017
116+
92117
* Fix bug #63 in AsyncSeq.unfold >> AsyncSeq.choose
93118

94119
### 2.0.11 - 04.03.2017
120+
95121
* Fixed bug in AsyncSeq.cache when used by interleaved consumers.
96122
* AsyncSeq.zipWithAsyncParallel (and variants)
97123

98124
### 2.0.10 - 24.11.2016
125+
99126
* Improved asyncSeq workflow performance via bindAsync generator (@pragmatrix)
100127

101128
### 2.0.9 - 27.07.2016
129+
102130
* Much improved append performance.
103131
* Direct implementation of unfoldAsync as IAsyncEnumerable, with chooseAsync, mapAsync and foldAsync overrides
104132

105133
### 2.0.8 - 29.03.2016
134+
106135
* Add portable7 profile
107136

108137
### 2.0.3 - 03.12.2015
138+
109139
* Fix bug in Async.cache [#33](https://github.com/fsprojects/FSharp.Control.AsyncSeq/issues/33)
110140

111141
### 2.0.2 - 15.10.2015
142+
112143
* Fix leak in AsyncSeq.append and other derived generators
113144

114145
### 2.0.1 - 01.06.2015
146+
115147
* Add AsyncSeq.sum, length, contains, exists, forall, tryPick, tryFind
116148

117149
### 2.0.0 - 28.05.2015
150+
118151
* Simplify ofObservableBuffered and toBlockingSeq
119152
* Move to IAsyncEnumerable model to support try/finally and try/with
120153
* Rename replicate to replicateInfinite
@@ -130,23 +163,27 @@
130163
* Add RequireQualifiedAccess to AsyncSeq
131164

132165
### 1.15.0 - 30.03.2015
166+
133167
* Add AsyncSeq.getIterator (unblocks use of AsyncSeq in FSharpx.Async)
134168

135169
### 1.14 - 30.03.2015
170+
136171
* Cancellable AsyncSeq.toBlockingSeq
137172
* Fix AsyncSeq.scanAsync to also return first state
138173
* Add a signature file
139-
* AsyncSeq got extracted as separate project and is now a dependency - https://github.com/fsprojects/FSharpx.Async/pull/24
174+
* AsyncSeq got extracted as separate project and is now a dependency - <https://github.com/fsprojects/FSharpx.Async/pull/24>
140175

141176
### 1.13 - 27.03.2015
177+
142178
* Renamed to FSharp.Control.AsyncSeq
143179
* Remove surface area
144180
* Hide Nil/Cons from representation of AsyncSeq
145181

146182
### 1.12.1 - 27.03.2015
183+
147184
* Added Async.bindChoice, Async.ParallelIgnore, AsyncSeq.zipWithAsync, AsyncSeq.zappAsync, AsyncSeq.threadStateAsync, AsyncSeq.merge, AsyncSeq.traverseOptionAsync, AsyncSeq.traverseChoiceAsync
148185
* Added AsyncSeq.toList, AsyncSeq.toArray, AsyncSeq.bufferByCount, AsyncSeq.unfoldAsync, AsyncSeq.concatSeq, AsyncSeq.interleave
149186
* Copied the AsyncSeq from FSharpx.Async
150-
* BUGFIX: AsyncSeq.skipWhile skips an extra item - https://github.com/fsprojects/AsyncSeq/pull/2
151-
* BUGFIX: AsyncSeq.skipWhile skips an extra item - https://github.com/fsprojects/AsyncSeq/pull/2
152-
* BUGFIX: AsyncSeq.toBlockingSeq does not hung forever if an exception is thrown and reraise it outside - https://github.com/fsprojects/AsyncSeq/pull/21
187+
* BUGFIX: AsyncSeq.skipWhile skips an extra item - <https://github.com/fsprojects/AsyncSeq/pull/2>
188+
* BUGFIX: AsyncSeq.skipWhile skips an extra item - <https://github.com/fsprojects/AsyncSeq/pull/2>
189+
* BUGFIX: AsyncSeq.toBlockingSeq does not hung forever if an exception is thrown and reraise it outside - <https://github.com/fsprojects/AsyncSeq/pull/21>

0 commit comments

Comments
 (0)