webgear-openapi 1.5.0 → 1.5.1
raw patch · 7 files changed
+45/−10 lines, 7 filesdep ~webgear-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: webgear-core
API changes (from Hackage documentation)
Files
- CHANGELOG.md +7/−1
- src/WebGear/OpenApi/Handler.hs +6/−1
- src/WebGear/OpenApi/Trait/Body.hs +7/−1
- src/WebGear/OpenApi/Trait/Header.hs +7/−1
- src/WebGear/OpenApi/Trait/Method.hs +7/−1
- src/WebGear/OpenApi/Trait/Status.hs +7/−1
- webgear-openapi.cabal +4/−4
CHANGELOG.md view
@@ -2,6 +2,11 @@ ## [Unreleased] +## [1.5.1] - 2026-08-09++### Changed+- Support openapi3-3.2.5 (#63)+ ## [1.5.0] - 2025-07-23 ### Changed@@ -76,7 +81,8 @@ ### Added - First version of webgear-openapi -[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.5.0...HEAD+[Unreleased]: https://github.com/haskell-webgear/webgear/compare/v1.5.1...HEAD+[1.5.1]: https://github.com/haskell-webgear/webgear/releases/tag/v1.5.1 [1.5.0]: https://github.com/haskell-webgear/webgear/releases/tag/v1.5.0 [1.4.0]: https://github.com/haskell-webgear/webgear/releases/tag/v1.4.0 [1.3.1]: https://github.com/haskell-webgear/webgear/releases/tag/v1.3.1
src/WebGear/OpenApi/Handler.hs view
@@ -21,7 +21,6 @@ import Control.Monad ((<=<)) import Control.Monad.State.Strict (MonadState, State, evalState, state) import Data.Coerce (coerce)-import qualified Data.HashMap.Strict.InsOrd as Map import Data.OpenApi ( OpenApi, Operation,@@ -51,6 +50,12 @@ RoutePath (..), Summary (..), )++#if MIN_VERSION_openapi3(3,2,5)+import qualified Data.HashMap.Strict.InsOrd.Compat as Map+#else+import qualified Data.HashMap.Strict.InsOrd as Map+#endif -- | A handler that captures `OpenApi` documentation of API specifications. newtype OpenApiHandler m a b = OpenApiHandler (OpenApi -> State Documentation OpenApi)
src/WebGear/OpenApi/Trait/Body.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -Wno-orphans #-} -- | OpenApi implementation of 'Body' trait.@@ -5,7 +6,6 @@ import Control.Lens ((%~), (&), (.~), (<>~), (?~), (^.)) import Control.Monad.State.Strict (MonadState)-import qualified Data.HashMap.Strict.InsOrd as Map import Data.OpenApi ( Definitions, MediaTypeObject,@@ -44,6 +44,12 @@ addRootPath, consumeDescription, )++#if MIN_VERSION_openapi3(3,2,5)+import qualified Data.HashMap.Strict.InsOrd.Compat as Map+#else+import qualified Data.HashMap.Strict.InsOrd as Map+#endif instance (ToSchema val, MIMEType mt) => Get (OpenApiHandler m) (Body mt val) where {-# INLINE getTrait #-}
src/WebGear/OpenApi/Trait/Header.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -Wno-orphans #-} -- | OpenApi implementation of 'Header' trait.@@ -5,7 +6,6 @@ import Control.Lens ((%~), (&), (.~), (<>~), (?~)) import Control.Monad.State.Strict (MonadState)-import qualified Data.HashMap.Strict.InsOrd as Map import Data.OpenApi ( Header, HeaderName,@@ -36,6 +36,12 @@ import WebGear.Core.Trait (Get (..), Set (..)) import qualified WebGear.Core.Trait.Header as WG import WebGear.OpenApi.Handler (Documentation, OpenApiHandler (..), consumeDescription)++#if MIN_VERSION_openapi3(3,2,5)+import qualified Data.HashMap.Strict.InsOrd.Compat as Map+#else+import qualified Data.HashMap.Strict.InsOrd as Map+#endif instance (KnownSymbol name, ToSchema val) => Get (OpenApiHandler m) (WG.RequestHeader Required ps name val) where {-# INLINE getTrait #-}
src/WebGear/OpenApi/Trait/Method.hs view
@@ -1,15 +1,21 @@+{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -Wno-orphans #-} -- | OpenApi implementation of 'Method' trait. module WebGear.OpenApi.Trait.Method where import Control.Lens ((%~), (&))-import qualified Data.HashMap.Strict.InsOrd as Map import Data.OpenApi (PathItem (..), paths) import Network.HTTP.Types (StdMethod (..)) import WebGear.Core.Trait (Get (..)) import WebGear.Core.Trait.Method (Method (..)) import WebGear.OpenApi.Handler (OpenApiHandler (..), addRouteDocumentation)++#if MIN_VERSION_openapi3(3,2,5)+import qualified Data.HashMap.Strict.InsOrd.Compat as Map+#else+import qualified Data.HashMap.Strict.InsOrd as Map+#endif instance Get (OpenApiHandler m) Method where {-# INLINE getTrait #-}
src/WebGear/OpenApi/Trait/Status.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -Wno-orphans #-} -- | OpenApi implementation of 'Status' trait.@@ -5,7 +6,6 @@ import Control.Applicative ((<|>)) import Control.Lens (at, mapped, (%~), (&), (.~), (?~), (^.))-import qualified Data.HashMap.Strict.InsOrd as Map import Data.Maybe (fromMaybe) import Data.OpenApi ( Operation,@@ -30,6 +30,12 @@ import WebGear.Core.Trait (Set, With, setTrait) import WebGear.Core.Trait.Status (Status (..)) import WebGear.OpenApi.Handler (OpenApiHandler (..), addRootPath, consumeDescription)++#if MIN_VERSION_openapi3(3,2,5)+import qualified Data.HashMap.Strict.InsOrd.Compat as Map+#else+import qualified Data.HashMap.Strict.InsOrd as Map+#endif instance Set (OpenApiHandler m) Status where {-# INLINE setTrait #-}
webgear-openapi.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.4 name: webgear-openapi-version: 1.5.0+version: 1.5.1 synopsis: Composable, type-safe library to build HTTP API servers description: WebGear is a library to for building composable, type-safe HTTP API servers.@@ -11,7 +11,7 @@ bug-reports: https://github.com/haskell-webgear/webgear/issues author: Raghu Kaippully maintainer: rkaippully@gmail.com-copyright: 2020-2025 Raghu Kaippully+copyright: 2020-2026 Raghu Kaippully license: MPL-2.0 license-file: LICENSE category: Web@@ -73,12 +73,12 @@ , base >=4.17.0.0 && <4.22 , http-media ==0.8.* , http-types ==0.12.*- , insert-ordered-containers ==0.2.*+ , insert-ordered-containers >=0.2.0 && <0.4 , lens >=5.2 && <5.4 , mtl >=2.2 && <2.4 , openapi3 >=3.2.0 && <3.3 , text >=2.0 && <2.2- , webgear-core ^>=1.5.0+ , webgear-core ^>=1.5.1 ghc-options: -Wall -Wcompat -Widentities