|
163 | 163 | * Migrate from netcoreapp2.0 to net5.0 for tests and samples |
164 | 164 | * Target netstandard2.0 exclusively for Type Providers |
165 | 165 | * Make FSharp.Data.GraphQL.Shared a Nuget package |
166 | | -* Fix parser bug. Thanks to @njlr |
| 166 | +* Fix parser bug. Thanks to @njlr |
| 167 | + |
| 168 | +### 2.0.0 - March 24 2024 |
| 169 | +* **Breaking Change** Migrated to .NET 6/7 and F# 7 |
| 170 | +* **Breaking Change** Implemented GraphQL error handling using `IGQLError` interface instead of exceptions |
| 171 | +* **Breaking Change** Parsing variables as `JsonElement` |
| 172 | +* **Breaking Change** Added `Type` suffix to all built-in GraphQL type definitions |
| 173 | +* **New Package** `FSharp.Data.GraphQL.Server.AspNetCore` for ASP.NET Core integration |
| 174 | +* Migrated from Paket and FAKE CLI to standard MSBuild tooling |
| 175 | +* Added `Path` to `ResolveFieldContext` |
| 176 | +* Added ability to deprecate fields defined with any combination of parameters |
| 177 | +* Fixed nullable enum input handling |
| 178 | +* Support using F# discriminated unions as enum variables |
| 179 | +* Support `Option` variable values for nullable input |
| 180 | +* Input lists from query/AST can now be mapped to internal array types |
| 181 | +* Implemented input object validation with detailed error messages |
| 182 | +* Added `Define.WrappedScalar` for value object scalar definitions |
| 183 | +* Implemented coercion of nested input objects |
| 184 | +* Added support for `ValueOption` in `AutoField` |
| 185 | +* Improved WebSocket handling to eliminate large array allocations |
| 186 | +* Fixed various introspection and default value encoding issues |
| 187 | + |
| 188 | +### 2.1.0 - April 13 2024 |
| 189 | +* Improved server exception logging by including exception in log message |
| 190 | +* Documentation and README improvements |
| 191 | + |
| 192 | +### 2.2.0 - May 8 2024 |
| 193 | +* Improved `AddGraphQLOptions` |
| 194 | +* Added Altair and GraphiQL to sample projects |
| 195 | + |
| 196 | +### 2.2.1 - June 16 2024 |
| 197 | +* Fixed `JsonSerializerOptions` read-only instance error |
| 198 | + |
| 199 | +### 3.0.0 - November 2025 |
| 200 | +* **Breaking Change** Migrated to .NET 8 and F# 9.0 with FSharp.Core 9.0.x |
| 201 | +* **Breaking Change** Updated scalar `CoerceOutput` signature to `objnull -> 'Primitive option` |
| 202 | +* **Breaking Change** Moved GraphQL error extensions to standard `extensions` field per specification |
| 203 | +* **Breaking Change** Renamed `ObjectListFilter` type definition to `ObjectListFilterType` |
| 204 | +* **Breaking Change** Removed `ObjectListFilter.NoFilter` case |
| 205 | +* **Breaking Change** Removed Suave support |
| 206 | +* **Breaking Change** Reworked Relay types to enable async fetching and switched to `ValueOption` |
| 207 | +* Added Oxpecker web framework support |
| 208 | +* Implemented per-field authorization using ASP.NET authorization policies |
| 209 | +* Implemented file upload support via GraphQL Multipart Request Spec with `FileData` type |
| 210 | +* Implemented `OfTypes` filter case for `ObjectListFilter` to filter union cases by type |
| 211 | +* Implemented `ObjectListFilter` parsing from variables |
| 212 | +* Added support for variables within inline object list filters |
| 213 | +* Implemented additional list filter operators (`In`, `Contains`, `StartsWith`, `EndsWith`) |
| 214 | +* Implemented `StructNullable` to support `ValueOption` fields in input objects |
| 215 | +* Implemented case-insensitive input object fields and constructor parameters matching |
| 216 | +* Added ability to recognize if an input field is null or not present at all |
| 217 | +* Added ability to add errors to resolved fields |
| 218 | +* Added `FieldDef<'Val, 'Res>` to support resolver-changing middlewares |
| 219 | +* Added GraphQL extensions support via `GQLMessageException` |
| 220 | +* Added more overloads to `AddGraphQLOptions` including additional converters |
| 221 | +* Implemented support for optional properties usage in non-Enumerable LINQ queries |
| 222 | +* Fixed `ID` type deserialization |
| 223 | +* Fixed `Contains` and `In` operators implementation for collections |
| 224 | +* Fixed generation of discriminator comparing expressions to be translatable to database queries |
| 225 | +* Fixed `IInputExecutionContext` resolution |
| 226 | +* Fixed `graphql-transport-ws` WebSocket implementation |
| 227 | +* Fixed ability to override `GraphQLRequestHandler<'Root>` |
| 228 | +* Fixed input object CLR property type validation against GraphQL scalar definitions |
| 229 | +* Migrated all solutions to SLNX format |
| 230 | +* Various performance optimizations and bug fixes |
0 commit comments