Skip to content

deps: update phpunit/phpunit requirement from ^10.5 || ^11.0 to ^13.2.0 - #141

Merged
ram0ng1 merged 1 commit into
masterfrom
dependabot/composer/phpunit/phpunit-tw-13.2.0
Jun 11, 2026
Merged

deps: update phpunit/phpunit requirement from ^10.5 || ^11.0 to ^13.2.0#141
ram0ng1 merged 1 commit into
masterfrom
dependabot/composer/phpunit/phpunit-tw-13.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 8, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on phpunit/phpunit to permit the latest version.

Release notes

Sourced from phpunit/phpunit's releases.

PHPUnit 13.2.0

Added

  • #3387: Specify a list of tests to run
  • #4201: Handle interrupts and display current test results
  • #4501: Option to mark test as risky when it does not contribute to code coverage
  • #5757: Add assertions for ignoring whitespace differences in strings
  • #5810: Do not dump arrays and objects in failure messages of IsTrue, IsFalse, IsNull, IsFinite, IsInfinite, and IsNan constraints
  • #5838: Inherit #[RunTestsInSeparateProcesses] from parent test classes
  • #5922: assertContainsEquals() should use sebastian/comparator for element comparison
  • #6000: Report PHPT test as risky when --SKIPIF-- does not have standard-output side effect
  • #6075: Support test execution order sorted by descending duration
  • #6346: Emit warning when conflicting CLI options are used
  • #6534: Make $_dataName available to #[TestDoxFormatter] callbacks
  • #6559: Improved API for exception message expectations
  • #6565: Optional $skipWhenEmpty parameter for #[DataProvider] and #[DataProviderExternal]
  • #6566: Allow --stop-on-defect, --stop-on-error, etc. to accept an optional threshold
  • #6567: Make diff context lines configurable
  • #6574: Improve willReturnMap() with constraint support and strict matching
  • #6575: --list-test-ids CLI option and enhance --filter CLI option to support test ID syntax
  • #6577: --run-test-id <test-id> CLI option that accepts a single test ID for exact matching
  • #6579: Properly handle issues triggered outside of tests
  • #6597: Compact output (activated through --compact CLI option and PHPUNIT_COMPACT_OUTPUT=1 environment variable)
  • #6598: --disable-coverage-targeting CLI option
  • #6602: Separate configuration for branch coverage from path coverage
  • #6606: Support for partially ordered parameter sets in mock object expectations
  • #6611: Add CPU time to telemetry
  • #6681: Comment-aware variants of XML comparison assertions
  • The executionOrder attribute in the XML configuration file now accepts defects combined with any main order, as well as three-way combinations of depends/no-depends, defects, and a main order (for example, depends,defects,duration-ascending)
  • --validate-configuration CLI option to validate an XML configuration file for PHPUnit
  • Report TestDox information in Open Test Reporting XML
  • Report per-test and per-test-suite resource usage (time, memory usage, peak memory usage) in Open Test Reporting XML
  • Report number of assertions performed for each test in Open Test Reporting XML
  • Report structured comparison failure details (expected, actual, diff) in Open Test Reporting XML
  • Report random order seed in Open Test Reporting XML when test execution order is randomised

Changed

  • #5873: Chain previously registered error handler instead of silently disabling PHPUnit's error handling
  • #6535: Use sebastian/file-filter in SourceFilter::includes() for issue trigger identification
  • #6581: Allow #[IgnoreDeprecations] to be repeated
  • #6609: Skip data providers whose method cannot match --filter
  • #6685: Generate failure messages for inverse assertions by authoring negations, not by rewriting strings
  • Only errors and failures are now considered for "defect first" test reordering (tests that triggered deprecations, notices, or warnings as well as incomplete, risky, and skipped tests were previous also considered)
  • A warning is now emitted when closures are compared for equality using the IsEqual, IsEqualCanonicalizing, IsEqualIgnoringCase, IsEqualWithDelta, and TraversableContainsEqual constraints or the assertEquals(), assertEqualsCanonicalizing(), assertEqualsIgnoringCase(), assertEqualsWithDelta(), and assertContainsEquals() assertions

