chore(deps): update composer dev dependencies - #48
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/composer-dev
branch
from
June 17, 2026 19:09
8497d8c to
e33f569
Compare
renovate
Bot
force-pushed
the
renovate/composer-dev
branch
8 times, most recently
from
June 27, 2026 12:47
a395b5a to
a7ec7d9
Compare
renovate
Bot
force-pushed
the
renovate/composer-dev
branch
4 times, most recently
from
July 9, 2026 10:26
4af49d1 to
b6a7562
Compare
renovate
Bot
force-pushed
the
renovate/composer-dev
branch
3 times, most recently
from
July 19, 2026 02:37
5c429a7 to
2df86e7
Compare
renovate
Bot
force-pushed
the
renovate/composer-dev
branch
3 times, most recently
from
July 29, 2026 14:51
86500bb to
30359b7
Compare
renovate
Bot
force-pushed
the
renovate/composer-dev
branch
from
July 31, 2026 01:00
30359b7 to
0b40846
Compare
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:
1.29.0→1.45.010.5.63→10.5.642.4.5→2.5.97.4.10→7.4.15Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
carthage-software/mago (carthage-software/mago)
v1.45.0: Mago 1.45.0Compare Source
Mago 1.45.0
This release teaches the analyzer to build keyed array shapes from
get_object_vars(), adds@param-closure-thissupport and an auto-fix for overly-wide return types, introduces a linter rule preferringDateTimeImmutable::createFromTimestamp(), fixes a batch of analyzer false positives, and makes empty reports valid SARIF/JSON documents for CI.✨ Features
Analyzer
get_object_vars()shapes: returns keyed array shapes built from the object's visible properties. (#2110,a729ce1)@param-closure-this: supports the docblock tag for typing a closure parameter's$this. (#2131,6000d41)9e4d186)Linter
prefer-datetimeimmutable-create-from-timestamp: suggests the factory overnew DateTimeImmutable('@​...'). (#2118,38b6152)🐛 Bug Fixes
Analyzer
490452e)635eeab)method_existsguards on descendant members. (#2125,d1b6e9c)6527f24)array_mapshapes: preserves array shapes for untyped closures. (#2122,816578a)aa469b9)bd95ea5)@property-readand@property-writetypes. (#2079, #2108,b54a881)@propertyvisibility: resolves tags according to call-site visibility. (#2106,a4b077d)Codex
237465e)Prelude
array_diff: relaxes value parameters to string-castable types. (#2116,f290239)Reporting
003ff32)Playground
4184888)🙏 Thank You
Contributors
A huge thank you to everyone who contributed code to this release:
Issue Reporters
Thank you to everyone who reported issues that shaped this release:
Full Changelog: carthage-software/mago@1.44.0...1.45.0
v1.44.0: Mago 1.44.0Compare Source
Mago 1.44.0
A faster release with stronger dependent-type analysis, richer guard and linter configuration, and fixes across the CLI, formatter, analyzer, and semantics.
✨ Features
Analyzer
90c04c0)Linter
no-missing-format-argument: detects missing format arguments. (#2062,38857dd)missing-docsexclusions: supports configurable exclusions. (#2102,4488055)34ed400)Guard
@finalvalidation: supports the annotation during structure validation. (#2065,78cbbf0)8d6d359)CLI
-yself-update: adds a shorthand for--no-confirm. (#2011,d231964)🐛 Bug Fixes
Analyzer
a629700,a231709,81be763)2037b9a,6d71045)do-whileiterations. (#2078,0205e49,7afc4eb)issetflow: retains unsafe access and try/catch uncertainty after failed checks. (#2076, #2096,b70350c,23203e5)ad495bd)@methodcalls backed by inherited methods. (#2089,fda90f8)$thisandstaticto mixin receivers. (#2086,07086c5)80dbbfe)$property, not$$property. (#2066,5d2116d)voidin nullable docblock return types. (#2081, #2082,cdfd166)b15f9e1)Codex
683220c,2637cf8)->valueaccess. (#2064,45ad41b)@require-extendsclasses when validating traits. (#2069,84c0766)Semantics
__call,__callStatic, and__invoke. (#2075,d0487f2)Linter
9b40611)Formatter
match-arm docblocks. (#2060, #2063,3057c15)bc0090e)035d956,2923585)Guard
@self: scopes permits to the active rule namespace. (#2084,6a2a317)CLI
head. (#2090, #2097,9e504a6)Distribution
testssuite. (#2098,722e39b)🏗️ Internal
Performance
f6520a2,ed94713)d818460)d473383,c0d27c6)Toolchain
8c8262e,a43077b)🙏 Thank You
Contributors
A huge thank you to everyone who contributed code to this release:
Issue Reporters
Thank you to everyone who reported issues that shaped this release:
Full Changelog: carthage-software/mago@1.43.0...1.44.0
v1.43.0: Mago 1.43.0Compare Source
Mago 1.43.0
A fix-focused release clearing false positives across the analyzer, codex, linter, and formatter.
is_callablenarrowing, strictin_array, type-alias recursion,::classarray keys,no-dead-store, and member-access chains. Plussqlsrvstubs and internal HIR groundwork for the upcoming rule-based checker.✨ Features
Prelude
sqlsrvextension: added function and constant stubs for thesqlsrvextension. (#2045,e8f1ed3)🐛 Bug Fixes
Analyzer
is_callablenarrowing: no more falseinvalid-callableafter narrowing to a callable type. (#2037,938a511)in_array: keeps the value's type on a negative result instead of wrongly excluding it. (#2048,3a69d09)redundant-logical-operation: suppressed during loop pre-condition analysis. (#2054,4b4a7d4)Codex
0c5fdad)cde8037)::classarray keys: no falseinvalid-array-indexfor literal class-string keys. (#2056,e0dc158)Prelude
@no-named-argumentsfrom native functions that accept them. (#2043,3e77dff)Linter
no-dead-store: handles terminators and loop exits, clearing false positives. (#2052, #2053,9f2eb74)Formatter
840cca4)da54dd7)Syntax
2a87bf6)?><?phptag-pair terminator after an abstract method. (e5f81cb)PHPDoc Syntax
*before/as one marker, fixing a lost intersection type. (#2055,8749c2b)📖 Documentation
ASTreferences toCST. (#2034,73a9ade)15336f4)🏗️ Internal
Node/NodeKindview and PHP surface syntax carried through the IR for the upcoming rule-based checker. (11349fd,94927e7)732ad8f,6c880a8)5ae5198,072933f,f71b732)mago-docblockandmago-type-syntaxcrates. (5deb957)🙏 Thank You
Contributors
A huge thank you to everyone who contributed code to this release:
Issue Reporters
Thank you to everyone who reported issues that shaped this release:
Full Changelog: carthage-software/mago@1.42.0...1.43.0
v1.42.0: Mago 1.42.0Compare Source
Mago 1.42.0
A small release adding a
prefer-early-returnlinter rule, fixing Windowsself-update, and clearing analyzer and PHPDoc false positives aroundis_a(), nullable destructuring, and@paramon promoted properties.✨ Features
Linter
prefer-early-return: new rule suggesting early returns to reduce nesting in functions. (#2031,e523ab1)🐛 Bug Fixes
Analyzer
is_a()withallow_string: a string subject no longer triggers a falseimpossible-type-comparison. (db64917)T|nullkeeps element types (plus null) instead of widening tomixed. (643a037)PHPDoc Syntax
@paramon promoted properties:@param Twith no variable is allowed and types the property like@var. (8b9af32)CLI
self-update: extracts the.exe-suffixed binary from the archive, fixing "file not found". (805a1c3)🙏 Thank You
Contributors
A huge thank you to everyone who contributed code to this release:
Full Changelog: carthage-software/mago@1.41.0...1.42.0
v1.41.0: Mago 1.41.0Compare Source
Mago 1.41.0
A feature release adding call-site generic variance and a new
no-duplicate-match-armlinter rule, alongside analyzer, codex, and PHPDoc fixes for implicitStringable,do-whilenarrowing,@returnnullability, and enummatchexhaustiveness.✨ Features
Linter
no-duplicate-match-arm: new rule flags amatcharm whose result duplicates an earlier arm. (#2027,a9b3775)Type System
covariant/contravariant/*type-argument modifiers parse and drive assignability. (#2025,c7ff981)🐛 Bug Fixes
Analyzer
@returnnarrowing: a docblock@return intover native?intnarrows the return instead of re-addingnull. (#2020,dd8a54f)do-whileconditions: the loop body is narrowed by its condition on re-entry, likewhile. (#2029,496cd0a)matchexhaustiveness: a self-typed enum is treated as enumerable, fixing a false non-exhaustive report. (#2019,6c72db0)Codex
Stringable: a class declaring or inheriting__toString()now implicitly implementsStringable. (#2026,7a81571)PHPDoc Syntax
`code`span may cross continuation lines without an "unclosed code" error. (#2024,af95abc)🏗️ Internal
14ac380)9680310)🙏 Thank You
Issue Reporters
Thank you to everyone who reported issues that shaped this release:
Full Changelog: carthage-software/mago@1.40.2...1.41.0
v1.40.2: Mago 1.40.2Compare Source
Mago 1.40.2
A patch release fixing analyzer false positives around property narrowing across calls and
matchsubjects, two PHPDoc inline-code and conditional-type parsing fixes, plus new diagnostics for unsetting readonly/hooked properties and invalid traitasmodifiers.✨ Features
Analyzer
unset: unsetting a readonly or hooked property is now reported. (#2018,a24eb10)Semantics
asmodifiers: a non-visibility modifier in a traitasadaptation (e.g.as final) is now rejected. (e3d9437)🐛 Bug Fixes
Analyzer
matchafter impure call: a property used as amatchsubject no longer widens tomixed. (#2014,c9e5cc9)$obj->propno longer drops narrowings on sibling properties. (#2015,2e9a529)5eb7068)PHPDoc Syntax
//and quotes inside backticks are literal, not an "unclosed code" error. (95b393d)($x is Y ? A : B)return types parse correctly again. (3a8d627)🙏 Thank You
Issue Reporters
Thank you to everyone who reported issues that shaped this release:
Full Changelog: carthage-software/mago@1.40.1...1.40.2
v1.40.1: Mago 1.40.1Compare Source
Mago 1.40.1
A small patch release fixing
array_key_exists()narrowing understrict-array-index-existenceand a PHPDoc parsing regression where a@returndescription beginning withiswas mistaken for a conditional type.🐛 Bug Fixes
Analyzer
array_key_exists(): narrows a non-literal key likeisset()understrict-array-index-existence. (#2012,246b1eb)PHPDoc Syntax
isonly starts a conditional type when a target?follows, so prose like@return bool is true when …stays a description. (8d615a8)🙏 Thank You
Contributors
A huge thank you to everyone who contributed code to this release:
Issue Reporters
Thank you to everyone who reported issues that shaped this release:
Full Changelog: carthage-software/mago@1.40.0...1.40.1
v1.40.0: Mago 1.40.0Compare Source
Mago 1.40.0
A big release driven by community reports: three new formatter settings, a new
suspicious-explode-argumentslinter rule and afinal-controllerauto-fix, aninspect-baselineCLI command, a Composer-shipped editor schema, and a long list of analyzer, codex, prelude, and PHP-parity syntax fixes. Under the hood, the 2.0 groundwork landed onmain: a new high-level IR, a unifiedmago-phpdoc-syntax, and newmago-allocator/mago-flagscrates.✨ Features
Analyzer
array_filtertruthiness: a callback-lessarray_filter()narrows values to their truthy form. (#1990,bc9bede)Formatter
preserve_breaking_binary_expressionkeeps author line breaks in such chains. (#1853,5aacc7d)usestatements by length. (#1942,0688859)declare: optionally combine the opening tag anddeclare(strict_types=1)onto one line. (#1959,2ff4cf5)Linter
suspicious-explode-arguments: warns whenexplode's short literal looks swapped into the string position. (#1998,577d40a)final-controllerfix: offers an auto-fix that insertsfinalbefore any modifier. (#2006,82017a0)sensitive-parameter: skips boolean-like parameters. (#1949,2333626)Type System
emptytypes:emptyandempty-scalarare supported in type-syntax and codex. (#1968,e94cfdd)CLI
inspect-baseline: new command to visualise the distribution of baselined issues. (#1900,efd07bd)Composer
schema.jsonundervendor/carthage-software/mago/. (#1899,38b78d0)Nix
packages.<system>.defaultnow providesbin/mago. (#1970,13d7071)🐛 Bug Fixes
Analyzer
too-few-argumentsfires when a named arg fills only an optional param. (#2004,c5ec4ef)095badf)incompatible-return-typeagainst an ancestor hidden by an intermediate override. (#1996,431ff97)$thiscalls: a property keeps its declared type instead of widening tomixed. (#1994,5eef024)5cbbe91)foreachover unions: corrected always-entered inference, fixing a falseimpossible-condition. (#1986,22951bd)1ea5ba2)@propertytraits: trait property conflicts are no longer reported against@propertytags. (#1964,a5f3823)Codex
self/static/parentresolve to the original-cased class name in diagnostics. (#1995,b544222)instanceof: closures are treated as instances ofClosure. (#1956,6fe1bbd)nullis no longer ignored in contravariant callable parameter checks. (#1966,3f94734)Linter
no-redundant-string-concatissue and fix. (#2003,f8a31f8)no-dead-store: flags stores overwritten across a conditional branch. (#1999,a315465)no-boolean-flag: only flags boolean parameters actually used as flags. (#1988,50cdd11)prefer-early-continue: the auto-fix preserves comments and indentation. (#1946,495f639)Syntax
clone/cast/unary precedence and boundprint/yieldaboveand/xor/or. (1ac37b0,4d01d2d)${label}/${ expr }and$a[offset]forms in the lexer. (b56a704,f3198c8)ea6cbce)\u{...}decodes to UTF-8 bytes to match Zend. (b19386c)HIR
float. (9014c33,79a7600)797358f)Docblock
staticreturn: parses astaticreturn type after thestaticmethod modifier. (#1963,d5fb015)Prelude
phpversion():$extensionis optional. (#1950,5aed5bf)array_splice: preserves the element type in its return. (#1982,af4e647)preg_match_all/preg_replace_callback_arrayandmb_ordstubs. (#1980,958a4b7; #1981,dd0b80c)ZipArchive::addEmptyDir,xml_parser_create,ini_get_all, and more. (#1967,6c640d9; #1969,054651d)base64_encodereturnsnon-empty-string; tighter stdlib types. (#1974,c2c37f5; #1975,c7e595f)mb_chr/mb_ordandReflectionClass::getReflectionConstant. (578e427,327778a)📖 Documentation
b852388)🏗️ Internal
Architecture
mago-hircrate lowering the CST to a high-level IR (2.0 groundwork). (ca15f9d,e32d0d8,afefad6)mago-phpdoc-syntax, retiring two crates. (#1932, #1972,70179ec)mago-allocator(+CopyInto) andmago-flags. (#1957,0adfdc0,9a4cd06)0e4c0e6)ast→cst: renamed AST to CST across the workspace. (#1933,b7d64b6)Dependencies
serdeis now optional/off-by-default; droppedcruet,ustr,shell-words. (1751bae,184c493,ec8e092)CI / Tooling
Arenaimport. (676e1a4, #1984,92d29cd)🙏 Thank You
Contributors
A huge thank you to everyone who contributed code to this release:
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.