jeffersongoncalves/laravel-fake-cartoons
Generate realistic fake cartoon data in Laravel with this package, offering Faker providers and seeders for cartoon characters, avatars, and related test records. Ideal for demos, prototyping, and populating databases during development.
Before touching application code, reconcile the framework version this package now demands against what your app actually runs.
Check your pinned framework version. The package now requires laravel/framework: ^12.61.1|^13.12.0. Run:
composer show laravel/framework | grep versions
If you're on any Laravel 11.x, you cannot install 2.0.0 — full stop. This is not a soft deprecation with a conflict warning you can ignore; Laravel 11 is dropped outright.
Patch the framework first, package second. Both advisories are fixed in the framework, not in this package. Upgrading the package without upgrading Laravel leaves you exposed:
composer update laravel/framework --with-dependencies
composer require your-vendor/this-package:^2.0
Confirm the two CVEs are actually closed in the version you landed on:
GHSA-crmm-hgp2-wgrp — Temporary Signed URL Path ConfusionGHSA-5vg9-5847-vvmq — CRLF injection in the default email validation rulecomposer audit should come back clean for these before you consider the upgrade done.
First use case: treat 2.0.0 as a security maintenance release, not a feature release. The fastest path to value is: bump framework → bump package → run composer audit → run your test suite → ship. There is no new API to learn here.
Because 2.0.0 carries no new features, day-to-day usage patterns are unchanged from 1.x — the work is in the upgrade and in hardening the two surfaces the advisories touched.
Stage the upgrade across environments. Apply the framework bump in a branch, deploy to staging, and only then merge. A Laravel 11 → 12/13 jump is a major-version move in its own right and will surface unrelated deprecations; you don't want those tangled with the package bump when something breaks.
Audit signed-URL generation and consumption. The path confusion advisory means URLs minted under the old framework may not validate the way you expect after upgrade. Grep for the call sites:
grep -rn "signedRoute\|temporarySignedRoute\|hasValidSignature" app/ routes/ tests/
Anything relying on implicit path assumptions — middleware that reconstructs a URL, proxies that rewrite paths, custom signature validators — deserves a targeted test. Regenerate any long-lived signed URLs you've handed out (download links, unsubscribe links, invite links) rather than assuming old signatures still resolve identically.
Re-check email validation inputs. The CRLF injection fix affects the default email rule. If you accept email addresses from user input and later interpolate them into headers, logs, or outbound mail, add explicit tests asserting that \r/\n payloads are rejected. Where you've written custom Rule::email() configurations, re-verify them against the patched validator.
Pin the floor, not just the ceiling. In composer.json, express the constraint to match the package's own requirement so a future composer update can't silently walk you back below the patched framework:
"require": {
"php": "^8.2",
"laravel/framework": "^12.61.1|^13.12.0",
"your-vendor/this-package": "^2.0"
}
Gate it in CI. Add composer audit --locked to your pipeline so a dependency resolution that reintroduces an unpatched framework fails the build rather than reaching production.
The breaking change is the whole release. Read the notes as: "if you are on Laravel 11, 2.0.0 is unavailable to you." There is no backport and no compatibility shim. If you can't move off Laravel 11 yet, pin ^1.0 and treat the Laravel upgrade as a tracked piece of work — but understand you're staying on an EOL, unpatched framework with two known vulnerabilities.
Don't confuse "the package fixed it" with "I'm safe." The advisories are framework-level. A team that bumps the package but has a stale composer.lock on the framework side gets the new package and the old vulnerabilities. The lock file is the thing that actually ships.
Watch transitive constraints. A Laravel 11 → 12/13 jump often breaks third-party packages that haven't widened their own constraints. Run composer why-not laravel/framework 12.61.1 (or the 13.x equivalent) to see exactly which dependency is holding you back before you start guessing.
Semantic-versioning signal. A security-motivated major bump is a deliberate choice by the maintainers to make the framework floor loud. Treat future 2.x releases as safe to auto-merge only if your CI audit gate is in place; otherwise review each one.
Debugging checklist when something breaks post-upgrade:
composer audit — confirm the two advisories are gonephp artisan about — confirm the framework version you think you're runningcomposer why-not — identify constraint conflicts rather than fighting the resolverExtension point worth knowing: if your application wraps signed-URL logic in its own service or middleware, that's the seam to add assertions against. Centralising URL generation makes the next framework-level signature change a one-file fix instead of a codebase-wide hunt.
How can I help you explore Laravel packages today?