Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,5 @@ jobs:
with:
global-json-file: global.json
dotnet-version: |
9.x
10.x
8.x
2 changes: 1 addition & 1 deletion .github/workflows/publish-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
DOTNET_SDK_VERSION: 9.0.307
DOTNET_SDK_VERSION: 10.0.202

jobs:
publish:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
SLEEP_DURATION: 60
DOTNET_SDK_VERSION: 9.0.307
DOTNET_SDK_VERSION: 10.0.202

jobs:
publish:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-22.04, windows-latest, macOS-latest]
dotnet: [9.0.307]
dotnet: [10.0.202]
Comment thread
xperiandri marked this conversation as resolved.
runs-on: ${{ matrix.os }}

steps:
Expand Down
8 changes: 4 additions & 4 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
<Project>

<PropertyGroup>
<DotNetVersion>net8.0</DotNetVersion>
<LangVersion>9.0</LangVersion>
<FSharpCoreVersion>9.0.*</FSharpCoreVersion>
<DotNetVersion>net10.0</DotNetVersion>
<LangVersion>10.0</LangVersion>
<FSharpCoreVersion>10.0.*</FSharpCoreVersion>
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
<NoWarn>$(NoWarn);NU1504;NU1701</NoWarn>
<TreatWarningsAsErrors Condition="'$(Configuration)' != 'Debug'">true</TreatWarningsAsErrors>
</PropertyGroup>

<PropertyGroup Label="NuGet">
<Version>3.1.1</Version>
<Version>4.0.0</Version>
Comment thread
xperiandri marked this conversation as resolved.
</PropertyGroup>

</Project>
8 changes: 4 additions & 4 deletions Packages.props
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<SystemVersion>8.0.*</SystemVersion>
<MicrosoftExtensionsVersion>8.0.*</MicrosoftExtensionsVersion>
<AspNetCoreVersion>8.0.*</AspNetCoreVersion>
<FSharpCoreVersion>9.0.202</FSharpCoreVersion>
<SystemVersion>10.0.*</SystemVersion>
<MicrosoftExtensionsVersion>10.0.*</MicrosoftExtensionsVersion>
<AspNetCoreVersion>10.0.*</AspNetCoreVersion>
<FSharpCoreVersion>10.1.202</FSharpCoreVersion>
<FsToolkitVersion>4.17.*</FsToolkitVersion>
<XUnitVersion>2.9.3</XUnitVersion>
<FAKEVersion>6.*</FAKEVersion>
Expand Down
49 changes: 47 additions & 2 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
#### 0.0.1-beta - 2016-04-19

* Initial release

#### 0.0.2-beta - 2016-09-01

* Introduced intermediate representation of GraphQL operation execution.
* Introduced ability to convert GraphQL query to LINQ.
* Replaced current asynchronous API resolver internals.
* Ability to use records as complex input variables.
* Minor bugfixes and performance optimizations.

### 0.0.3-beta - 2018-03-22

* Introduced a sample for GraphQL over WebSocket Protocol
* Introduced support for Stream and Defer directives
* Minor bugfixes.

### 0.0.4-beta - 2018-05-31

* Introduced support for middlewares in the execution pipeline.
* Introduced new package, named FSharp.Data.GraphQL.Server.Middleware, with generic, built-in middlewares.
* Introduced QueryWeightMiddleware, a generic execution middleware to measure query complexity and optionally block query execution with a threshold.
Expand All @@ -26,96 +30,120 @@
* Added support for nested deferred and streamed results (currently does have a maximum degree of two nested operations).

### 0.0.4-beta01 - 2018-05-31

* Fix package dependency versions

### 0.0.5-beta - 2018-08-10

* Upgraded dependencies on Newtonsoft.Json to the latest version.
* Changing subscription field definitions to have a generic output type - the output is not required to be a GraphQL type anymore.
* Implemented experimental support for @live directive, through a subscription system.
* Fixed a bug that caused an exception when ToString function is called on an empty NameValueLookup.
* Added support for asynchronous subscription field definitions.

### 0.0.6-beta - 2018-08-10

* Fixes for introspection query
* Use string identifier to publish to subscription

### 0.0.7-beta - 2018-09-17

* **Breaking Change:** Async Pub/Sub methods for subscription and live directive handler interfaces
* Add Long Scalar definition

### 0.0.8-beta - 2018-10-27

* Add subscription field to introspection schema

### 0.0.8-beta01 - 2018-10-28

* Add subscription field to introspection schema

### 0.0.9 - 2018-11-02

* Fixed a bug where output def of a subscription field was not reachable for introspection.

### 0.0.10-beta - 2018-11-13

* Deferred and Streamed results now return their fields in the direct result as well. The value of those fields will be an empty list or null.
* Live results now send the immediate result in the direct result, instead of the deferred result.

### 0.0.11-beta - 2018-11-21

* Deferred and Streamed results fixes for GQL interfaces.

### 0.0.12-beta - 2018-11-21

* Deferred and Streamed results fixes for GQL interfaces when at the top-level of query.

### 0.0.16-beta - 2019-01-03

* **Breaking Change** The `ISubscriptionProvider` interface now has additional methods to publish to subscriptions by tag.
* **Breaking Change** Renamed interface methods in `ISubscriptionProvider` from XxAsync to AsyncXx to reserve the former for TPL extensions.
* Fixes for stream and defer execution.

