Repository navigation
PHPAY-119: Dependabot para de propor major do Guzzle - #120
Merged
Merged
Conversation
Guzzle 8 drops ConnectException::getHandlerContext(), which is how RetryPolicy tells "never left this machine" from "timed out after the body went out" — the distinction that keeps a processed POST from being repeated and charging twice. The CI of #118 failed on exactly that call. Supporting Guzzle 8 is code work, not a bump: find the curl errno in the new API, re-confirm the .p12 path for mTLS, and redo the policy tests. Until then a reopened PR on every Guzzle release only spends review, so major is ignored for this one package. Patch and minor keep coming.
This was referenced Oct 22, 2026
This was referenced Oct 22, 2026
Closed
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.
Closes #119.
O que muda
Uma regra de
ignoreno.github/dependabot.yml, paraguzzlehttp/guzzlee só paraversion-update:semver-major.Por quê
O #118 subiu o Guzzle para 8.3.0 e o CI reprovou com:
No Guzzle 8 a
ConnectExceptioné uma classe vazia e esse acessor não existe mais. É o que aRetryPolicyusa para separar "não saiu da máquina" de "deu timeout depois de enviar o corpo", e é essa distinção que impede repetir umPOSTjá processado — cobrar o cliente duas vezes.Vale registrar que os jobs de versão mínima passaram: o Dependabot propôs
^7.3 || ^8.0, então oloweste o 8.1 resolvem 7.x. Quem reprovou foram os quatro jobs onde o 8.3 é instalado de fato, mais o lint. Não é piso de PHP, é API removida.Suportar o Guzzle 8 é trabalho de código — achar o
errnodo cURL na API nova, reconfirmar o.p12do mTLS (a 7.3 é a primeira que entrega.p12ao cURL pela extensão) e refazer os testes da política. Enquanto isso, major reaberto a cada release só gasta revisão. Patch e minor continuam chegando.Como testar
composer testsegue verde (não tocasrc/). O próprio Dependabot valida o arquivo: o check.github/dependabot.ymlaparece neste PR e reprova sintaxe inválida.Checklist
composer testpassa (Pint, Pest e PHPStan nível 9)