Changelog for streamly-0.10.1

Changelog

0.10.1 (Jan 2024)

0.10.0 (Nov 2023)

See 0.9.0-0.10.0 API Changelog for a full list of API changes in this release. Only a few significant changes are mentioned here. For changes to the core functionality please see the changelog of the streamly-core package.

Breaking Changes

Enhancements

0.9.0 (Mar 2023)

Also see the following:

Package split

streamly package is split into two packages, (1) streamly-core that has only GHC boot library depdendecies, and (2) streamly that contains higher level operations (including concurrent ones) with additional dependencies. Make sure you add a dependency on streamly-core to keep old code working.

Breaking Changes

Major Changes

Streamly.Prelude module has been deprecated, equivalent functionality is covered by the Streamly.Data.Stream, Streamly.Data.Stream.Prelude, and Streamly.Data.Fold modules. The new modules use a monomorphic Stream type instead of the polymorphic IsStream t type.

Streamly.Data.Stream module and the Stream type are meant for writing high-performance fused pipelines not involving explicit recursion. For writing code that may require recursive function calls, Streamly.Data.Stream.StreamK module and the StreamK type have been added which provide a CPS based stream implementation. Stream and StreamK types can be easily interconverted.

The old code can be adapted to use the new modules with some changes. See the streamly-0.9.0 Upgrade Guide for more details on how to adapt your existing code to the new release.

Enhancements

Deprecations

Several modules and functions have been deprecated, equivalent modules or functions are suggested in the deprecation warning messages by the compiler.

Internal module changes

If you cannot find an internal module that you were using, it may have been moved to the streamly-core package or may have been renamed.

Following modules are moved to streamly-core package and renamed:

0.8.3 (September 2022)

0.8.2 (Mar 2022)

0.8.1.1 (Dec 2021)

0.8.1 (Nov 2021)

See ApiChangelogs/0.8.3.txt for new APIs introduced.

Bug Fixes

Notable Internal API Changes

0.8.0 (Jun 2021)

See API Changelog for a complete list of signature changes and new APIs introduced.

Breaking changes

Bug Fixes

Enhancements

Notable Internal/Pre-release API Changes

Breaking changes:

Bug fixes:

Miscellaneous

0.7.3 (February 2021)

Build Issues

0.7.2 (April 2020)

Bug Fixes

Build Issues

0.7.1 (February 2020)

Bug Fixes

Behavior change

Performance

0.7.0 (November 2019)

Breaking changes

Behavior change

Deprecations

Bug Fixes

Major Enhancements

This release contains a lot of new features and major enhancements. For more details on the new features described below please see the haddock docs of the modules on hackage.

Exception Handling

See Streamly.Prelude for new exception handling combinators like before, after, bracket, onException, finally, handle etc.

Composable Folds

Streamly.Data.Fold module provides composable folds (stream consumers). Folds allow splitting, grouping, partitioning, unzipping and nesting a stream onto multiple folds without breaking the stream. Combinators are provided for temporal and spatial window based fold operations, for example, to support folding and aggregating data for timeout or inactivity based sessions.

Composable Unfolds

Streamly.Data.Unfold module provides composable stream generators. Unfolds allow high performance merging/flattening/combining of stream generators.

Streaming File IO

Streamly.FileSystem.Handle provides handle based streaming file IO operations.

Streaming Network IO

Concurrent concatMap

The new concatMapWith in Streamly.Prelude combinator performs a concatMap using a supplied merge/concat strategy. This is a very powerful combinator as you can, for example, concat streams concurrently using this.

Other Enhancements

0.6.1 (March 2019)

Bug Fixes

Enhancements

0.6.0 (December 2018)

Breaking changes

Enhancements

0.5.2 (October 2018)

Bug Fixes

0.5.1 (September 2018)

0.5.0 (September 2018)

Bug Fixes

Enhancements

Deprecations

0.4.1 (July 2018)

Bug Fixes

0.4.0 (July 2018)

Breaking changes

Deprecations

Enhancements

0.3.0 (June 2018)

Breaking changes

Bug Fixes

Enhancements

0.2.1 (June 2018)

Bug Fixes

0.2.0 (May 2018)

Breaking changes

Deprecations

Enhancements

0.1.2 (March 2018)

Enhancements

Bug Fixes

0.1.1 (March 2018)

Enhancements

Bug Fixes

0.1.0 (December 2017)