Upgrade guide
This guide describes how to upgrade from
v0.9.x to v0.10.x. WARNING
Hybridly v0.10.x is still in beta, and breaking changes are still to be expected. It is not advised to upgrade right now.
Upgrade dependencies high impact
v0.10.x targets Laravel 13+ and Vite 8+.
Replace partial with on_demand high impact
The partial function was renamed to on_demand. Even if you grew used to it, the name was definitely confusing.
php
use function Hybridly\partial;
use function Hybridly\on_demand;
return hybridly('users.index', [
'filters' => partial(fn () => $filters),
'filters' => on_demand(fn () => $filters),
]);Architecture API changes high impact
The ComponentsResolver interface was simplified:
loadModulesFromwas removed.loadComponentsFromwas removed.loadTypeScriptFilesFromwas removed.loadModuleFromnow accepts onlydirectoryandnamespace.
php
$hybridly->loadModuleFrom(
directory: __DIR__,
namespace: 'billing',
deep: true,
loadViews: true,
loadLayouts: true,
loadComponents: true,
loadTypeScript: true,
);If you need fine-grained registration, use:
loadViewsFromloadLayoutsFromaddViewaddLayout
Update refining filters high impact
The generic Filters\Filter class has been replaced by explicit filter classes.
php
use Hybridly\Refining\Filters;
Filters\Filter::make('name');
Filters\TextFilter::make('name');
Filters\NumericFilter::make('price');
Filters\DateFilter::make('published_at'); If you implemented custom filters, note that Filter::apply now receives a QueryFilter value object:
Before:
php
public function apply(Builder $builder, mixed $value, string $property): void
{
// ...
}After:
php
use Hybridly\Refining\Filters\QueryFilter;
public function apply(Builder $builder, QueryFilter $filter, string $property): void
{
$value = $filter->value;
// ...
}