# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Initial Laravel 12 starter template
- Authentication system (Login, Register, Email Verification)
- Role & Permission management with Spatie Laravel Permission
- Dynamic menu system with multi-level support
- Auto Permission Middleware for automatic permission checking
- User activity logging system
- Contact management module
- Meta management module (banner, video, etc)
- DataTables integration with Yajra
- Image processing with Intervention Image
- Excel support with PHPSpreadsheet
- Bootstrap 5 UI framework
- Vite for asset bundling
- SASS support
- Comprehensive README documentation
- Default seeders for roles and users
- Custom ViewComposer for dynamic menus
- Helper functions for common tasks

### Configuration
- Timezone set to Asia/Jakarta
- Default locale set to Indonesian (id)
- SQLite database for development
- Session, Cache, and Queue using database driver
- Composer dev script with concurrently for running multiple services

### Security
- Strong default passwords for seeded users
- Auto permission checking middleware
- CSRF protection enabled
- Password hashing with bcrypt

## [1.0.0] - 2025-11-28

### Initial Release
- Laravel 12 base installation
- Complete authentication scaffolding
- Role-based access control
- Dynamic menu system
- Basic CRUD modules (User, Role, Menu, Contact, Meta)
- Development tools (Pint, Pail, PHPUnit)
- Production-ready configuration

---

## Version History

### How to Update

When making changes, add them under the `[Unreleased]` section using these categories:

- `Added` for new features
- `Changed` for changes in existing functionality
- `Deprecated` for soon-to-be removed features
- `Removed` for now removed features
- `Fixed` for any bug fixes
- `Security` in case of vulnerabilities

### Example Entry

```markdown
## [1.1.0] - 2025-12-01

### Added
- New feature X
- New module Y

### Fixed
- Bug in feature Z
- Performance issue in module A

### Changed
- Updated dependency B to version 2.0
```
