Repository navigation
chore(deps): bump psalm/phar from ^5.26.1 to v7 (main) - #13243
Closed
renovate[bot] wants to merge 2 commits into
Closed
renovate[bot] wants to merge 2 commits into
renovate[bot] wants to merge 2 commits into
Conversation
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
from
July 12, 2026 15:13
432e5c5 to
756fa92
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
from
July 20, 2026 23:34
756fa92 to
e88847b
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
2 times, most recently
from
August 11, 2026 14:44
196a358 to
e33811b
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
from
August 26, 2026 11:46
e33811b to
5cd68c2
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
from
September 7, 2026 20:13
5cd68c2 to
a772665
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
4 times, most recently
from
September 21, 2026 11:00
112af6c to
a031f69
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
3 times, most recently
from
September 28, 2026 12:13
e24acd4 to
fe0506d
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
from
September 30, 2026 19:48
fe0506d to
662fa0c
Compare
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
3 times, most recently
from
October 16, 2026 16:53
354731e to
040874a
Compare
Member
|
Assisted-by: Claude:claude-sonnet-5 |
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
2 times, most recently
from
October 23, 2026 15:04
015eeb6 to
c1e8957
Compare
This was referenced Oct 23, 2026
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
2 times, most recently
from
October 27, 2026 14:22
d168e96 to
42e24c5
Compare
kesselb
pushed a commit
that referenced
this pull request
Oct 29, 2026
Checked out the open Psalm v7 bump (#13243) and read its CI output to find issues Psalm v7 catches that are real, version-independent bugs rather than the new unused-code/purity detectors v7 turns on by default (those make up the bulk of the new report and aren't addressed here). Fixes: - HordeSyncTokenParser: base64_decode() can return false in strict mode, which was then passed into explode() unguarded. - ProxyController: file_get_contents() on the bundled blocked-image asset can return false; return a 500 instead of constructing a response with a false body. - MessageMapper (Db): mb_convert_encoding()/preg_replace() can return false/null during preview-text cleanup; fall back to the pre-transform value, matching the existing pattern in Html.php. - MessageMapper (IMAP): Horde_Mime_Part's own docblocks say setDispositionParameter()/setContentTypeParameter() take a string, but the implementation explicitly supports and relies on null to remove the parameter. Suppressed with a reference to the actual behavior. - IMAPMessage: same mb_convert_encoding() false-return gap, in keyword display-name normalization. - ContactsIntegration: newContact() already returns null when contacts integration is disabled; extended that to the case where the user has no address book at all, instead of calling the contacts API with a null address-book key. - The four FeatureExtraction classes and ImportanceClassifier: a message's sender can have a null email ("This should not happen" case in extract()), which doesn't actually corrupt the computed ratios since it would just miss the stats map as a non-matching key; suppressed instead of hardening with a guard. Also switched a debug json_encode() call to JSON_THROW_ON_ERROR, matching the pattern used everywhere else in the codebase. This should shrink the diff of the eventual Psalm v7 bump itself, following the pattern from #11224/#13542/#13340. The remaining Psalm v7 findings in Html.php, AutoConfig/IspDb.php, and a handful of zero-baseline files are left for a follow-up. Assisted-by: Claude:claude-sonnet-5 Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com> Signed-off-by: Daniel Kesselberg <3902676+kesselb@users.noreply.github.com>
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
2 times, most recently
from
November 2, 2026 15:35
53050cc to
a87ae4e
Compare
ChristophWurst
added a commit
that referenced
this pull request
Nov 2, 2026
Follow-up to #13932 and #13933: re-ran the open Psalm v7 bump (#13243) after both of those merged to see what was left. Two things slipped through the first two batches. - The three FeatureExtraction classes each had a second array access (flaggedMessages/readMessages/repliedMessages) using the same possibly-null $email key as the one already suppressed; only the first access per file got a suppression comment. - MessageMapper (Db) had a second, different possibly-null argument: $recipient->getLabel() passed into mb_strcut() when building recipient rows. Address's own fromRaw() already treats "no label" as "fall back to the email", so this does the same instead of suppressing. Assisted-by: Claude:claude-sonnet-5 Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
from
November 2, 2026 19:09
a87ae4e to
3974622
Compare
luca9913
pushed a commit
to luca9913/mail
that referenced
this pull request
Nov 2, 2026
Second batch from the open Psalm v7 bump (nextcloud#13243), same approach as the previous one (nextcloud#13932): real, version-independent issues only, not the new unused-code/purity detectors v7 enables by default. - IspDb::getUrls() had a doc typo, @returns instead of @return, so Psalm never saw its string[] return type and had to infer a much looser one, which caused a possibly-invalid-cast complaint two methods away. Fixing the typo fixes the root cause. - Html::convertLinks()/parseMailBody(): mb_convert_encoding() and preg_split() can return false, unguarded. - JmapMailboxConnector, JmapMessageAdapter, AiIntegrationsService, ItineraryService: json_encode()/preg_replace() calls missing the JSON_THROW_ON_ERROR flag or a null-coalescing fallback, matching the pattern already used elsewhere in each of these files. - ConvertAddresses: Horde_Mail_Rfc822_List::current() is typed to possibly return null, which foreach can't actually hit once valid() has confirmed there's an item; suppressed like the similar Horde docblock gap fixed in nextcloud#13932. - SubmitContentJob: simplified a nullsafe call and its fallback that Psalm proved is unreachable (the foreach it's in always runs at least once). - DelegationForbiddenException: missing #[\Override] on an overridden method. - AiIntegrations/Cache::getBackoffTtl(): suppressed rather than fixed - the obvious cast-earlier fix changes behavior for large $attempt values (2 ** $attempt overflows to a huge float before min() clamps it back down), which broke an existing test, so the possibly-float operand is intentional here. - GravatarSource: stream_get_contents() can return false, which the existing null/empty guard didn't account for. Assisted-by: Claude:claude-sonnet-5 Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate
Bot
force-pushed
the
renovate/main-psalm-phar-7.x
branch
from
November 3, 2026 07:44
3974622 to
25c6511
Compare
Psalm v7 turns on unused-code and purity/security detectors by default (MissingPureAnnotation, PossiblyUnusedMethod, UnusedClass, MissingImmutableAnnotation, and friends), which together make up the overwhelming majority of what this bump newly flags (~1500 of the original ~1800 errors after #13932/#13933/#14014 already handled the ordinary type-safety findings). Hand-annotating purity/usage across that many methods isn't realistic for this bump, so this follows the same approach as the Psalm v6 upgrade (#11224): regenerate the baseline wholesale via `psalm --set-baseline`, accepting the new detectors' findings as known rather than fixed. Verified this baseline is actually clean across all four CI matrix legs (nextcloud/ocp dev-master, dev-stable33, dev-stable34, dev-stable35), not just one of them. One finding couldn't be baselined at all: Migration/addMailboxKey() is flagged as MissingPureAnnotation only under the stable33/34 OCP stubs, not master/stable35, because a baseline entry errors as "unused" on whichever legs don't reproduce it. Suppressed inline instead, which doesn't have that problem either way. Assisted-by: Claude:claude-sonnet-5 Signed-off-by: Christoph Wurst <1374172+ChristophWurst@users.noreply.github.com>
Member
|
Closing so Renovate can recreate this cleanly. Assisted-by: Claude:claude-sonnet-5 |
Contributor
Author
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
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:
^5.26.1→^7.0.0-rc10Release Notes
psalm/phar
v7.0.0-rc10Compare Source
v7.0.0-rc9Compare Source
v7.0.0-rc5Compare Source
v7.0.0-rc4Compare Source
v7.0.0-rc3Compare Source
v7.0.0-rc2Compare Source
v7.0.0-rc1Compare Source
v7.0.0-beta24Compare Source
v7.0.0-beta22Compare Source
v7.0.0-beta21Compare Source
v7.0.0-beta20Compare Source
v7.0.0-beta19Compare Source
v7.0.0-beta18Compare Source
v7.0.0-beta17Compare Source
v7.0.0-beta16Compare Source
v7.0.0-beta15Compare Source
v7.0.0-beta14Compare Source
v7.0.0-beta13Compare Source
v7.0.0-beta12Compare Source
v7.0.0-beta11Compare Source
v7.0.0-beta10Compare Source
v7.0.0-beta9Compare Source
v7.0.0-beta8Compare Source
v7.0.0-beta7Compare Source
v7.0.0-beta6Compare Source
v7.0.0-beta5Compare Source
v7.0.0-beta4Compare Source
v7.0.0-beta3Compare Source
v7.0.0-beta2Compare Source
v6.20.7Compare Source
v6.20.6Compare Source
v6.20.5Compare Source
v6.20.4Compare Source
v6.20.3Compare Source
v6.20.2Compare Source
v6.20.1Compare Source
v6.20.0Compare Source
v6.19.2Compare Source
v6.19.1Compare Source
v6.19.0Compare Source
v6.18.1Compare Source
v6.18.0Compare Source
v6.17.2Compare Source
v6.17.1Compare Source
v6.17.0Compare Source
v6.16.1Compare Source
v6.16.0Compare Source
v6.15.1Compare Source
v6.15.0Compare Source
v6.14.3Compare Source
v6.14.1Compare Source
v6.14.0Compare Source
v6.13.1Compare Source
v6.13.0Compare Source
v6.12.1Compare Source
v6.12.0Compare Source
v6.11.0Compare Source
v6.10.3Compare Source
v6.10.2Compare Source
v6.10.1Compare Source
v6.10.0Compare Source
v6.9.6Compare Source
v6.9.5Compare Source
v6.9.4Compare Source
v6.9.3Compare Source
v6.9.2Compare Source
v6.9.0Compare Source
v6.8.9Compare Source
v6.8.8Compare Source
v6.8.7Compare Source
v6.8.6Compare Source
v6.8.5Compare Source
v6.8.4Compare Source
v6.8.3Compare Source
v6.8.2Compare Source
v6.8.1Compare Source
v6.8.0Compare Source
v6.7.1Compare Source
v6.7.0Compare Source
v6.6.2Compare Source
v6.6.1Compare Source
v6.6.0Compare Source
v6.5.1Compare Source
v6.5.0Compare Source
v6.4.1Compare Source
v6.4.0Compare Source
v6.3.0Compare Source
v6.2.0Compare Source
v6.1.0Compare Source
v6.0.0Compare Source
Configuration
📅 Schedule: (in timezone Europe/Vienna)
🚦 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.