v5.0.0
[v5.0.0 - 11/08/2021]
You should follow the upgrade guide (UPGRADE.md) to help you change to this version
Fixed
- When support redirects to a module page, the query string is added to the new redirection
- Handle error thrown by the
ControlServiceProviderwhen settings retrieved in the service provider due to no set app key
Added
- Image URL for module instance and activity models
- Added a blade wrapper around content and the frontend body, to allow for further html customisations
- Added Setting framework for global and user settings (portal-147, portal-265)
- Add more injected data that js can access
- Old input
- Validation errors
- All named routes
- config values
support.urlandsupport.api_urlthat can be used to get the base url or api url.
Changed
- Upgraded from PHP 7.4 to PHP 8.0
- Upgraded from Laravel 6.0 to Laravel 8.0
- Use modern factories for everything rather than legacy factories. If your tests use any factories from Control or the SDK, you'll need to change them to use modern factories.
- Changed the variable names to be injected for JavaScript use, and do so through a view composer for all Bristol SU bases.
- Add
hasUser,hasGroupandhasRoleto the Authentication contract. - Neatened up middleware groups to only those documented
Removed
- Moved authentication to the portal-auth package
- Moved Passport Service provider
- Moved the `BristolSU\Support\Authentication\Contracts\Authentication implementations
- Moved the request->user() function override to the portal-auth package
- Moved everything in the
BristolSU\Support\Usernamespace to package.BristolSU\Support\User\User->BristolSU\Auth\User\AuthenticationUserBristolSU\Support\User\UserRepository->BristolSU\Auth\User\AuthenticationUserRepositoryBristolSU\Support\User\Contracts\UserRepository->BristolSU\Auth\User\Contracts\AuthenticationUserRepository- User authentication resolvers for both API and Web
BristolSU\Support\User\Contracts\UserAuthentication->BristolSU\Auth\User\Contracts\AuthenticationUserResolver
- CheckAdminIsAtLeastUser obsolete because now handled in the Authentication
getDatabaseUser()andsetDatabaseUser()from testing - tests no longer use database users- Deleted
BristolSU\ActivityInstance\AuthenticationProvider\ActivityInstanceProvideras now handled throughWebRequestActivityInstanceResolverandApiActivityInstanceResolver BristolSU\Testing\ActivityInstance\LaravelAuthActivityInstanceResolverchanged to use session rather than the whole laravel auth system, and renamed toBristolSU\Testing\ActivityInstance\SessionActivityInstanceResolver
- Simplified default header (portal-226)
- Removed the passport dependency
- Removed support for the blade partials cookies_warning and analytics