✨ Features
- Plugins: add
getSettingsUrl()andregisterExtension()toBlogrExtensioninterface (renamed fromregister()to avoidFilamentPlugincollision) - Plugins: add settings gear icon ⚙️ on each plugin card, linked to
getSettingsUrl()when defined - Plugins: add Community Plugins discovery section — parses
README.mdplugins table with GitHub/GitLab links - Plugins: filter out already-installed plugins from community listing by repo name or homepage URL
- Plugins: add "Develop a Plugin" section with link to developing guide
- Docs: add
## Developing Pluginssection to README with interface reference, registration, and lifecycle
🐛 Fixed
- Plugins: fix enable/disable toggles having no effect —
register(Panel)now queriesblogr_extension_statesdirectly (bypasses singleton timing issue) - Plugins: fix
RouteNotFoundExceptionwhen toggling a plugin on —getSettingsUrl()catches missing routes gracefully - Plugins: fix
loadedFromDbflag inExtensionRegistry::loadStatesIfNeeded()being set before DB query - Plugins: prevent auto-resolution of throwaway
ExtensionRegistryinstance when called before singleton registration - Artist/Comms/GDPR: add
shouldRegisterNavigation()to settings pages — navigation respects enable/disable state - Artist/Comms/GDPR: move
$panel->plugin()registration toregister()phase so routes exist before navigation rendering