- Adds support for
vector-0.13.0.0
. See #174.
- Adds support for
text >= 2
. See #170.
- Fixes build with ghc-8.10 (broken in last release due to differences in TH API). See #165.
- Build with ghc-9.0.1
- Fixes testsuite compilation with
network >= 3.1.2
. See [#159][].
- Adds
Store
instances for all serializable datatypes exported by thetime
library. See #158.
- Attempts to fix build on ghc-7.8.4. See #157.
- Adds a
Store
instance forNatural
. See #154.
- Test now compiles with
smallcheck >= 1.2
andbase >= 4.14
. See #153.
- Now only depends on
fail
/semigroups
shim forghc < 8
.
- Fix for compilation with
ghc-8.10
in0.7.3
did not use enough CPP, and so broke builds for older versions. This release fixes that.
- Fixes compilation with
ghc-8.10
, particularlytemplate-haskell-2.16.0.0
. See #149.
- Fixes compilation with
vector >= 0.12.1.1
by makingderiveManyStoreUnboxVector
capable of handling more complex instance constraints. In particular, it now correctly generates instancesStore (Vector (f (g a))) => Store (Vector (Compose f g a))
andStore (Vector (f a)) => Store (Vector (Alt f a))
.
-
Fixes compilation with GHC-7.10 due to it not defining
Generic
instances forComplex
andIdentity
. See #142. -
Documents some gotchas about using store vs other libraries
- Fixes a bug where the
Store
instances forIdentity
,Const
, andComplex
all haveStorable
superclasses instead of `Store. See #143.
- Can now optionally be built with
integer-simple
instead ofinteger-gmp
, via theinteger-simple
cabal flag. Note that the serialization ofInteger
withinteger-simple
differs from what is used by the GMP default. See #147.
- Now builds with GHC-7.10 - compatibility was broken in 0.6.0 due to the fix for GHC-8.8. See [#146][#146].
- Now builds with GHC-8.8. This is a major version bump because MonadFail constraints were added to some functions, which is potentially a breaking change.
- Fixes compilation with GHC < 8.0. See #142.
- Update to the instances for generics, to improve error messages for sum types with more than 255 constructors. See #141
-
Update to TH to support sum types with more than 62 constructors.
-
Uses TH to derive Either instance, so that it can sometimes have ConstSize #119.
- Updates to test-suite enabling
store
to build with newer dependencies.
Data.Store.Streaming
moved to a separate package,store-streaming
.
-
Buildable with GHC 8.2
-
Fix to haddock formatting of Data.Store.TH code example
- Fixed compilation on GHC 7.8
- Less aggressive inlining, resulting in faster compilation / simplifier not running out of ticks
- Fixed testsuite
-
Breaking change in the encoding of Map / Set / IntMap / IntSet, to use ascending key order. Attempting to decode data written by prior versions of store (and vice versa) will almost always fail with a decent error message. If you're unlucky enough to have a collision in the data with a random Word32 magic number, then the error may not be so clear, or in extremely rare cases, successfully decode, yielding incorrect results. See #97 and #101.
-
Performance improvement of the 'Peek' monad, by introducing more strictness. This required a change to the internal API.
-
API and behavior of 'Data.Store.Version' changed. Previously, it would check the version tag after decoding the contents. It now also stores a magic Word32 tag at the beginning, so that it fails more gracefully when decoding input that lacks encoded version info.
Deprecated in favor of 0.4.1
-
Fix to derivation of primitive vectors, only relevant when built with primitive-0.6.2.0 or later
-
Removes INLINE pragmas on the generic default methods. This dramatically improves compilation time on recent GHC versions. See #91.
-
Adds
instance Contravariant Size
-
Uses store-core-0.3.*, which has support for alignment sensitive architectures.
-
Adds support for streaming decode from file descriptor, not supported on windows. As part of this addition, the API for "Data.Store.Streaming" has changed.
- Fixes a bug that could could result in attempting to malloc a negative number of bytes when reading corrupted data.
- Fixes a bug that could result in segfaults when reading corrupted data.
Release notes:
- Adds experimental
Data.Store.Version
and deprecatesData.Store.TypeHash
. The new functionality is similar to TypeHash, but there are much fewer false positives of hashes changing.
Other enhancements:
- Now exports types related to generics
Release notes:
- Core functionality split into
store-core
package
Breaking changes:
-
combineSize'
renamed tocombineSizeWith
-
Streaming support now prefixes each Message with a magic number, intended to detect mis-alignment of data frames. This is worth the overhead, because otherwise serialization errors could be more catastrophic - interpretting some bytes as a length tag and attempting to consume many bytes from the source.
Other enhancements:
-
weigh based allocations benchmark.
-
Addition of
Array
/UArray
instances -
Streaming support now has checks for over/undershooting buffer
Bug fixes:
- First public release