- fix: detect enum detection when an ancestor is an enum
- fix: allow declaring multiple operations using the same class
- feat: improve type detection
- fix: missing unique for self-referencing relations
- feat: repeatable attributes support
- feat: add OpenAPI support
- feat: add API Platform 2.7/3 attributes generation
- feat: custom attributes and custom attribute arguments
- feat: add Doctrine ORM inheritance support (discriminator)
- feat: manage association overrides for Doctrine ORM
- feat: add
defaultCardinality
configuration for relations - feat: add
defaultValue
in property configuration - feat: add
resolveTypes
andallTypes
parameters - refactor: better handling of data type (including lang string)
- fix: self-referencing relations (Doctrine ORM)
- fix: update reserved keywords
- fix: remove simple in ODM attributes
- fix: use FQCN when using an enum in callback constraint and remove ApiResource from the enum
- fix: make sure relations are generated
- fix: inheritance from Intangible should not create warning
- feat: support updating existing files
- feat: generate PHP 8 attributes
- feat: generate API Platform Core
security
properties for classes and properties - feat: support for HTTPS URLs of Schema.org
- feat: add YAML support for Doctrine ORM "resolve entity"
- feat: support for interface namespaces
- feat: compatibility with Symfony 6
- feat: compatibility with PHP 8.1
- feat: now uses Nette generator
- fix: the whole code base has been refactored, a log of bugs have been fixed
- Support for the Web Ontology Language (OWL) (including for the ActivityStream vocabulary)
- Support for XML Schema types
- Compatibility with the latest version of Schema.org
- Improved PHP type hints generation (including support for typed properties)
- Improved PHPDoc support
- Upgrade to EasyRDF 1 and Doctrine Inflector 2
- More flexible configuration
- The
generate-types
command has been renamedgenerate
- Update to Symfony 5
- Fix an issue preventing to install the tool when using Symfony Flex
- Fix a singularization issue with some words such as
sameAs
- Allow
symfony/config
5.0
- Symfony 5 compatibility
- Add support for custom Twig templates
- Add support for operations in API Platform annotations
- Add support for custom
columnPrefix
- Use superseding props over which they superseded
- Fix implicit and explicit property inheritance
- Use nullable property for custom fields
- Add
inversedBy
andmappedBy
Doctrine attributes - Fix annotation generation
- Allow to use a PSR-4 namespace's prefix
- Autodetect Flex-like directory structure
- Improve the message when using 1st type in range
- Use PHPScoper build the PHAR (to prevent conflicts with libraries installed in the project)
- Add E2E tests
- The generator now relies on embedded schema file to prevent issues with online XML files and allow offline usage
- An issue regarding the Inflector namespace has been fixed
- Generated classes include scalar typehints and return type
- New options to generate autoincremented IDs, UUIDs, custom IDs or to not generate IDs at all (DTO)
- Nullable typehints are generated instead of a default
null
value - Add new
readable
andwritable
options to fields to skip getter or mutator generation. - A fluent interface isn't generated anymore by default unless you set the
fluentMutatorMethods
config flag totrue
- Useless PHPDoc (
@param
and@return
annotations when a typehint exist and mutator description) isn't generated anymore DateTimeInterface
is used instead ofDateTime
when possible- Add the ability to not generate accessor methods (useful when generating public properties)
- The annotation generator for API Platform v1 has been dropped. Only API Platform v2 is now supported
- Parent class is not generated by default anymore (using inheritance for entity is discouraged)
SerializerGroupsAnnotationGenerator
is enabled by default- The property name is pluralized for
to-many
relations and singularized forto-one
relations - Adder and remover methods are always singularized to be compatible with the Symfony Property Accessor
- If a config file called
schema.yaml
is found in the current directory and no 2nd argument is passed togenerate-types
, this file will be used - The code has been modernized to use PHP 7 and 7.1's new features (typehints, strict types), PHP 7.1 is now a requirement
- PHP CS Fixer has ben upgraded to its version 2
- The
extract-cardinalities
gains two new options: one to configure the Schema.org's file to use, the other for the GoodRelations one
- The default config now match the Symfony's and API Platform's Best Practices (namespaces)
- The API Platform's annotation generator is enabled by default
- Use HTTPS to retrieve vocabularies by default
- Properties are generated in the order of the config file
- Properties and constants are separated by an empty line
- Fix a bug when generating enumerations
- Use the new PHP CS Fixer package
- MongoDB support
- API Platform Core v2 support
- Schema Generator is now available as PHAR
- Support any RDF vocabulary (was previously limited to Schema.org)
- Support for custom classes
- Support for Doctrine Embeddables
- Support for serialization groups
- Support for the
nullable
option - Support for the
unique
option - Support for custom Doctine
@Column
annotations - Symfony 3.0 compatibility
- Various bug fixes and improved tests
- Rename the package API Platform Schema Generator (formerly PHP Schema)
- Support for external and custom RDFa schemas
- Support custom name for relation tables
- Allow to use properties from parent classes
- Allow to create custom fields
- Improve code quality and tests
- Fix compatibility with API Platform Core v1 (formerly DunglasJsonLdApiBundle)
- Fix compatibility with API Platform Core v1 (formerly DunglasJsonLdApiBundle)
- Make CS fixer working again
- API Platform Core v1 (formerly DunglasJsonLdApiBundle) support
- Fixed Doctrine relations handling
- Better
null
value handling
- Fix a bug when using Doctrine
ArrayCollection
- Don't call `parent::__construct()`` when the parent constructor doesn't exist
- Symfony / Doctrine's ResolveTragetEntityListener config mapping generation
- Refactored Doctrine config
- Removed deprecated call to `YAML::parse()``
- Better generated PHPDoc
- Removed
@type
support