- Stop running checks with Node.js 14 and 16
- Publish using Node.js 18
- Switch tests to
node:test - Update dependencies
- Improve caching of parse and validation results for performance
- Update formatting
- Fix compatibility issue with
prettier@3.x(formatbecame async) - Add audit for GraphQL over HTTP spec
- Fix incorrect Node.js 12 support (was never supported, at least 14 was always required)
- Add basic benchmarks
- Update dependencies
- Allow
prettier@3.xand beyond as peer dependency (jayne-mast)
- Add
maxDepthoption andlimitDepthfunction - Add support for parser options
maxTokensandnoLocation - Remove implicit dependency on
@types/ws - Allow async
createContext - Add basic GraphiQL HTML
- Update dependencies
- Fix headers not being passed in Express and Koa handlers
- Create context after successful parsing of execution args
- Pass parsed execution args to
createContext
- Add
GraphQLWebSocketClient.subscribeAsyncandGraphQLWebSocketClient.subscribeAsyncNamedfor async, callback-based subscriptions - Add
assert()anddefined()to browser build - Add React example
- Make nullable fields in generated operation types optional
- Update dependencies
- Support
typescript@5(#5) - Improve error coercion in
toError - Update dependencies
- Improve README and docs
- Chores in examples and scripts
- Update dependencies
- Fix calling
nextfunctions for both Koa and Express (sreedhap)
- Add option to write introspection to local file during code generation
- Add option to define scalar types without directives in client-side code generation
- Update dependencies
- Fix issue where bad requests would result in responses with status code 500
- Switch all tests to
fetch - Update dependencies
- Add
getProjectionutility function to support efficient database lookups - Simplify builds
- Uplift
__typenamefrom fragments to simplify generated type system - Fix issue where no
__typenamein top-level operations lead to type system difficulties - Update dependencies
- Ignore internal types in
GraphQLSchemaManager.setDefaultFieldResolverand.setResolverErrorHandler
- Improve performance of resolver error handlers
- Add GraphQL stitching support (emargollo)
- Code generation for directives and resolvers
- SDL resolvers
- Update dependencies
- Include JSON body (if any) in
GraphQLRequestError - Add
errorFiltertoGraphQLClientoptions - Improve error messages in
GraphQLClient - Update dependencies
- Fix
GraphQLCLient.setHeadersto safely reset headers - Export
GraphQLResultErrorin browser build - Fix
GraphQLWebSocketClient.subscribetypings
- Update dependencies
- Fall back to
unknownfor unmapped scalars - Add
OperationTypingsin client-side code generation for simplified client typing - Add
fetch-based, type-safeGraphQLClientfor queries and mutations - Add type-safe
subscribeNamedmethod toGraphQLWebSocketClient - Add API documentation
- Support
fetchin introspection and code generation - Add
getHeadersoption to introspection in code generation (e.g. to support auth)
- BREAKING CHANGES
- Upgrade to
graphql@16 - Upgrade to
ws@8 - Remove
AbstractClientcode generation in favor of operation tables - Rename
GraphQLServertoGraphQLHttpServer GraphQLHttpServernow requires a context type and acreateContextfunction- Move
src/executemodules tosrc/server - Remove specific subscription resolver options (add subscription resolvers to regular resolver map)
- Code generation now automatically creates
_ts.gqlwith the@tsdirective definition - Refactor
buildExecutableSchemainto staticGraphQLServer.bootstrapmethod (bootstraps complete server) - Refactor
GraphQLSchemaManagermethods
- Upgrade to
- Add
GraphQLServerclass, combining HTTP and web socket server setup - Add
DirectivesMap(maps directive names to their arguments) to code generation - Add simplified request handlers for Express and Koa
- Allow lists of resolvers in
GraphQLServer.bootstrap, merged via new utilitymergeResolversfunction
- Update dependencies
- Fix audit
- Switch to Jest
- Add tests
- Add Node.js 16.x to pipeline
- Include
srcin NPM package for better source map support
- Move documentation to GitHub wikis
- Add tests
- Chores and clean-ups
- Update dependencies
- Normalize error handling (thanks TypeScript!)
- Export
AsyncPushIteratorin browser build - Fix bug where subscriptions where not closed when returned client-side
- Make
typeRef<T>always return an object for chaining
- Fix generation of operation names if some type of operation is unused
- Add generation of client operation tables
- Operation name to document (const)
- Operation name to variables type (interface)
- Operation name to data type (interface)
- Operation name to data type (interface)
- Operation name types
- Rename
certainhelper totypeRef(breaking change) - Ignore non-GraphQL files in watch mode
- Refactor web socket package
- Allow creating a context per web socket subscription (breaking change)
- Refactor auto-reconnect API in client web sockets (breaking change)
- Improve auto-reconnection in client web sockets
- Refactor package structure
- Fix UMD build
- Improved types for resolver maps
- Add some doc-block comments
- Enable subscriptions in example GraphiQL
- Drop "opinionated" in README and description
- Fix watch mode
- Turn optional dependencies into peer dependencies
- Initial version