Repository navigation
Update dependency zircote/swagger-php to v7 - #578
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 7.0 #578 +/- ##
=========================================
Coverage 64.64% 64.64%
Complexity 1003 1003
=========================================
Files 181 181
Lines 3437 3437
=========================================
Hits 2222 2222
Misses 1215 1215 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
renovate
Bot
force-pushed
the
renovate/zircote-swagger-php-7.x
branch
from
October 31, 2026 02:08
be27b12 to
223a0e8
Compare
renovate
Bot
force-pushed
the
renovate/zircote-swagger-php-7.x
branch
from
November 8, 2026 13:27
223a0e8 to
cea2d44
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^6.4.0→^7.0.0Release Notes
zircote/swagger-php
v7.5.0Compare Source
7.5 is about the messages spec and hybrid log. A problem that makes the document invalid, or loses something declared, is now an error, and every message follows one form. The Rector set also keeps the operations it used to lose where classic copied an attribute into several others.
Both message changes affect builds and tests that read the log. Changed output in 7.5 has the details.
Changed output
error, rather than awarning, where the document is invalid or something declared is lost. Such a build makesResult::isValid()false, and the CLI exits with 1. Classic type aliases and the array form of a security requirement log anotice(#2375)Ref: dangling reference '#/components/schemas/Pet' - no such componentnow readsReference "#/components/schemas/Pet" points to no component. A test matching log lines in full needs updating. Classic's messages are unchanged (#2377)New
fan: Fan::Allwhere classic copied an attribute into several others, such as one response beside both aGetand aPost. Spec used to skip such a method as an ambiguous merge.->withSkip([FanOutRector::class])turns it off (#2372, docs)What's Changed
Full Changelog: zircote/swagger-php@7.4.0...7.5.0
v7.4.0Compare Source
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
components. Where nothing else adds the class, a type that used it is left out, with a warning (#2361)@exampleis cast by the property's type, so@example 1on anintwrites1rather than'1'.#[OA\Examples(value:)]keepsfalseand floats as given (#2368)New
$ref, under 3.0 and 3.1 (#2362)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
TypeContextFactoryperTypeResolver, andTokenScanner::detailsFor()answered from the cache for a scanned file. Thanks @leo-pansonato (#2364, #2365)What's Changed
New Contributors
Full Changelog: zircote/swagger-php@7.3.0...7.4.0
v7.3.0Compare Source
7.3 adds plugins: a library can ship its translators, resolvers and augmenters together with the wiring, and a project names the plugin rather than repeating that wiring. Plugins configure the spec pipeline and are not used in classic mode.
One change affects what a build reports. Changed output in 7.3 has the details.
Changed output
Result::isValid(),log(),warnings()anderrors()include what the source scan, the resolvers and skipped classes log. An error logged there now makesisValid()false, as it already made the CLI exit with an error (#2360)New
Contracts\PluginInterfaceconfigures the builder throughBuilder\Hooks: the resolver, augmenters, mergers, attribute factory and contributions. The component namer, type resolver, compiler and version stay with whoever runs the build.Builder::withPlugins()takes plugin classes, classes mapped to their settings, or instances, and runs them in the order given. An invalid entry is skipped and logged as an error. On the command line,--pluginadds a plugin built without settings (#2360, docs)new Builder($logger)takes the PSR-3 logger. A plugin implementingLoggerAwareInterfacegets it (#2360)Changed
Builder::$loggerholds, andBuilder::getLogger()returns, aCollectingLoggerthat forwards to the logger the builder is given. A subclass assigning its own logger to$loggerwraps it first,new CollectingLogger($logger). A subclass overridinggetLogger()declaresCollectingLoggeras its return type (#2360, docs)Deprecated, removed in 8.0
Builder::setLogger(). Pass the logger to the constructor. What plugins log inwithPlugins()beforesetLogger()is called does not reach the logger (#2360)Docs
What's Changed
Full Changelog: zircote/swagger-php@7.2.0...7.3.0
v7.2.0Compare Source
7.2 is about describing a class more than once, which 7.1 started. Each description now gets a name of its own, and a resolver can make one when a reference asks for it. Everything below applies to spec and hybrid mode. Classic mode is unchanged.
Two changes affect the generated document. Changed output in 7.2 has the details.
Changed output
Author-groups.summaryrather thanAuthor. It used to take its class's name and clash with the plain component, so the document kept only one of them. Components without qualifiers keep their names (#2345)deprecated(#2335)New
KeyResolverInterfaceis asked about a class plus its qualifiers, so aSchema\Refwith qualifiers no component has can have its description made on demand.KeyResolverTraitanswersresolve()withresolveKey(). Resolvers that only know class names keep working, and are asked about references without qualifiers only (#2346, docs)ComponentNamerAwareInterface,AttributeFactoryAwareInterfaceorTypeResolverAwareInterface. One type resolver is shared by everything reading PHP types (#2353, #2354)Builder::setTypeResolver(). A type resolver set onTypeswithsetTypeResolver()is now replaced when the build runs. Set it on the builder instead (#2357)Walker::visit()takes a list of classes and visits each matching attribute once, andWalker::eachTypedAttribute()visits the properties, parameters and request bodies thatTypestypes (#2355, #2358)Fixes
T&\Countablewith an unboundedT, is logged as unsupported rather than ending the build (#2352){}, as OpenAPI requires. Also in 6.20.2 (#2348)Changed
Spec\Header::$descriptiondefaults toUndefined::UNDEFINED, so an omitted description can be inferred and an explicitnullsuppresses it. Code checking the default with=== nullshould useUndefined::isDefault()(#2335)Deprecated, removed in 8.0
ResolverInterface. ImplementKeyResolverInterface, which extends it; a class name is the key without qualifiers. A resolver implementingResolverInterfacealone triggers a runtime deprecation naming its class (#2347)What's Changed
Full Changelog: zircote/swagger-php@7.1.0...7.2.0
v7.1.0Compare Source
7.1 is about components: how they are named, how a class is matched to them, and which ones
Cleanupkeeps. Everything below applies to spec and hybrid mode. Classic mode is unchanged.Two changes affect the generated document. Changed output in 7.1 has the details.
Changed output
required: true, as OpenAPI requires. A path parameter set to anything else logs a warning (#2338)$refgiven as the class, or a property typed with it, resolves to none of them and logs a warning. A property typed with a class that has a schema references the schema, not a component in another bucket (#2342)New
Builder::setComponentNamer()and--component-namerchoose how components without an explicit name are named.ShortNameis the default,QualifiedNameuses the whole class name, so two classes that share a short name no longer claim one name, and a custom namer implementsComponentNamerInterface(#2341, docs)Schema\Refwith the same qualifiers references it. In an augmenter,ComponentIndex::findByKey()andfindAllByKey()look components up by key (#2342, docs)Cleanupkeeps a component whose meta value underCleanup::classisfalse, referenced or not. The meta key is configurable ascleanup.metaKey(#2339)RefInterface. Every spec attribute with arefimplementsContracts\RefInterface, withgetRefValue(),getRefKey()andsetRef()(#2343)Fixes
The fixes from 6.20.1 are in 7.1 as well: #2328, #2330, #2331, #2333 and #2334.
Deprecated, removed in 8.0
ComponentIndex::buildRefMap(). UseComponentIndex::findByKey(), which takes the bucket a use meansOpenApi31Compiler::refString(). UseRefInterface::getRefValue()on the attribute that holds therefDocs
What's Changed
New Contributors
Full Changelog: zircote/swagger-php@7.0.0...7.1.0
v7.0.0Compare Source
Hybrid is now the default mode, and spec attributes are stable. Classic attributes and docblock annotations still work, in hybrid and in classic mode. They are deprecated and removed in 8.0.
Builderis now the entry point for generating a document. In 6.x it was available next toGenerator. WithGeneratordeprecated, code that calls it directly moves toBuilder.For most installations upgrading does not require any code changes. Migrating to v7 covers the details.
The default mode
Without a mode set, the document is built in hybrid mode. Hybrid scans the same classic attributes and docblock annotations as classic, so for most projects the document stays the same. The known differences:
Builder::setVersion('3.0.0')or--version 3.0.0keeps 3.0.0cleanup.enabledset tofalsekeeps thempropertiesdeclared besideallOfon a nested property stay beside it-ctakes augmenter keys rather than processor keys, apart fromgenerator.*Custom processors only see the annotation instances as scanned in hybrid mode. A project that depends on them can stay on classic with
Builder::setMode(Mode::CLASSIC)or--mode classicwhile the processors are rewritten as augmenters.Requirements
nikic/php-parser^5.0^5.4 || ^6.4 || ^7.0 || ^8.0Removed
The elements deprecated for 7.0:
LegacyTypeResolverTokenScanner,Pipeline,SourceFinderandTypeMapperTypeResolverInterface::NATIVE_TYPE_MAPDeprecated, removed in 8.0
Generator,Analysisand the analysers. Augmenters andBuilderreplace themBuilder::setMode(),Modeand the CLI's--modeSecurityToRequirementRectorrewrites themIn 8.0 spec attributes move from
OpenApi\SpectoOpenApi\Attributes. For code already written againstOpenApi\Spec, that is oneuseline per file.What's Changed
Full Changelog: zircote/swagger-php@6.20.0...7.0.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.