morpheus-graphql v0.11.0 Release Notes
Release Date: 2020-05-01 // almost 4 years ago-
๐ฅ Breaking Changes
๐ Client generated enum data constructors are now prefixed with with the type name to avoid name conflicts.
for Variant selection inputUnion uses
inputname
insead of__typename
in
Data.Morpheus.Server
gqlSocketApp
andgqlSocketMonadIOApp
are replaced withwebSocketsApp
- removed
initGQLState
,GQLState
๐ for better control of subscriptions
- replaced instance
interpreter gqlRoot state
with
interpreter gqlRoot
. - added:
Input
,Stream
,httpPubApp
from now on you can define API that can be
๐ used in websockets as well as in http serversapi :: Input api -\> Stream api EVENT IOapi = interpreter gqlRootserver :: IO ()server = do (wsApp, publish) \<- webSocketsApp api let httpApp = httpPubApp api publish ... runBoth wsApp httpApp
where
publish :: e -> m ()
websockets and http app do not have to be on the same server.
e.g. you can pass events between servers with webhooks.subscription can select only one top level field (based on the GraphQL specification).
๐ New features
- ๐ Instead of rejecting conflicting selections, they are merged (based on the GraphQL specification).
- ๐ Support for input lists separated by newlines. thanks @charlescrain
- conflicting variable , fragment ... validation
- issue #411: Aeson
FromJSON
ToJSON
instances forID
minor
- ๐ changes to internal types
- ๐ fixed validation of apollo websockets requests