UserFrosting Versions Save

Modern PHP user login and management framework

v4.6.7

1 year ago

5.0.0-alpha2

1 year ago

The release of Alpha1 was created using the wrong branch. This release fix this, and brings no other changes from the first (intended) release.


This is the first pre-release of UserFrosting 5 !

IMPORTANT: This version is unstable and meant for development purpose only. It's should not be used on your own project. Things are not 100% final and no documentation is provided.

This version is meant as a the first stepping stone of the big V5 released, a way to "freeze frame" the current code and as a first technical release test. It's also meant for UserFrosting developers to get a first glimpse of what's coming up.

While no major changes are planed at this stage, things could still be moving around. No breaking changes might not be documented during the alpha stage. Limited support for UF5 can be found for this alpha on the chat or GitHub Discussions.

Requirements

  • PHP 8.0 or 8.1
  • Node.js 14 or higher
  • Database (MariaDB, MySQL, Postgres, SQLite, or SQL Server)
  • Composer 2

Installation

To install locally, you can use theses commands, as long as you met the requirements above (i.e. PHP and Node installed). When running the bake command, you can select sqlite if you don't have a database engine installed.

composer create-project userfrosting/userfrosting UserFrosting "^5.0.0@dev"
cd UserFrosting/
php bakery bake

Seeds are currently not run automatically. To manually run seeds (to create default groups, roles and permissions), run this command:

php bakery seed

Website can be locally served with the following command and then be accessed at http://localhost:8888.

php -S localhost:8888 -t public

What is UserFrosting 5 ?

UserFrosting 5 is the culmination of more than a year of work by @lcharette. It is a complete rewrite of the backend PHP code. And by complete, we really mean complete. No class was left untouched! The main updates are :

  • Slim 3 upgraded to Slim 4
  • Pimple Container replaced with PHP-DI
  • Frontend assets management replaced with Webpack Encore
  • New Sprinkle system, now with extra modularity
  • Skeleton type main repo for easier
  • Built in sprinkle are now managed by Composer
  • New Event dispatcher and listener services
  • New Bakery command for easier debugging
  • 100% test coverage and quality check through PHPStan
  • And so much more

The Slim migration itself is a big deal. While brining UF to a more modern era, it had the most impact on the core changes applied to the UserFrosting framework. Most changes were made in response to the new Slim 4 requirements and changes. It also required the use of a new Dependency Injector, which itself really brought UF5 to a whole new level. You should really check out PHP-DI, it's awesome!

Basically, UF5 uses updated dependencies, all of existing code have been updated to new standard and new test coverage should provide better long term stability.

What UserFrosting 5 isn't ?

UF5 is not a drop-in replacement for UF4. The whole backend has been rewritten, with a new container, sprinkle system, etc. which will require most sprinkle to be updated manually.

UserFrosting 5 also offers the same frontend as UserFrosting 4. But the bases have been set for the future, with Webpack Encore and the current AdminLTE theme separated in it's own Sprinkle providing the necessary tools for Vue.js or other similar frontend.

Known bugs and missing features

While most features are ready at this point, some things are not:

  • [Core] Default seeds are not run automatically on Bake
  • [Core Sprinkle] CSRF service not reimplemented yet.
  • [Core Sprinkle] Clear cache bakery command is not implemented yet.
  • [Core & Admin Sprinkles] Sprunje pagination might not work properly.
  • [Admin Sprinkle] Enabling/Disabling using the dropdown a user is not enabled (requires CORS).
  • [Admin Sprinkle] Clear cache button doesn't work.
  • [AdminLTE Theme] Alert messages might not be properly displayed, for example when a login error should be shown
  • [Webpack Encore] Sprinkle entries needs to be manually copied in their parent sprinkle (Will require a custom plugin or contribution to Encore)
  • [General] Some test coverage still need to be added

What's next? When will it be stable? How can I help?

There's currently no ETA on the release date of the first stable version. For now, alpha released are planed, when necessary, until all features and code coverage are done. Once this is done, the first beta should be released and work will start on the documentation. Once this is also done, the first stable release should be released.

The best way to help is to contribute to the code and create pull requests. You can also help by testing the current release and signaling bugs by opening a new issue. Just make sure to reference V5!

Alternatively, you can contribute through our Open Collective or buying a coffee round.

v4.6.6

1 year ago

