exiftool 0.2.0.4 → 0.2.0.5
raw patch · 4 files changed
+18/−13 lines, 4 filesdep ~aesondep ~base64dep ~bytestringPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, base64, bytestring, text
API changes (from Hackage documentation)
- ExifTool: instance ExifTool.FromValue Data.ByteString.Internal.ByteString
- ExifTool: instance ExifTool.ToValue Data.ByteString.Internal.ByteString
+ ExifTool: instance ExifTool.FromValue Data.ByteString.Internal.Type.ByteString
+ ExifTool: instance ExifTool.ToValue Data.ByteString.Internal.Type.ByteString
Files
- CHANGELOG.md +4/−0
- LICENSE +1/−1
- exiftool.cabal +7/−7
- lib/ExifTool.hs +6/−5
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for exiftool +## 0.2.0.5 -- 2024-04-01++* Maintenance release.+ ## 0.2.0.4 -- 2023-03-13 * Bugfix re version number in cabal file.
LICENSE view
@@ -1,6 +1,6 @@ MIT License -Copyright (c) 2020-2023 Martin Hoppenheit+Copyright (c) 2020-2024 Martin Hoppenheit Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
exiftool.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: exiftool-version: 0.2.0.4+version: 0.2.0.5 synopsis: Haskell bindings to ExifTool description: Haskell bindings to the [ExifTool](https://exiftool.org) command-line application that enable reading, writing and@@ -10,9 +10,9 @@ license-file: LICENSE author: Martin Hoppenheit maintainer: martin@hoppenheit.info-copyright: 2020-2023 Martin Hoppenheit+copyright: 2020-2024 Martin Hoppenheit category: Foreign-extra-source-files: README.md CHANGELOG.md+extra-doc-files: README.md CHANGELOG.md library hs-source-dirs: lib@@ -20,14 +20,14 @@ default-language: Haskell2010 ghc-options: -Wall build-depends: base >= 4.12 && < 5,- aeson >= 1.5.4 && < 2.2,- base64 >= 0.4.2 && < 0.5,- bytestring >= 0.10.8 && < 0.12,+ aeson >= 1.5.4 && < 2.3,+ base64 >= 1.0 && < 1.1,+ bytestring >= 0.10.8 && < 0.13, hashable >= 1.3.0 && < 1.5, process >= 1.6.5 && < 1.7, scientific >= 0.3.6 && < 0.4, temporary >= 1.3 && < 1.4,- text >= 1.2.3 && < 2.1,+ text >= 1.2.3 && < 2.2, unordered-containers >= 0.2.12 && < 0.3, vector >= 0.12.1 && < 0.14
lib/ExifTool.hs view
@@ -3,7 +3,7 @@ -- | -- Module : ExifTool--- Copyright : (c) Martin Hoppenheit 2020-2023+-- Copyright : (c) Martin Hoppenheit 2020-2024 -- License : MIT -- Maintainer : martin@hoppenheit.info --@@ -81,9 +81,10 @@ ) import qualified Data.Aeson as JSON import Data.Aeson.Encoding.Internal (bool, list, scientific, text)+import Data.Base64.Types (extractBase64) import Data.Bifunctor (bimap) import Data.ByteString (ByteString)-import Data.ByteString.Base64 (decodeBase64, encodeBase64)+import Data.ByteString.Base64 (decodeBase64Untyped, encodeBase64) import qualified Data.ByteString.Lazy as BL import Data.HashMap.Strict (HashMap, delete, insert, mapKeys, (!?)) import Data.Hashable (Hashable)@@ -173,7 +174,7 @@ either (fail . unpack) (pure . Binary)- (decodeBase64 $ encodeUtf8 b)+ (decodeBase64Untyped $ encodeUtf8 b) | otherwise = pure $ String x parseJSON (JSON.Number x) = pure $ Number x parseJSON (JSON.Bool x) = pure $ Bool x@@ -184,12 +185,12 @@ instance ToJSON Value where toJSON (String x) = JSON.String x- toJSON (Binary x) = JSON.String $ "base64:" <> encodeBase64 x+ toJSON (Binary x) = JSON.String $ "base64:" <> extractBase64 (encodeBase64 x) toJSON (Number x) = JSON.Number x toJSON (Bool x) = JSON.Bool x toJSON (List xs) = JSON.Array . Vector.fromList $ map toJSON xs toEncoding (String x) = text x- toEncoding (Binary x) = text $ "base64:" <> encodeBase64 x+ toEncoding (Binary x) = text $ "base64:" <> extractBase64 (encodeBase64 x) toEncoding (Number x) = scientific x toEncoding (Bool x) = bool x toEncoding (List xs) = list toEncoding xs