SiteSettingsService::setForSite()
with the explicit site_id, so multi-site installs no longer share a single
installation-wide block.code_head, code_body_start, code_body_end) are no
longer hard-coded as global-only in SiteSetting::$globalOnlyKeys; they
now follow the standard per-site override pattern with global fallback.SitePolicy; there is no longer a dedicated Manage:CodeInjection
permission./admin/code-injection Filament page. The form moved into
the Site edit page as the "Embed Code" tab.Manage:CodeInjection permission references in the Shield config and
installer. The permission migration is now a no-op for fresh installs;
upgraded installs keep their existing (now orphan, harmless) permission
row in the DB and may delete it manually if desired.TallCmsPlugin::make()->withoutCodeInjection() is kept as a no-op shim
for backwards compatibility but does nothing — the standalone page no
longer exists./en/about, /zh-CN/about)SetLocaleMiddleware for automatic locale detectionLocaleRegistry service for managing available localeshreflang Blade component for SEOtallcms_localized_url() and tallcms_localized_route() helpersHasTranslatableContent traitTallCmsPlugin class for registering CMS components with Filament panelswithoutPages(), withoutPosts(), etc.)plugin_mode.user_model configApp\* namespacestallcms/cms Composer packageTallCms\Cms namespaceAuthenticatable interface instead of concrete User classPage::getUrl() for multi-panel compatibilityFor Standalone Users:
app/ continue to workFor New Plugin Users:
composer require tallcms/cmsphp artisan vendor:publish --tag=tallcms-migrationsphp artisan migrateTallCmsPlugin::make() in your panel providerHow can I help you explore Laravel packages today?