@@ -1,14 +1,21 @@
1## Unreleased
1## Unreleased
3−### Enhancements
3+### Behavioral changes
5−* New encoding/decoding routines, `encodeUtf8'`, `encodeLatin1'`, `decodeUtf8'`,
5+* `Streamly.Prelude.fold` can now terminate early without consuming the entire
6− are added, these routines fail when they encounter any invalid characters.
6+ stream. For example, `fold Fold.head stream` would now terminate immediately
7+ after consuming the head element from `stream`.
8+* Change the associativity of combinators `serial`, `wSerial`,
9+ `ahead`, `async`, `wAsync`, `parallel` to be the same as `<>`.
10+* `encodeUtf8`, `decodeUtf8` now replace any invalid character encountered
11+ during encoding/decoding with the Unicode replacement character. Use
12+ `encodeUtf8'`, `decodeUtf8'` to recover the previous functionality.
13+* `encodeLatin1` now silently truncates any character beyond 255 to incorrect
14+ characters in the input stream. Use `encodeLatin1'` to recover previous
8### Breaking changes
17### Breaking changes
10−* Deprecate `Streamly.Memory.Array` in favor of `Streamly.Data.Array.Storable.Foreign`
11−* Deprecate `Streamly.Data.Unicode.Stream` in favor of `Streamly.Unicode.Stream`
12* Change the signature of `foldlM'` to make the initial value of the
19* Change the signature of `foldlM'` to make the initial value of the
13 accumulator monadic.
20 accumulator monadic.
14* Change the signature of `scanlM'`, `postscanlM'` to make the initial value of
21* Change the signature of `scanlM'`, `postscanlM'` to make the initial value of
@@ -19,19 +26,15 @@
19 require an additional `MonadAsync` constraint. Several other
26 require an additional `MonadAsync` constraint. Several other
20 functions that used these functions also now require the additional
27 functions that used these functions also now require the additional
21 constraint.
28 constraint.
22−* Change the associativity of combinators `serial`, `wSerial`,
29+
23− `ahead`, `async`, `wAsync`, `parallel` to be the same as `<>`.
30+### Enhancements
24−* `encodeUtf8`, `decodeUtf8` now replace any invalid character encountered
31+
25− during encoding/decoding with the Unicode replacement character. Use
32+* New encoding/decoding routines, `encodeUtf8'`, `encodeLatin1'`, `decodeUtf8'`,
26− `encodeUtf8'`, `decodeUtf8'` to recover the previous functionality.
33+ are added, these routines fail when they encounter any invalid characters.
27−* `encodeLatin1` now silently truncates any character beyond 255 to incorrect
28− characters in the input stream. Use `encodeLatin1'` to recover previous
30−* Drop support for GHC 7.10.3.
32### Bug Fixes
35### Bug Fixes
34−* The monadic state for the stream is now propogated across threads. Please
37+* The monadic state for the stream is now propagated across threads. Please
35 refer to [#369](https://github.com/composewell/streamly/issues/369) for
38 refer to [#369](https://github.com/composewell/streamly/issues/369) for
36 more info.
39 more info.
37* `accept*` and `connect` APIs in `Streamly.Network.Inet.TCP` and the `accept`
40* `accept*` and `connect` APIs in `Streamly.Network.Inet.TCP` and the `accept`
@@ -43,6 +46,10 @@
44### Deprecations
47### Deprecations
49+* Deprecate `Streamly.Memory.Array` in favor of
50+ `Streamly.Data.Array.Storable.Foreign`
51+* Deprecate `Streamly.Data.Unicode.Stream` in favor of
52+ `Streamly.Unicode.Stream`
46* The `Streamly` module is now deprecated, its functionality is subsumed
53* The `Streamly` module is now deprecated, its functionality is subsumed
47 by `Streamly.Prelude`.
54 by `Streamly.Prelude`.
48* Some functions from `Streamly` module have been renamed in `Streamly.Prelude` module:
55* Some functions from `Streamly` module have been renamed in `Streamly.Prelude` module:
@@ -53,6 +60,22 @@
53 * `encodeUtf8Lax` to `encodeUtf8`
60 * `encodeUtf8Lax` to `encodeUtf8`
54 * `encodeLatin1Lax` to `encodeLatin1`
61 * `encodeLatin1Lax` to `encodeLatin1`
55 * `decodeUtf8Lenient` to `decodeUtf8`
62 * `decodeUtf8Lenient` to `decodeUtf8`
63+* Drop support for GHC 7.10.3.
67+* `Streamly.Internal.Prelude` renamed to `Streamly.Internal.Data.Stream.IsStream`
68+* Parser functionality is added via `Streamly.Internal.Data.Parser` module
69+* `Streamly.Internal.Data.Binary.Decode` module added for decoding Haskell
70+ values from binary data.
71+* FileSystem event notification (fsnotify/inotify) functionality added via
72+ `Streamly.Internal.FileSystem.Event.*` modules.
73+* The `Fold` type has changed to accomodate terminating folds.
74+* Added `use-c-malloc` build flag to use the c library `malloc` for array
76+* A bug was fixed in the conversion of MicroSecond64 and MilliSecond64
78+* Bug fix: classifySessionsBy now flushes sessions at the end and terminates.