0.8.5.0
was first released as version0.9.0.0
. It didn't have any breaking changes though, so it was again released as version0.8.5.0
according to PVP. Next breaking release ofbinary
will be version0.10.0.0
.
- Add Binary instances for Typeable TypeReps, #131.
- Fix compilation with bytestring < 0.10.4.
binary
supports GHC >= 7.4.2- Performance improvements for
Alternative
functions. - put/get functions for IEEE-754 floats and doubles, #119.
- Fix performance bugs, #115.
- Binary instances for datatypes in
Data.Monoid
andData.Semigroup
, #114.
- Replace binary's home grown
Builder
withData.ByteString.Builder
.Data.Binary.Builder
now exportsData.ByteString.Builder.Builder
. - Add
putList :: [a] -> Put
to theBinary
class. This is used to be able to use the list writing primitives of the new Builder. This brought a number of speedups; Encoding a String is now 70% faster. [Word8] is 76% faster, which also makes Integer 34% faster. Similar numbers for all [IntXX] and [WordXX]. - Fail gracefully within
Get
when decodingBool
andOrdering
. Previously when decoding invalid data these instances would fail witherror
. - Add Binary instance for
Complex a
. - Add Monoid and Semigroup instance for
Put
.
- Fix compilation error when using older GHC versions and clang. clang barfs on some of its CPP input (#105).
- When using GHC >= 8,
Data.Binary.Get.Get
implements MonadFail and delegates itsfail
toMonadFail.fail
.
- Add binary instance for
Data.ByteString.Short
. - Add get/put functions for all Int sizes to
Data.Binary.Builder
,Data.Binary.Get
andData.Binary.Put
.
- Address compiler warnings.
- Added binary instance for
Version
fromData.Version
. - Added binary instance for
Void
from GHC 7.10.1. - Added binary instance for
(Data.Fixed a)
from GHC 7.8.1. - Added semigroup instance for
Data.Binary.Builder
from GHC 8.0.
- Fix compilation for GHC == 7.2.*.
- Added binary instance for GHC.Fingerprint (from GHC >= 7.4).
- Fix performance bug that was noticable when you get a big strict ByteString and the input to the decoder consists of many small chunks.
- Fix memory leak when decoding Double and Float.
- Commit 497a181c083fa9faf7fa3aa64d1d8deb9ac76ecb
- We now require QuickCheck >= 2.8. Remove our version of arbitrarySizedNatural.
- Some invalid UTF-8 strings caused an exception when decoded. Those errors will now now fail in the Get monad instead. See #70. Patch contributed by @ttuegel.
- Add Binary instance for Natural (only with base > 4.8).
- Remove INLINEs from GBinary/GSum methods. These interact very badly with the GHC 7.9.x simplifier. See also;
- Make import of GHC.Base future-proof (haskell/binary#59).
- Fix to compile on GHC 6.10.4 and older (haskell/binary#55).
- Add
isolate :: Int -> Get a -> Get a
. - Add
label :: String -> Get a -> Get a
.
- Add
lookAheadE :: Get (Either a b) -> Get (Either a b)
. - Add MonadPlus instance for Get.
- Updates to documentation.
- Add
lookAhead :: Get a -> Get a
. - Add
lookAheadM :: Get (Maybe a) -> Get (Maybe a)
. - Add Alternative instance for Get (provides
<|>
). - Add
decodeOrFail :: Binary a => L.ByteString -> Either (L.ByteString, ByteOffset, String) (L.ByteString, ByteOffset, a)
- Add
decodeFileOrFail :: Binary a => FilePath -> IO (Either (ByteOffset, String) a)
. - Remove
Ord
class constraint fromSet
andMap
Binary instances.
- Add
runGetOrFail :: Get a -> L.ByteString -> Either (L.ByteString, ByteOffset, String) (L.ByteString, ByteOffset, a)
.
- Documentation tweeks, internal restructuring, more tests.
some
andmany
more efficient.- Fix bug where
bytesRead
returned the wrong value. - Documentation improvements.
- Fix bug where a decoder could return with
Partial
after the previous reply wasNothing
.