### 0.0.17-beta - 2019-01-11

* Execute deferred results in parallel.

### 0.0.18-beta - 2019-01-16

* Fix dispose of deferred/stream responses.

### 1.0.0-beta - 2019-04-27

* **Breaking Change** New type provider API! see samples/client-provider for details.
* Fixes for #216 enum as a variable.
* Upgraded paket and dependencies.

### 1.0.0-beta2 - 2019-04-27

* **Breaking Change** GraphQLProvider now makes Nullable GraphQL inputs optional method arguments instead of options
* **Breaking Change** GraphQLProvider uses the operation name as the generated operation type's names. if no operation name is specified it uses "Operation" + the query string's hash
* Make the type provider cross-targeting
* **Breaking Change** Add postcompile phase to middleware interface

### 1.0.0-beta3 - 2019-05-10

* **Breaking Change** GraphQLProvider record types constructors now receive option arguments as optional arguments
* Revision on scalar types parsing - fixed some wrong behaviors such as parsing ints as floats

### 1.0.0-beta4 - 2019-05-13

* Fixing a bug when converting variable types to variables json in a query

### 1.0.0-beta5 - 2019-05-13

* Fixing a bug when parsing json objects with no fields in serialization

### 1.0.0-beta6 - 2019-05-17

* Changing constructors of provided types to have overloads instead of optional parameters (needed because of a limitation of the Type Provider SDK)
* Adding support for field aliases
* Operation result errors and custom data now are provided as their respective types instead of options (`Operation Error []` and `Map<string, obj>`)

### 1.0.0-beta7 - 2019-05-17

* Minor bug fixes
* Fixing an error on overload constructor definition

### 1.0.0-beta8 - 2019-05-22

* Performance improvements

### 1.0.0-beta9 - 2019-05-22

* Fixing dependency issue on Server component

### 1.0.0-beta90 - 2019-05-29

* Fixing a wrong cast for System.Uri type
* Adding support for file uploads through [GraphQL Multipart Request Spec](https://github.com/jaydenseric/graphql-multipart-request-spec)
* Changing variable parameters of Run/AsyncRun methods to work as overloaded methods instead of one having optional parameters
* Minor bug fixes

### 1.0.0 - 2019-07-04

* Changing the internal client of the Type provider (`System.Net.Http.HttpClient`)
* Fixing several minor bugs of the file upload system in the client provider
* Limiting the upload type of the client provider to be a scalar type (provider fails if it is not)
Expand All @@ -129,34 +157,40 @@
* **Breaking Change** Renaming `FSharp.Data.GraphQL.Server.Middlewares` package to `FSharp.Data.GraphQL.Server.Middleware`

### 1.0.1 - 2019-07-05

* Adjusting package dependencies (`FParsec`, `System.Net.Http`, and `FSharp.Data.GraphQL.Server` are not locked anymore)

### 1.0.2 - 2019-08-19

* fixed false positive validation errors related to variable usage.

### 1.0.3 - 2020-03-03

* Correct printing of queries without names
* Correct printing of ListValue and ObjectValue
* Traverse list values in argument lists
* Added test cases for object inputs for GraphQL functions


### 1.0.4 - 2020-03-22

* TypeProvider now treats custom scalars as strings
* The Guid scalar was mapped to a DateTime


### 1.0.5 - 2020-03-23

* Support opening static classes
* Add additional case in client to support failed requests that don't return a path.

### 1.0.6 - 2020-12-15

* TypeProvider accepts IHttpClientFactory as input

### 1.0.7 - 2020-12-30

* Add static TypeProvider parameter `explicitOptionalParameters`.

### 1.0.8 - 2021-04-18

* Remove Desktop build
* Update documentation and build tools
* Upgrade build scripts
Expand All @@ -166,6 +200,7 @@
* Fix parser bug. Thanks to @njlr

### 2.0.0 - 2024-03-24

* **Breaking Change** Migrated to .NET 6/7 and F# 7
* **Breaking Change** Implemented GraphQL error handling using `IGQLError` interface instead of exceptions
* **Breaking Change** Implemented parsing variables as `JsonElement`
Expand All @@ -186,17 +221,21 @@
* Fixed various introspection and default value encoding issues

### 2.1.0 - 2024-04-13

* Improved server exception logging by including exception in log message
* Documentation and README improvements

### 2.2.0 - 2024-05-08

* Improved `AddGraphQLOptions`
* Added Altair and GraphiQL to sample projects

### 2.2.1 - 2024-06-16

* Fixed `JsonSerializerOptions` read-only instance error

### 3.0.0 - 2025-11-30

* **Breaking Change** Migrated to .NET 8 and F# 9.0 with `FSharp.Core` 9.0.x
* **Breaking Change** Updated scalar `CoerceOutput` signature to `objnull -> 'Primitive option`
* **Breaking Change** Moved GraphQL error extensions to standard `extensions` field according to specification
Expand Down Expand Up @@ -244,3 +283,9 @@

* Fixed planning phase crash when inline fragments reference types not included in union or interface definitions
* Fixed GraphQL client provider handling for schema types that reuse reserved scalar names such as `Date`, so introspection kind now takes precedence over built-in scalar mappings.

### 4.0.0 - Unreleased

* **Breaking Change** Migrated to .NET 10
* **Breaking Change** Made Relay `Edge` a read-only struct
* Improved Relay XML documentation comments
Loading