wled-json 0.1.0.3 → 0.1.0.4
raw patch · 3 files changed
+18/−15 lines, 3 filesdep +semialigndep −cryptondep −crypton-x509-storedep ~aesonPVP ok
version bump matches the API change (PVP)
Dependencies added: semialign
Dependencies removed: crypton, crypton-x509-store
Dependency ranges changed: aeson
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−1
- test/TypesSpec.hs +4/−4
- wled-json.cabal +9/−10
CHANGELOG.md view
@@ -8,7 +8,11 @@ - Awesome upcoming features! -## 0.1.0.3 - Restrict `crypton <1.1.0` - 2026-08-03+## 0.1.0.4 - Unlash `crypton` - 2026-06-25++- No longer restrict transient dependency `crypton`.++## 0.1.0.3 - Restrict `crypton <1.1.0` - 2026-03-08 - Restrict `crypton <1.1.0`.
test/TypesSpec.hs view
@@ -46,8 +46,8 @@ prop_identity :: StatePatch -> Bool prop_identity a = mempty <> a == a && a <> mempty == a -prop :: StateComplete -> StatePatch -> Bool-prop c p = c == append c (diff (append c p) c)+prop_appendInverse :: StateComplete -> StatePatch -> Bool+prop_appendInverse c p = c == append c (diff (append c p) c) prop_appendIdentity :: StateComplete -> Bool prop_appendIdentity c = append c mempty == c@@ -81,8 +81,8 @@ let complete :: StateComplete = State True 255 0 0 0 (Nightlight False 0 0 0 0) 0 0 [] let patch :: StatePatch = (mempty :: StatePatch) { stateSeg = Just [(mempty :: SegmentPatch) { segmentBri = Just 255 }] } append complete patch `shouldBe` complete- it "append/diff" $- property prop+ it "diff generates an inverse patch that applied with append reverses the original patch" $+ property prop_appendInverse it "delete_segments" $ do let c1 :: StateComplete = State {stateOn = False, stateBri = 1, stateTransition = 1, statePs = 1, statePl = 0, stateNl = Nightlight {nightlightOn = True, nightlightDur = 0, nightlightMode = -1, nightlightTbri = -1, nightlightRem = -1}, stateLor = 0, stateMainseg = -1, stateSeg = [Segment {segmentId = 0, segmentStart = 1, segmentStop = -1, segmentLen = -1, segmentGrp = 0, segmentSpc = 1, segmentOf = 0, segmentOn = True, segmentFrz = True, segmentBri = -1, segmentCct = 1, segmentSet = 0, segmentCol = [], segmentFx = 0, segmentSx = 1, segmentIx = -1, segmentPal = 0, segmentC1 = 0, segmentC2 = -1, segmentC3 = 0, segmentSel = False, segmentRev = False, segmentMi = False, segmentO1 = False, segmentO2 = True, segmentO3 = False, segmentSi = -1, segmentM12 = -1}]} let c2 :: StateComplete = State {stateOn = False, stateBri = 1, stateTransition = 1, statePs = 1, statePl = 0, stateNl = Nightlight {nightlightOn = True, nightlightDur = 0, nightlightMode = -1, nightlightTbri = -1, nightlightRem = -1}, stateLor = 0, stateMainseg = -1, stateSeg = []}
wled-json.cabal view
@@ -1,11 +1,11 @@ cabal-version: 2.2 --- This file has been generated from package.yaml by hpack version 0.39.1.+-- This file has been generated from package.yaml by hpack version 0.39.6. -- -- see: https://github.com/sol/hpack name: wled-json-version: 0.1.0.3+version: 0.1.0.4 synopsis: Convenient interface for interacting with WLED devices description: Please see the README on GitHub at <https://github.com/alaendle/wled-json#readme> category: Interfaces@@ -23,7 +23,8 @@ , GHC == 9.6.7 , GHC == 9.8.4 , GHC == 9.10.3- , GHC == 9.12.2+ , GHC == 9.12.4+ , GHC == 9.14.1 extra-source-files: README.md extra-doc-files:@@ -48,19 +49,13 @@ src ghc-options: -O0 -Weverything -Wno-unsafe -Wno-missing-import-lists -Wno-prepositive-qualified-module -Wno-implicit-prelude -Wno-missing-safe-haskell-mode -Wno-safe -Wno-missing-role-annotations build-depends:- aeson >=2.2.3 && <2.3+ aeson >=2.2.3 && <2.4 , barbies >=2.0.5 && <2.2 , base >=4.7 && <5 , bytestring >=0.11.5.3 && <0.13 , deriving-aeson >=0.2.9 && <0.3 , http-conduit >=2.3.9.1 && <2.4 default-language: Haskell2010- if impl(ghc < 9.6)- build-depends:- crypton-x509-store <1.6.12- else- build-depends:- crypton <1.1.0 executable wled-json-demo main-is: Main.hs@@ -76,6 +71,10 @@ , rhine >=1.4.0.1 && <1.7 , wled-json default-language: Haskell2010+ if impl(ghc > 9.12)+ build-depends:+ semialign <1.4+ else executable wled-json-simple main-is: Main.hs