|
| 1 | +# 📝 Changelog |
| 2 | + |
| 3 | +All notable changes to `easy-modules` will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## 🔮 [Unreleased] |
| 9 | + |
| 10 | +### Planned for Future Releases |
| 11 | +- **Enhanced Command Experience**: Multi-choice stub path selection and component variations |
| 12 | +- **Modular Architecture Templates**: Additional architectural patterns (MVC, DDD, etc.) with individual module-level configuration beyond Clean Architecture |
| 13 | + |
| 14 | +## 🚀 [1.0.0] - 2025-06-01 - Stable Release |
| 15 | + |
| 16 | +> **Package Status**: This package has been tested and works correctly for most use cases. However, some edge cases may require manual handling depending on your specific setup. |
| 17 | +
|
| 18 | +### Added |
| 19 | + |
| 20 | +#### Module Management |
| 21 | +- Complete module scaffolding with Clean Architecture structure as default (fully customizable) |
| 22 | +- Auto-discovery integration with Laravel 12's enhanced provider system |
| 23 | +- Flexible configuration system for paths, structures, and architectural patterns |
| 24 | +- Package independence - generated code works without EasyModules dependency |
| 25 | + |
| 26 | +#### Commands |
| 27 | + |
| 28 | +**Utility Commands** |
| 29 | +- `easymodules:new` - Create new modules with complete structure |
| 30 | +- `easymodules:publish` - Publish configuration and stubs with flexible options |
| 31 | +- `easymodules:list` - List discovered modules with route information and JSON output |
| 32 | +- `easymodules:info` - Detailed module information and structure analysis |
| 33 | + |
| 34 | +**EasyModules Specific** |
| 35 | +- `easymodules:make-entity` - Domain entities with Clean Architecture patterns |
| 36 | +- `easymodules:make-stub` - Flexible component generation system for custom architectures |
| 37 | + |
| 38 | +**Laravel Commands for Modules** |
| 39 | +- Complete coverage of all essential Laravel commands adapted for modular architecture |
| 40 | +- `easymodules:make-model` - Eloquent models with all Laravel options (--factory, --migration, --controller, etc.) |
| 41 | +- `easymodules:make-controller` - HTTP controllers with full Laravel compatibility (--resource, --api, --requests, etc.) |
| 42 | +- `easymodules:make-request` - Form requests for input validation |
| 43 | +- `easymodules:make-resource` - API resources with collection support |
| 44 | +- `easymodules:make-middleware` - HTTP middleware |
| 45 | +- `easymodules:make-command` - Custom Artisan commands |
| 46 | +- `easymodules:make-component` - Blade components with view integration |
| 47 | +- `easymodules:make-migration` - Database migrations with custom path support |
| 48 | +- `easymodules:make-factory` - Model factories with intelligent model linking |
| 49 | +- `easymodules:make-seeder` - Database seeders |
| 50 | +- `easymodules:make-job` - Queue jobs with sync option support |
| 51 | +- `easymodules:make-event` - Application events |
| 52 | +- `easymodules:make-listener` - Event listeners with --event and --queued options |
| 53 | +- `easymodules:make-mail` - Mailable classes with markdown support |
| 54 | +- `easymodules:make-notification` - Notifications with markdown templates |
| 55 | +- `easymodules:make-observer` - Model observers with model resolution |
| 56 | +- `easymodules:make-policy` - Authorization policies with model integration |
| 57 | +- `easymodules:make-rule` - Validation rules with --implicit support |
| 58 | +- `easymodules:make-cast` - Custom Eloquent casts |
| 59 | +- `easymodules:make-channel` - Broadcasting channels |
| 60 | +- `easymodules:make-interface` - Interface generation for Clean Architecture |
| 61 | +- `easymodules:make-scope` - Eloquent query scopes |
| 62 | +- `easymodules:make-provider` - Service providers with registration guidance |
| 63 | +- `easymodules:make-test` - Test classes with custom path support and Pest compatibility |
| 64 | + |
| 65 | +**Comprehensive Laravel Integration** with full preservation of existing functionality and options |
| 66 | + |
| 67 | +#### Advanced Command Features |
| 68 | +- **Command aliases**: `easymodules:`, `emodules:`, `emodule:` for convenience |
| 69 | +- **Advanced options**: `--include-global` for cross-module component suggestions |
| 70 | +- **Test integration**: `--path` and `--subfolder` options for organized test structure |
| 71 | +- **Multi-file generation**: Intelligent handling of related component creation |
| 72 | + |
| 73 | +#### Architecture Features |
| 74 | +- **Flexible Architecture**: Clean Architecture as default, fully customizable via configuration |
| 75 | +- **Development Toolkit**: Optimized for development workflow with minimal production footprint |
| 76 | +- **Layer Separation**: Domain/Application/Infrastructure/Presentation with clear boundaries |
| 77 | +- **Component Organization**: Automatic folder structure following configurable patterns |
| 78 | +- **Module Independence**: Each generated module uses standard Laravel ServiceProvider patterns |
| 79 | + |
| 80 | +#### Technical Features |
| 81 | +- **Laravel 12 Native Integration**: Full compatibility with Laravel 12's enhanced features |
| 82 | +- **PHP 8.2+ Support**: Modern syntax and performance optimizations |
| 83 | +- **Intelligent Path Resolution**: Smart namespace and path handling for complex scenarios |
| 84 | +- **Flexible Stub System**: No default stubs - developers create custom architectural patterns |
| 85 | +- **Auto-Registration Options**: Automatic, manual, and unregistration workflows |
| 86 | +- **Configurable Everything**: Paths, namespaces, folder structures, and component types |
| 87 | + |
| 88 | +#### Generated Structure |
| 89 | +- **Application Layer**: Actions, DTOs, Services, Mappers, Interfaces, Validation, Rules |
| 90 | +- **Domain Layer**: Entities, Services, ValueObjects |
| 91 | +- **Infrastructure Layer**: Models, Persistences, Casts, Events, Jobs, Listeners, Mail, Notifications, Observers, Policies, Rules, Services, Exceptions |
| 92 | +- **Presentation Layer**: Controllers, Requests, Resources, Commands, Middleware, Components, Views |
| 93 | +- **Database Layer**: Migrations, Factories, Seeders |
| 94 | +- **Testing Layer**: Unit and Feature tests with intelligent organization |
| 95 | +- **Configuration**: Module-specific config and comprehensive route files |
| 96 | +- **Localization**: Translation file support |
| 97 | + |
| 98 | +### Registration & Discovery |
| 99 | + |
| 100 | +#### Automatic Registration |
| 101 | +- Seamless integration with Laravel 12's `bootstrap/providers.php` |
| 102 | +- Auto-discovery of modules with ServiceProvider validation |
| 103 | +- Immediate availability without manual configuration |
| 104 | + |
| 105 | +#### Manual Registration |
| 106 | +- Simple provider addition to `bootstrap/providers.php` |
| 107 | +- Full control over module activation/deactivation |
| 108 | +- Easy module disabling via configuration commenting |
| 109 | + |
| 110 | +#### Package Independence |
| 111 | +- Generated modules operate independently of EasyModules package |
| 112 | +- Standard Laravel ServiceProvider patterns ensure compatibility |
| 113 | +- No vendor lock-in - modules remain functional after package removal |
| 114 | + |
| 115 | +### Documentation & Developer Experience |
| 116 | + |
| 117 | +#### Comprehensive Documentation |
| 118 | +- **README.md**: Complete installation, usage, and integration guide |
| 119 | +- **COMMANDS.md**: Full command reference with examples and best practices |
| 120 | +- **Configuration Examples**: PHPUnit, Pest, Vite, and Tailwind CSS integration |
| 121 | +- **Practical Examples**: Blog, e-commerce, and multi-tenant application setups |
| 122 | + |
| 123 | +#### Developer Experience |
| 124 | +- **Intelligent Command Inheritance**: Preserves all Laravel functionality |
| 125 | +- **Clear Error Handling**: Helpful error messages and guidance |
| 126 | +- **Progress Feedback**: Informative command output with success/failure indication |
| 127 | +- **Community Support**: Bug reports and contributions encouraged |
| 128 | + |
| 129 | +### Integration & Compatibility |
| 130 | + |
| 131 | +#### Laravel 12 Features |
| 132 | +- **Enhanced Vite Integration**: Auto-discovery of module assets |
| 133 | +- **Modern Build Tools**: Tailwind CSS and asset compilation support |
| 134 | +- **ServiceProvider Registration**: Uses Laravel's official registration methods |
| 135 | +- **Framework Compatibility**: Full integration with Laravel 12's core features |
| 136 | + |
| 137 | +#### Testing Framework Support |
| 138 | +- **PHPUnit Configuration**: Automatic test discovery in module structure |
| 139 | +- **Pest Framework**: Full compatibility with modern testing workflows |
| 140 | +- **Test Organization**: Intelligent path resolution for different test types |
| 141 | +- **Custom Test Paths**: Flexible organization via configuration |
| 142 | + |
| 143 | +### Known Characteristics |
| 144 | + |
| 145 | +#### Package Philosophy |
| 146 | +- **Development-Focused**: Designed for development phase with optional production use |
| 147 | +- **Flexibility First**: Clean Architecture as sensible default, not requirement |
| 148 | +- **Laravel Standards**: Builds upon Laravel patterns rather than replacing them |
| 149 | +- **Community-Driven**: Welcomes feedback and contributions for continuous improvement |
| 150 | + |
| 151 | +#### Current Considerations |
| 152 | +- **Path Resolution**: May differ slightly from expected behavior in multi-file generation scenarios |
| 153 | +- **Advanced Options**: Some specific option combinations may occasionally require manual adjustments |
| 154 | +- **Continuous Evolution**: Package continues to evolve with new features and improvements |
| 155 | + |
| 156 | +### Community & Support |
| 157 | + |
| 158 | +This release represents a stable foundation for modular Laravel development, maintaining transparency about capabilities while providing robust functionality for daily development workflows. |
| 159 | + |
| 160 | +**Feedback Welcome**: Bug reports and contributions are always welcome to help improve the package for everyone. |
0 commit comments