Versions and support
Which Laravel and PHP versions each Streams package supports, and how to require them.
Streams is pre-release. Most packages have no tagged releases yet, so you install them from their development branches. This page lists what each package declares in its composer.json (or package.json) and what it is tested against today.
Support matrix
| Package | Install constraint | Branch | Laravel | PHP | Notes |
|---|---|---|---|---|---|
| streams/core | 2.0.x-dev |
2.0 |
^10|^11|^12 |
none on 2.0 |
Branch-alias is dev-master => 2.x-dev. On rc/prep, Core declares php: ^8.2 and Laravel ^10|^11|^12, with no branch-alias. This site requires dev-rc/prep as 2.0.x-dev. Stable tags exist only for the old 1.x line (latest v1.10.5). |
| streams/ui | 1.0.x-dev |
1.0 |
via Core | via Core | Requires Livewire ^3.0. |
| streams/api | 1.0.x-dev |
1.0 |
via Core | none on 1.0 |
On rc/prep, API declares php: ^8.2. |
| streams/sdk | 1.0.x-dev |
1.0 |
via Core | none on 1.0 |
The SDK on sdk/rc declares php: ^8.2. This site requires dev-sdk/rc as 1.0.x-dev. Install as a dev dependency. The optional MCP server needs laravel/mcp, so Laravel 11.45+ or 12.41+. |
| streams/testing | 1.0.x-dev |
1.0 |
10 only, for now | via Core (8.2+) | Requires orchestra/testbench ^8.36, which targets Laravel 10. Being widened to ^8.36|^9.15|^10.8 (Laravel 10 to 12). |
| streams/mongodb | 1.0.x-dev |
1.0 |
via Core | via Core | Experimental. Requires mongodb/mongodb ^1.10. |
| @laravel-streams/api-client | 3.0.0 |
master |
n/a | n/a | npm package, zero runtime dependencies. |
SALLT (ryanthompson/sallt) |
VCS create-project | GitHub | ^12.0 |
^8.2 |
Preferred greenfield starter (Core + SDK + onboard). Not on Packagist yet. |
streams/streams (starter) |
1.0.x-dev |
1.0 |
^10.0 |
^8.0.2 declared (rc/prep needs 8.2+) |
Pins Laravel 10; requires Core, UI, and API. |
"Via Core" means the package declares no framework or PHP constraint of its own and accepts whatever streams/core ^2.0 accepts. Branch 2.0 of Core aliases dev-master to 2.x-dev and does not declare php. Branch 1.0 of API and branch 1.0 of the SDK do not declare php either. On rc/prep, Core and API declare php: ^8.2. The SDK on sdk/rc declares php: ^8.2 too. UI and Testing require Core. The Laravel 10/11/12 version matrix on the installation page shows the same support per Laravel version.
What is actually tested
- Core, UI, and API run their CI on Laravel 10 (10.49). The shared harness,
streams/testing, is built on testbench 8, which is Laravel 10 only. Widening it to testbench 9 and 10 is in progress. - Core declares Laravel 11 and 12 support, but the Core, UI, and API suites don't run on them until
streams/testingis widened. Treat 11 and 12 as expected to work, not verified. streams/sdkhas its own harness and runs on Laravel 12.41 withlaravel/mcp, so the SDK and its MCP server are tested on Laravel 12.- This site (streams.dev) runs Laravel 12 on PHP
^8.2, withstreams/corefromrc/prep(aliased as2.0.x-dev),streams/ui 1.0.x-dev, andstreams/sdkfromsdk/rcas a dev dependency. It doesn't usestreams/testing, so its own test suite runs on Laravel 12 and PHPUnit 11.
Requiring the packages
Because there are no stable 2.x (Core) or 1.x (everything else) tags, Composer's default minimum-stability: stable won't find them. Worse, a bare composer require streams/core silently installs Core 1.10.5, the previous major version.
Require the development branches explicitly, and require Core alongside anything that depends on it:
composer require streams/core:2.0.x-dev streams/ui:1.0.x-dev
composer require streams/core:2.0.x-dev streams/api:1.0.x-dev
composer require --dev streams/sdk:1.0.x-dev
Or allow dev packages project-wide while still preferring stable releases of everything else:
{
"minimum-stability": "dev",
"prefer-stable": true
}
After that, ^2.0 for Core and ^1.0 for the others resolve to the development branches.
Versioning policy
The plan is to adopt semantic versioning and tag stable releases (Core 2.0, and 1.0 for UI, API, SDK, and Testing) as part of the release-candidate work. Until tags exist:
- Development branches can change without notice. Pin a commit (
2.0.x-dev#abc1234) if you need a fixed point. - Breaking changes are listed in the Changelog and explained in the Upgrade guide.
- The JavaScript client is already semver-tagged on npm (
3.0.0).