Releases: pekkah/tanka-graphql
Releases · pekkah/tanka-graphql
3.6.0
Tanka GraphQL 3.6.0
🎉 Major Features
Link Directive Support
Full implementation of the link directive for schema composition, enabling modular GraphQL schemas with type imports and aliasing capabilities. This powerful feature allows you to build composable schemas and is the foundation for advanced specifications like Apollo Federation.
Apollo Federation v2.3 Support
Comprehensive Apollo Federation v2.3 subgraph implementation with:
- Full compliance with the Federation v2.3 specification
- Reference resolvers for entity federation
- Support for all Federation directives (key, external, requires, provides, shareable, etc.)
- Type aliasing support to avoid naming conflicts
- Built-in compatibility testing with the official Apollo Federation subgraph compatibility suite
Extensible Schema Building with Middleware Pipeline
New middleware pipeline architecture for schema building that enables:
- Modular and composable schema construction
- Clean separation of concerns for schema processing
- Custom middleware injection for advanced scenarios
- Foundation for features like link directive processing and Federation support
📚 Documentation
Full documentation is available at: https://pekkah.github.io/tanka-graphql/
🔧 Additional Improvements
- Updated documentation build system with tanka-docs v1.2.1
- Optimized CI/CD pipeline for faster builds
- Enhanced error reporting in documentation generation
- Improved cross-reference support in documentation
📦 NuGet Packages
Tanka.GraphQL
- Core execution engineTanka.GraphQL.Language
- Parser and ASTTanka.GraphQL.Server
- HTTP/WebSocket serverTanka.GraphQL.Server.SourceGenerators
- Code generationTanka.GraphQL.Extensions.ApolloFederation
- Apollo Federation support
Contributors
Thanks to all contributors who made this release possible!
3.5.0
What's Changed
✨ New Features
- Add stream directive support to pipeline-based field execution (#2005)
- Add defer directive support for fragment spreads (#2003)
- Add oneOf directive support for polymorphic input types (Stage 3 RFC)
- Improve streaming architecture for better concurrency and performance (#2002)
🐛 Bug Fixes
- Configure consistent LF line endings across all platforms (#2004)
- Prevent information disclosure in error responses (#2001)
- Fix Federation printDescriptions for oneOf RFC compliance
- Replace NotImplementedException with proper implementations
- Add typed ParseException for better error handling
📝 Documentation
- Modernize README with better structure and accurate examples
- Fix installation commands throughout documentation
- Update benchmark instructions for .NET 9.0
- Remove outdated version references
🔧 Improvements
- Enhanced GraphQL spec compliance with oneOf support
- Better compliance with latest GraphQL specification draft
- Enhanced error handling with ParseException
- Improved source generator type handling
- Better nullable type detection in code generation
- Cleaner codebase with resolved TODOs and technical debt
📊 Spec Compliance
- Full support for oneOf directive (Stage 3 RFC)
- Updated to latest GraphQL specification draft
- Improved Federation spec compliance
📖 Documentation
Full Changelog: 3.0.0...3.5.0
3.0.0
Major release after couple of years of development.
New major features and changes
- New pipeline based execution model similar to ASP.NET Core execution model
- Roslyn based source generation
- New WebSocket protocol implementation matching the https://github.com/enisdenjo/graphql-ws
- New samples for the server and source generator
- Experimental support for "@OneOf" -directive
- Delegates and subscribers and resolvers
- New simplified type system using the graphql language
- Lots of possibilities for customization
What's Changed
- New type system by @pekkah in #1063
- [resolvers]: Delegates as resolvers by @pekkah in #1584
- [resolvers]: add delegate subscribers by @pekkah in #1592
- [resolvers]: argument binding to delegate resolvers by @pekkah in #1611
- Remove legacy by @pekkah in #1621
- Source generator samples by @pekkah in #1636
- Improved error handling by @pekkah in #1714
- Experimental @OneOf directive support for input types by @pekkah in #1723
- Add subscription support to source generator by @pekkah in #1729
- Generate implements extension for any interface implemented by Object… by @pekkah in #1749
- server: Rewrite the WebSocket protocol handling by @pekkah in #1752
Full Changelog: 2.0.1...3.0.0
2.0.1
2.0.0
Features
- New low allocating fast GraphQL language parser (https://pekkah.github.io/tanka-graphql/2.0.0/0-language/01-parser.html)
- .NET 5.0 (the core still targets netstandard2.1)
- Descriptions using block strings
- Missing validator 5.8.3 All Variable Uses Defined
- Imports (https://pekkah.github.io/tanka-graphql/2.0.0/0-language/02-imports.html)
- Apollo Federation support (https://pekkah.github.io/tanka-graphql/2.0.0/10-extensions/apollo-federation.html)
1.0.3
1.0.2
1.0.1
1.0.0
build(deps-dev): bump tslint in /src/graphql.server.link (#459) Bumps [tslint](https://github.com/palantir/tslint) from 5.20.1 to 6.0.0. - [Release notes](https://github.com/palantir/tslint/releases) - [Changelog](https://github.com/palantir/tslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/palantir/tslint/compare/5.20.1...6.0.0) Signed-off-by: dependabot-preview[bot] <[email protected]>