Changelog for bytestring-0.11.0.0
0.11.0.0 — September 2020
- Change internal representation of
ByteString, removing offset- The old
PSconstructor has been turned into a pattern synonym that is available with GHC >= 8.0 for backwards compatibility. Consider addingif !impl(ghc >=8.0) { build-depends: bytestring < 0.11 }to packages, which usePSand still support GHC < 8.0.
- The old
- Fill
ForeignPtrContentsofnullForeignPtrwithFinalPtrinstead of a bottom- While
bytestring-0.11is compatible with GHC >= 7.0, note thatbytestring < 0.11will be unbuildable with GHC >= 9.0.
- While
- Remove deprecated functions
findSubstringandfindSubstrings - Speed up sorting of short strings
- Improve handling of literal strings in
Data.ByteString.Builder - Compute length at compile time for literal strings
- This improves optimization opportunities for functions that scrutinize the length of a
ByteString.
- This improves optimization opportunities for functions that scrutinize the length of a
- Add
indexMaybeand synonym(!?)for indexing that returnsMaybe - Add rewrite rules for
{take,drop}While ({=,/}= x) - Add rewrite rules for
any (== x)andall (/= x) - Add rewrite rules for
findInd{ex,ices} (== x) - Improve folds to pass fewer arguments on each recursive invocation
- Improve performance of
findIndices - Re-export
Data.ByteString.Lazy.{from,to}StrictfromData.ByteString - Remove deprecated modules and functions
- Use
Data.ByteString.Builder{,.Extra}instead ofData.ByteString.Lazy.Builder{,.ASCII,.Extras}. - Use
Data.ByteString.Char8.{,h}putStrLninstead ofData.ByteString.{,h}putStrLnandData.ByteString.Lazy.Char8.putStrLninstead ofData.ByteString.Char8.putStrLn. - Use
Data.ByteString.break (== x)instead ofData.ByteString.breakByte x. - Use
Data.ByteString.Internal.accursedUnutterablePerformIOinstead ofData.ByteString.Internal.inlinePerformIO.
- Use
0.10.12.0 – August 2020
- Note: There are several breaking changes planned to be included in v0.11. Please ensure that your packages have appropriate upper bounds on bytestring, in order to minimize avoidable breakage.
- Add
takeWhileEndanddropWhileEndtoData.ByteStringandData.ByteString.Char8, and adddropSpaceandstriptoData.ByteString.Char8 - Add
findIndexEndtoData.ByteStringandData.ByteString.Lazy - Add
partitiontoData.ByteString.Char8andData.ByteString.Lazy.Char8 - Add
IsListinstances for strict and lazyByteStringand forShortByteString - Add
createUpToN'andunsafeCreateUpToN'toData.ByteString.Internal - Add
boundedPrimtoData.ByteString.Builder.Prim.Internaland deprecateboudedPrim - Deprecate the
Data.ByteString.Lazy.BuilderandData.ByteString.Lazy.Builder.{ASCII,Extras}modules - Fix documented complexity of
Data.ByteString.Lazy.length - Assorted documentation fixes
0.10.10.1 – June 2020
- Fix off-by-one infinite loop in primMapByteStringBounded (#203)
- Don't perform unaligned writes when it isn't known to be safe (#133)
- Improve the performance of sconcat for lazy and strict bytestrings (#142)
- Document inadvertent 0.10.6.0 behaviour change in findSubstrings
- Fix benchmark builds (#52)
- Documentation fixes
- Test fixes
0.10.10.0 July 2019 duncan+haskell@dcoutts.me.uk July 2019
- Build with GHC 8.8, and tests with QC 2.10+
- Add conversions between ShortByteString and CString (#126)
- Documentation fixes (#65, #118, #144, #150, #152, #172)
- Resolve potential copyright issue with test data (#165)
0.10.8.2 Duncan Coutts duncan@community.haskell.org Feb 2017
- Make readFile work for files with no size like /dev/null
- Extend the cases in which concat and toStrict can avoid copying data
- Fix building with ghc-7.0
- Minor documentation improvements
- Internal code cleanups
0.10.8.1 Duncan Coutts duncan@community.haskell.org May 2016
- Fix Builder output on big-endian architectures
- Fix building with ghc-7.6 and older
0.10.8.0 Duncan Coutts duncan@community.haskell.org May 2016
- Use Rabin-Karp substring search for
breakSubstringandfindSubstring - Improve the performance of
partitionfor lazy and strict bytestrings - Added
stripPrefixandstripSuffixfor lazy and strict bytestrings - Fix building with ghc 8.0 & base 4.9 (Semigroup etc)
0.10.6.0 Duncan Coutts duncan@community.haskell.org Mar 2015
- Rename inlinePerformIO so people don't misuse it
- Fix a corner case in unfoldrN
- Export isSuffixOf from D.B.Lazy.Char8
- Add D.B.Lazy.elemIndexEnd
- Fix readFile for files with incorrectly reported file size
- Fix for builder performance with ghc 7.10
- Fix building with ghc 6.12
0.10.4.1 Duncan Coutts duncan@community.haskell.org Nov 2014
- Fix integer overflow in concatenation functions
- Fix strictness of lazy bytestring foldl'
- Numerous minor documentation fixes
- Various testsuite improvements