Bugfix: concurrentMerge []
should not block forever, even if this case is
pathological.
- Changed the behaviour of
ByteString.splitOn
to not emit empty string if the input ends in the delimiter; nowlines
should match Prelude's. Bumped major version because this is a potentially breaking change (even if it is a bugfix.)
- Added
writeTo
export to the main module (forgotten when it was added to.Core
.)
- Added support for Text with Attoparsec, courtesy Kevin Brubeck Unhammer. Adds
modules
System.IO.Streams.Attoparsec.{ByteString, Text}
and deprecatesSystem.IO.Streams.Attoparsec
, which is now a thin wrapper.
- Bumped dependencies on
time
andprocess
.
- Added new fold functions:
fold_ :: (x -> a -> x) -- ^ accumulator update function
-> x -- ^ initial seed
-> (x -> s) -- ^ recover folded value
-> InputStream a -- ^ input stream
-> IO s
foldM_ :: (x -> a -> IO x) -- ^ accumulator update action
-> IO x -- ^ initial seed
-> (x -> IO s) -- ^ recover folded value
-> InputStream a -- ^ input stream
-> IO s
- Add support for latest
process
,time
, andtransformers
releases (and thereby indirectly for the upcoming GHC 8.0).
- Added
System.IO.Streams.Handle.handleToStreams
, to conveniently create anInputStream
/OutputStream
pair.
- Fixed a testsuite compile error on GHC >= 7.10.
- Added a new convenience function, like
chunkList
but with a predicate for when to split, taking current element and current chunk length:
chunkListWith :: (a -> Int -> Bool) -> InputStream a -> IO (InputStream [a]) ```
- Dependency bump for attoparsec 0.13 (another location)
- Dependency bump for vector 0.11
- Dependency bump for zlib 0.6
- Dependency bump for attoparsec 0.13.
- As long promised, removed the direct use of the
blaze-builder
package in favor of the newbytestring-builder
transitional package (to be replaced by bytestring's native builder once it is mature enough). - Added a new convenience function, a flipped version of
write
:
writeTo :: OutputStream a -> Maybe a -> IO () ```
- Dependency bump for primitive 0.6.
- Dependency bump for deepseq 1.4.
- Dependency bump for time 1.6.
-
Added
System.IO.Streams.mapMaybe
for InputStream. -
Added
System.IO.Streams.contramapMaybe
for OutputStream.
-
System.IO.Streams.Attoparsec.parseFromStream
: export more information about the context of parse errors to the message returned viaParseException
. -
Improved documentation about stream flushing in the docstring for
handleToOutputStream
.
-
Fixed bug #27 (snapframework#27): makeOutputStream now properly shuts down the stream upon receiving EOF. The new invariant might break user programs if they depended on the buggy behaviour, which is the reason for the major version bump.
-
Fixed a few polymorphic bindings that started breaking in recent GHC.
-
Dependency bumps for:
- text 1.2
- network 2.6
Moved old changelog entries to changelog.md
.
Allow use of attoparsec 0.12.*.
Allow use of transformers 0.4.*.
Allow use of new network version 2.5.
Fixed a build error with network versions older than 2.4.
System.IO.Streams.Network
: scalability improvement: buffers for socket reads
are now allocated by system malloc rather than by pinned pointers in GHC
(currently pinned pointer allocation takes a global lock).
Widened attoparsec
and text
library dependencies to allow the latest
versions.
Added System.IO.Streams.ByteString.takeExactly
. Widened network
dependency
to include 2.3. Added a NoInteractiveTests
flag to selectively disable some
tests for environments where spawning interactive processes is impossible.
Allowed newest versions of the process
, test-framework
, and text
libraries.
Fixed build error when compiled against attoparsec-0.10.0.x.
Added System.IO.Streams.Concurrent.makeChanPipe
, to create a simple
concurrent pipe between an InputStream
/OutputStream
pair.
Added System.IO.Streams.Network.socketToStreamsWithBufferSize
, allowing
control over the size of the receive buffers used when reading from sockets.
Fixed an inconsistent version upper bound in the test suite.
Fixed a typo in the tutorial.
A couple of Haddock markup fixes.
Reworked, simplified, and streamlined the internals of the library. Exports
from System.IO.Streams.Internal
relying on Sources and Sinks were deleted
because they are no longer necessary: Source(..)
, Sink(..)
,
defaultPushback
, withDefaultPushback
, nullSource
, nullSink
,
singletonSource
, simpleSource
, sourceToStream
, sinkToStream
,
generatorToSource
, and consumerToSink
.
Fixed a bug in which "takeBytes 0"
was erroneously requesting input from the
wrapped stream.
Fixed a compile error on GHC 7.0.x.
Added System.IO.Streams.Process
(support for communicating with system
processes using streams), added new functions to System.IO.Streams.Handle
for
converting io-streams
types to System.IO.Handle
s. (Now you can pass streams
from this library to places that expect Handles and everything will work.)
Added System.IO.Streams.Combinators.ignoreEof
.
Fixed some haddock markup.