Releases: thecodingmachine/graphqlite
v6.0.0
Hurrah version 6 landing! There is a lot in this one and it's long overdue, but we finally hit a great spot, so without further adieu.
Version 6 brings #[Input]
defined InputTypes way forward and solidifies their overall functionality. #[Input]
attribute defined InputTypes are becoming my preferred way of defining these types. One single DTO or even Doctrine entity (if you so dare!) can be used to define both input and output types, with virtually no side-effects or missing feature functionality. Prior to version 6, #[Input]
defined types were rather limited. This is no longer the case! If you haven't had a chance yet, now is the time to give them a spin! 👍 A special thanks to @Lappihuan for all his teamwork on the InputType improvements. This wouldn't have happened without him!
In addition to the huge improvements made on InputTypes, we now have support for native Enums (shoutout to @dsavina), union return typing, and generics support!
Dependencies:
- 652440a Symfony ^6 is now supported.
Breaking Change:
-
#458 With
Input
annotated InputTypes, if you're using the same class for multiple types, like an update type and create type (also now a possibility), if you provide a name, you must also provide thedefault
parameter if you want the InputType to be the "default".#[Input] // Is default #[Input(default: false)] // Not default #[Input(name: 'SomethingInput', default: true] // Is default #[Input(name: 'UpdateSomethingInput'] // Not default
New Features:
- #409 Native Enum support! 🎉
- #467 Support native union return typing
- #468 Support generic phpdoc typed interables for output type values
- #435 New Custom InputType Validator offering flexibility in how you can handle validation on all of your
#[Input]
attributes. - #458 Recursive InputType resolving
- #466 Bring existing getter
#[Field]
defined functionality from output#[Type]
objects to InputType annotated fields, via setters.
v5.0.2
v5.0.1
v5.0.0
v4.3.0
- #373 Drop doctrine/cache dependency. symfony/cache is now used with a more unified psr compatible cache interface.
- #375 Docs were updated to address a BC break in 4.2.0 with the custom type mapper API.
- #380 Upgrade to Docusaurus v2.
- This included a very large amount of documentation updates with a new website running on React
v4.2.0
A huge thanks goes out to @devmaslov for his work on #269.
Improvements:
- #269 Handling update mutations and default property values on input types (@devmaslov)
GitHub Workflows:
- #362 Fix CI (@TamasSzigeti)
v4.1.2
v4.1.1
v4.1.0
A huge thanks to the many new contributors for this 4.1.0 release! @fezfez @MattBred @Kharhamel @flow-control @iganev @jensdenies @ezprit @ThibBal @gpupo @DanAtFh @mailopl @gulien @marhub
This release is possible because of you all!
Breaking change:
There is one breaking change introduced in the minor version (this was important to allow PHP 8 compatibility).
- The ecodev/graphql-upload package (used to get support for file uploads in GraphQL input types) is now a "recommended" dependency only.
If you are using GraphQL file uploads, you need to addecodev/graphql-upload
to yourcomposer.json
.
New features:
- All annotations can now be accessed as PHP 8 attributes
- The
@deprecated
annotation in your PHP code translates into deprecated fields in your GraphQL schema - You can now specify the GraphQL name of the Enum types you define
- Added the possibility to inject pure Webonyx objects in GraphQLite schema
- Symfony bundle: Adding settings to disable introspection, set the maximum query complexity and the maximum query depth
Minor changes:
- Migrated from
zend/diactoros
tolaminas/diactoros
- Making the annotation cache directory configurable
Miscellaneous:
- Migrated from Travis to Github actions