Deprecated

  • #6075: --order-by duration CLI option, use --order-by duration-ascending instead
  • #6075: --order-by size CLI option, use --order-by size-ascending instead

... (truncated)

Changelog

Sourced from phpunit/phpunit's changelog.

[13.2.0] - 2026-06-05

Added

  • #3387: Specify a list of tests to run
  • #4201: Handle interrupts and display current test results
  • #4501: Option to mark test as risky when it does not contribute to code coverage
  • #5757: Add assertions for ignoring whitespace differences in strings
  • #5810: Do not dump arrays and objects in failure messages of IsTrue, IsFalse, IsNull, IsFinite, IsInfinite, and IsNan constraints
  • #5838: Inherit #[RunTestsInSeparateProcesses] from parent test classes
  • #5922: assertContainsEquals() should use sebastian/comparator for element comparison
  • #6000: Report PHPT test as risky when --SKIPIF-- does not have standard-output side effect
  • #6075: Support test execution order sorted by descending duration
  • #6346: Emit warning when conflicting CLI options are used
  • #6534: Make $_dataName available to #[TestDoxFormatter] callbacks
  • #6559: Improved API for exception message expectations
  • #6565: Optional $skipWhenEmpty parameter for #[DataProvider] and #[DataProviderExternal]
  • #6566: Allow --stop-on-defect, --stop-on-error, etc. to accept an optional threshold
  • #6567: Make diff context lines configurable
  • #6574: Improve willReturnMap() with constraint support and strict matching
  • #6575: --list-test-ids CLI option and enhance --filter CLI option to support test ID syntax
  • #6577: --run-test-id <test-id> CLI option that accepts a single test ID for exact matching
  • #6579: Properly handle issues triggered outside of tests
  • #6597: Compact output (activated through --compact CLI option and PHPUNIT_COMPACT_OUTPUT=1 environment variable)
  • #6598: --disable-coverage-targeting CLI option
  • #6602: Separate configuration for branch coverage from path coverage
  • #6606: Support for partially ordered parameter sets in mock object expectations
  • #6611: Add CPU time to telemetry
  • #6681: Comment-aware variants of XML comparison assertions
  • The executionOrder attribute in the XML configuration file now accepts defects combined with any main order, as well as three-way combinations of depends/no-depends, defects, and a main order (for example, depends,defects,duration-ascending)
  • --validate-configuration CLI option to validate an XML configuration file for PHPUnit
  • Report TestDox information in Open Test Reporting XML
  • Report per-test and per-test-suite resource usage (time, memory usage, peak memory usage) in Open Test Reporting XML
  • Report number of assertions performed for each test in Open Test Reporting XML
  • Report structured comparison failure details (expected, actual, diff) in Open Test Reporting XML
  • Report random order seed in Open Test Reporting XML when test execution order is randomised

Changed

  • #5873: Chain previously registered error handler instead of silently disabling PHPUnit's error handling
  • #6535: Use sebastian/file-filter in SourceFilter::includes() for issue trigger identification
  • #6581: Allow #[IgnoreDeprecations] to be repeated
  • #6609: Skip data providers whose method cannot match --filter
  • #6685: Generate failure messages for inverse assertions by authoring negations, not by rewriting strings
  • Only errors and failures are now considered for "defect first" test reordering (tests that triggered deprecations, notices, or warnings as well as incomplete, risky, and skipped tests were previous also considered)
  • A warning is now emitted when closures are compared for equality using the IsEqual, IsEqualCanonicalizing, IsEqualIgnoringCase, IsEqualWithDelta, and TraversableContainsEqual constraints or the assertEquals(), assertEqualsCanonicalizing(), assertEqualsIgnoringCase(), assertEqualsWithDelta(), and assertContainsEquals() assertions

