Hello community, here is the log from the commit of package ghc-aeson for openSUSE:Factory checked in at 2020-10-23 15:13:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-aeson (Old) and /work/SRC/openSUSE:Factory/.ghc-aeson.new.3463 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-aeson" Fri Oct 23 15:13:24 2020 rev:32 rq:842736 version:1.5.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-aeson/ghc-aeson.changes 2020-10-05 19:41:06.649668284 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-aeson.new.3463/ghc-aeson.changes 2020-10-23 15:13:29.938109676 +0200 @@ -1,0 +2,8 @@ +Tue Oct 6 08:56:45 UTC 2020 - psim...@suse.com + +- Update aeson to version 1.5.4.1. + #### 1.5.4.1 + * Use `Text.Encoding.decodeLatin1` to speed up ASCII string decoding, thanks to Dmitry Ivanov. + * Support `bytestring 0.11.*` and `th-abstraction 0.4.*`, thanks to Oleg Grenrus. + +------------------------------------------------------------------- Old: ---- aeson-1.5.4.0.tar.gz New: ---- aeson-1.5.4.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-aeson.spec ++++++ --- /var/tmp/diff_new_pack.VpwSzk/_old 2020-10-23 15:13:31.126110249 +0200 +++ /var/tmp/diff_new_pack.VpwSzk/_new 2020-10-23 15:13:31.130110251 +0200 @@ -19,7 +19,7 @@ %global pkg_name aeson %bcond_with tests Name: ghc-%{pkg_name} -Version: 1.5.4.0 +Version: 1.5.4.1 Release: 0 Summary: Fast JSON parsing and encoding License: BSD-3-Clause ++++++ aeson-1.5.4.0.tar.gz -> aeson-1.5.4.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aeson-1.5.4.0/Data/Aeson/Parser/Internal.hs new/aeson-1.5.4.1/Data/Aeson/Parser/Internal.hs --- old/aeson-1.5.4.0/Data/Aeson/Parser/Internal.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aeson-1.5.4.1/Data/Aeson/Parser/Internal.hs 2001-09-09 03:46:40.000000000 +0200 @@ -322,7 +322,7 @@ -- not sure whether >= or bit hackery is faster -- perfectly, we shouldn't care, it's compiler job. s <- A.takeWhile (\w -> w /= DOUBLE_QUOTE && w /= BACKSLASH && w >= 0x20 && w < 0x80) - let txt = TE.decodeUtf8 s + let txt = unsafeDecodeASCII s mw <- A.peekWord8 case mw of Nothing -> fail "string without end" @@ -330,6 +330,12 @@ Just w | w < 0x20 -> fail "unescaped control character" _ -> jstringSlow s +-- | The input is assumed to contain only 7bit ASCII characters (i.e. @< 0x80@). +-- We use TE.decodeLatin1 here because TE.decodeASCII is currently (text-1.2.4.0) +-- deprecated and equal to TE.decodeUtf8, which is slower than TE.decodeLatin1. +unsafeDecodeASCII :: B.ByteString -> Text +unsafeDecodeASCII = TE.decodeLatin1 + jstringSlow :: B.ByteString -> Parser Text {-# INLINE jstringSlow #-} jstringSlow s' = {-# SCC "jstringSlow" #-} do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aeson-1.5.4.0/aeson.cabal new/aeson-1.5.4.1/aeson.cabal --- old/aeson-1.5.4.0/aeson.cabal 2001-09-09 03:46:40.000000000 +0200 +++ new/aeson-1.5.4.1/aeson.cabal 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,5 @@ name: aeson -version: 1.5.4.0 +version: 1.5.4.1 license: BSD3 license-file: LICENSE category: Text, Web, JSON @@ -100,7 +100,7 @@ -- GHC bundled libs build-depends: base >= 4.7.0.0 && < 5, - bytestring >= 0.10.4.0 && < 0.11, + bytestring >= 0.10.4.0 && < 0.12, containers >= 0.5.5.1 && < 0.7, deepseq >= 1.3.0.0 && < 1.5, ghc-prim >= 0.2 && < 0.8, @@ -143,7 +143,7 @@ scientific >= 0.3.6.2 && < 0.4, strict >= 0.4 && < 0.5, tagged >= 0.8.6 && < 0.9, - th-abstraction >= 0.2.8.0 && < 0.4, + th-abstraction >= 0.2.8.0 && < 0.5, these >= 1.1 && < 1.2, unordered-containers >= 0.2.10.0 && < 0.3, uuid-types >= 1.0.3 && < 1.1, @@ -217,7 +217,7 @@ dlist, Diff >= 0.4 && < 0.5, filepath, - generic-deriving >= 1.10 && < 1.14, + generic-deriving >= 1.10 && < 1.15, ghc-prim >= 0.2, hashable >= 1.2.4.0, scientific, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aeson-1.5.4.0/changelog.md new/aeson-1.5.4.1/changelog.md --- old/aeson-1.5.4.0/changelog.md 2001-09-09 03:46:40.000000000 +0200 +++ new/aeson-1.5.4.1/changelog.md 2001-09-09 03:46:40.000000000 +0200 @@ -1,5 +1,9 @@ For the latest version of this document, please see [https://github.com/bos/aeson/blob/master/changelog.md](https://github.com/bos/aeson/blob/master/changelog.md). +#### 1.5.4.1 +* Use `Text.Encoding.decodeLatin1` to speed up ASCII string decoding, thanks to Dmitry Ivanov. +* Support `bytestring 0.11.*` and `th-abstraction 0.4.*`, thanks to Oleg Grenrus. + ### 1.5.4.0 * Add instances for `ToJSONKey` and `FromJSONKey` to `Const`, thanks to Dan Fithian. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aeson-1.5.4.0/ffi/Data/Aeson/Parser/UnescapeFFI.hs new/aeson-1.5.4.1/ffi/Data/Aeson/Parser/UnescapeFFI.hs --- old/aeson-1.5.4.0/ffi/Data/Aeson/Parser/UnescapeFFI.hs 2001-09-09 03:46:40.000000000 +0200 +++ new/aeson-1.5.4.1/ffi/Data/Aeson/Parser/UnescapeFFI.hs 2001-09-09 03:46:40.000000000 +0200 @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE UnliftedFFITypes #-} @@ -29,7 +30,12 @@ -> Ptr Word8 -> Ptr Word8 -> IO CInt unescapeText' :: ByteString -> Text +#if MIN_VERSION_bytestring(0,11,0) +unescapeText' (BS fp len) = runText $ \done -> do + let off = 0 +#else unescapeText' (PS fp off len) = runText $ \done -> do +#endif let go dest = withForeignPtr fp $ \ptr -> with (0::CSize) $ \destOffPtr -> do let end = ptr `plusPtr` (off + len)