You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Updated and migrated from docusaurus 1.x to 2.x
* Got tabs working with codeblocks
* Moved docs to website/ and renamed respective MDX file extensions due to updated JSX style syntax for tabbed codeblocks
* Updated links to new MDX extension
* Fixed additional bugs and formatting issues
* Moved filenames/titles to title attr of codeblock
* Versioned 4.2 and 4.3 and fixed versioning dropdown
* Added new serve command
* Add CNAME config
* Fix node target issue
* Removed v1 npm command
* Fix Github pages deployment
* Delete package-lock.json
Copy file name to clipboardexpand all lines: website/docs/CHANGELOG.md
+30-32
Original file line number
Diff line number
Diff line change
@@ -4,22 +4,22 @@ title: Changelog
4
4
sidebar_label: Changelog
5
5
---
6
6
7
-
## 4.3
7
+
## 4.3.0
8
8
9
-
Breaking change:
9
+
#### Breaking change:
10
10
11
11
- The method `setAnnotationCacheDir($directory)` has been removed from the `SchemaFactory`. The annotation
12
12
cache will use your `Psr\SimpleCache\CacheInterface` compliant cache handler set through the `SchemaFactory`
13
13
constructor.
14
14
15
-
Minor changes:
15
+
#### Minor changes:
16
16
17
17
- Removed dependency for doctrine/cache and unified some of the cache layers following a PSR interface.
18
18
- Cleaned up some of the documentation in an attempt to get things accurate with versioned releases.
19
19
20
-
## 4.2
20
+
## 4.2.0
21
21
22
-
Breaking change:
22
+
#### Breaking change:
23
23
24
24
The method signature for `toGraphQLOutputType` and `toGraphQLInputType` have been changed to the following:
25
25
@@ -35,82 +35,80 @@ public function toGraphQLOutputType(Type $type, ?OutputType $subType, $reflector
35
35
public function toGraphQLInputType(Type $type, ?InputType $subType, string $argumentName, $reflector, DocBlock $docBlockObj): InputType;
36
36
```
37
37
38
-
New features:
38
+
#### New features:
39
39
40
-
-[@Input](annotations_reference.md#input-annotation) annotation is introduced as an alternative to `@Factory`. Now GraphQL input type can be created in the same manner as `@Type` in combination with `@Field` - [example](input_types.md#input-annotation).
41
-
- New attributes has been added to [@Field](annotations_reference.md#field-annotation) annotation: `for`, `inputType` and `description`.
40
+
-[@Input](annotations-reference.md#input-annotation) annotation is introduced as an alternative to `@Factory`. Now GraphQL input type can be created in the same manner as `@Type` in combination with `@Field` - [example](input-types.mdx#input-annotation).
41
+
- New attributes has been added to [@Field](annotations-reference.md#field-annotation) annotation: `for`, `inputType` and `description`.
42
42
- The following annotations now can be applied to class properties directly: `@Field`, `@Logged`, `@Right`, `@FailWith`, `@HideIfUnauthorized` and `@Security`.
43
43
44
-
## 4.1
44
+
## 4.1.0
45
45
46
-
Breaking change:
46
+
#### Breaking change:
47
47
48
48
There is one breaking change introduced in the minor version (this was important to allow PHP 8 compatibility).
49
49
50
50
- The **ecodev/graphql-upload** package (used to get support for file uploads in GraphQL input types) is now a "recommended" dependency only.
51
51
If you are using GraphQL file uploads, you need to add `ecodev/graphql-upload` to your `composer.json`.
52
52
53
-
New features:
53
+
#### New features:
54
54
55
55
- All annotations can now be accessed as PHP 8 attributes
56
56
- The `@deprecated` annotation in your PHP code translates into deprecated fields in your GraphQL schema
57
57
- You can now specify the GraphQL name of the Enum types you define
58
58
- Added the possibility to inject pure Webonyx objects in GraphQLite schema
59
59
60
-
Minor changes:
60
+
#### Minor changes:
61
61
62
62
- Migrated from `zend/diactoros` to `laminas/diactoros`
63
63
- Making the annotation cache directory configurable
64
64
65
-
Miscellaneous:
65
+
#### Miscellaneous:
66
66
67
67
- Migrated from Travis to Github actions
68
68
69
-
## 4.0
69
+
70
+
## 4.0.0
70
71
71
72
This is a complete refactoring from 3.x. While existing annotations are kept compatible, the internals have completely
72
73
changed.
73
74
74
-
New features:
75
+
#### New features:
75
76
76
-
- You can directly [annotate a PHP interface with `@Type` to make it a GraphQL interface](inheritance-interfaces.md#mapping-interfaces)
77
+
- You can directly [annotate a PHP interface with `@Type` to make it a GraphQL interface](inheritance-interfaces.mdx#mapping-interfaces)
77
78
- You can autowire services in resolvers, thanks to the new `@Autowire` annotation
78
-
- Added [user input validation](validation.md) (using the Symfony Validator or the Laravel validator or a custom `@Assertion` annotation
79
+
- Added [user input validation](validation.mdx) (using the Symfony Validator or the Laravel validator or a custom `@Assertion` annotation
79
80
- Improved security handling:
80
81
- Unauthorized access to fields can now generate GraphQL errors (rather that schema errors in GraphQLite v3)
81
-
- Added fine-grained security using the `@Security` annotation. A field can now be [marked accessible or not depending on the context](fine-grained-security.md).
82
+
- Added fine-grained security using the `@Security` annotation. A field can now be [marked accessible or not depending on the context](fine-grained-security.mdx).
82
83
For instance, you can restrict access to the field "viewsCount" of the type `BlogPost` only for post that the current user wrote.
83
84
- You can now inject the current logged user in any query / mutation / field using the `@InjectUser` annotation
84
85
- Performance:
85
-
- You can inject the [Webonyx query plan in a parameter from a resolver](query_plan.md)
86
-
- You can use the [dataloader pattern to improve performance drastically via the "prefetchMethod" attribute](prefetch_method.md)
86
+
- You can inject the [Webonyx query plan in a parameter from a resolver](query-plan.mdx)
87
+
- You can use the [dataloader pattern to improve performance drastically via the "prefetchMethod" attribute](prefetch-method.mdx)
87
88
- Customizable error handling has been added:
88
-
- You can throw [GraphQL errors](error_handling.md) with `TheCodingMachine\GraphQLite\Exceptions\GraphQLException`
89
-
- You can specify the HTTP response code to send with a given error, and the errors "extensions" section
90
-
- You can throw [many errors in one exception](error_handling.md#many-errors-for-one-exception) with `TheCodingMachine\GraphQLite\Exceptions\GraphQLAggregateException`
91
-
- You can map [a given PHP class to several PHP input types](input_types.md#declaring-several-input-types-for-the-same-php-class) (a PHP class can have several `@Factory` annotations)
89
+
- You can throw [many errors in one exception](error-handling.mdx#many-errors-for-one-exception) with `TheCodingMachine\GraphQLite\Exceptions\GraphQLAggregateException`
92
90
- You can force input types using `@UseInputType(for="$id", inputType="ID!")`
93
-
- You can extend an input types (just like you could extend an output type in v3) using [the new `@Decorate` annotation](extend_input_type.md)
94
-
- In a factory, you can [exclude some optional parameters from the GraphQL schema](input_types#ignoring-some-parameters)
91
+
- You can extend an input types (just like you could extend an output type in v3) using [the new `@Decorate` annotation](extend-input-type.mdx)
92
+
- In a factory, you can [exclude some optional parameters from the GraphQL schema](input-types#ignoring-some-parameters)
95
93
96
94
97
95
Many extension points have been added
98
96
99
97
- Added a "root type mapper" (useful to map scalar types to PHP types or to add custom annotations related to resolvers)
100
-
- Added ["field middlewares"](field_middlewares.md) (useful to add middleware that modify the way GraphQL fields are handled)
101
-
- Added a ["parameter type mapper"](argument_resolving.md) (useful to add customize parameter resolution or add custom annotations related to parameters)
98
+
- Added ["field middlewares"](field-middlewares.md) (useful to add middleware that modify the way GraphQL fields are handled)
99
+
- Added a ["parameter type mapper"](argument-resolving.md) (useful to add customize parameter resolution or add custom annotations related to parameters)
102
100
103
101
New framework specific features:
104
102
105
-
Symfony:
103
+
#### Symfony:
106
104
107
105
- The Symfony bundle now provides a "login" and a "logout" mutation (and also a "me" query)
108
106
109
-
Laravel:
107
+
#### Laravel:
110
108
111
-
-[Native integration with the Laravel paginator](laravel-package-advanced.md#support-for-pagination) has been added
109
+
-[Native integration with the Laravel paginator](laravel-package-advanced.mdx#support-for-pagination) has been added
112
110
113
-
Internals:
111
+
#### Internals:
114
112
115
113
- The `FieldsBuilder` class has been split in many different services (`FieldsBuilder`, `TypeHandler`, and a
0 commit comments