7.4 is a fixes and performance release. Scanning no longer reads a class's source again for every property, which matters most on slow filesystems such as Docker Desktop bind mounts.
Two changes affect the generated document. Changed output in 7.4 has the details.
Changed output
- A public property with neither a property nor a schema attribute no longer puts its class in
components. Where nothing else adds the class, a type that used it is left out, with a warning (#2361) - Classic: a docblock
@exampleis cast by the property's type, so@example 1on anintwrites1rather than'1'.#[OA\Examples(value:)]keepsfalseand floats as given (#2368)
New
- Warnings for schema keywords dropped beside a
$ref, under 3.0 and 3.1 (#2362) - 3.0 schema warnings name where the schema was declared (#2370)
Builder::createSpecification(), so a subclass can supply its own specification (#2366)
Changed
Resolver::getTypedReflectors()is replaced bygetPropertyTypes(). A subclass overriding it overridesgetPropertyTypes()instead (#2361, docs)
Performance
- One
TypeContextFactoryperTypeResolver, andTokenScanner::detailsFor()answered from the cache for a scanned file. Thanks @leo-pansonato (#2364, #2365)
What's Changed
- fix(Compiler): warn about schema keywords dropped beside a $ref by @DerManoMann in #2362
- fix(Resolver): chase only the types of documented properties by @DerManoMann in #2361
- fix(Classic): keep example values typed by @DerManoMann in #2368
- refactor(Type): keep one TypeContextFactory per TypeResolver by @leo-pansonato in #2364
- perf(Utils): answer TokenScanner::detailsFor() for a scanned file from the cache by @leo-pansonato in #2365
- test(Benchmarks): add a performance harness by @DerManoMann in #2366
- chore(Config): ignore phpbench's result store by @DerManoMann in #2369
- fix(Compiler): name the declaration in 3.0 schema warnings by @DerManoMann in #2370
- docs(Guide): add typed classic examples to Changed output in 7.4 by @DerManoMann in #2371
New Contributors
- @leo-pansonato made their first contribution in #2364
Full Changelog: 7.3.0...7.4.0