Skip to content

Commit 19458fa

Browse files
authored
Added 7.0.0 to docs (#665)
1 parent 9fc7f9e commit 19458fa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+8353
-23
lines changed

website/README

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,23 @@ The [versioning section of the Docusaurus documentation](https://docusaurus.io/d
2626
1. Firstly, you need to update the `docs/CHANGELOG.md` file with the updates for the release. The best way to do this is to review all the `is:merged` PRs since the last release. Here is an example entry format:
2727

2828
```markdown
29-
#### Dependencies:
30-
https://github.com/thecodingmachine/graphqlite/pull/000 Upgraded to Symfony 69
29+
## 1.0.0
3130

32-
#### Breaking Change:
33-
https://github.com/thecodingmachine/graphqlite/pull/000 Dropped PHP support
31+
### Dependencies:
3432

35-
#### New Features:
36-
https://github.com/thecodingmachine/graphqlite/pull/000 Added support for the new GraphQL spec fork
33+
- #000 Upgraded to Symfony 69
3734

38-
#### Miscellaneous:
39-
Added John Doe as a maintainer
35+
### Breaking Change:
36+
37+
- #000 Dropped PHP support
38+
39+
### New Features:
40+
41+
- #000 Added support for the new GraphQL spec fork
42+
43+
### Miscellaneous:
44+
45+
- Added John Doe as a maintainer
4046
```
4147

4248
2. Next, you'll need to tag a new version with Docusaurus, which will cache a copy of the documentation in the `versioned_docs` directory, update the `versioned_sidebars`, and update the `versions.json` file.

website/docs/CHANGELOG.md

Lines changed: 108 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,123 @@ title: Changelog
44
sidebar_label: Changelog
55
---
66

7+
## 7.0.0
8+
9+
### Breaking Changes
10+
11+
- #664 Replaces [thecodingmachine/class-explorer](https://github.com/thecodingmachine/class-explorer) with [kcs/class-finder](https://github.com/alekitto/class-finder) resulting in the `SchemaFactory::setClassNameMapper` being renamed to `SchemaFactory::setFinder`. This now expects an instance of `Kcs\ClassFinder\Finder` instead of `Kcs\ClassFinder\Finder\FinderInterface`. @fogrye
12+
13+
### New Features
14+
15+
- #649 Adds support for `subscription` operations. @oojacoboo
16+
- #612 Automatic query complexity analysis. @oprypkhantc
17+
- #611 Automatic persisted queries. @oprypkhantc
18+
19+
### Improvements
20+
21+
- #658 Improves on prefetching for nested fields. @grynchuk
22+
- #646 Improves exception handling during schema parsing. @fogrye
23+
- #636 Allows the use of middleware on construtor params/fields. @oprypkhantc
24+
- #623 Improves support for description arguments on types/fields. @downace
25+
- #628 Properly handles `@param` annotations for generics support on field annotated constructor arguments. @oojacoboo
26+
- #584 Immutability improvements across the codebase. @oprypkhantc
27+
- #588 Prefetch improvements. @oprpkhantc
28+
- #606 Adds support for phpdoc descriptions and deprecation annotations on native enums. @mdoelker
29+
- Thanks to @shish, @cvergne and @mshapovalov for updating the docs!
30+
31+
### Minor Changes
32+
33+
- #639 Added support for Symfony 7. @janatjak
34+
35+
36+
## 6.2.3
37+
38+
Adds support for `Psr\Container` 1.1 with #601
39+
40+
## 6.2.2
41+
42+
This is a very simple release. We support Doctrine annotation 1.x and we've deprecated `SchemaFactory::setDoctrineAnnotationReader` in favor of native PHP attributes.
43+
44+
## 6.2.1
45+
46+
- Added support for new `Void` return types, allowing use of `void` from operation resolvers. #574
47+
- Improvements with authorization middleware #571
48+
- Updated vendor dependencies: #580 #558
49+
50+
## 6.2.0
51+
52+
Lots of little nuggets in this release! We're now targeting PHP ^8.1 and have testing on 8.2.
53+
54+
- Better support for union types and enums: #530, #535, #561, #570
55+
- Various bug and interface fixes: #532, #575, #564
56+
- GraphQL v15 required: #542
57+
- Lots of codebase improvements, more strict typing: #548
58+
59+
A special thanks to @rusted-love and @oprypkhantc for their contributions.
60+
61+
## 6.1.0
62+
63+
A shoutout to @bladl for his work on this release, improving the code for better typing and PHP 8.0 syntax updates!
64+
65+
### Breaking Changes
66+
67+
- #518 PSR-11 support now requires version 2
68+
- #508 Due to some of the code improvements, additional typing has been added to some interfaces/classes. For instance, `RootTypeMapperInterface::toGraphQLOutputType` and `RootTypeMapperInterface::toGraphQLInputType` now have the following signatures:
69+
70+
```php
71+
/**
72+
* @param (OutputType&GraphQLType)|null $subType
73+
*
74+
* @return OutputType&GraphQLType
75+
*/
76+
public function toGraphQLOutputType(
77+
Type $type,
78+
OutputType|null $subType,
79+
ReflectionMethod|ReflectionProperty $reflector,
80+
DocBlock $docBlockObj
81+
): OutputType;
82+
83+
/**
84+
* @param (InputType&GraphQLType)|null $subType
85+
*
86+
* @return InputType&GraphQLType
87+
*/
88+
public function toGraphQLInputType(
89+
Type $type,
90+
InputType|null $subType,
91+
string $argumentName,
92+
ReflectionMethod|ReflectionProperty $reflector,
93+
DocBlock $docBlockObj
94+
): InputType;
95+
```
96+
97+
### Improvements
98+
99+
- #510
100+
- #508
101+
7102
## 5.0.0
8103

9-
#### Dependencies:
104+
### Dependencies
10105

11106
- Upgraded to using version 14.9 of [webonyx/graphql-php](https://github.com/webonyx/graphql-php)
12107

13108
## 4.3.0
14109

15-
#### Breaking change:
110+
### Breaking change
16111

17112
- The method `setAnnotationCacheDir($directory)` has been removed from the `SchemaFactory`. The annotation
18113
cache will use your `Psr\SimpleCache\CacheInterface` compliant cache handler set through the `SchemaFactory`
19114
constructor.
20115

21-
#### Minor changes:
116+
### Minor changes
22117

23118
- Removed dependency for doctrine/cache and unified some of the cache layers following a PSR interface.
24119
- Cleaned up some of the documentation in an attempt to get things accurate with versioned releases.
25120

26121
## 4.2.0
27122

28-
#### Breaking change:
123+
### Breaking change
29124

30125
The method signature for `toGraphQLOutputType` and `toGraphQLInputType` have been changed to the following:
31126

@@ -41,44 +136,43 @@ public function toGraphQLOutputType(Type $type, ?OutputType $subType, $reflector
41136
public function toGraphQLInputType(Type $type, ?InputType $subType, string $argumentName, $reflector, DocBlock $docBlockObj): InputType;
42137
```
43138

44-
#### New features:
139+
### New features
45140

46141
- [@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-attribute).
47142
- New attributes has been added to [@Field](annotations-reference.md#field-annotation) annotation: `for`, `inputType` and `description`.
48143
- The following annotations now can be applied to class properties directly: `@Field`, `@Logged`, `@Right`, `@FailWith`, `@HideIfUnauthorized` and `@Security`.
49144

50145
## 4.1.0
51146

52-
#### Breaking change:
147+
### Breaking change
53148

54149
There is one breaking change introduced in the minor version (this was important to allow PHP 8 compatibility).
55150

56151
- The **ecodev/graphql-upload** package (used to get support for file uploads in GraphQL input types) is now a "recommended" dependency only.
57152
If you are using GraphQL file uploads, you need to add `ecodev/graphql-upload` to your `composer.json`.
58153

59-
#### New features:
154+
### New features
60155

61156
- All annotations can now be accessed as PHP 8 attributes
62157
- The `@deprecated` annotation in your PHP code translates into deprecated fields in your GraphQL schema
63158
- You can now specify the GraphQL name of the Enum types you define
64159
- Added the possibility to inject pure Webonyx objects in GraphQLite schema
65160

66-
#### Minor changes:
161+
### Minor changes
67162

68163
- Migrated from `zend/diactoros` to `laminas/diactoros`
69164
- Making the annotation cache directory configurable
70165

71-
#### Miscellaneous:
166+
### Miscellaneous
72167

73168
- Migrated from Travis to Github actions
74169

75-
76170
## 4.0.0
77171

78172
This is a complete refactoring from 3.x. While existing annotations are kept compatible, the internals have completely
79173
changed.
80174

81-
#### New features:
175+
### New features
82176

83177
- You can directly [annotate a PHP interface with `@Type` to make it a GraphQL interface](inheritance-interfaces.mdx#mapping-interfaces)
84178
- You can autowire services in resolvers, thanks to the new `@Autowire` annotation
@@ -97,7 +191,6 @@ changed.
97191
- 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)
98192
- In a factory, you can [exclude some optional parameters from the GraphQL schema](input-types#ignoring-some-parameters)
99193

100-
101194
Many extension points have been added
102195

103196
- Added a "root type mapper" (useful to map scalar types to PHP types or to add custom annotations related to resolvers)
@@ -106,15 +199,15 @@ Many extension points have been added
106199

107200
New framework specific features:
108201

109-
#### Symfony:
202+
### Symfony
110203

111204
- The Symfony bundle now provides a "login" and a "logout" mutation (and also a "me" query)
112205

113-
#### Laravel:
206+
### Laravel
114207

115208
- [Native integration with the Laravel paginator](laravel-package-advanced.mdx#support-for-pagination) has been added
116209

117-
#### Internals:
210+
### Internals
118211

119212
- The `FieldsBuilder` class has been split in many different services (`FieldsBuilder`, `TypeHandler`, and a
120213
chain of *root type mappers*)

0 commit comments

Comments
 (0)