Skip to content

Release v1.0.0

Choose a tag to compare

@ViewFromTheBox ViewFromTheBox released this 02 Feb 00:24
· 169 commits to main since this release

Added\n- Configuration publishing for module-specific configs\n- Plugins config: php artisan vendor:publish --tag=cms-plugins-config\n- Themes config: php artisan vendor:publish --tag=cms-themes-config\n- Updates config: php artisan vendor:publish --tag=cms-updates-config\n### Changed\n- Moved developer documentation to docs/developer/ directory\n- SKIPPED_TESTS.mddocs/developer/Skipped-Tests.md\n- COVERAGE.mddocs/developer/Test-Coverage.md\n- Updated documentation to reflect PHP 8.2 and Laravel 12 requirements\n### Fixed\n- Replaced deprecated mime_content_type() with finfo_file() in PluginManager\n- Fixed code style inconsistency in PluginManager exception handling\n- Documented all skipped tests with explanations\n### Removed\n- V1_RELEASE_CHECKLIST.md - internal development tracking file\n## [1.0.0-beta1] - 2024-12-21\n### Added\n- Core Updates Module with automatic update checking and management\n- GitHub, GitLab, and Custom JSON update source support\n- Version-specific update downloads with prerelease filtering\n- Automatic backup creation before updates with rollback capability\n- ZIP extraction with nested directory handling\n- Path validation and security checks in backup operations\n- Comprehensive error logging during update operations\n- Artisan commands: check-for-update, perform-update, rollback-update\n- Plugin System foundation (experimental)\n- Plugin model with activation/deactivation tracking\n- Plugin manager for lifecycle management\n- Plugin update manager integration\n- Plugin validation and installation exceptions\n- Theme System foundation (experimental)\n- Theme manager with theme discovery\n- Theme activation mechanism\n- JSON manifest validation\n- Comprehensive input sanitization throughout codebase\n- Applied sanitizeText() and sanitizeInt() to all user inputs\n- Protected database queries from SQL injection\n- Validated and sanitized all controller inputs\n- Type declarations for improved IDE support\n- Added Builder type hints to all Eloquent scope methods\n- Added return type declarations across models\n- Improved parameter type hints in managers and services\n- Database seeders for default data\n- RolesTableSeeder (Admin, Editor, User roles)\n- PermissionsTableSeeder (content, user, settings, system permissions)\n- SettingsTableSeeder (site configuration defaults)\n- Exception hierarchy with base CMSFrameworkException\n- ValidationException for validation errors\n- NotFoundException for missing resources\n- UnauthorizedException for authorization failures\n- All module exceptions now extend CMSFrameworkException\n- Comprehensive documentation\n- API documentation structure (docs/api/README.md)\n- Route registry (docs/routes.md)\n- Relationship documentation (docs/relationships.md)\n- Helper functions reference (docs/helpers.md)\n- Exception handling guide (docs/exceptions.md)\n- Skipped tests documentation (now at docs/developer/Skipped-Tests.md)\n- Improved .gitattributes for cleaner package distribution\n### Changed\n- License changed from GPL-3.0-or-later to MIT for better framework compatibility\n- Standardized all @since annotations to 1.0.0 (removed premature 2.0.0 references)\n- Configuration system improvements\n- Fixed publish tag from artisanpack-package-config to cms-framework-config\n- Corrected config validation to use artisanpack.cms-framework.user_model\n- Updated error messages to reflect actual file paths\n- Code style improvements (74% PHPCS error reduction)\n- Fixed spacing issues in declare(strict_types = 1) statements\n- Fixed reference operator spacing in closures\n- Improved array alignment and formatting\n- Fixed Yoda conditions for comparison safety\n### Fixed\n- Configuration validation mismatch between publish tag, file path, and config key\n- Test configuration (fixed config key from cms-framework to artisanpack.cms-framework)\n- Progress bar in update command (removed misleading fake progress)\n- glob() error handling for backup operations\n- Path traversal security issues in backup ZIP creation\n- JSON parsing errors in UpdateCheckerFactory\n- Doctrine/DBAL deprecation warnings in migrations\n- 706 code style violations (reduced from 941 to 235 errors)\n- Input sanitization security vulnerabilities across multiple modules\n- Unskipped 2 notification tests (role-based notification functionality now fully tested)\n### Security\n- Added comprehensive input sanitization using ArtisanPackUI Security package\n- Sanitized all user inputs before database operations\n- Protected against XSS attacks with proper output escaping\n- Validated file paths to prevent directory traversal\n- Enhanced authorization with proper policy enforcement\n- Improved error handling to prevent information disclosure\n### Breaking Changes\n- Configuration file publish tag changed to cms-framework-config\n- Configuration structure now uses artisanpack.cms-framework instead of cms-framework\n- All @since 2.0.0 annotations changed to @since 1.0.0\n### Known Limitations\n- Plugin system is experimental - full lifecycle hooks not yet implemented\n- Theme system is experimental - asset compilation and child themes pending\n- 4 plugin-related tests remain skipped (documented in docs/developer/Skipped-Tests.md)\n- Test coverage report requires Xdebug/PCOV (recommended for CI/CD)\n- 235 PHPCS code style warnings remain (mostly spacing and false positives)