Deprecated

  • #6075: --order-by duration CLI option, use --order-by duration-ascending instead

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) to permit the latest version.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/13.2.0/ChangeLog-13.2.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/commits/13.2.0)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-version: 13.2.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencias Atualização de dependências (composer, npm, actions) label Jun 8, 2026
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

🔒 Regressão de segurança (Semgrep diff vs master)

✅ Sem regressão — nenhum achado novo de vulnerabilidade introduzido por esta PR.

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

📦 Bundle size

✅ Sem regressão de tamanho — gzip total inalterado.

Arquivo PR (gzip) Master (gzip) Δ gzip PR (raw) Δ raw
admin.js 11.3 KB 11.3 KB = 45.2 KB =
forum.js 33.6 KB 33.6 KB = 132.7 KB =
forum/components/AllDiscussionsPage.js 2.7 KB 2.7 KB = 8.7 KB =
forum/components/AvocadoPostsSearchPage.js 2.4 KB 2.4 KB = 7.3 KB =
forum/components/AvocadoSearchPage.js 5.3 KB 5.3 KB = 19.5 KB =
forum/components/TagPage.js 3.4 KB 3.4 KB = 11.0 KB =
forum/components/TeamPage.js 1.4 KB 1.4 KB = 3.8 KB =
forum/components/UserProfilePage.js 2.5 KB 2.5 KB = 10.2 KB =
Total 62.5 KB 62.5 KB = 238.3 KB =

gzip nível 9. 🟢 = menor que o master · 🔴 = maior. Report-only — não bloqueia o merge.

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

🔬 Performance benchmark

Home (/)

Métrica PR Master (baseline) Δ
Performance (score) 83 85 🔴 -2pp (-2.4%)
FCP 1669 ms 1580 ms 🔴 +89 ms (5.7%)
LCP 1913 ms 1823 ms 🔴 +90 ms (4.9%)
TBT 84 ms 44 ms 🔴 +40 ms (90.9%)
CLS 0.000 0.000 (=)
Speed Index 1669 ms 1580 ms 🔴 +89 ms (5.7%)
TTI 1913 ms 1833 ms 🔴 +80 ms (4.4%)

