Hello community,
here is the log from the commit of package ghc-base64-bytestring for
openSUSE:Factory checked in at 2020-01-29 13:11:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base64-bytestring (Old)
and /work/SRC/openSUSE:Factory/.ghc-base64-bytestring.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base64-bytestring"
Wed Jan 29 13:11:58 2020 rev:10 rq:766983 version:1.0.0.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/ghc-base64-bytestring/ghc-base64-bytestring.changes
2019-12-27 13:51:48.428592132 +0100
+++
/work/SRC/openSUSE:Factory/.ghc-base64-bytestring.new.26092/ghc-base64-bytestring.changes
2020-01-29 13:12:55.490002484 +0100
@@ -1,0 +2,13 @@
+Tue Jan 14 03:03:06 UTC 2020 - [email protected]
+
+- Update base64-bytestring to version 1.0.0.3.
+ # 1.0.0.3
+
+ * Made performance more robust
+ ([#27](https://github.com/haskell/base64-bytestring/pull/27)).
+ * Improved documentation
+ ([#23](https://github.com/haskell/base64-bytestring/pull/23)).
+ * Improved the performance of decodeLenient a bit
+ ([#21](https://github.com/haskell/base64-bytestring/pull/21)).
+
+-------------------------------------------------------------------
Old:
----
base64-bytestring-1.0.0.2.tar.gz
New:
----
base64-bytestring-1.0.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base64-bytestring.spec ++++++
--- /var/tmp/diff_new_pack.lRrxzK/_old 2020-01-29 13:12:57.166003341 +0100
+++ /var/tmp/diff_new_pack.lRrxzK/_new 2020-01-29 13:12:57.174003345 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ghc-base64-bytestring
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%global pkg_name base64-bytestring
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.0.0.2
+Version: 1.0.0.3
Release: 0
Summary: Fast base64 encoding and decoding for ByteStrings
License: BSD-3-Clause
++++++ base64-bytestring-1.0.0.2.tar.gz -> base64-bytestring-1.0.0.3.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base64-bytestring-1.0.0.2/CHANGELOG.md
new/base64-bytestring-1.0.0.3/CHANGELOG.md
--- old/base64-bytestring-1.0.0.2/CHANGELOG.md 1970-01-01 01:00:00.000000000
+0100
+++ new/base64-bytestring-1.0.0.3/CHANGELOG.md 2001-09-09 03:46:40.000000000
+0200
@@ -1,3 +1,12 @@
+# 1.0.0.3
+
+* Made performance more robust
+ ([#27](https://github.com/haskell/base64-bytestring/pull/27)).
+* Improved documentation
+ ([#23](https://github.com/haskell/base64-bytestring/pull/23)).
+* Improved the performance of decodeLenient a bit
+ ([#21](https://github.com/haskell/base64-bytestring/pull/21)).
+
# 1.0.0.2
* Fixed a write past allocated memory in joinWith (potential security
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base64-bytestring-1.0.0.2/Data/ByteString/Base64/Internal.hs
new/base64-bytestring-1.0.0.3/Data/ByteString/Base64/Internal.hs
--- old/base64-bytestring-1.0.0.2/Data/ByteString/Base64/Internal.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base64-bytestring-1.0.0.3/Data/ByteString/Base64/Internal.hs
2001-09-09 03:46:40.000000000 +0200
@@ -91,7 +91,7 @@
fill (castPtr dptr) (sptr `plusPtr` soff)
return $! PS dfp 0 dlen
-data EncodeTable = ET (ForeignPtr Word8) (ForeignPtr Word16)
+data EncodeTable = ET !(ForeignPtr Word8) !(ForeignPtr Word16)
-- The encoding table is constructed such that the expansion of a 12-bit
-- block to a 16-bit block can be done by a single Word16 copy from the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base64-bytestring-1.0.0.2/Data/ByteString/Base64/Lazy.hs
new/base64-bytestring-1.0.0.3/Data/ByteString/Base64/Lazy.hs
--- old/base64-bytestring-1.0.0.2/Data/ByteString/Base64/Lazy.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base64-bytestring-1.0.0.3/Data/ByteString/Base64/Lazy.hs
2001-09-09 03:46:40.000000000 +0200
@@ -57,4 +57,5 @@
. LC.filter goodChar
where -- We filter out and '=' padding here, but B64.decodeLenient
-- handles that
- goodChar c = isAlphaNum c || c == '+' || c == '/'
+ goodChar c = isDigit c || isAsciiUpper c || isAsciiLower c
+ || c == '+' || c == '/'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/base64-bytestring-1.0.0.2/Data/ByteString/Base64/URL/Lazy.hs
new/base64-bytestring-1.0.0.3/Data/ByteString/Base64/URL/Lazy.hs
--- old/base64-bytestring-1.0.0.2/Data/ByteString/Base64/URL/Lazy.hs
1970-01-01 01:00:00.000000000 +0100
+++ new/base64-bytestring-1.0.0.3/Data/ByteString/Base64/URL/Lazy.hs
2001-09-09 03:46:40.000000000 +0200
@@ -58,3 +58,4 @@
where -- We filter out and '=' padding here, but B64.decodeLenient
-- handles that
goodChar c = isAlphaNum c || c == '-' || c == '_'
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base64-bytestring-1.0.0.2/Data/ByteString/Base64.hs
new/base64-bytestring-1.0.0.3/Data/ByteString/Base64.hs
--- old/base64-bytestring-1.0.0.2/Data/ByteString/Base64.hs 1970-01-01
01:00:00.000000000 +0100
+++ new/base64-bytestring-1.0.0.3/Data/ByteString/Base64.hs 2001-09-09
03:46:40.000000000 +0200
@@ -36,6 +36,11 @@
-- | Decode a base64-encoded string. This function strictly follows
-- the specification in
-- <http://tools.ietf.org/rfc/rfc4648 RFC 4648>.
+--
+-- (Note: this means that even @"\n", "\r\n"@ as line breaks are rejected
+-- rather than ignored. If you are using this in the context of a
+-- standard that overrules RFC 4648 such as HTTP multipart mime bodies,
+-- consider using 'decodeLenient'.)
decode :: ByteString -> Either String ByteString
decode s = decodeWithTable decodeFP s
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base64-bytestring-1.0.0.2/base64-bytestring.cabal
new/base64-bytestring-1.0.0.3/base64-bytestring.cabal
--- old/base64-bytestring-1.0.0.2/base64-bytestring.cabal 1970-01-01
01:00:00.000000000 +0100
+++ new/base64-bytestring-1.0.0.3/base64-bytestring.cabal 2001-09-09
03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
name: base64-bytestring
-version: 1.0.0.2
+version: 1.0.0.3
synopsis: Fast base64 encoding and decoding for ByteStrings
description: This package provides support for encoding and decoding
binary data according to @base64@ (see also
<https://tools.ietf.org/html/rfc4648 RFC 4648>) for strict and lazy ByteStrings.
homepage: https://github.com/haskell/base64-bytestring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base64-bytestring-1.0.0.2/benchmarks/BM.hs
new/base64-bytestring-1.0.0.3/benchmarks/BM.hs
--- old/base64-bytestring-1.0.0.2/benchmarks/BM.hs 1970-01-01
01:00:00.000000000 +0100
+++ new/base64-bytestring-1.0.0.3/benchmarks/BM.hs 2001-09-09
03:46:40.000000000 +0200
@@ -5,6 +5,7 @@
import qualified Data.ByteString.Base64 as B
import qualified Data.ByteString.Base64.Lazy as L
import qualified Data.ByteString.Base64.URL as U
+import qualified Data.ByteString.Base64.URL.Lazy as LU
import qualified Data.ByteString.Char8 as B
import qualified Data.ByteString.Lazy as L
@@ -38,8 +39,16 @@
lazy :: String -> L.ByteString -> Benchmark
lazy name orig =
bgroup name [
- bench "decode" $ nf L.decode enc
- , bench "encode" $ nf L.encode orig
+ bgroup "normal" [
+ bench "decode" $ nf L.decode enc
+ , bench "decodeLenient" $ nf L.decodeLenient enc
+ , bench "encode" $ nf L.encode orig
+ ]
+ , bgroup "url" [
+ bench "decode" $ nf LU.decode enc
+ , bench "decodeLenient" $ nf LU.decodeLenient enc
+ , bench "encode" $ nf LU.encode orig
+ ]
]
where enc = L.encode orig