v2.1.1
Latest
Changelog
v2.1.1 — 2026-07-09
Fixed
PlansTableno longer requires the hostPlanmodel to implementformattedPrice(). The package now formats decimal plan prices itself, while still honoring custom models that provide their ownformattedPrice()method.MoneyFieldandCurrencyFieldno longer depend on an unreleasedcrumbls/subscriptionscurrency service, keeping plan create/edit forms compatible withcrumbls/subscriptions2.x releases.
v2.1.0 — 2026-04-29
Added
- Full translations layer. All user-facing labels in resources, forms, tables, pages, infolists, and relation managers route through
__('subscriptions-filament::subscriptions-filament.…'). Ships English; publish viaphp artisan vendor:publish --tag=subscriptions-filament-translationsto override or add locales. SubscriptionsFilamentServiceProvidernow actually does work: loads the package translation namespace and registers the publish tag.- Per-resource opt-out on the plugin:
SubscriptionsPlugin::make()->withoutPlans(),->withoutSubscriptions(),->withoutFeatures(), and->withoutResources(['plans', 'features']). - Real Heroicon navigation icons on all three resources (
Plan,Feature,Subscription);getNavigationGroup()is now translatable. FeatureForm::components()exposes the form components as an array so relation managers can compose with extra fields.
Fixed
ViewSubscriptioninfolist used the Filament 3 namespaceFilament\Infolists\Components\Section; in Filament 5Sectionlives atFilament\Schemas\Components\Section.FeaturesRelationManagerinline create form dropped the pivotvalue(plan_features.valuewas never captured). Pivot value is now in both create and attach forms, and rendered in the table.PlansTableinvoice_intervalcolumn threw on rows with a null interval. Now renders—.SubscriptionResource::form()was a dead override returning the bare schema; removed (resource is index/view only).
Changed
- Subscription status badges are now keyed by slug (
active/trial/grace/canceled/ended) and rendered through the translation layer; consistent acrossSubscriptionsTable,SubscriptionsRelationManager, andPlanSubscriptionsRelationManager. PlanSubscriptionsRelationManagertitle moved from the static$titleproperty to a translatedgetTitle()override.
v2.0.0 — 2026-04-23
Breaking
crumbls/subscriptionsconstraint raised from^1.0|dev-mainto^2.0. Consumers must update the parent package at the same time.- If you are upgrading
crumbls/subscriptionsfrom 1.x, follow the parent package'sUPGRADING.md— it includes schema changes for theplan_subscriptionsunique slug constraint and drops the unusedprorate_*columns onplans.
- If you are upgrading
- Minimum PHP raised from
^8.2to^8.3to trackcrumbls/subscriptions2.x.
Fixed
- Removed
Gate::before/Gate::aftercallbacks that unconditionally granted every ability — leftover development scaffolding that would have bypassed every policy in the host application.
Added
- GitHub Actions workflow: PHP syntax + composer validate on push and PR.
- Dependabot config,
CONTRIBUTING.md,SECURITY.md, issue and PR templates.
v1.0.0 — 2026-02-21
Initial release against crumbls/subscriptions 1.x. Three resources (Plans, Features, Subscriptions), one reusable drop-in PlanSubscriptionsRelationManager.