Skip to content

Laravel 13 compatibility#73

Draft
thekevinm wants to merge 2 commits intomasterfrom
shift/laravel-13
Draft

Laravel 13 compatibility#73
thekevinm wants to merge 2 commits intomasterfrom
shift/laravel-13

Conversation

@thekevinm
Copy link
Copy Markdown
Contributor

Summary

Laravel 13 compatibility upgrade for df-database. Composer-only dep matrix bump.

Part of the Laravel 11→13 upgrade campaign. Pilot: dreamfactorysoftware/df-core#162. df-database is the base for 9+ DB connector packages — public API surface is preserved (zero src/ changes).

Changes

Two commits:

  1. Laravel 13 compatibility — composer.json: php → ^8.3, require-dev: laravel/framework ^13.7, phpunit ^11.5.3, orchestra/testbench ^11.0; .gitignore: .phpunit.result.cache
  2. Address review: explicit laravel/helpers + align dev tooling — added laravel/helpers: ^1.8 to production require (df-database has 339+ array_get and 9 array_except call sites — now declared explicitly rather than relying on transitive resolution via df-core); aligned mockery: ^1.6 and nunomaduro/collision: ^8.6 in require-dev with df-system / df-user.

Test plan

  • composer validate --strict — valid
  • composer install resolves L13.7.0 + phpunit 11.5.55 + testbench v11.1.0 cleanly with df-core path-repo
  • php -l clean over 30 PHP files
  • ./vendor/bin/phpunitOK (13 tests, 26 assertions) — security regression suite (DbFunctionTemplateTest) green under PHPUnit 11.5 + L13.7
  • Stage 2 host-app integration: ServiceProvider boot + class resolution clean under L13.7.0
  • Independent code-review-expert pass: Conditional Pass → resolved with the laravel/helpers add

Notes

  • Branch based on origin/master so claude-virtual-rel-transactions (active in-flight virtual relation transactions work) is preserved untouched.
  • 9 downstream connector packages (df-sqldb, df-mysqldb, df-mongodb, etc.) see no source-level breaks — zero src/ changes here.

thekevinm added 2 commits May 4, 2026 21:50
Reviewer flagged: laravel/helpers was relied on transitively via df-core
but should be declared explicitly since this package's src/ uses array_get
and array_except directly. Also align mockery/nunomaduro-collision to
match df-system/df-user require-dev for consistency across foundation tier.
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