3.0.0
This release bumps the minimum supported PHP version to PHP 7.3,
allows newer PHP-Parser release usage, and overall improves the
test suite and codebase. Also, by using static function () {}
closures, we squeezed out another 15% of hydration performance
when dealing with private
properties.
Please note that this is a new major release, so be aware of the
following backwards incompatible breakages:
- [BC] CHANGED: The return type of GeneratedHydrator\CodeGenerator\Visitor\HydratorMethodsVisitor#leaveNode() changed from no type to ?PhpParser\Node\Stmt\Class_
- [BC] REMOVED: Class GeneratedHydrator\Exception\ExceptionInterface has been deleted
- [BC] REMOVED: Class GeneratedHydrator\Exception\DisabledMethodException has been deleted
- [BC] CHANGED: Type documentation for property GeneratedHydrator\Configuration#$hydratorGenerator changed from \GeneratedHydrator\ClassGenerator\HydratorGeneratorInterface|null to \GeneratedHydrator\ClassGenerator\HydratorGenerator|null
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setHydratedClassName() changed from no type to void
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setAutoGenerateProxies() changed from no type to void
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setGeneratedClassAutoloader() changed from no type to void
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setGeneratedClassesNamespace() changed from no type to void
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setGeneratedClassesTargetDir() changed from no type to void
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#getGeneratedClassesTargetDir() changed from no type to string
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setGeneratorStrategy() changed from no type to void
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setClassNameInflector() changed from no type to void
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#setHydratorGenerator() changed from no type to void
- [BC] CHANGED: The parameter $hydratorGenerator of GeneratedHydrator\Configuration#setHydratorGenerator() changed from GeneratedHydrator\ClassGenerator\HydratorGeneratorInterface to a non-contravariant GeneratedHydrator\ClassGenerator\HydratorGenerator
- [BC] CHANGED: The parameter $hydratorGenerator of GeneratedHydrator\Configuration#setHydratorGenerator() changed from GeneratedHydrator\ClassGenerator\HydratorGeneratorInterface to GeneratedHydrator\ClassGenerator\HydratorGenerator
- [BC] CHANGED: The return type of GeneratedHydrator\Configuration#getHydratorGenerator() changed from no type to GeneratedHydrator\ClassGenerator\HydratorGenerator
- [BC] REMOVED: Class GeneratedHydrator\ClassGenerator\HydratorGeneratorInterface has been deleted
- [BC] CHANGED: Class GeneratedHydrator\ClassGenerator\HydratorGenerator became an interface
- [BC] REMOVED: These ancestors of GeneratedHydrator\ClassGenerator\HydratorGenerator have been removed: ["GeneratedHydrator\ClassGenerator\HydratorGeneratorInterface"]
Total issues resolved: 5
- 77: Apply Doctrine Coding Standard thanks to @VolCh
- 79: Use php-parser v4 thanks to @redthor
- 81: Upgrade nikic/php-parser and code-generator-utils to their latest versions thanks to @WyriHaximus
- 82: Improve CI builds with mutation tests, upgraded dependencies thanks to @Ocramius
- 83: Improved hydration of
private
properties by ~15% thanks to @Ocramius