Skip to content

Commit 0027641

Browse files
committed
Prepare changelog for 0.12.1.0 (#658)
* WIP: Prepare changelog for 0.12.1.0 * fiddle with CI * Revert "fiddle with CI" This reverts commit 3e22005. * More changelog updates * Mention `pure-haskell` flag in Changelog.md * Add hidden entry for #660 (cherry picked from commit 314e257)
1 parent 8a0e096 commit 0027641

File tree

2 files changed

+63
-6
lines changed

2 files changed

+63
-6
lines changed

Changelog.md

Lines changed: 62 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,65 @@
1+
[0.13.0.0] — circa 2026-2027
2+
3+
* __Breaking Changes__:
4+
* [`Data.Data.dataTypeOf` for `StrictByteString` and `LazyByteString` now returns a `DataType` that uses `AlgRep` instead of `NoRep`.](https://github.com/haskell/bytestring/pull/614)
5+
* This allows utilities like `syb:Data.Generics.Text.gread` to be meaningfully used at these types containing `ByteString`s.
6+
<!--
7+
* Bug fixes:
8+
* API additions and behavior changes:
9+
* Deprecations:
10+
* Performance improvements:
11+
* Miscellaneous:
12+
* Internal stuff:
13+
-->
14+
15+
[0.12.1.0] — February 2024
16+
17+
* [Provisional support has been added for using `bytestring` with GHC's JavaScript back-end.](https://github.com/haskell/bytestring/pull/631)
18+
* This support is relatively un-tested and un-optimised. There may be bugs! Please report any you discover to [`bytestring`'s issue tracker](https://github.com/haskell/bytestring/issues).
19+
* The JavaScript back-end's limited support for the Haskell-C foreign function interface would previously result in many operations failing with errors like `ReferenceError: h$fps_count is not defined`.
20+
* The new `pure-haskell` package flag allows the new fallback Haskell implementations (used to support the JavaScript backend) to be used on most other platforms as well.
21+
* Bug fixes:
22+
* [`stimes 0 sbs :: ShortByteString` now returns the empty `ShortByteString` instead of throwing an exception](https://github.com/haskell/bytestring/pull/611)
23+
* [`stimes 0 b :: Builder` now returns the empty `Builder` instead of throwing an exception](https://github.com/haskell/bytestring/pull/611)
24+
* [Several alignment-related bug fixes](https://github.com/haskell/bytestring/pull/587)
25+
* [Fix a bug in `isValidUtf8`](https://github.com/haskell/bytestring/pull/621)
26+
* [`sconcat @ShortByteString` is no longer terribly inefficient](https://github.com/haskell/bytestring/pull/650)
27+
* [Fix the type on the foreign import used for `Data.ByteString.Short.elemIndex`](https://github.com/haskell/bytestring/pull/661)
28+
* [Ensure that the result of `fromShort` is protected by `mkDeferredByteString`](https://github.com/haskell/bytestring/pull/662)
29+
* Behavior changes:
30+
* [The `Data.Data.Data` instances for `StrictByteString` and `LazyByteString` have been changed:](https://github.com/haskell/bytestring/pull/614)
31+
* `toConstr` now returns the a `pack` pseudo-constructor instead of throwing an exception.
32+
* Due to this pseudo-constructor, `gunfold` can now be meaningfully used at these types. (Previously, it would always raise an exception.)
33+
* These changes allow `syb:Data.Generics.Text.gshow` to be meaningfully used at types containing `ByteString`s.
34+
* [A derived `instance Generic ShortByteString` has been added.](https://github.com/haskell/bytestring/pull/662)
35+
* [`sconcat @Builder` is now lazy in the tail of its input](https://github.com/haskell/bytestring/pull/650)
36+
* Deprecations:
37+
* [`Data.ByteString.Builder.Prim.Internal.storableToF`](https://github.com/haskell/bytestring/pull/649)
38+
* Performance improvements:
39+
* Various raw-binary `Builder` primitives like `intHost` or `word32BE` are much less inefficient on architectures not known to support unaligned writes. ([1](https://github.com/haskell/bytestring/pull/587), [2](https://github.com/haskell/bytestring/pull/645))
40+
* [Hexadecimal encoding suffers one indirection fewer](https://github.com/haskell/bytestring/pull/624)
41+
* [`Data.ByteString.Lazy.takeEnd` is somewhat faster](https://github.com/haskell/bytestring/pull/629)
42+
* [`Data.ByteString.Lazy.dropEnd` is much faster](https://github.com/haskell/bytestring/pull/629)
43+
* Miscellaneous:
44+
* Various documentation improvements ([1](https://github.com/haskell/bytestring/pull/628), [2](https://github.com/haskell/bytestring/pull/609), [3](https://github.com/haskell/bytestring/pull/612), [4](https://github.com/haskell/bytestring/pull/623), [5](https://github.com/haskell/bytestring/pull/654))
45+
* [Eta-expand `Data.ByteString.Builder.Internal.empty`](https://github.com/haskell/bytestring/pull/616)
46+
* This can variously help or hurt performance; it undoes the performance changes caused by [CLC proposal 132](https://github.com/haskell/core-libraries-committee/issues/132) with ghc-9.8 and restores the baseline performance seen with older GHCs.
47+
<!--
48+
* Internal stuff:
49+
* [Delete cabal.project](https://github.com/haskell/bytestring/pull/613)
50+
* Remove some non-exposed data declarations from internal modules:
51+
* [`Data.ByteString.Short.Internal.BA`](https://github.com/haskell/bytestring/pull/615)
52+
* [`Data.ByteString.Short.Internal.MBA`](https://github.com/haskell/bytestring/pull/617)
53+
* Various CI tweaks ([1](https://github.com/haskell/bytestring/pull/626), [2](https://github.com/haskell/bytestring/pull/651))
54+
* [Use `NonEmpty` to prune dead code in `integerDec`](https://github.com/haskell/bytestring/pull/655)
55+
* This might have a performance impact due to result unboxing (CPR).
56+
* [Consolidate internal CPP for byte-order/endianness](https://github.com/haskell/bytestring/pull/659)
57+
* [Remove remaining uses of FFI under -fpure-haskell](https://github.com/haskell/bytestring/pull/660)
58+
* Doesn't warrant a separate visible changelog entry from #631.
59+
-->
60+
61+
[0.12.1.0]: https://github.com/haskell/bytestring/compare/0.12.0.2...0.12.1.0
62+
163
[0.12.0.2] — August 2023
264

365
* Bug fixes:
@@ -36,11 +98,6 @@
3698
* Deprecations:
3799
* `Data.ByteString.getLine`: prefer `Data.ByteString.Char8.getLine`
38100
* `Data.ByteString.hGetLine`: prefer `Data.ByteString.Char8.hGetLine`
39-
<!--
40-
* Performance improvements:
41-
* Miscellaneous:
42-
* Internal stuff:
43-
-->
44101

45102

46103
[0.12.0.0]: https://github.com/haskell/bytestring/compare/0.11.5.0...0.12.0.0

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.12.0.2
2+
Version: 0.12.1.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)