|
1 | 1 | [0.12.0.0] — Unreleased |
2 | 2 |
|
3 | | -* [New sized and/or unsigned variants of `readInt` and `readInteger`](https://github.com/haskell/bytestring/pull/438) |
4 | | -* [`readInt` returns `Nothing`, if the sequence of digits cannot be represented by an `Int`, instead of overflowing silently](https://github.com/haskell/bytestring/pull/309) |
5 | | -* [Remove `zipWith` rewrite rule](https://github.com/haskell/bytestring/pull/387) |
6 | | -* [`ShortByteString` is now a wrapper over boxed `Data.Array.Byte.ByteArray` instead of unboxed `ByteArray#` directly](https://github.com/haskell/bytestring/pull/410) |
7 | | -* [`fromListN` from `instance IsList ShortByteString` throws an exception if the first argument does not match the length of the second instead of silent ignore](https://github.com/haskell/bytestring/pull/410) |
| 3 | +* __Breaking Changes__: |
| 4 | + * [`readInt` returns `Nothing`, if the sequence of digits cannot be represented by an `Int`, instead of overflowing silently](https://github.com/haskell/bytestring/pull/309) |
| 5 | + * [Remove `zipWith` rewrite rule](https://github.com/haskell/bytestring/pull/387) |
| 6 | + * [`ShortByteString` is now a wrapper around `Data.Array.Byte.ByteArray` instead of `ByteArray#` directly](https://github.com/haskell/bytestring/pull/410) |
| 7 | + * As a compatibility measure, `SBS` remains available as a pattern synonym. |
| 8 | + * The compatibility package `data-array-byte` is used when `base` does not provide `Data.Array.Byte`. |
| 9 | + * [`fromListN` from `instance IsList ShortByteString` now throws an exception if the first argument does not match the length of the second](https://github.com/haskell/bytestring/pull/410) |
| 10 | + * Previously, it would ignore the first argument entirely. |
| 11 | +* Bug fixes: |
| 12 | + * Size-related calculations are more resistant to `Int` overflow in the following places: |
| 13 | + * [`Data.ByteString.intercalate`](https://github.com/haskell/bytestring/pull/468) |
| 14 | + * [`stimes @StrictByteString`](https://github.com/haskell/bytestring/pull/443) |
| 15 | + * [`Data.ByteString.Short.concat`](https://github.com/haskell/bytestring/pull/443) |
| 16 | + * [`Data.ByteString.Short.append`](https://github.com/haskell/bytestring/pull/443) |
| 17 | +<!-- TODO: Some other `ShortByteString` functions are probably still |
| 18 | + susceptible to bad behavior on `Int` overflow in edge cases; |
| 19 | + `D.B.Short.Internal.create` does not check for negative size, |
| 20 | + unlike its `StrictByteString` counterpart. |
| 21 | +--> |
| 22 | +* API additions: |
| 23 | + * [New sized and/or unsigned variants of `readInt` and `readInteger`](https://github.com/haskell/bytestring/pull/438) |
| 24 | + * [`Data.ByteString.Internal` now provides `SizeOverflowException`, `overflowError`, and `checkedMultiply`](https://github.com/haskell/bytestring/pull/443) |
| 25 | +* Deprecations: |
| 26 | + * `Data.ByteString.getLine`: prefer `Data.ByteString.Char8.getLine` |
| 27 | + * `Data.ByteString.hGetLine`: prefer `Data.ByteString.Char8.hGetLine` |
| 28 | +<!-- |
| 29 | +* Performance improvements: |
| 30 | +* Miscellaneous: |
| 31 | +* Internal stuff: |
| 32 | +--> |
| 33 | + |
| 34 | + |
| 35 | +[0.12.0.0]: https://github.com/haskell/bytestring/compare/0.11.5.0...0.12.0.0 |
| 36 | + |
| 37 | +[0.11.5.0] — Unreleased |
| 38 | + |
| 39 | +* Bug fixes: |
| 40 | + * [Fix multiple bugs with ASCII blocks in the SIMD implementations for `isValidUtf8`](https://github.com/haskell/bytestring/pull/582) |
| 41 | + * [Prevent unsound optimizations with the `Data.ByteString.create*` family of functions](https://github.com/haskell/bytestring/pull/580) |
| 42 | +* API additions: |
| 43 | + * [`Data.ByteString.Internal` now provides `mkDeferredByteString` and `deferForeignPtrAvailability`](https://github.com/haskell/bytestring/pull/580) |
| 44 | +* Deprecations: |
| 45 | + * `Data.ByteString.Internal.memcpy`: prefer `Foreign.Marshal.Utils.copyBytes` |
| 46 | + * `Data.ByteString.Internal.memset`: prefer `Foreign.Marshal.Utils.fillBytes` |
| 47 | +* Performance improvements: |
| 48 | + * [Many functions returning `StrictByteString` can now return their results unboxed](https://github.com/haskell/bytestring/pull/580) |
| 49 | + * [Dead branches removed from `Lazy.toStrict`](https://github.com/haskell/bytestring/pull/590) |
| 50 | + * [`Builder.toLazyByteString` re-uses under-filled buffers after copying their contents](https://github.com/haskell/bytestring/pull/581) |
| 51 | +* Miscellaneous: |
| 52 | + * [Minor benchmarking improvements](https://github.com/haskell/bytestring/pull/577) |
| 53 | +<!-- |
| 54 | +* Internal stuff: |
| 55 | + * Various CI tweaks ([1](https://github.com/haskell/bytestring/pull/571), [2](https://github.com/haskell/bytestring/pull/565), [3](https://github.com/haskell/bytestring/pull/583), [4](https://github.com/haskell/bytestring/pull/584)) |
| 56 | + * [`accursedUnutterablePerformIO`'s trail of destruction extended](https://github.com/haskell/bytestring/pull/579) |
| 57 | + * [Add type signatures for subfunction of `buildStepToCIOS`](https://github.com/haskell/bytestring/pull/586) |
| 58 | + * [`foldl'`-related import list tweaks](https://github.com/haskell/bytestring/pull/585) |
| 59 | +--> |
8 | 60 |
|
9 | | -[0.12.0.0]: https://github.com/haskell/bytestring/compare/0.11.4.0...0.12.0.0 |
| 61 | +[0.11.5.0]: https://github.com/haskell/bytestring/compare/0.11.4.0...0.11.5.0 |
10 | 62 |
|
11 | 63 | [0.11.4.0] — January 2023 |
12 | 64 |
|
|
0 commit comments