Skip to content

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 12:47
· 27 commits to main since this release

NebulaCMS v1.4.0

Release type: minor
Focus: theme deactivation, nested settings support, color validation, requirement checker, settings schema, uninstall hooks, zip security, and ActivityLog updates

Release commit: d1c01ea3ab60c59925b8bfb37ef2b84ed1e05431

Summary

This release adds comprehensive theme management improvements including theme deactivation with before/after hooks, nested settings support using dot notation for both themes and plugins, and color field validation with hex color regex pattern. It also introduces theme requirement checker to validate theme dependencies, settings schema for structured theme configuration, and uninstall hooks for clean theme removal. ZIP security has been hardened with SecureZipInspector service. Additionally, Spatie ActivityLog has been updated to use the new submitEmptyLogs method and namespace structure.

Added

  • Theme deactivation: Added deactivate method to ThemeController with before/after hooks via ThemeHooks class.
  • Nested settings support: Implemented settings merge using dot notation for both themes and plugins in PluginController and ThemeController.
  • Color validation: Added hex color regex pattern validation for color fields in theme settings.
  • Theme requirement checker: New ThemeRequirementChecker service to validate theme dependencies.
  • Settings schema: Added schema validation for theme settings.
  • Uninstall hooks: Implemented uninstall hooks for themes with ThemeHooks class.
  • ZIP security: New SecureZipInspector service for hardened ZIP upload validation.
  • Activity log migration: Added migration for activity_log table.

Changed

  • Theme organization: Moved theme hooks from PluginHooks to dedicated ThemeHooks class.
  • ActivityLog method: Updated from dontLogEmptyChanges() to submitEmptyLogs() in Page and Post models.
  • ActivityLog imports: Updated namespace structure for Spatie ActivityLog imports.
  • Asset publishing: Added lock mechanism to prevent concurrent asset publishing operations.
  • Dependencies: Updated composer dependencies including Spatie packages.

Upgrade notes

  • Database: php artisan migrate (activity log table added).
  • Theme compatibility: Existing themes should add uninstall.php and update theme.json with settings schema if using nested settings.
  • Reported version: Should show 1.4.0 in Settings → System after this release.

Full changelog

v1.3.1...v1.4.0