symfony/maker-bundle
Symfony MakerBundle speeds up development by generating boilerplate code via simple CLI commands. Create controllers, entities, forms, tests, and more with best-practice templates, consistent structure, and quick scaffolding for common Symfony tasks.
This version improves the use of MakerTestCase for testing maker classes in third-party projects and libraries.
MakerTestCase by @GromNaN in https://github.com/symfony/maker-bundle/pull/1770EnumHelper.php : Fix Windows behaviour by @tcoch in https://github.com/symfony/maker-bundle/pull/1791-i conflict with APP_ID -i by @ayyoub-afwallah in https://github.com/symfony/maker-bundle/pull/1761voteOnAttribute() by @ayyoub-afwallah in https://github.com/symfony/maker-bundle/pull/1759Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.66.0...v1.67.0
ServiceLocator to access makers in tests, instead of guessing the service name by @GromNaN in https://github.com/symfony/maker-bundle/pull/1771--nowdoc option by @simonsolutions in https://github.com/symfony/maker-bundle/pull/1721php-cs-fixer.phar to 3.92.5 by @GromNaN in https://github.com/symfony/maker-bundle/pull/1772root_namespace configuration by @GromNaN in https://github.com/symfony/maker-bundle/pull/1782Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.65.1...v1.66.0
[eba30452] Feature: use logout_path() in login form templates (@PierreCapel)
[f33c80eb] Bump php-cs-fixer to 3.75 (@shakaran)
[edad857b] Bug: removed assertion on status code after redirect (@rensieeee)
[dd7818d7] Bug: fixed undefined method issue (@kekstlt)
[efd35327] Bug: updated MigrationDiffFilteredOutput to implement all methods from OutputInterface (Josh McRae)
[9a0276d7] Feature: Add support for Symfony 8 (@Kocal)
[d3e8169a] Fix: do not implement __serialize() for users without passwords (@xabbuh)
[6f42db1f] Fix: PHP 8.4 deprecation about implicitly-nullable-types (@natewiebe13)
[2696e9e1] minor: Do not call Reflection*::setAccessible() (@W0rma)
Hey Maker's!
Small release to revert a make:form change. Created types are now suffixed with Type again.
dump() from test by @kbond in https://github.com/symfony/maker-bundle/pull/1695Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.63.0...v1.64.0
Hey Maker's!
Long time, no release! This fixes a bunch of bugs and adjust some makers to generate modern code that conform with current best practices.
classes support, generate usage code, fix doc, add tests by @smnandre in https://github.com/symfony/maker-bundle/pull/1631doctine/persistence v4 support, drop xml entity config support by @kbond in https://github.com/symfony/maker-bundle/pull/1677User::getRoles() by @Curryed in https://github.com/symfony/maker-bundle/pull/1646#[AsEventListener] arg by @kbond in https://github.com/symfony/maker-bundle/pull/1687AsMessage for routing if available by @kbond in https://github.com/symfony/maker-bundle/pull/1690options_code by @nicolas-grekas in https://github.com/symfony/maker-bundle/pull/1657CHANGELOG.md by @kbond in https://github.com/symfony/maker-bundle/pull/1689Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.62.1...v1.63.0
v1.62.0 contained a change that added php-cs-fixer as a required dependency. This caused a lot of problems downstream. We've reverted this change.
Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.62.0...v1.62.1
Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.61.0...v1.62.0
Howdy Makers!
Aside from squashing a few bugs mentioned below, this releases adds a few improvements such as the ability to generate CRUD without needing to have a trailing / in the index path, reading twig_component.yaml to determine the appropriate namespace (directory structure) when creating Twig Components, matching event names to event classes/id's with make:listener, and improving PHP types with make:registration-form & make:reset-password.
We're also starting to roll out a config based final classes system with all of our make:* commands. In essence, you'll be able to set config values to determine if generated classes should be made final. This release adds the ability to do so with make:voter & make:crud - other makers will soon follow.
# config/packages/maker.yaml
when@dev:
maker:
root_namespace: 'App'
generate_final_classes: true
generate_final_entities: false
(See https://github.com/symfony/recipes/pull/1315 for the flex recipe)
By default, MakerBundle will generate all non-entity classes with the final PHP keyword. Changing generate_final_classes to false will disable this feature. If you're app has the need to have final entities, setting generate_final_entities to true will allow make:entity to add the final keyword to new entities. For classes & entities, we're using an all or nothing approach.
Enjoy!
August 29th, 2024
make:twig-component by reading the configuration file - @shadowcgetPassword() return type in certain instance with PasswordAuthenticatedUserInterface - @seb-jeanFull Changelog: https://github.com/symfony/maker-bundle/compare/v1.60.0...v1.61.0
Howdy Makers!
We've improved type support in the generated templates to help keep static analysis tools happy, make:entity now supports enums, relaxed ASCII character validation for entity names, & much more.
For MakerBundle Dev's:
composer tools:upgrade - Upgrade all of the tools/ dependencies.composer tools:run - Run php-cs-fixer, phpstan, & twigcs against the code base.tools:run:php-cs-fixer - Run just php-cs-fixer. Works with phpstan & twigcs as well.Enjoy!
June 10th, 2024
Diff: https://github.com/symfony/maker-bundle/compare/v1.59.1...v1.60.0
Howdy Makers!
This is a tiny release that fixes the make:auth deprecation logic - the deprecation is only fired when you actually use the make:auth command.
Sorry for the noise! 😉
Enjoy!
May 5th, 2024
Diff: https://github.com/symfony/maker-bundle/compare/v1.59.0...v1.59.1
Howdy Makers,
One of the most notable changes to this release is the deprecation of make:auth. Almost a year ago, we introduced make:security:form-login in v1.49.0 and in this release we're introducing make:security:custom to speed up making custom security authenticators. These two commands fill the gap that make:auth would leave otherwise.
Along with a handful of other features, make:entity no longer adds any of the [@method](https://github.com/method) annotations to the entity class and if you're adding a relation to an entity with the same name as the "parent" entity - maker will help differentiate the two classes in the CLI output.
Aside from fixing the code generated by make:serializer:encoder to match the interface signatures it uses, we've also introduced another new feature:
We've added the ability to generate tests that should work out of the box for:
make:crudmake:registrationmake:reset-passwordmake:security:form-loginTo generate these tests, you can either answer y || yes when the maker asks you "Do you want to generate PHPUnit tests?" Or simply pass --with-tests when calling the command. Review the generated test, customize it to your needs, and finally run php bin/phpunit. More tests for more makers are soon to follow!
Enjoy!
April 27th, 2024
EmailVerifier::class - @jrushlowbool type to User::isVerified - @jrushlowDiff: https://github.com/symfony/maker-bundle/compare/v1.58.0...v1.59.0
Howdy Makers,
We've added not one, but two, brand spanking new makers to the bundle! make:webhook handles a bit of the grunt work needed to get your app responding to external events using Symfony's Webhook Component. But what about generating that report every Monday at 3am? Don't worry, MakerBundle can handle that too, turn off your alarm clock and type make:schedule to generate a new schedule for Symfony's Scheduler Component .
Both of these components are fairly new - we look forward to hearing your feedback on how we can make either of these maker's better. In the meantime, checkout the docs below for each component.
In other news, make:entity can now handle is'ers and has'ers a bit better. If your entity has a property, say $isPizzaGood, maker will generate public function isPizzaGood() instead of isIsPizzaGood(). And, if your entity happens to have a collection of pizza's - it adds the appropriate DocBlock annotation to the property to aid in static analysis & code completion. E.g.
/** [@var](https://github.com/var) Collection<int, Pizza> */
#[ORM\MandToOne(....)
private Collection $pizza;
Enjoy!
April 6th, 2024
Diff: https://github.com/symfony/maker-bundle/compare/v1.57.0...v1.58.0
Howdy Makers,
Instead of calling $request->request->get(), we're using the new getPayload() method in controller templates, you can generate entities with UUID's || ULID's instead of an int as the id, and we've fixed up a few exception messages to make things a bit more clear. SymfonyCast's VerifyEmailBundle released v1.17.0 recently that introduces a few deprecation's & make:registration was updated to take handle those new features.
Check out the PR's below for more details on the new features. Anywho, back PR Squashing...
March 22nd, 2024
getString() instead of get() - @seb-jeangetPayload() instead of accessing request on Request objects - @Fan2ShrekDiff: https://github.com/symfony/maker-bundle/compare/v1.56.0...v1.57.0
Enjoy!
Howdy Makers,
We've added a host of new features focusing around bringing MakerBundle up to snuff with it's peers. In make:user, we're shifting towards using the preferred UniqueConstraint instead of Column(unique: true), make:reset-password ensures the password is not compromised and packs some strength, and you can have your make:migrations nice and tidy by passing --formatted. Check out the changelog for all of the features and fixes that our community has contributed to this release!
March 4th, 2024
single_text widget for all date types - @tacman--formatted to the command - @StevenRenauxDiff: https://github.com/symfony/maker-bundle/compare/v1.55.1...v1.56.0
Enjoy!
Howdy Makers,
A tiny release that moves a conditional in make:entity to it's proper place. Otherwise, an exception was thrown to install Mercure before asking if you wanted to broadcast entity updates. Thanks to @fabgg for bringing this to our attention.
February 21st, 2024
Diff: https://github.com/symfony/maker-bundle/compare/v1.55.0...v1.55.1
Enjoy!
Howdy Makers!
This release squashes a few long standing bugs that were floating around out there. Notably, make:entity uses ux-turbo instead of the archived ux-turbo-mercure package. The "types wizard" in make:entity will only show the doctrine types that are available instead of a static list of possibly unavailable types. For the features, we've upgraded the bundled php-cs-fixer to v3.49.0, added a few docblocks to help with static analysis tools, and I supposed it was about time we stopped calling createView() on form objects in make:registration-form && make:reset-password
Big thanks to the community for creating issues and submitting PR's!
February 20th, 2024
Generated by Git Released
Diff: https://github.com/symfony/maker-bundle/compare/v1.54.0...v1.55.0
Enjoy!
Howdy Makers!
We're saying goodbye to Symfony 6.3 :( But are welcoming in support for doctrine/dbal 4.0 and doctrine/orm 3.0! For the Windows folks out there, we discovered that the bundled php-cs-fixer wasn't working as expected. Naturally, our bug smashing hammer was put to good use and generated PHP files are nice and tidy. Along with a handful of DX improvements, we've bumped the doctrine/orm and doctrine/doctrine-bundle composer requirements to 2.15 & 2.10 respectively.
Speaking of DX, we've completed a bit of housekeeping on the testing front. Windows tests are running on GitHub Actions instead of AppVeyor, and while adding a few development env's to phpunit.xml.dist, we cleaned things up a bit to play nicely with PHPUnit 9.6.
February 6th, 2024
Generated by Git Released
Diff: https://github.com/symfony/maker-bundle/compare/v1.53.0...v1.54.0
Enjoy!
Howdy!
We've added support for PHP Parser v5 & to make room for Twig v4, we've dropped support for Twig v2 which reached it's EOL last year. With a few other minor features, we've managed to squash a bug or two along the way...
February 1st, 2024
Diff: https://github.com/symfony/maker-bundle/compare/v1.52.0...v1.53.0
Enjoy!
Hi Makers!
This release contains support for Symfony 7 along with a setup of other features and bug fixes.
Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.51.1...v1.52.0
Happy making!
Hi Makers!
This release contains one bug fix to make:fixtures. That's it!
Full Changelog: https://github.com/symfony/maker-bundle/compare/v1.51.0...v1.51.1
Happy making!
Hey Makers!
This release modernizes MakerBundle and fixes several deprecated code generations. The important details are:
Full Changes: https://github.com/symfony/maker-bundle/compare/v1.50.0...v1.51.0
Hey Makers!
This release contains several fixes and improvements across the board.
Jul 10th, 2023
Diff: https://github.com/symfony/maker-bundle/compare/v1.49.0...v1.50.0
Enjoy!
Hey Makers!
This release contains a large number of updates & fixes across many makers (from over the past 6 months!).
Jun 7th, 2023
get_class_to_class_keyword PHP-CS-Fixer rule - @seb-jeanDiff: https://github.com/symfony/maker-bundle/compare/v1.48.0...v1.49.0
Enjoy!
Howdy Makers!
This small release sets the mixed type for the subject when using make:voter to improve support with static analysis tools out of the box. We've also squashed few bugs in make: entity, registration, & controller. Check out the Changelog for more details!
November 14th, 2022
Diff: https://github.com/symfony/maker-bundle/compare/v1.47.0...v1.48.0
Enjoy!
Hi Makers!
Twig-Components shouldn't be the only ones staying organized... As such, generated make:twig-extension are now stored in src/Twig/Extension to keep things nice and tidy.
We've also smashed a couple bugs in make:serializer & make:crud. Plus, we've found and double smashed a tiny bug in make:registration-form when using email verification... Check out the ChangeLog for more details!
October 4th, 2022
upgradePassword - @seb-jeanDiff: https://github.com/symfony/maker-bundle/compare/v1.46.0...v1.47.0
Enjoy!
Howdy Makers!
For all of the UX fans out there, and I'm sure that's everyone, we've added a new make:twig-component! Hooray!!! Compatibility with API Platform v3 has been fixed & we've hoped to reduce confusion by renaming the add() repository method to save() when dealing with entities in make:crud.
Thank you to all the contributors for the bugs that have been squashed and the new features that have been delivered!
September 23rd, 2022
make:twig-component maker - @kbondDiff: https://github.com/symfony/maker-bundle/compare/v1.45.0...v1.46.0
Enjoy!
Howdy Makers!
This is a maintenance release for users who are still on version 1.39.0 with Symfony 4.4. This release includes a couple of bug fixes for legacy annotations in Doctrine and in our DoctrineHelper.
If you are still using MakerBundle v1.39.x, we strongly encourage you to upgrade to the latest version of Symfony to utilize the latest and greatest that MakerBundle has to offer!
September 13th, 2022
#1181 - [4.4] handle legacy Doctrine Persistence AnnotationDriver - @jrushlow
#1163 - fix attribute support in symfony 4.4 applications - @spyridonas
Happy Making!
Howdy Makers!
Instead of appending an item to a collection using brackets $collection[] = $item, we now generate code that utilizes Doctrines add() method. We've also squashed a couple minor bugs in make:entity && make:registration-form.
July 26th, 2022
id - @jrushlowDiff: https://github.com/symfony/maker-bundle/compare/v1.44.0...v1.45.0
Enjoy!
Hi Fellow Makers!!
This is a pretty significant release as we have dropped support for PHP 7, dropped entity annotation support, & bumped the minimum Doctrine version requirements. With all of that out of the way, we've added Typed properties and Doctrine Type Constants with type guessing to make:entity, better support for UUID & ULID's, & improved the generated Subscribers by using Kernel Event Constants in make:subscriber.
Behind the scenes we've removed a TON of legacy code, implemented better typing, & simplified out tests where possible to make it easier for you to contribute to MakerBundle!
July 13th, 2022
Diff: https://github.com/symfony/maker-bundle/compare/v1.43.0...v1.44.0
Enjoy!
How can I help you explore Laravel packages today?