@@ -22,12 +22,11 @@
22 * `runN` has been replaced by `drainN`
22 * `runN` has been replaced by `drainN`
23 * `runWhile` has been replaced by `drainWhile`
23 * `runWhile` has been replaced by `drainWhile`
24 * `fromHandle` has been deprecated. Please use
24 * `fromHandle` has been deprecated. Please use
25− `Streamly.FileSystem.Handle.read`, `Streamly.Data.String.decodeUtf8` and
25+ `Streamly.FileSystem.Handle.read`, `Streamly.Data.Unicode.Stream.decodeUtf8` and
26− `Streamly.Data.String.lines` to split the stream into lines. Use
27− `Streamly.Data.String.foldLine` with `Streamly.Fold.toList` if you want to
26+ `splitOnSuffix` with `Streamly.Data.Fold.toList` to split the
28− convert the stream to a stream of `String`.
27+ stream to a stream of `String` separated by a newline.
29− * `toHandle` has been deprecated. Please use `intersperse` and `concat` to
28+ * `toHandle` has been deprecated. Please use `intersperse` and `concatUnfold` to
30− add newlines to a stream, `Streamly.Data.String.encodeUtf8` for encoding and
29+ add newlines to a stream, `Streamly.Data.Unicode.Stream.encodeUtf8` for encoding and
31 `Streamly.FileSystem.Handle.write` for writing to a file handle.
30 `Streamly.FileSystem.Handle.write` for writing to a file handle.
32 * Deprecate `scanx`, `foldx`, `foldxM`, `foldr1`
31 * Deprecate `scanx`, `foldx`, `foldxM`, `foldr1`
33 * Remove deprecated APIs `foldl`, `foldlM`
32 * Remove deprecated APIs `foldl`, `foldlM`
@@ -38,7 +37,8 @@
38 * `foldWith`, `foldMapWith`, `forEachWith` have been moved to
37 * `foldWith`, `foldMapWith`, `forEachWith` have been moved to
39 `Streamly.Prelude` module.
38 `Streamly.Prelude` module.
41−* Remove deprecated module `Streamly.Time` (moved to Streamly.Internal)
40+* Remove deprecated module `Streamly.Time` (moved to Streamly.Internal.Data.Time)
41+* Remove module `Streamly.Internal` (functionality moved to the Internal hierarchy)
43### Bug Fixes
43### Bug Fixes
@@ -59,7 +59,7 @@ See `Streamly.Prelude` for new exception handling combinators like `before`,
60#### Composable Folds
60#### Composable Folds
62−`Streamly.Fold` module provides composable folds (stream consumers). Folds
62+`Streamly.Data.Fold` module provides composable folds (stream consumers). Folds
63allow splitting, grouping, partitioning, unzipping and nesting a stream onto
63allow splitting, grouping, partitioning, unzipping and nesting a stream onto
64multiple folds without breaking the stream. Combinators are provided for
64multiple folds without breaking the stream. Combinators are provided for
65temporal and spatial window based fold operations, for example, to support
65temporal and spatial window based fold operations, for example, to support
@@ -67,7 +67,7 @@ folding and aggregating data for timeout or inactivity based sessions.
68#### Composable Unfolds
68#### Composable Unfolds
70−`Streamly.Unfold` module provides composable stream generators. Unfolds allow
70+`Streamly.Data.Unfold` module provides composable stream generators. Unfolds allow
71high performance merging/flattening/combining of stream generators.
71high performance merging/flattening/combining of stream generators.
73#### Streaming File IO
73#### Streaming File IO
@@ -77,20 +77,25 @@ operations.
78#### Streaming Network IO
78#### Streaming Network IO
80−`Streamly.Network.Socket` provides socket based streaming network IO
80+* `Streamly.Network.Socket` provides socket based streaming network IO
81operations.
81operations.
83+* `Streamly.Network.Inet.TCP` provides combinators to build Inet/TCP
83#### Concurrent concatMap
86#### Concurrent concatMap
85−The new `concatMapWith` combinator performs a `concatMap` using a supplied
88+The new `concatMapWith` in `Streamly.Prelude` combinator performs a
86−merge/concat strategy. This is a very powerful combinator as you can, for
89+`concatMap` using a supplied merge/concat strategy. This is a very
90+powerful combinator as you can, for example, concat streams
87−example, concat streams concurrently using this.
91+concurrently using this.
89### Other Enhancements
93### Other Enhancements
91* Add the following new features/modules:
95* Add the following new features/modules:
92− * _Unicode Strings_: `Streamly.Data.String` module provides encoding/decoding of
96+ * _Unicode Strings_: `Streamly.Data.Unicode.Stream` module provides
93− character streams and other character stream operations.
97+ encoding/decoding of character streams and other character stream
94 * _Arrays_: `Streamly.Memory.Array` module provides arrays for efficient
99 * _Arrays_: `Streamly.Memory.Array` module provides arrays for efficient
95 in-memory buffering and efficient interfacing with IO.
100 in-memory buffering and efficient interfacing with IO.
@@ -139,7 +144,7 @@ example, concat streams concurrently using this.
139 * Multi-stream: `eqBy`, `cmpBy`, `mergeBy`, `mergeByM`, `mergeAsyncBy`,
144 * Multi-stream: `eqBy`, `cmpBy`, `mergeBy`, `mergeByM`, `mergeAsyncBy`,
140 `mergeAsyncByM`, `isPrefixOf`, `isSubsequenceOf`, `stripPrefix`,
145 `mergeAsyncByM`, `isPrefixOf`, `isSubsequenceOf`, `stripPrefix`,
141 `concatMap`, `concatMapM`, `indexed`, `indexedR`
146 `concatMap`, `concatMapM`, `indexed`, `indexedR`
142−* Following instances were added for `SerialT m`, `WSerialT m` and
147+* Following instances were added for `SerialT m`, `WSerialT m` and
143 `ZipSerialM m`:
148 `ZipSerialM m`:
144 * When `m` ~ `Identity`: IsList, Eq, Ord, Show, Read, IsString, NFData,
149 * When `m` ~ `Identity`: IsList, Eq, Ord, Show, Read, IsString, NFData,
145 NFData1, Traversable
150 NFData1, Traversable