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