💡 Recomendações (Lighthouse + dicas Flarum 2 / Avocado)

  • Sem compressão de texto — economia ~880 ms · ~1099 KB
    Habilite gzip/brotli no servidor (nginx: gzip on; gzip_types text/css application/javascript; ou brotli on; brotli_types ...). Esse é um setting de host, não da extensão, mas reportar aqui ajuda.
  • JavaScript não utilizado — economia ~640 ms · ~515 KB
    Use import() dinâmico para componentes só usados em rotas específicas (TeamPage, AvocadoSearchPage). O webpack faz split automático se você usar import("./components/TeamPage") dentro do routes ao invés de import estático no topo do index.tsx.
  • CSS não utilizado — economia ~480 ms · ~538 KB
    O bundle forum.css carrega tudo de less/forum/**. Divida por rota (Home/Discussion/Tag) via Extend\Frontend->css() condicional no JS, ou use PurgeCSS no webpack para o build de produção.
  • Recursos bloqueando o render — economia ~360 ms
    Mova CSS não-crítico para <link rel="preload"> ou injete inline o CSS above-the-fold do forum.less. Em Flarum 2, o forum.css é servido como bloqueante por padrão — considere media="print" onload para folhas não-críticas (ex.: dark theme).
  • Cache HTTP curto — 8 resources found
    Os assets versionados em /assets/forum-<hash>.js deveriam ter Cache-Control: public, max-age=31536000, immutable. Configure no nginx/apache, não no Flarum.

/discussions

Métrica PR Master (baseline) Δ
Performance (score) 87 87 (=)
FCP 1427 ms 1429 ms 🟢 -2 ms (-0.2%)
LCP 1770 ms 1772 ms 🟢 -2 ms (-0.1%)
TBT 12 ms 6 ms 🔴 +6 ms (100.0%)
CLS 0.000 0.000 (=)
Speed Index 1427 ms 1429 ms 🟢 -2 ms (-0.2%)
TTI 1770 ms 1772 ms 🟢 -2 ms (-0.1%)

💡 Recomendações (Lighthouse + dicas Flarum 2 / Avocado)

  • Sem compressão de texto — economia ~920 ms · ~1105 KB
    Habilite gzip/brotli no servidor (nginx: gzip on; gzip_types text/css application/javascript; ou brotli on; brotli_types ...). Esse é um setting de host, não da extensão, mas reportar aqui ajuda.
  • JavaScript não utilizado — economia ~530 ms · ~537 KB
    Use import() dinâmico para componentes só usados em rotas específicas (TeamPage, AvocadoSearchPage). O webpack faz split automático se você usar import("./components/TeamPage") dentro do routes ao invés de import estático no topo do index.tsx.
  • CSS não utilizado — economia ~520 ms · ~544 KB
    O bundle forum.css carrega tudo de less/forum/**. Divida por rota (Home/Discussion/Tag) via Extend\Frontend->css() condicional no JS, ou use PurgeCSS no webpack para o build de produção.
  • Recursos bloqueando o render — economia ~480 ms
    Mova CSS não-crítico para <link rel="preload"> ou injete inline o CSS above-the-fold do forum.less. Em Flarum 2, o forum.css é servido como bloqueante por padrão — considere media="print" onload para folhas não-críticas (ex.: dark theme).
  • Cache HTTP curto — 9 resources found
    Os assets versionados em /assets/forum-<hash>.js deveriam ter Cache-Control: public, max-age=31536000, immutable. Configure no nginx/apache, não no Flarum.

/tags

Métrica PR Master (baseline) Δ
Performance (score) 87 88 🔴 -1pp (-1.1%)
FCP 1414 ms 1422 ms 🟢 -8 ms (-0.5%)
LCP 1757 ms 1722 ms 🔴 +35 ms (2.0%)
TBT 0 ms 0 ms (=)
CLS 0.000 0.000 (=)
Speed Index 1414 ms 1422 ms 🟢 -8 ms (-0.5%)
TTI 1757 ms 1722 ms 🔴 +35 ms (2.0%)

💡 Recomendações (Lighthouse + dicas Flarum 2 / Avocado)

  • Sem compressão de texto — economia ~920 ms · ~1100 KB
    Habilite gzip/brotli no servidor (nginx: gzip on; gzip_types text/css application/javascript; ou brotli on; brotli_types ...). Esse é um setting de host, não da extensão, mas reportar aqui ajuda.
  • JavaScript não utilizado — economia ~510 ms · ~541 KB
    Use import() dinâmico para componentes só usados em rotas específicas (TeamPage, AvocadoSearchPage). O webpack faz split automático se você usar import("./components/TeamPage") dentro do routes ao invés de import estático no topo do index.tsx.
  • CSS não utilizado — economia ~480 ms · ~543 KB
    O bundle forum.css carrega tudo de less/forum/**. Divida por rota (Home/Discussion/Tag) via Extend\Frontend->css() condicional no JS, ou use PurgeCSS no webpack para o build de produção.
  • Recursos bloqueando o render — economia ~480 ms
    Mova CSS não-crítico para <link rel="preload"> ou injete inline o CSS above-the-fold do forum.less. Em Flarum 2, o forum.css é servido como bloqueante por padrão — considere media="print" onload para folhas não-críticas (ex.: dark theme).
  • Cache HTTP curto — 8 resources found
    Os assets versionados em /assets/forum-<hash>.js deveriam ter Cache-Control: public, max-age=31536000, immutable. Configure no nginx/apache, não no Flarum.

🥑 Dicas gerais para acelerar o tema (Flarum 2 + Avocado)

  1. Build de produção minificado — confirme que npm run build rodou com mode: production (já é o caso no js/package.json). Webpack tree-shakes import { x } from "flarum/..." se o consumo for explícito.
  2. Split por rotaindex.tsx importa todos os Components no topo. Trocar para import() dinâmico nas rotas raramente acessadas (TeamPage, AvocadoSearchPage, TagsPage) reduz o forum.js inicial.
  3. Less crítico inline — Flarum 2 serve forum.css bloqueando. Considere extrair o CSS above-the-fold (header + 1ª thread visível) e injetar inline via Extend\Frontend->content(InlineCriticalCss::class).
  4. Avatares — sirva via <img loading="lazy"> em todos os ThreadCards/PostCards que não estiverem no fold inicial.
  5. <link rel="preconnect"> — se você usa CDN para fontes ou avatares S3, adicione preconnects no header.
  6. Extend\Frontend->js() rodam síncronos — todo arquivo js/dist/forum.js é parseado no boot. Cada extend() no index.tsx roda antes da primeira pintura.
  7. opcache + view cache — no host: opcache.enable=1, opcache.validate_timestamps=0 em produção, e php flarum cache:clear no deploy.
  8. HTTP/2 + Brotli no host — o Flarum gera bundles grandes; sem brotli você paga em transferência.

Lighthouse desktop, 1 run por URL. 🟢 = melhorou vs master · 🔴 = regrediu.

@ram0ng1
ram0ng1 merged commit 81a4eb1 into master Jun 11, 2026
14 of 22 checks passed
@dependabot
dependabot Bot deleted the dependabot/composer/phpunit/phpunit-tw-13.2.0 branch June 11, 2026 12:16
ram0ng1 pushed a commit that referenced this pull request Jun 11, 2026
… phpunit

O bump do phpunit para ^13.2.0 (Dependabot #141) quebrou a CI no master:

1. phpunit 13 exige PHP >= 8.4.1, mas flarum/core 2.x suporta ^8.3 e a matriz
   testa 8.3 → `composer update` falhava em todos os cells/jobs de PHP 8.3
   (o --ignore-platform-req=php+ só ignora limites superiores, não inferiores).
   Constraint união `^11.5 || ^13.2.0`: 8.3 resolve phpunit 11.5, 8.4+ resolve 13.

2. `--filter sqlite` casava o data set no phpunit 11 mas não no 13, que então
   reportava "No tests executed" e saía com código 1, derrubando os steps de
   integração. Troca para a sintaxe de data set `--filter '#sqlite'` (idem
   mysql/pgsql), que funciona em ambas as versões.

Validado local: composer test (80), phpstan (sem erros), integração #sqlite OK.

https://claude.ai/code/session_01THwoXq4vQ9zJphMCPBS97m
ram0ng1 added a commit that referenced this pull request Jun 11, 2026
…nit-tw-13.2.0

deps: update phpunit/phpunit requirement from ^10.5 || ^11.0 to ^13.2.0
ram0ng1 added a commit that referenced this pull request Jun 11, 2026
… phpunit

O bump do phpunit para ^13.2.0 (Dependabot #141) quebrou a CI no master:

1. phpunit 13 exige PHP >= 8.4.1, mas flarum/core 2.x suporta ^8.3 e a matriz
   testa 8.3 → `composer update` falhava em todos os cells/jobs de PHP 8.3
   (o --ignore-platform-req=php+ só ignora limites superiores, não inferiores).
   Constraint união `^11.5 || ^13.2.0`: 8.3 resolve phpunit 11.5, 8.4+ resolve 13.

2. `--filter sqlite` casava o data set no phpunit 11 mas não no 13, que então
   reportava "No tests executed" e saía com código 1, derrubando os steps de
   integração. Troca para a sintaxe de data set `--filter '#sqlite'` (idem
   mysql/pgsql), que funciona em ambas as versões.

Validado local: composer test (80), phpstan (sem erros), integração #sqlite OK.

https://claude.ai/code/session_01THwoXq4vQ9zJphMCPBS97m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencias Atualização de dependências (composer, npm, actions)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant