packages feed

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