Fix

  • Added dependencies to AddingForeignKeys Migration (#1212)

New Contributors

Full Changelog: https://github.com/userfrosting/UserFrosting/compare/v4.6.5...v4.6.6

5.0.0-alpha1

1 year ago

This is the first pre-release of UserFrosting 5 !

IMPORTANT: This version is unstable and meant for development purpose only. It's should not be used on your own project. Things are not 100% final and no documentation is provided.

This version is meant as a the first stepping stone of the big V5 released, a way to "freeze frame" the current code and as a first technical release test. It's also meant for UserFrosting developers to get a first glimpse of what's coming up.

While no major changes are planed at this stage, things could still be moving around. No breaking changes might not be documented during the alpha stage. Limited support for UF5 can be found for this alpha on the chat or GitHub Discussions.

Requirements

  • PHP 8.0 or 8.1
  • Node.js 14 or higher
  • Database (MariaDB, MySQL, Postgres, SQLite, or SQL Server)
  • Composer 2

Installation

To install locally, you can use theses commands, as long as you met the requirements above (i.e. PHP and Node installed). When running the bake command, you can select sqlite if you don't have a database engine installed.

composer create-project userfrosting/userfrosting UserFrosting "^5.0.0@dev"
cd UserFrosting/
php bakery bake

Seeds are currently not run automatically. To manually run seeds (to create default groups, roles and permissions), run this command:

php bakery seed

Website can be locally served with the following command and then be accessed at http://localhost:8888.

php -S localhost:8888 -t public

What is UserFrosting 5 ?

UserFrosting 5 is the culmination of more than a year of work by @lcharette. It is a complete rewrite of the backend PHP code. And by complete, we really mean complete. No class was left untouched! The main updates are :

  • Slim 3 upgraded to Slim 4
  • Pimple Container replaced with PHP-DI
  • Frontend assets management replaced with Webpack Encore
  • New Sprinkle system, now with extra modularity
  • Skeleton type main repo for easier
  • Built in sprinkle are now managed by Composer
  • New Event dispatcher and listener services
  • New Bakery command for easier debugging
  • 100% test coverage and quality check through PHPStan
  • And so much more

The Slim migration itself is a big deal. While brining UF to a more modern era, it had the most impact on the core changes applied to the UserFrosting framework. Most changes were made in response to the new Slim 4 requirements and changes. It also required the use of a new Dependency Injector, which itself really brought UF5 to a whole new level. You should really check out PHP-DI, it's awesome!

Basically, UF5 uses updated dependencies, all of existing code have been updated to new standard and new test coverage should provide better long term stability.

What UserFrosting 5 isn't ?

UF5 is not a drop-in replacement for UF4. The whole backend has been rewritten, with a new container, sprinkle system, etc. which will require most sprinkle to be updated manually.

UserFrosting 5 also offers the same frontend as UserFrosting 4. But the bases have been set for the future, with Webpack Encore and the current AdminLTE theme separated in it's own Sprinkle providing the necessary tools for Vue.js or other similar frontend.

Known bugs and missing features

While most features are ready at this point, some things are not:

  • [Core] Default seeds are not run automatically on Bake
  • [Core Sprinkle] CSRF service not reimplemented yet.
  • [Core Sprinkle] Clear cache bakery command is not implemented yet.
  • [Core & Admin Sprinkles] Sprunje pagination might not work properly.
  • [Admin Sprinkle] Enabling/Disabling using the dropdown a user is not enabled (requires CORS).
  • [Admin Sprinkle] Clear cache button doesn't work.
  • [AdminLTE Theme] Alert messages might not be properly displayed, for example when a login error should be shown
  • [Webpack Encore] Sprinkle entries needs to be manually copied in their parent sprinkle (Will require a custom plugin or contribution to Encore)
  • [General] Some test coverage still need to be added

What's next? When will it be stable? How can I help?

There's currently no ETA on the release date of the first stable version. For now, alpha released are planed, when necessary, until all features and code coverage are done. Once this is done, the first beta should be released and work will start on the documentation. Once this is also done, the first stable release should be released.

The best way to help is to contribute to the code and create pull requests. You can also help by testing the current release and signaling bugs by opening a new issue. Just make sure to reference V5!

Alternatively, you can contribute through our Open Collective or buying a coffee round.

v4.6.5

1 year ago

Fix

  • Fix for FindUniqueTest when class mappings are changed (#1201)
  • Allowing no default group on register (#1202)
  • Allow Composer plugin by default
  • Add PHP 8.1 version to test suite

Full Changelog: https://github.com/userfrosting/UserFrosting/compare/v4.6.4...v4.6.5

v4.6.4

2 years ago

Fix

  • Foreign Key constraint fails when an admin attempts to create a new user (#1190)
  • Fix for AccountControllerTest when registration is disabled (#1192)
  • Native install on PHP 8.* install fails due to eventdispatcher incompatibility between rockettheme and Symphony (#1195 & #1196)
  • Fix PHP7.4+ compatibility in Model findUnique (#1193)
  • Handle the case where all roles are removed from a user (#1194)

What's Changed

New Contributors

Full Changelog: https://github.com/userfrosting/UserFrosting/compare/v4.6.3...v4.6.4

v4.6.3

2 years ago

Security

  • Added placeholder URL for site.uri.public in configuration to guard against Host Header Injection attacks by default in production.

IMPORTANT : As of 4.6.3, site.uri.public must be explicitly set in your production configuration to avoid security issues. If not set, some links and emails will not work properly. See Going Live for more info.

What's Changed

Full Changelog: https://github.com/userfrosting/UserFrosting/compare/v4.6.2...v4.6.3

v4.6.2

2 years ago

Changes

  • Updated Portuguese translation (#1178).

Fix

  • Fix UF_MODE not being loaded by Config (#1177).

New Contributors

v4.6.1

2 years ago

Fixed

  • Fix error when building assets. Updated @yarnpkg/shell from ^2.4.1 to ^3.0.0 (#1168).
  • Set psr/log in composer.json to avoid conflict with dependencies.

v4.5.2

2 years ago
  • Fix error when building assets. Updated @yarnpkg/shell from ^2.4.1 to ^3.0.0 (#1168).