- Work only with GHC >= 9.2, use sized primitive types, new integer types.
- Remove dependencies on
ghc-prim,integer-gmp, use modules exported bybaseinstead. - Change
emptyArrto aArrclass method.
- Fix building issues on ARM platform.
- Add
UUIDbuilders and parsers(both textual binary). - Add more
PrimUnlifedinstances toZ.Data.Array.UnliftedArray. - Add
doubleMutableArrtoZ.Data.Array, useful in some buffer building logic. - Add
shuffleandpermutationstoZ.Data.VectorandZ.Data.Text. - Add
prettyJSON'toZ.Data.JSONwith custom indentation. - Change
CBytes's JSON instance to write__base64field(instead ofbase64field) when not UTF8 encoded. - Add missing type alias
UnliftedIORefforUnliftedRef RealWorld.
- Fix a regression in
matchparsing combinator where matched chunk is returned instead of precise matched input.
- Clean up various
RULESandINLINEpragmas, improve building time a little. - Simplify
Z.Data.PrimRefto usePrimMonad. - Add
encodeXXX/encodeXXXLE/encodeXXXBE(whereXXXis a primitive type) toZ.Data.Builder. - Add
check-array-boundbuild flag to enable bound check inZ.Data.Arraymodule,Z.Data.Array.Checkedis removed. - Add
concatRtoZ.Data.VectorandZ.Data.Text, which is useful to concat the result of an accumulator style recursive function. - Improve date builder and parser by introducing faster common case path.
- Add
decodeXXX/deocodeXXXLE/decodeXXXBE(whereXXXis a primitive type) toZ.Data.Parser. - Rename
replicateMVec/traveseVec/traveseVec_tpreplicateM/travese/travese_, fix relatedPrimMonadrules not firing issue. - Add a faster
sciToDoublebased on https://github.com/lemire/fast_double_parser, improvedouble/double'parser.
- Add
withCPtrForeverandaddCPtrDeptoZ.Foreign.CPtrmodule. - Add
replicateMVectoZ.Data.Vector. - Fix AVX512 text validate header building with C11.
- Add
use-avx2anduse-avx512flags(default to False) to enable avx2 or avx512 base64 codec, UTF8 validator, etc.
- Change SIMD base64 codec to https://github.com/lemire/fastbase64.
- Add SIMD enabled
countfrom bytestring. - Switch
no-avxon by default to improve compiled binary's portablity. - Add
collate, courtesy by jgm: https://github.com/jgm/unicode-collation. - Add
hexDecodeWS/hexDecodeWS'toZ.Data.Vector.Hex.
- Fix a bug in
peekMaybeacross buffer boundary. - Clean up base64 AVX/SSE CPP flags.
arrVecfromZ.Data.Vectornow could convert between vector(array slice) and array back and forth.- Fix a CPP bug in
no-avxbuild flag.
- Fix numeric literals'
Printinstances when precedence > 6 and value < 0. - Add
no-avxbuild flag to run tests on VMs without AVX support.
- Add
withCPtrs,withCPtrsUnsafetoZ.Foreign.CPtr. - Add
displayWidthChartoZ.Data.Text.
- Change
ParseChunksandparseChunksto based onparseChunk. - Remove
parseValueChunks, adddecodeChunktoZ.Data.JSON.
- Change
Bytes'sHashableinstance to use FNV-1a (proposed by @zypeh).
- Add
emptyArrtoZ.Data.Array. - Add
newCPtr'to accommodate common cases. - Use
memchrinsplit/splitWith/linesif possible.
- Add more helpers to debug
Parser:currentChunk,failWithInput,unsafeLiftIO. - Parser now is an instance of
PrimMonad, which can perform limited effects, e.g. array operations. - Make some parsers' error message more helpful.
- Add
fromMutablePrimArrayfor constructing CBytes. - Add
toBytes'/toBuilder'(convert with the \NUL terminator) toZ.Data.CBytes.
- Add
CPtrtype, a more lightweight foreign pointer. - Add
toLower/toUpper/toLowerLatin/toUpperLatintoZ.Data.ASCII.
- Add more patterns to
Z.Data.ASCII. - Fix a bug in
Z.Data.Vector.Searchwhere needle is a singleton. - Optimize
mergeDupAdjacentfamily funtions inZ.Data.Vector.Sortto not copy vector in case of no duplication. - Add
scientific'toZ.Data.Builder, Add morePrintinstances. - Bump deps to support GHC 9.0.
- Add
keyandnthlens toZ.Data.JSON.Valuefor manipulating nested value more easily. - Port patch from bytestring #301 #310 #315, Improve
stime,sconcat,intersperse. - Add JSON pretty printer
prettyJSON/prettyValuetoZ.Data.JSON. - Move many instances from
Z.Data.JSON.BasetoZ.Data.JSONto reduce the chance of heap overflow when compile. - Add
modifyIndex/insertIndex/deleteIndexto array and vector, rewrite `FlatMap/FlatSet/FlatInMap/FlatIntSet' to use them. - Remove
linearSearchfromZ.Data.Vector.FlatMap/FlatInMap, usefind/findRfromZ.Data.Vector.Searchinstead. - Add
displayWidthtoZ.Data.Text. - Move
floatToScientific/doubleToScientifictoZ.Data.JSON.Value.
- Add
primArrayFromBE/primArrayFromBEtoZ.Data.Array.Unaligned. - Change
[Char]'s JSON instance to use JSON text, AddBytes's JSON instance to use base64 encoding. - Add
escapeCBytes,toEscapedTexttoZ.Data.CBytes, changeCBytes's JSON instance to use base64 encoding.
- Add
ParseChunkstype alias, removeparseChunks'fromZ.Data.JSON. - Change JSON instance of
Data.Versionto use JSON Array. - Add
fromByteStringandtoByteStringtoZ.Foreign. - Change license's copyright to test --test-show-details=direct
- Merge
FromValue,ToValue,EncodeJSONtoJSONclass, add instances for containers. - A new
Z.Data.JSON.Convertermodule to be reused in other protocol decoding. - Add more tests for JSON module, fix buggy instances(
Ordering,DayOfWeek). - Fix a bug in
BE DoubleUnalignedinstance. - Add
arrVectoZ.Data.Vectorto convert a whole array to vector.
- Hide
Textconstructor fromZ.Data.Text. - Add
fromStdStringtoZ.Data.CBytes. - Re-export
touchfromZ.Foreign, exportConvertErrorconstructor fromZ.Data.JSON. - Add
anyChar8toZ.Data.Parser. - Add
Z.Data.ASCII, movec2w,w2c,isDigit,isSpace,isHexDigitand ASCII constants to it. - Rename
ShowTclass toPrint, re-export fromZ.Data.Textmodule. - Add various JSON instances of types from
timepackage, addZ.Data.Builder.TimeandZ.Data.Parser.Time. - Fix a bug affecting comparing
PrimVectors.
- Add
Z.Data.Text.Regexmodule, which provide regex functions using RE2. - Rename
buildBytes,buildBytesListinZ.Data.Buildertobuild,buildChunks. - Rename
encodeBytes,encodeBytesListinZ.Data.Buildertoencode,encodeChunks. buildChunksnow produces a lazy bytes list, (so thatencodeChunks, etc.).- Functions in
Z.Data.Text.Searchnow return char index by default, addfindBytesIndices/findBytesIndex/Rto search for bytes index. - Add
fromStdStringtoZ.Foreignto marshallstd::stringfrom c++ code.
- Add
Z.Data.Vecotr.Hex,Z.Data.Vector.Base64module. - Improve
Z.Data.Builder's performance, removeAllocateStrategy,buildAndRun. - Remove
TextBuildernewtype fromZ.Data.Text.ShowT, addbuildText,unsafeBuildTexttoZ.Data.Builder.
- Rename
asciitovecASCIIinZ.Data.Vector.QQto match array QQ. - Add
FoldCaseinstance toText. - Add
hex',hex_,uint_,int_,integertoZ.Data.Parser, changehex,uint,intto fail in case of overflow. - Add
takeNtoZ.Data.Parser. - Rename
withCBytesListSafetowithCBytesListto match rest of the module.
- Add
withPrimArrayListUnsafe,withPrimArrayListSafe,withCBytesUnsafe,withCBytesListSafe.
- Add
singletontoZ.IO.CBytes, fixunpackwhen there're trailing illegal UTF8 codepoints.
- Change
defaultChunkSizefrom 32K to 16K to reduce memory overhead. - Change
CBytesto use null terminated byte array, add JSON instances. - Add JSON instances to various arrays, Fix
Char's JSON instance to reject string length > 1. - Add
decodeTextanddecodeText'toZ.Data.JSON.
- Remove
Strnewtype. - Make
CBytesa newtype. - Add JSON instances for
ExitCode, Add Unaligned instances forPtr a. - Use type alias instead of newtypes for
Locale,CategoryinZ.Data.Text.
- Rename
ToTexttoShowT,toTexttoshowT, add FFI types instances, removeStrnewtype. - Change
Text'sShowandShowTescaping rules to reuse JSON escaping, removeReadinstance. - Add
ShowTinstances toCBytesand FFI types.
- Rework
CBytestype to use unpinned byte array, addwithCBytesUnsafe,allocCBytesUnsafe. - Export
head,tail,init,lastfromZ.IO.Vector,Z.IO.Text(well, safety first). - Change
unalignedSizeinUnalignedAccessclass's type to take a instance type and returnInt. - Rename
UnalignedAccesstoUnaligned.
- Remove
withMutablePrimArrayUnsafe/SafefromZ.Foreign. - Add
allocPrimArrayUnsafe/Safe,allocPrimVectorUnsafe/Safe,allocBytesUnsafe/Safe,fromPtr/fromPrimPtrtoZ.Foreign.
- Add
fromNullTerminatedtoZ.Foreign(andZ.Data.Vector.Base). - Change
CategoryandLocale(Z.Data.Text) to use pattern synonyms, addenvLocaletoZ.Data.Text. - Add
validateASCIIandvalidateASCIIMaybetoZ.Data.Text.
- Make library works with GHC 8.6 and 8.8 again.
- Add
pinPrimVectorandpinPrimArraytoZ.Foreign. - Export
fail'fromZ.Data.Parser
- Change
clearMBA's type to matchclearPtr. - Move
peekMBA,pokeMBAtoUnalignedAccessclass.
- Add indexing funtion to
Z.Data.VectorandZ.Data.Text. - Add
peekMBA,pokeMBAandclearMBAtoZ.Foreign.
- Rename
read/write/indexWord8ArrayAstoread/write/indexWord8ArrayAs#. - Add
read/write/indexWord8ArrayAs,read/write/indexPrimWord8ArrayAs. - Fix JSON encoding code in generic instance(constructor with single payload case).