taskwarrior 0.4.0.0 → 0.4.1.0
raw patch · 3 files changed
+16/−6 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- src/Taskwarrior/Task.hs +11/−5
- taskwarrior.cabal +1/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for taskwarrior +## 0.4.1.0++* Make JSON parsing compatible with taskwarrior 2.6.+ ## 0.4.0.0 ### Breaking Change
src/Taskwarrior/Task.hs view
@@ -20,12 +20,14 @@ import Prelude hiding (id) +import Control.Applicative ((<|>)) import Control.Monad (join) import Data.Aeson ( FromJSON, ToJSON, Value, parseJSON,+ withArray, withObject, withText, (.:),@@ -36,6 +38,7 @@ import qualified Data.Aeson.Key as Key import qualified Data.Aeson.KeyMap as KeyMap import qualified Data.Aeson.Types as Aeson.Types+import Data.Foldable (toList) import qualified Data.Foldable as Foldable import qualified Data.Map.Strict as Map import Data.Maybe (fromMaybe)@@ -158,11 +161,14 @@ traverse parser (KeyMap.lookup (Key.fromText name) object) parseUuidList :: Aeson.Value -> Aeson.Types.Parser (Set UUID)-parseUuidList =- withText "Text" $- fmap Set.fromList- . mapM (parseJSON . Aeson.String)- . Text.splitOn ","+parseUuidList val =+ (withArray "Array of uuid strings" $ fmap Set.fromList . mapM parseJSON . toList) val+ <|> ( withText "Comma separated list of uuids" $+ fmap Set.fromList+ . mapM (parseJSON . Aeson.String)+ . Text.splitOn ","+ )+ val instance ToJSON Task where toJSON Task{until = until_, ..} =
taskwarrior.cabal view
@@ -4,7 +4,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.4.0.0+version: 0.4.1.0 synopsis: Types and aeson instances for taskwarrior tasks description: Types and aeson instances for the https://taskwarrior.org task import/export feature