NGql v1.5.0 #15
dolifer
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
🧱 Breaking Changes
None. This release introduces new APIs while maintaining backward compatibility with existing query building patterns.
🚀 Major Features
Enhanced Query Builder with Fluent API
• New QueryBuilder: Complete rewrite with fluent syntax for building GraphQL queries programmatically
• Field Definitions: Structured field definitions with metadata support for better query organization
• Query Merging: Intelligent query merging with configurable strategies (MergeByDefault, NeverMerge, MergeByFieldPath)
Advanced Dot Notation Support
• Type-aware Field Paths: Support for specifying field types using dot notation (e.g., "User user.profile.name")
• Array Type Markers: Full support for array types including bare
[]markers and typed arrays likeInt[]• Nested Field Resolution: Improved handling of complex nested field structures with proper type inference
Performance Optimizations
• Memory Efficiency: Extensive use of
Span<T>andReadOnlySpan<T>for reduced memory allocations• Optimized Parameters: Use of in parameters for better performance with large data structures
• Field Caching: Intelligent caching of fields by full path for faster lookups
🔧 Core Improvements
Type System Enhancements
• Enhanced Type Detection: Improved parsing of field types from various formats
• Array Support: Better handling of array and nullable type markers
Field Management
• Metadata Support: Add custom metadata to fields for extended functionality
• Alias Handling: Improved alias support with proper resolution and conflict handling
• Path Resolution: New
GetPathTo()method for finding paths to specific fieldsQuery Processing
• Argument Merging: Smart merging of field arguments with conflict resolution
• Variable Detection: Enhanced variable detection from anonymous objects
• Enum Support: New EnumValue type for handling string-based enum configurations
🛠️ Developer Experience
.NET 9.0 Support
• Multi-targeting: Support for .NET 6.0, 7.0, 8.0, and 9.0
• Latest C# Features: Utilizes latest C# language features for better performance and readability
This discussion was created from the release NGql v1.5.0.
All reactions