packages feed

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 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