Skip to content

Prepare the 1.18.0 release - #246

Merged
koriym merged 7 commits into
bearsunday:1.xfrom
koriym:release-118-prep
Oct 28, 2026
Merged

koriym merged 7 commits into
bearsunday:1.xfrom
koriym:release-118-prep

Conversation

@koriym

@koriym koriym commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Release preparation for 1.18.0, on top of #245.

Verification: see the PR comment.

@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cffc2117-af41-4543-bb3e-1b32b503e97a
Commits

Reviewing files that changed from the base of the PR and between e490970 and f25363b.

Files ignored due to path filters: 1
  • vendor-bin/tools/composer.lock is excluded by !**/*.lock
Files selected for processing: 5
  • CHANGELOG.md
  • composer.json
  • docs/llms-full.txt
  • tests/FakeCountingPurger.php
  • tests/RefreshAnnotatedCommandTest.php

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

The change records the 1.18.0 release, updates Composer requirements and suggestions, clarifies cache-dependency behavior in the documentation, and adds a reset method to a test purger.

Changes: Release compatibility and cache documentation

Layer / File(s) Summary
Release notes and Composer requirements
CHANGELOG.md, composer.json
The changelog records 1.18.0 compatibility notes. Composer constraints and suggestions change, and an autoload path gains a trailing slash.
Cache dependency rules
docs/llms-full.txt
The documentation specifies when a cached embedded child becomes a parent dependency. It also describes purge behavior for eagerly read children and rendered holes.

Test purger reset

Layer / File(s) Summary
Reset purger state in the test
tests/FakeCountingPurger.php, tests/RefreshAnnotatedCommandTest.php
The test helper adds reset() to clear recorded tags. The test calls it instead of clearing the property directly.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Possibly related issues

  • Issue 241 — The documentation clarifies that an eagerly fetched child does not become a cache dependency unless it meets the documented caching conditions.
Merge Risk: Minimal · up to f2536

No confirmed issue remains that should block merging this release preparation.

Pre-merge checks: Passed 3 · Failed 1 · Inconclusive 1

Failed Failed checks: 1 warning · 1 inconclusive

Check name Status Explanation Resolution
Out of Scope Changes check Warning #244 is limited to development tooling and the two findings in tests/RefreshAnnotatedCommandTest.php. The PR also changes released-package dependency constraints and suggestions in composer.json, … Limit this PR to the #244 tooling lock and test changes. Move the composer.json, docs/llms-full.txt, and CHANGELOG.md changes to a separate PR with applicable active issue scope.
Linked Issues check Inconclusive For #244, the reviewed source changes add FakeCountingPurger::reset() and use it in tests/RefreshAnnotatedCommandTest.php. This addresses the reported PHPStan inference findings. The required `ven… Provide reviewable evidence for vendor-bin/tools/composer.lock at the reviewed head that PHPStan is 2.3.x and that the lock change is limited to the required development-tool update.
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: preparing the 1.18.0 release.
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Description check Passed The description directly matches the changeset. It covers the 1.18.0 release preparation, dependency updates, Symfony 8 support, PHPStan changes, cache-dependency documentation, test reset changes, au…
Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 2 files. (3 skipped: 3 unsupported.)

Full details: Description check

Explanation

The description directly matches the changeset. It covers the 1.18.0 release preparation, dependency updates, Symfony 8 support, PHPStan changes, cache-dependency documentation, test reset changes, autoload correction, and changelog update.

Full details: Out of Scope Changes check

Explanation

#244 is limited to development tooling and the two findings in tests/RefreshAnnotatedCommandTest.php. The PR also changes released-package dependency constraints and suggestions in composer.json, cache-dependency documentation in docs/llms-full.txt, and the release changelog in CHANGELOG.md. These changes do not implement #244 and are outside its stated scope.

Resolution

Limit this PR to the #244 tooling lock and test changes. Move the composer.json, docs/llms-full.txt, and CHANGELOG.md changes to a separate PR with applicable active issue scope.

Full details: Linked Issues check

Explanation

For #244, the reviewed source changes add FakeCountingPurger::reset() and use it in tests/RefreshAnnotatedCommandTest.php. This addresses the reported PHPStan inference findings. The required vendor-bin/tools/composer.lock change cannot be reviewed because the path is excluded by !**/*.lock. The PR description reports PHPStan 2.3.3, but the reviewed evidence does not independently establish the lock contents at the reviewed head.

Resolution

Provide reviewable evidence for vendor-bin/tools/composer.lock at the reviewed head that PHPStan is 2.3.x and that the lock change is limited to the required development-tool update.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@koriym

koriym commented Oct 28, 2026

Copy link
Copy Markdown
Member Author

Verification (local, PHP 8.4.25):

  • Update PHPStan to 2.3 and fix the two new findings in RefreshAnnotatedCommandTest #244
    • Before the fix, with PHPStan 2.3.3, composer sa reported the two findings at tests/RefreshAnnotatedCommandTest.php:72 (arrayValues.empty) and :74 (identical.alwaysFalse).
    • After the fix, composer sa exits 0 (psalm and phpstan).
    • The lock diff changes only phpstan/phpstan (2.1.31 → 2.3.3). A plain composer bin tools update also moved about 40 unrelated tool packages; that result was discarded.
  • Symfony 8
    • With ray/psr-cache-module 1.6.0, the suite resolves symfony/cache v8.1.9: 480 tests pass, and cs/sa are clean.
    • Before Ray 1.6.0 was released, composer why-not symfony/cache 8.1.9 named ray/psr-cache-module 1.5.2 requires symfony/cache (^6.0 || ^7.2).
    • The same 480 tests also passed against the Ray change through a path repository, with Redis and Memcached running (0 skipped).
  • #[Cacheable] の付いていないリソースをEmbedすると、onGet() で値を読んでも依存にならない #241 doc: QueryRepository::setCacheDependency() only follows an AbstractRequest in the body whose child carries an ETag (src/QueryRepository.php:146,156). An eagerly fetched ResourceObject is skipped.
  • composer.json: symfony/cache requires symfony/cache-contracts (^3.6 at v8.1.9 / v7.4.21), so dropping the direct requirement leaves the installed set unchanged.

PHP 8.2 and the lowest-dependency combinations are left to CI.

@codecov

codecov Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (e490970) to head (c136ff0).

Additional details and impacted files
@@             Coverage Diff             @@
##                 1.x      #246   +/-   ##
===========================================
  Coverage     100.00%   100.00%           
  Complexity       582       582           
===========================================
  Files            102       102           
  Lines           1543      1543           
===========================================
  Hits            1543      1543           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@koriym

koriym commented Oct 28, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@koriym

koriym commented Oct 28, 2026

Copy link
Copy Markdown
Member Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@koriym
koriym merged commit b7de425 into bearsunday:1.x Oct 28, 2026
20 checks passed
@koriym
koriym deleted the release-118-prep branch October 28, 2026 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update PHPStan to 2.3 and fix the two new findings in RefreshAnnotatedCommandTest

1 participant