Skip to content

Trim unused packages, remove stale root requires, fix PHP version files (#537)#546

Open
maltehuebner wants to merge 1 commit into
mainfrom
upgrade/http-stack-537
Open

Trim unused packages, remove stale root requires, fix PHP version files (#537)#546
maltehuebner wants to merge 1 commit into
mainfrom
upgrade/http-stack-537

Conversation

@maltehuebner

Copy link
Copy Markdown
Contributor

Partial implementation of #537 — the safely verifiable dependency cleanup.

Changes

  • Removed calderacc/geobasic from require and from the inline repositories package definition. composer why shows only the root require; there is no Caldera\GeoBasic usage in src/, config/ or templates/ (the @calderacc / GitHub-URL grep hits are unrelated text).
  • Removed symfony/process from require. No Symfony\Component\Process usage; it remains available as a transitive dev dependency of symfony/maker-bundle.
  • Removed the phpstan/phpdoc-parser and phpdocumentor/reflection-docblock root requires. Both are transitive (via reflection-docblock/type-resolver and nelmio/api-doc-bundle respectively). Dropping the ^1.2 phpdoc-parser pin lets it resolve to 2.x, which is a prerequisite for the PHPStan 2 upgrade in [Mittel] Ausstehende Major-Upgrades: PHPUnit 13, PHPStan 2, Rector 2 (Config aktuell wirkungslos), Monolog-Bundle 4, Migrations-Bundle 4, Predis 3, Encore 6, DataTables 2 #538.
  • .php-version8.5 (was 8.3) and README updated to "Symfony 8 / PHP 8.5" (was "Symfony 4 / PHP 7.1"), aligning .php-version, composer.json (php ^8.5) and the docs.

symfony/messenger + symfony/amqp-messenger were already removed on main (#497), so that task is done.

Deliberately not implemented (deferred, with reasons)

  • HTTP-stack consolidation (Guzzle/HTTPlug → Symfony\...\Psr18Client). This is the security-critical centerpiece (5 open Guzzle/psr7 advisories), but it is boot-critical: bazinga_geocoder obtains its PSR-18 client purely through php-http auto-discovery (no explicit http_client in config/packages/bazinga_geocoder.yaml), so removing php-http/guzzle7-adapter / php-http/httplug-bundle / php-http/message, dropping HttplugBundle from bundles.php and rewiring the Nominatim factory can only be validated by booting the container and exercising a live reverse/forward geocode. The container cannot be booted in this review environment (the local vendor/ lacks symfony/runtime, so bin/console / WebTestCase will not start), so I could not verify that geocoding and city-guessing still work. Committing this unverified would risk breaking search + city detection in production. The CityGuesser catch change (Http\Client\Exception\NetworkExceptionPsr\Http\Client\ClientExceptionInterface) belongs with that swap and is deferred with it.
  • Version-pin hardening (presta/sitemap-bundle: ^4.0@dev → tagged release, maltehuebner/impress-bundle: dev-main → tag, mhujer/breadcrumbs-bundle fork → upstream release). Each requires researching/creating upstream tags and verifying Symfony 8 compatibility, which risks breaking composer install; left for a focused follow-up.
  • npm @algolia/autocomplete-js "MISSING" — a npm ci documentation note, out of scope for this composer-focused PR.

Verification

  • composer validate — OK (only the pre-existing exact-version warning for the breadcrumbs fork)
  • vendor/bin/phpstan analyse --no-progress — No errors
  • vendor/bin/phpunit --testsuite="Project Test Suite" — OK (121 tests)

Refs #537 (partial; leaves the HTTP-stack swap and version-pin hardening open)

🤖 Generated with Claude Code

Reduces dependency surface (symfony/messenger + amqp-messenger were
already removed on main in #497):

- Drop calderacc/geobasic from require and the inline package
  repository (no Caldera\GeoBasic usage anywhere in src/config/templates).
- Drop symfony/process from require (no Symfony\Component\Process usage;
  it stays as a transitive dev dependency of symfony/maker-bundle).
- Drop the phpstan/phpdoc-parser and phpdocumentor/reflection-docblock
  root requires. Both are pulled transitively; removing the ^1.2
  phpdoc-parser pin lets it resolve to 2.x, which unblocks the PHPStan 2
  upgrade tracked in #538.
- Set .php-version to 8.5 and update the README to state Symfony 8 /
  PHP 8.5 (was "Symfony 4 / PHP 7.1").

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant