bugsnag-hs 0.2.0.1 → 0.2.0.2
raw patch · 5 files changed
+51/−67 lines, 5 filesdep −auto-updatedep −stmPVP ok
version bump matches the API change (PVP)
Dependencies removed: auto-update, stm
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- LICENSE +1/−1
- README.md +2/−0
- bugsnag-hs.cabal +3/−6
- src/Network/Bugsnag.hs +41/−60
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.2.0.2++- Drop dependency on auto-update and stm packages.+ # 0.2.0.1 - Expand version bounds of test dependencies to include bytestring v0.12.
LICENSE view
@@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2019, Jasper Woudenberg+Copyright (c) 2020, Jasper Woudenberg All rights reserved. Redistribution and use in source and binary forms, with or without
README.md view
@@ -1,3 +1,5 @@+[](https://travis-ci.org/jwoudenberg/bugsnag-hs)+ # bugsnag-hs A [Bugsnag][] client for Haskell. Bugsnag is an application monitoring and error reporting tool. This library provides an API for sending reports to the [Bugsnag error reporting API][].
bugsnag-hs.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 4dd881cc62263aae7812d31220a02e1ab216e41dcc7939bd56ab78a4dcc916d6+-- hash: 003d8a48c692bdb6ba4bac3c58f2e32c88aaeb667a8542596719a02e730102b1 name: bugsnag-hs-version: 0.2.0.1+version: 0.2.0.2 synopsis: A Bugsnag client for Haskell. description: Please see the README at <https://github.com/jwoudenberg/bugsnag-hs>. category: Web@@ -15,7 +15,7 @@ bug-reports: https://github.com/jwoudenberg/bugsnag-hs/issues author: Jasper Woudenberg maintainer: mail@jasperwoudenberg.com-copyright: 2019 Jasper Woudenberg+copyright: 2020 Jasper Woudenberg license: BSD3 license-file: LICENSE build-type: Simple@@ -38,11 +38,9 @@ src build-depends: aeson >=1.2.4.0 && <1.6- , auto-update >=0.1.4 && <0.2 , base >=4.10.1.0 && <5 , bytestring >=0.10.8.2 && <0.12 , http-client >=0.5.10 && <0.8- , stm >=2.4.5.0 && <2.6 , text >=1.2.3.0 && <1.3 , time >=1.8.0.2 && <1.11 , unordered-containers >=0.2.9.0 && <0.3@@ -62,5 +60,4 @@ , bugsnag-hs , bytestring , hedgehog >=0.5.2 && <2.0- , stm default-language: Haskell2010
src/Network/Bugsnag.hs view
@@ -289,22 +289,27 @@ import qualified Data.ByteString.Char8 import Data.Foldable (toList) import Data.HashMap.Strict (HashMap)-import Data.Text (Text)+import Data.Text (Text, intercalate, pack) import qualified Data.Text.Encoding import qualified Data.Time.Clock import qualified Data.Time.Format+import qualified Data.Version as Version import GHC.Generics (Generic) import qualified Network.HTTP.Client as HTTP+import Paths_bugsnag_hs (version) -- | Send a batch of 'Event's to Rollbar using a single HTTP request. sendEvents :: HTTP.Manager -> ApiKey -> [Event] -> IO (Either HTTP.HttpException ()) sendEvents manager apiKey events = do- send manager apiKey Report- { report_apiKey = Nothing,- report_payloadVersion = payloadVersion5,- report_notifier = thisNotifier,- report_events = events- }+ send+ manager+ apiKey+ Report+ { report_apiKey = Nothing,+ report_payloadVersion = payloadVersion5,+ report_notifier = thisNotifier,+ report_events = events+ } send :: HTTP.Manager -> ApiKey -> Report -> IO (Either HTTP.HttpException ()) send manager (ApiKey apiKey) report = do@@ -343,7 +348,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Report where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -366,7 +370,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON ApiKey where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -384,7 +387,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON PayloadVersion where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -409,7 +411,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Notifier where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -420,10 +421,9 @@ -- | Information describing the notifier in this module. thisNotifier :: Notifier thisNotifier =- -- The fields below are read directly out of the cabal file for this project. Notifier { notifier_name = "bugsnag-hs",- notifier_version = "0.2.0.1",+ notifier_version = intercalate "." $ pack . show <$> Version.versionBranch version, notifier_url = "https://github.com/jwoudenberg/bugsnag-hs#readme" } @@ -466,7 +466,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Event where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -509,7 +508,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Exception where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -546,7 +544,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON StackFrame where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -571,7 +568,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON ExceptionType where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -614,7 +610,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Breadcrumb where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -637,7 +632,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON BreadcrumbType where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -694,7 +688,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Request where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -730,7 +723,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Thread where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -740,20 +732,20 @@ -- | A default thread. defaultThread :: Thread-defaultThread = Thread- { thread_id = Nothing,- thread_name = Nothing,- thread_errorReportingThread = Nothing,- thread_stacktrace = Nothing,- thread_type = Nothing- }+defaultThread =+ Thread+ { thread_id = Nothing,+ thread_name = Nothing,+ thread_errorReportingThread = Nothing,+ thread_stacktrace = Nothing,+ thread_type = Nothing+ } -- | Used for parsing the stack trace correctly. newtype ThreadType = ThreadType Text deriving (Generic, Show) instance Data.Aeson.ToJSON ThreadType where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -778,7 +770,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Severity where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -809,7 +800,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON SeverityReason where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -830,7 +820,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON SeverityReasonType where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -923,7 +912,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON SeverityReasonAttributes where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -955,7 +943,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON User where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -1005,7 +992,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON App where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -1037,7 +1023,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON BinaryArch where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -1102,7 +1087,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Device where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -1112,32 +1096,32 @@ -- | A default device. defaultDevice :: Device-defaultDevice = Device- { device_hostname = Nothing,- device_id = Nothing,- device_manufacturer = Nothing,- device_model = Nothing,- device_modelNumber = Nothing,- device_osName = Nothing,- device_osVersion = Nothing,- device_freeMemory = Nothing,- device_totalMemory = Nothing,- device_freeDisk = Nothing,- device_browserName = Nothing,- device_browserVersion = Nothing,- device_jailBroken = Nothing,- device_orientation = Nothing,- device_time = Nothing,- device_cpuAbi = Nothing,- device_runtimeVersions = Nothing- }+defaultDevice =+ Device+ { device_hostname = Nothing,+ device_id = Nothing,+ device_manufacturer = Nothing,+ device_model = Nothing,+ device_modelNumber = Nothing,+ device_osName = Nothing,+ device_osVersion = Nothing,+ device_freeMemory = Nothing,+ device_totalMemory = Nothing,+ device_freeDisk = Nothing,+ device_browserName = Nothing,+ device_browserVersion = Nothing,+ device_jailBroken = Nothing,+ device_orientation = Nothing,+ device_time = Nothing,+ device_cpuAbi = Nothing,+ device_runtimeVersions = Nothing+ } -- | The ABIs supported by the device (Android only). newtype CpuAbi = CpuAbi Text deriving (Generic, Show) instance Data.Aeson.ToJSON CpuAbi where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -1258,7 +1242,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON RuntimeVersions where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -1337,7 +1320,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON Session where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions@@ -1365,7 +1347,6 @@ deriving (Generic, Show) instance Data.Aeson.ToJSON SessionEvents where- toJSON = Data.Aeson.genericToJSON aesonOptions toEncoding = Data.Aeson.genericToEncoding aesonOptions