Skip to content

Conversation

@lancepioch
Copy link
Member

This pull request includes updates for the recent minor version release of Laravel as well as bumps your package dependencies. You may review the full list of changes in the Laravel Release Notes, or highlighted changes and tips in the weekly Shifty Bits newsletter.

Before merging, you need to:

  • Checkout the shift-ci-v12.49.0 branch
  • Review all pull request comments for additional changes
  • Run composer update
  • Thoroughly test your application (no tests?, no CI?)

@coderabbitai
Copy link

coderabbitai bot commented Jan 28, 2026

📝 Walkthrough

Walkthrough

Dependency version updates in composer.json bumping Laravel framework from ^12.47 to ^12.49, Flysystem AWS S3 from ^3.30 to ^3.31, Flysystem memory adapter from ^3.29 to ^3.31, and Spatie Laravel Data from ^4.18 to ^4.19. No code logic changes.

Changes

Cohort / File(s) Summary
Dependency Version Bumps
composer.json
Updated four package version constraints: Laravel framework (^12.47 → ^12.49), Flysystem AWS S3 (^3.30 → ^3.31), Flysystem memory adapter (^3.29 → ^3.31), and Spatie Laravel Data (^4.18 → ^4.19)

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Laravel 12.49.0 Shift' accurately describes the main change: updating Laravel framework to version 12.49.0, which is clearly reflected in the composer.json changes.
Description check ✅ Passed The description is directly related to the changeset, explaining the purpose of the Laravel 12.49.0 update and providing context about testing and review procedures before merging.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@composer.json`:
- Around line 18-26: Update the invalid package constraint in composer.json:
replace the dependency "league/flysystem-memory": "^3.31" with a valid released
constraint such as "^3.29" (refer to the "league/flysystem-memory" entry in
composer.json), then run composer update to regenerate composer.lock and confirm
the lockfile contains the new resolved version.

Comment on lines +18 to +26
"laravel/framework": "^12.49",
"laravel/helpers": "^1.8",
"laravel/sanctum": "^4.2",
"laravel/socialite": "^5.24",
"laravel/tinker": "^2.10.1",
"laravel/ui": "^4.6",
"lcobucci/jwt": "^5.6",
"league/flysystem-aws-s3-v3": "^3.30",
"league/flysystem-memory": "^3.29",
"league/flysystem-aws-s3-v3": "^3.31",
"league/flysystem-memory": "^3.31",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

cat -n composer.json | head -50

Repository: pelican-dev/panel

Length of output: 2315


🏁 Script executed:

#!/bin/bash
# Run the verification script from the review comment
python - <<'PY'
import json, pathlib, sys

p = pathlib.Path("composer.lock")
if not p.exists():
    print("composer.lock not found")
    sys.exit(1)

data = json.loads(p.read_text())
def find(pkg):
    for sec in ("packages", "packages-dev"):
        for item in data.get(sec, []):
            if item.get("name") == pkg:
                return item.get("version")
    return None

pkgs = [
    "laravel/framework",
    "league/flysystem-aws-s3-v3",
    "league/flysystem-memory",
    "spatie/laravel-data",
]

for pkg in pkgs:
    print(f"{pkg}: {find(pkg)}")
PY

Repository: pelican-dev/panel

Length of output: 147


🌐 Web query:

Laravel 12.49.0 release notes breaking changes PHP requirements

💡 Result:

Laravel Framework v12.49.0 (released 2026-01-28)

PHP requirement

  • PHP: ^8.2 (i.e., PHP 8.2+) for laravel/framework v12.49.0. [1]

Breaking changes

  • None expected in a Laravel 12.x patch release (Laravel states minor/patch releases “should never contain breaking changes”). [2]

Notable change in this release stream (deprecation)

  • Collection::containsOneItem() is deprecated as of 12.49.0; use hasSole() instead. [3]
  • Related: Collection::containsManyItems() exists as a companion helper. [4]

Sources: [1] [2] [3] [4]


🌐 Web query:

league/flysystem-aws-s3-v3 3.31 release notes breaking changes

💡 Result:

league/flysystem-aws-s3-v3 3.31.0 (tagged 2026-01-23) contains no functional changes and no breaking changes—it only updates the LICENSE copyright year (2013–2024 → 2013–2026). [1][2]

Implication: upgrading 3.30.1 → 3.31.0 should be safe; any breaking behavior would have to come from your dependency resolution (e.g., different installed aws/aws-sdk-php within the allowed constraint), not from changes in this adapter’s code. [2]

Sources:
[1] https://github.com/thephpleague/flysystem-aws-s3-v3/tags
[2] thephpleague/flysystem-aws-s3-v3@e36a2bc


🌐 Web query:

league/flysystem-memory 3.31 release notes breaking changes

💡 Result:

  • league/flysystem-memory does not have a 3.31 release. Packagist currently shows the latest as 3.29.0 (2024-08-09), so there are no “3.31” release notes / breaking changes for that package. [1]
  • If you meant league/flysystem (core), 3.31.0 exists (released 2026-01-23). [2]
  • For breaking-change guidance, Flysystem’s BC breaks are documented in the upgrade docs (primarily around major-version upgrades, e.g., 1.x → 3.x). [3]

Sources:
[1] league/flysystem-memory on Packagist (latest version listing) (packagist.org)
[2] league/flysystem on Packagist (3.31.0 listing) (packagist.org)
[3] Flysystem upgrade guide (flysystem.thephpleague.com)

Citations:


🌐 Web query:

spatie/laravel-data 4.19 release notes breaking changes

💡 Result:

spatie/laravel-data v4.19.0 — breaking changes?

None listed in the v4.19.0 release notes (there is no “Breaking changes” section for 4.19.0). [1]

What changed in 4.19.0 (Jan 19, 2026)

  • Fix: DataMorphClassResolver — skip applying default value if the morph property was resolved ([#1101]). [1]
  • Fix: dependency issue ([#1136]). [1]

Full changelog: 4.18.0...4.19.0. [1]

Sources

Citations:


Fix invalid constraint: league/flysystem-memory: ^3.31 does not exist.

Version 3.31 of league/flysystem-memory has never been released; the latest available version is 3.29.0 (August 2024). This constraint will cause composer update to fail. Correct this to a valid version (e.g., ^3.29) before proceeding.

The other bumped dependencies are safe:

  • laravel/framework 12.49.0 has no breaking changes (only deprecates Collection::containsOneItem() in favor of hasSole()).
  • league/flysystem-aws-s3-v3 3.31.0 contains only a LICENSE year update, no functional changes.
  • spatie/laravel-data 4.19.0 has no breaking changes.

After correcting the flysystem-memory constraint, verify that composer.lock reflects the updated versions.

🤖 Prompt for AI Agents
In `@composer.json` around lines 18 - 26, Update the invalid package constraint in
composer.json: replace the dependency "league/flysystem-memory": "^3.31" with a
valid released constraint such as "^3.29" (refer to the
"league/flysystem-memory" entry in composer.json), then run composer update to
regenerate composer.lock and confirm the lockfile contains the new resolved
version.

@lancepioch lancepioch merged commit abaeeff into main Jan 28, 2026
32 checks passed
@lancepioch lancepioch deleted the shift-ci-v12.49.0 branch January 28, 2026 04:40
@github-actions github-actions bot locked and limited conversation to collaborators Jan 28, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants