1# Changes in version 0.12.2.0
2
3 * Add `MINIMAL` pragma to `Vector` & `MVector` type classes: [#11](https://github.com/haskell/vector/issues/11)
4 * Export `unstreamM` from`from Data.Vector.Generic`: [#70](https://github.com/haskell/vector/issues/70)
5 * New functions: `unfoldrExactN` and `unfoldrExactNM`: [#140](https://github.com/haskell/vector/issues/140)
6 * Added `iforM` and `iforM_`: [#262](https://github.com/haskell/vector/issues/262)
7 * Added `MonadFix` instance for boxed vectors: [#178](https://github.com/haskell/vector/issues/178)
8 * Added `uncons` and `unsnoc`: [#212](https://github.com/haskell/vector/issues/212)
9 * Added `foldMap` and `foldMap'`: [#263](https://github.com/haskell/vector/issues/263)
10 * Added `isSameVector` for storable vectors
11 * Added `toArray`, `fromArray`, `toMutableArray` and `fromMutableArray`
12 * Added `iscanl`, `iscanl'`, `iscanr`, `iscanr'` to `Primitive`, `Storable` and `Unboxed`
13 * Added `izipWithM`, `izipWithM_`, `imapM` and `imapM_` to `Primitive` and `Storable`
14 * Added `ifoldM`, `ifoldM'`, `ifoldM_` and `ifoldM'_` to `Primitive` and `Storable`
15 * Added `eqBy` and `cmpBy`
16 * Added `findIndexR` to `Generic`: [#172](https://github.com/haskell/vector/issues/172)
17 * Added `catMaybes`: [#329](https://github.com/haskell/vector/issues/329)
18 * Added `mapMaybeM` and `imapMaybeM`: [#183](https://github.com/haskell/vector/issues/183)
19
20# Changes in version 0.12.1.2
21
22 * Fix for lost function `Data.Vector.Generic.mkType`: [#287](https://github.com/haskell/vector/issues/287)
23
24# Changes in version 0.12.1.1 (deprecated)
25 * add semigrioups dep to test suite so CI actually runs again on GHC < 8
26
27# Changes in version 0.12.1.0 (deprecated)
28 * Fix integer overflows in specializations of Bundle/Stream enumFromTo on Integral types
29 * Fix possibility of OutOfMemory with `take` and very large arguments.
30 * Fix `slice` function causing segfault and not checking the bounds properly.
31 * updated specialization rule for EnumFromTo on Float and Double
32  to make sure it always matches the version in GHC Base (which changed as of 8.6)
33  Thanks to Aleksey Khudyakov @Shimuuar for this fix.
34 * fast rejection short circuiting in eqBy operations
35 * the O2 test suite now has reasonable memory usage on every GHC version,
36    special thanks to Alexey Kuleshevich (@lehins).
37 * The `Mutable` type family is now injective on GHC 8.0 or later.
38 * Using empty `Storable` vectors no longer results in division-by-zero
39   errors.
40 * The `Data` instances for `Vector` types now have well defined
41   implementations for `toConstr`, `gunfold`, and `dataTypeOf`.
42 * New function: `partitionWith`.
43 * Add `Unbox` instances for `Identity`, `Const`, `Down`, `Dual`, `Sum`,
44   `Product`, `Min`, `Max`, `First`, `Last`, `WrappedMonoid`, `Arg`, `Any`,
45   `All`, `Alt`, and `Compose`.
46 * Add `NFData1` instances for applicable `Vector` types.
47
48# Changes in version 0.12.0.3
49  * Monad Fail support
50
51# Changes in version 0.12.0.2
52  * Fixes issue #220, compact heap operations crashing on boxed vectors constructed
53    using traverse.
54  * backport injective type family support
55  * Cleanup the memset code internal to storable vector modules to be
56    compatible with future Primitive releases
57
58# Changes in version 0.12.0.1
59
60 * Make sure `length` can be inlined
61 * Include modules that test-suites depend on in other-modules
62
63# Changes in version 0.12.0.0
64
65 * Documentation fixes/additions
66 * New functions: createT, iscanl/r, iterateNM, unfoldrM, uniq
67 * New instances for various vector types: Semigroup, MonadZip
68 * Made `Storable` vectors respect memory alignment
69 * Changed some macros to ConstraintKinds
70   - Dropped compatibility with old GHCs to support this
71 * Add `Eq1`, `Ord1`, `Show1`, and `Read1` `Vector` instances, and related
72   helper functions.
73 * Relax context for `Unbox (Complex a)`.
74
75# Changes in version 0.11.0.0
76
77 * Define `Applicative` instances for `Data.Vector.Fusion.Util.{Box,Id}`
78 * Define non-bottom `fail` for `instance Monad Vector`
79 * New generalized stream fusion framework
80 * Various safety fixes
81   - Various overflows due to vector size have been eliminated
82   - Memory is initialized on creation of unboxed vectors
83 * Changes to SPEC usage to allow building under more conditions
84
85# Changes in version 0.10.12.3
86
87 * Allow building with `primtive-0.6`
88
89# Changes in version 0.10.12.2
90
91 * Add support for `deepseq-1.4.0.0`
92
93# Changes in version 0.10.12.1
94
95 * Fixed compilation on non-head GHCs
96
97# Changes in version 0.10.12.0
98
99 * Export MVector constructor from Data.Vector.Primitive to match Vector's
100   (which was already exported).
101
102 * Fix building on GHC 7.9 by adding Applicative instances for Id and Box
103
104# Changes in version 0.10.11.0
105
106 * Support OverloadedLists for boxed Vector in GHC >= 7.8
107
108# Changes in version 0.10.10.0
109
110 * Minor version bump to rectify PVP violation occured in 0.10.9.3 release
111
112# Changes in version 0.10.9.3 (deprecated)
113
114 * Add support for OverloadedLists in GHC >= 7.8
115
116# Changes in version 0.10.9.2
117
118 * Fix compilation with GHC 7.9
119
120# Changes in version 0.10.9.1
121
122 * Implement poly-kinded Typeable
123
124# Changes in version 0.10.0.1
125
126 * Require `primitive` to include workaround for a GHC array copying bug
127
128# Changes in version 0.10
129
130 * `NFData` instances
131 * More efficient block fills
132 * Safe Haskell support removed
133