The official image from streamline does not currently work for the arm64 platform. As a temporary measure, the source code and docker build scripts have been lifted from the official images and are used to build locally. Some additional modifications are made to reduce overall image size, these are documented in docker/README.md
23 KiB
Changelog
All Notable changes to laravel-modules will be documented in this file.
Next
10.0.6 - 2024-01-28
Added
- @alissn Add command module prune
10.0.5 - 2024-01-22
Added
- @azim-kordpour Add PHPDoc static to all methods in Module facade
Changed
- @dcblogdev Reverted config to use
AppandDatabasenamespace / folders by default - @alissn Command Synchronization and Alphabetical Sorting in ConsoleServiceProvider
- @fpermana Update ObserverMakeCommand.php
Fixed
- @alissn revert extend class to ShowModelCommand
- @benjaminniess Fix ModelShowCommand extends property
10.0.4 - 2023-11-13
Changed
- @dcblogdev updated module:publish-config to a dynamic path to the service provider
10.0.3 - 2023-10-02
Changed
- @solomon-ochepa updated multiple & config stubs to follow modern laravel standards
- @dcblogdev updated enabled
$MODULE_NAMESPACE$&$CONTROLLER_NAMESPACE$placeholders to be used inside stubs - @hungthai1401 updated rule stub
Added
- @dcblogdev added support for using modules inside the main
vite.config.jsfile https://github.com/nWidart/laravel-modules/pull/1682 - @dcblogdev added option to generate a factory by using the flag
-fwhen generating a model - @hungthai1401 added implicit rule https://github.com/nWidart/laravel-modules/pull/1664
10.0.2 - 2023-09-18
Changed
- reordered config commands and added missing observer command
10.0.1 - 2023-09-18
Added
- @JaberWiki Added Include an optional flag
subpathfor rolling back a module's specific migration file #1626 - @sergiy-petrov Added support for testing GitHub actions against PHP versions 8.2 and 8.3. #1624
- @hanieas Added make Observer command. #1623
- @alissn Add phpdoc to Module facade class for IDE auto-completion. #1589
- @aryala7 Add command to create broadcasting channel #1599
Changed
- @Rattone Updated stubs for command from
nametosignature#1625 - @moeen-basra Remove the unused Factory import #1596
- @moeen-basra Replace the \Config::get with config function #1596
- @aryala7 Changed disable module Command to accept array of modules instead of single module to disable #1591
10.0.0 - 2023-02-14
Changed
- Minimum PHP version to 8.1 for supporting Laravel 10
- Laravel 10 version
- Increased PHPUnit to 10.0
- Increased Mockery to 1.5
Updated
- @dev-karpenko updated get attributes cache #1526
9.0.7 - 2022-11-17
Added
- @alissn implement command check lang folder, and show missing files #1496
- @kmizzi Use AsCommand in lieu of defaultName for ModelShowCommand #1503
9.0.6 - 2022-10-28
Added
9.0.5 - 2022-08-31
Added
- @alissn add command show model information #1429
- @JaberWiki add optional flag for seeder or request in model generator command #1431
Changed
- @alissn updated command style to new version of artisan #1430
- @ChauDucGiang updated Feature/cache driver #1443
Fixed
- @ajayfroiden fixed module:disable #1438
- @inovar-tecnologia fixed DisableCommand.php#1435
9.0.4 - 2022-07-28
- 9.02 - 9.0.3 have been removed due to savere performance problems
9.0.1 - 2022-02-28
Added
- Added option to publish stubs for modules
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider" --tag="stubs"
Changed
9.0 - 2022-02-10
Changed
- Minimum PHP version to 8.0 for supporting Laravel 9
- Laravel 9 version
- Increased PHPUnit to 9.5
- Increased Mockery to 1.4
- Fixed test replaced expectsEvents with event fakes
8.3 - 2022-02-10
Fixed
- The ability to override commands via config file.
- Incorrectly placed config key
- Class name when special characters are used in the rule name
- Fix error on anonymous migration
Changed
- Changed
View/ComponenttoView/Components - Updated test snapshots for the MakeCommand test snapshots
- Command stub signature from
signaturetoname - Revert PR1171 which causes tests to fail
Added
- Added commands make class component and make view component
- Test against php 8.0
- Merge config in register method
- Added optional controller flag to model generator command
- Set module for make-controller command
- Added tests for generating controller in model generator command
- Added test for check if migration and controller flag are both present
- Laravel mix v6 support
8.2 - 2020-11-11
Added
- New
module:make-componentcommand to generate laravel components
Fixed
- Fixed bug:
Target class [Nwidart\Modules\Commands\] does not exist.
8.1 - 2020-11-10
Added
- Command management via configuration file
- Laravel 8 Factories compatibility
- New improved way to define controller types.
--web,--apiand--plainoptions. - New configuration option to make compose run in silent mode
Changed
- New generated commands now use the
$signatureproperty instead of$name - Fixed issue where
orderwas used instead ofpriority
8.0 - 2020-10-03
Added
- Laravel 8 support
Updated
- Update
ListenerMakeCommandto properly use the--eventsoption
7.2.0 - 2020-07-30
Added
- Added return statements in artisan commands. Helpful to validate if something was successfully ran. (#1026)
Changed
- Update JsonResource namespace, using the new
Illuminate\Http\Resources\Json\JsonResource. (#969) - Enable command returns the status code (#978)
- Removing module service provider from composer.json stub (#996)
- Fixed custom stub path issue. Replacing a hardcoded stub path. (#1016)
- Controller return type changed to
Illuminate\Contracts\Support\Renderable. (#1020) - Change bigIncrements method to id (#1029)
- Adding force option for module:seed (#1030)
7.1.0 - 2020-04-14
Changed
php artsian module:enable(without any arguments) will enable all modulesphp artsian module:disable(without any arguments) will disable all modules- Updating Laravel Mix version as well as cross-env.
7.0.0 - 2020-03-26
Added
- Laravel 7.0 support
6.2.0 - 2019-11-12
Changed
- Properly guessing the namespace from the path (in
GeneratorPathclass) - Fixing generation of resource file if the resource has been disabled to generate
- Fix when using a custom service provider namespace, namespace is correctly referenced in module.json and compose.json
- Fix when using custom service provider namespace, module path is correctly referenced in the
RouteServiceProviderandModuleServiceProvider - Fix when using a custom path for controllers in the controller stub
6.1.0 - 2019-11-01
Added
- Added new
module:deletecommand
Changed
- Add optional path parameter to
module_pathhelper (PR#861) - The default path of the
module_statuses.jsonfile has been moved to the Application's base path. This is to improve its visibility and the fact that it can be committed by default. - Throw an exception when no proper activator class was configured
6.0.0 - 2019-09-19
Added
-
New File Activator feature. PR #790 from @ryssbowh
This feature changes how modules are activated and de-activated. Currently module statuses are stored on disk, this features adds the possibility of storing this status information in a database.
Use the command
php artisan module:v6:migrateto have old modules active status migrated to the new system.
Changed
-
Alternate way to define the namespace of modules in PR #776 by @daison12006013
This allows to have the content of the module under an
src/folder for example. -
BREAKING New way to handle active and inactive modules.
Modules don't store their active status in their module.json file anymore, but in a file under the storage folder. Run
php artisan module:v6:migrateto use the new system. -
BREAKING Renamed method
enabledtoisEnabledin\Nwidart\Modules\Module. -
BREAKING Renamed method
disabledtoisDisabledin\Nwidart\Modules\Module. -
BREAKING Renamed method
enabledtoisEnabledin\Nwidart\Modules\FileRepository. -
BREAKING Renamed method
disabledtoisDisabledin\Nwidart\Modules\FileRepository. -
BREAKING Removed the
__getmagic method on the\Nwidart\Modules\Moduleclass. Useget()orjson()->get()instead. -
The
module:make-listenercommand now correctly uses the namespace configuration -
The generated Factories now has type hints for the
\Illuminate\Database\Eloquent\Factoryclass -
Improved foreign key constraint generation
-
Exception handling in the
SeedCommandhas been improved
5.0.1 - 2019-05-11
Added
artisan module:route-providerhas a--forceoption to overwrite existing file
Changed
- Fixing the
RouteServiceProvidergeneration to properly use theroutes/webandroutes/apistubs - Replacing
@stopwith@endsectionin the view stub file Moduleclass does not extend Laravel's Service Provider class anymore
5.0.0 - 2019-03-18
Added
- Laravel 5.8 support
Changed
- Deprecated string and array methods have been replaced
- Fixed caching not being cleared after disabling and enabling modules
- Update Route Provider stub to not affect the root namespace of the URL generator (#727)
Removed
- PHP 7.1 support
4.1.0 - 2019-03-04
Changed
- Updated to laravel mix 4
- Add
--apiargument tomodule:make-controllercommand - Seeding modules outside out
Modulesnamespace
4.0.0 - 2018-09-30
Added
- New way of handling routes by default using a RouteServiceProvider (instead of start.php)
- Laravel 5.7 support
Changed
- Allow class resolution on short name and abstract
module:seedaccepts a--classoption
3.3.1 - 2018-07-13
Changed
- Added the ability to set a sub-namespace to controllers
module:make-controller Api\\TestController
3.3.0 - 2018-06-21
Changed
module:updatecommand has now the possibility to update all modules at once- Fixing commented code for Laravel Mix
3.2.0 - 2018-04-16
Added
- Added possibility to update all modules at once if any not specified (PR #523)
Changed
- Mix: Fix css relative urls by changing the route folder (PR #521)
- Mix: Prevents every build from deleting previous Mix config file (PR #521)
3.1.0 - 2018-04-01
Added
- Laravel mix configuration (https://nwidart.com/laravel-modules/v3/basic-usage/compiling-assets)
Changed
- Allow symlinks in module path
- Returns the parameter
--classto theSeedCommand. - Generate folders recursively
- Removing link that has become a 404
- Fixed seed command exception typehint
Removed
- Removed the optimize command on the
module:make-migrationcommand
3.0.1 - 2018-02-16
Changed
- Update publish commands to use the new API to get all enabled modules (PR #483 )
3.0.0 - 2018-02-14
Added
- Added support for laravel 5.6
- Using phpunit 7
Changed
- BC:
Repositoryclass: renamedenabledtoallEnabled - BC:
Repositoryclass: renameddisabledtoallDisabled - BC:
Repositoryclass: renamedactivetoenabled - BC:
Repositoryclass: renamednotActivetodisabled
Removed
- Dropped php 7.0 support
- BC:
Moduleclass: Deprecatedactive()method, useenabled() - BC:
Moduleclass: DeprecatednotActive()method, usedisabled() - BC:
Repositoryclass: DeprecatedaddPath()method, useaddLocation() - BC:
Repositoryclass: Deprecatedget()method, usefind() - BC:
Repositoryclass: DeprecatedgetUsed()method, usegetUsedNow()
2.7.0 - 2018-01-13
Changed
- Rename the
beforemethod tobootin theRouterServiceProviderstub file - Fixing caching issue if modules were loaded from a different directory
- Fixing how modules are loaded from vendor directory (#423 #417)
- Update to Mockery 1.0
- use default file stubs only if override does not exists
- Fix non well formed numeric value in seed command
2.6.0 - 2017-11-07
Added
- Ability to customise the destination folder & namespace of a generated class
- Added
php artisan module:migrate-statuscommand config_path()helper for Lumen- Added views tag to view config in ServiceProvider
- added package auto discovery for laravel 5.5 in generated module
composer.json
Changed
- Adding the ability to correctly load modules from multiple locations, together
- Custom seeder path now also used in the
module:seedcommand
2.5.1 - 2017-10-13
Changed
- added config_path helper to helpers for Lumen support
- updated readme on how to install laravel-modules in Lumen
2.5.0 - 2017-10-03
Changed
- Making the path to migrations for
loadMigrationsFrom()call dynamic based of configuration - Making the factory path dynamic for master service provider & make-factory command
- Make the route file location dynamic in start.php based of
stubs.files.routes - Making the route path dynamic on the route service provider based of
stubs.files.routes - New structure in configuration to set which folders will be generated on
module:make(old format still supported) - Setting new sensible defaults to what folders to generate by default.
- Change the assets directory default location
resources/assets
2.4.1 - 2017-09-27
Changed
- Setting a default value for
modules.paths.modulesconfiguration key
2.4.0 - 2017-09-27
Added
- New
module:make-resourcecommand to generate resource classes - New
module:make-testcommand to generate test classes
Changed
- Improved error output of the
module:seedcommand - Marking methods that served as proxies in
ModuleandRepositoryclasses as deprecated for next major - Fixed
module:makeandmodule:make-providerto generate the correct master service provider - Tests: tests are now using
spatie/phpunit-snapshot-assertionsto make sure the generated files have the correct content - Adding a sync option to the
module:make-jobcommand to make a synchronous job class - Changed
module:make-eventcommand to allow duck typed events (not type hinted event class) - Changed
module:make-listenerto allow a--queuedoption to make the event queueable - Changed
module:make-listenercommand to not use the full class typehint when class was previous imported
2.3.0 - 2017-09-26
Added
- Ability to ignore some folders to generate
- Creating an module:unuse command to forget the previously saved module
- New command to generate Policy classes
- New command for creating factories
- New command for creating rules
- new
public_pathhelper for Lumen
Changed
- Refactored class names that generate something to be fully consistent
2.2.1 - 2017-09-14
Changed
- Fixed class namespace to
RepositoryinContractsServiceProvider
2.2.0 - 2017-09-14
Added
- Lumen compatibility with new way to register providers
2.1.0 - 2017-09-10
Changed
- Register module migrations
- Fixed issue with
module:migrate-refreshcommand - Improved module loading of their service providers. Using laravel caching system. Allowing usage of deferred providers.
- Fixed path to module factories
2.0.0 - 2017-08-31
Added
- Support Laravel 5.5
1.27.2 - 2017-08-29
Changed
- Allow migrate-refresh command to be run without module argument
- Module name was added to the module enable and disable events
1.27.1 - 2017-07-31
Changed
- Only run composer require on the module:update command if there's something to require
- Fixing lumen support
1.27.0 - 2017-07-19
Added
- Laravel Lumen support
Changed
- Update dev dependencies grumphp and phpcsfixer to latest versions
- The
make:modelcommand with the-mflag to create the associated migration is now using a current migration file name
1.26.0 - 2017-07-06
Changed
- Throw an exception if asset name structure was not correct when using
{!! Module::asset() !!} - Create the module used file if non existent. Will provide for a better error message if module is omitted in console commands without a module:use.
1.25.1 - 2017-06-29
Changed
- More flexibility to the
json()method, while keeping the performance improvements.
1.25.0 - 2017-06-29
Changed
- Improving performance by only instantiating Json class for the module.json file once
- Added support for generic git hosts
1.24.0 - 2017-06-12
Changed
- Using
resource_pathto register module views - Changed the method to load additional eloquent factory paths
1.23.0 - 2017-06-09
Added
- A
--migrationflag to themodule:make-modelcommand to generate the migration file with a model - Factories are now also defined in the master service providers. This is used in the
module:makecommand without the--plainflag, or usingmodule:make-providerwith the--masterflag. module_path()helper function.
Changed
- The default location of event listeners is now in
Listeners/, fromEvents/Handlers
1.22.0 - 2017-05-22
Changed
- Fixed the
--plainon themake:modulecommand, to not include a service provider in themodule.jsonfile as it's not generated. - Add command description to the
GenerateNotificationCommand.
1.21.0 - 2017-05-10
Added
- Added the
Macroabletrait to theModuleclass.
Changed
- The
collectionsmethod now accepts an optional parameter to get modules by status, in a laravel collection. - Allow laravel
5.5.*to be used.
1.20.0 - 2017-04-19
Changed
module:update: Copy over the scripts key to main composer.json file- Add a
--subpathoption to migrate command module:update: Install / require all require & require-dev package at once, instead of multiple calls to composer require.module:publish-configcommand now uses the namespace set up in the configuration file.
1.19.0 - 2017-03-16
Changed
module:updatecommand now also takes therequire-devkey into account- Making the
$migrationsparameter optional ongetLastBatchNumber()
1.18.0 - 2017-03-13
Changed
- The module list command (
module:list) now returns the native module name
1.17.1 - 2017-03-02
Changed
- Fixed issues with route file location in
start.php
1.17.0 - 2017-02-27
Changed
- Add checking for failure to parse module JSON
1.16.0 - 2017-01-24
Added
- Support for Laravel 5.4
- Adding show method on resource controller
- Added check for cached routes to not load them multiple times
1.15.0 - 2017-01-12
Added
- Module requirements (PR #117)
- Added
Macroabletrait toModuleclass (PR #116)
Changed
- Added missing import of the
Schemafacade on migration stubs - A default plain migration will be used if the name was not matched against a predefined structure (create, add, delete and drop)
- Add tests for all the different migration structures above
- Fix: respecting order in reverse migrations (PR #98)
- Fix:
module:resetandmodule:migrate-rollbackdidn't have--databaseoption (PR #88) - Fix:
Module::asset(), removed obsolete backslash. (PR #91)
1.14.0 - 2016-10-19
Added
module:make-notificationcommand to generate a notification class
Changed
- Usage of the
lists()method on the laravel collection has been removed in favor ofpluck() - Modules can now overwrite the default migration and seed paths in the
module.jsonfile
0.13.1 - 2016-09-09
Changed
- Generated emails are now generated in the
Emailsfolder by default
0.13.0 - 2016-09-08
Changed
- Ability to set default value on the config() method of a module.
- Mail: Setting default value to config. Using that as the namespace.
- Using PSR2 for generated stubs
0.12.0 - 2016-09-08
Added
- Generation of Mailable classes
0.11.2 - 2016-08-29
Changed
- Using stable version of laravelcollective/html (5.3)
0.11.1 - 2016-08-25
Changed
- Using stable development of laravelcollective/html
0.11 - 2016-08-24
Added
- Adding
module:make-jobcommand to generate a job class - Adding support for Laravel 5.3
Changed
- Added force option to module:seed command
0.10 - 2016-08-10
Added
- Experimental Laravel 5.3 support
Changed
- Make sure the class name has
Controllerappended to it as well. Previously only the file had it suffixed.
Removed
- Dependencies:
pingpong/supportandpingpong/generators
0.9 - 2016-07-30
Added
- Adding a plain option to the generate controller command
Changed
- Generate controller command now generates all resource methods
0.8 - 2016-07-28
Fixed
- Module generation namespace now works with
StudlyCase(Issue #14) - No module namespace fix (#13)
Changed
- Using new service provider stub for module generation too
0.1 - 2016-06-27
Initial release