Skip to content

Commit 88f16dc

Browse files
authored
Update the changelog for 0.12.0.0 (#596)
* WIP: Update the changelog * Fix PR links in overflow-checking section * Changelog: Hide TODOs, add D.B.getLine/hGetLine deprecation
1 parent 4672a57 commit 88f16dc

File tree

2 files changed

+59
-7
lines changed

2 files changed

+59
-7
lines changed

Changelog.md

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,64 @@
11
[0.12.0.0] — Unreleased
22

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+
-->
860

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
1062

1163
[0.11.4.0] — January 2023
1264

bytestring.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Name: bytestring
2-
Version: 0.11.3.1
2+
Version: 0.12.0.0
33
Synopsis: Fast, compact, strict and lazy byte strings with a list interface
44
Description:
55
An efficient compact, immutable byte string type (both strict and lazy)

0 commit comments

Comments
 (0)