This section contains some info about what's changed in the latest version and how you should update your Vanguard application. You can find the version you are currently using inside config/app.php
file. The complete changelog is available in the item description on CodeCanyon.
NOTE: While doing the upgrade, it's always a good idea to have the Development Mode turned on so you can easily see the errors on the screen.
To 9.1.0 from 9.0.0
Two new features added!
We've added support for "Pending" users, meaning that, if the feature is enabled, users will have to be approved by an admin to be able to log in to Vanguard. After a user is approved by the admin, they'll get an email notification that their account is approved and that he is able to log in.
Another new feature is the ability to force a password reset on the next login. When this feature is enabled, all users created by the admin will be requested to reset their password on their next login. Admins can also request a password reset for any user who's currently in the system.
The list of changed files is available below:
app/Events/User/Approved.php | 17 +
app/Http/Controllers/Api/Auth/AuthController.php | 4 +
app/Http/Controllers/Api/Auth/RegistrationController.php | 2 +-
app/Http/Controllers/Api/Auth/SocialLoginController.php | 4 +
app/Http/Controllers/Api/Users/UsersController.php | 2 +-
app/Http/Controllers/Web/Auth/LoginController.php | 16 +-
app/Http/Controllers/Web/Auth/RegisterController.php | 9 +-
app/Http/Controllers/Web/Auth/SocialAuthController.php | 20 +-
app/Http/Controllers/Web/Profile/LoginDetailsController.php | 7 +-
app/Http/Controllers/Web/SettingsController.php | 29 ++
app/Http/Controllers/Web/Users/DetailsController.php | 27 ++
app/Http/Controllers/Web/Users/LoginDetailsController.php | 1 +
app/Http/Controllers/Web/Users/UsersController.php | 2 +
app/Http/Kernel.php | 2 +
app/Http/Middleware/EnsureUserIsApproved.php | 27 ++
app/Http/Middleware/ForcePasswordChange.php | 34 ++
app/Http/Requests/Auth/RegisterRequest.php | 11 +-
app/Listeners/Approve/SendApprovedNotification.php | 22 ++
app/Listeners/Approve/SendWaitingApprovalNotification.php | 26 ++
app/Listeners/Users/ActivateUser.php | 2 +-
app/Mail/UserApproved.php | 24 ++
app/Mail/WaitingApproval.php | 25 ++
app/Providers/EventServiceProvider.php | 7 +
app/Providers/VanguardServiceProvider.php | 2 +
app/Services/Auth/Social/SocialManager.php | 2 +-
app/Support/Authorization/PasswordChangeManager.php | 44 +++
app/Support/Enum/UserStatus.php | 9 +-
app/Support/Plugins/Dashboard/Widgets/UsersAwaitingApproval.php | 42 ++
app/User.php | 7 +-
composer.json | 2 +-
composer.lock | 2440 +-
database/migrations/2024_07_24_113901_add_force_password_change_column.php | 29 ++
public/assets/css/app.css | 2 +-
public/assets/js/delete.handler.js | 2 +-
public/assets/js/vendor.js | 2 +-
public/mix-manifest.json | 6 +-
resources/lang/de.json | 20 +-
resources/lang/de/app.php | 1 +
resources/lang/de/auth.php | 1 +
resources/lang/en/app.php | 1 +
resources/lang/en/auth.php | 1 +
resources/lang/sr.json | 20 +-
resources/lang/sr/app.php | 1 +
resources/lang/sr/auth.php | 1 +
resources/views/auth/approval.blade.php | 17 +
resources/views/auth/social/buttons.blade.php | 8 +-
resources/views/mail/user-approved.blade.php | 12 +
resources/views/mail/waiting-approval.blade.php | 18 +
resources/views/plugins/dashboard/widgets/users-awaiting-approval.blade.php | 8 +
resources/views/settings/auth.blade.php | 4 +-
resources/views/settings/partials/confirm-flow.blade.php | 31 ++
resources/views/settings/partials/password-change.blade.php | 31 ++
resources/views/user/add.blade.php | 2 +-
resources/views/user/edit.blade.php | 19 +-
resources/views/user/list.blade.php | 2 +-
resources/views/user/partials/auth.blade.php | 20 +-
resources/views/user/partials/details.blade.php | 2 +-
resources/views/user/partials/row.blade.php | 22 +-
resources/views/user/profile.blade.php | 17 +-
routes/api.php | 2 +-
routes/web.php | 24 +-
storage/settings.json | 2 +-
tests/Feature/Web/LoginTest.php | 36 ++
tests/Feature/Web/RegistrationTest.php | 45 +++
tests/Feature/Web/Settings/ApprovalSettingsTest.php | 49 +++
65 files changed, 2016 insertions(+), 1310 deletions(-)
To 9.0.0 from 8.1.1
Laravel 11 and Two Factor update.
We've updated Vanguard to the most recent version of Laravel in this version. That means that the Laravel version in the composer.json file has been updated along with versions for some third-party packages, so the first thing to do is to make sure that you update that one as well.
A second big change is that we've removed the laravelcollective/html package which means that the majority of blade files have been updated since it changed the way how we rendered the forms, form inputs, style, and script tags.
The third important update is that we've replaced Authy two-factor authentication with a QR code one, so Authy-related classes and methods are no longer part of the project. If you are already using Authy for 2FA, there is no need to change anything or remove those files. If you are not using it, feel free to remove the files and add the newly added files for the new 2FA implementation.
The logo file has been renamed and we've introduced a new logo blade component. The purpose of this is to make logo customization much easier and to keep everything in one place.
The list of changed files is available below:
app/Http/Controllers/Api/Profile/TwoFactorController.php | 57 +--
app/Http/Controllers/Api/Users/TwoFactorController.php | 41 +-
app/Http/Controllers/Web/Auth/LoginController.php | 7 +-
app/Http/Controllers/Web/Auth/SocialAuthController.php | 3 +-
app/Http/Controllers/Web/Auth/TwoFactorTokenController.php | 13 +-
app/Http/Controllers/Web/InstallController.php | 2 +-
app/Http/Controllers/Web/Profile/AvatarController.php | 2 +-
app/Http/Controllers/Web/Profile/ProfileController.php | 2 +-
app/Http/Controllers/Web/TwoFactorController.php | 70 +--
app/Http/Kernel.php | 2 +-
app/Http/Middleware/{VerifyTwoFactorPhone.php => VerifyTwoFactorCode.php} | 4 +-
app/Http/Requests/TwoFactor/EnableTwoFactorRequest.php | 5 +-
app/Http/Requests/TwoFactor/TwoFactorLoginRequest.php | 61 +++
app/Http/Requests/TwoFactor/VerifyTwoFactorTokenRequest.php | 2 +-
app/Providers/FortifyServiceProvider.php | 24 +
app/Providers/HtmlServiceProvider.php | 34 --
app/Repositories/Role/EloquentRole.php | 2 +-
app/Repositories/Role/RoleRepository.php | 2 +-
app/Services/Auth/TwoFactor/Authy.php | 95 ----
app/Services/Auth/TwoFactor/AuthyServiceProvider.php | 21 -
app/User.php | 15 +-
app/View/Components/Logo.php | 40 ++
composer.json | 24 +-
config/app.php | 14 +-
config/cache.php | 3 +
config/database.php | 25 +-
config/filesystems.php | 5 +
config/fortify.php | 159 ++++++
config/mail.php | 17 +-
config/queue.php | 17 +
config/services.php | 11 +
config/session.php | 14 +-
database/migrations/2024_07_10_131649_add_two_factor_columns_to_users_table.php | 46 ++
public/assets/img/{vanguard-logo-no-text.png => logo-no-text.png} | Bin
public/assets/img/{vanguard-logo.png => logo.png} | Bin
resources/lang/de.json | 10 +-
resources/lang/sr.json | 12 +-
resources/views/auth/login.blade.php | 4 +-
resources/views/auth/passwords/email.blade.php | 2 +-
resources/views/auth/passwords/reset.blade.php | 2 +-
resources/views/auth/register.blade.php | 2 +-
resources/views/auth/token.blade.php | 8 +-
resources/views/components/logo.blade.php | 4 +
resources/views/install/database.blade.php | 7 +-
resources/views/install/installation.blade.php | 7 +-
resources/views/layouts/auth.blade.php | 10 +-
resources/views/layouts/install.blade.php | 8 +-
resources/views/partials/navbar.blade.php | 4 +-
resources/views/permission/add-edit.blade.php | 8 +-
resources/views/permission/index.blade.php | 25 +-
resources/views/plugins/dashboard/widgets/registration-history-scripts.blade.php | 5 +-
resources/views/role/add-edit.blade.php | 7 +-
resources/views/settings/general.blade.php | 5 +-
resources/views/settings/notifications.blade.php | 5 +-
resources/views/settings/partials/auth.blade.php | 12 +-
resources/views/settings/partials/recaptcha.blade.php | 22 +-
resources/views/settings/partials/registration.blade.php | 22 +-
resources/views/settings/partials/throttling.blade.php | 13 +-
resources/views/settings/partials/two-factor.blade.php | 23 +-
resources/views/user/add.blade.php | 9 +-
resources/views/user/edit.blade.php | 24 +-
resources/views/user/list.blade.php | 15 +-
resources/views/user/partials/details.blade.php | 30 +-
resources/views/user/partials/two-factor.blade.php | 101 ++--
resources/views/user/profile.blade.php | 27 +-
resources/views/user/two-factor-verification.blade.php | 11 +-
resources/views/vendor/mail/html/message.blade.php | 2 +-
resources/views/vendor/notifications/email.blade.php | 2 +-
routes/web.php | 22 +-
storage/settings.json | 2 +-
tests/Feature/Api/Profile/TwoFactorControllerTest.php | 94 ++--
tests/Feature/Api/Users/TwoFactorControllerTest.php | 85 ++--
tests/Feature/Web/LoginTest.php | 48 +-
tests/Feature/Web/TwoFactorAuthTest.php | 333 +++----------
tests/Setup/UserFactory.php | 8 -
tests/Unit/Repositories/Role/EloquentRoleTest.php | 2 +-
To 8.1.1 from 8.1.0
This version contains just a fix in the installation wizard. If you are already using Vanguard, there is no need to update any of the files.
If you are installing it from scratch, just download the latest version from CodeCanyon and you should be good to go.
The list of changed files is available below:
app/Http/Middleware/VerifyInstallation.php
app/Http/Controllers/Web/InstallController.php
config/app.php // just a version update
To 8.1.0 from 8.0.0
This upgrade brings a couple of new features and fixes some small bugs.
This version also comes with Larvel Pint so there are a lot of changed files, however, the majority of the changes are caused by Pint or by some cleanup that we performed manually, so you don't have to update them if you don't want to.
Below is the list of new files that you should copy to the appropriate directories:
app/Http/Middleware/SetLocale.php
app/Support/Locale.php
public/flags/RS.png
resources/views/partials/locale-dropdown.blade.php
Below is the list of updated files that you should check since they either contain some new code or are affected by the refactoring. Please check files one by one instead of just overwriting them since this upgrade brings some things like function return types and so on, so if you overwrite the file things might stop working.
app/Http/Controllers/Api/Auth/AuthController.php
app/Http/Controllers/Api/Auth/RegistrationController.php
app/Http/Controllers/Api/Authorization/RolesController.php
app/Http/Controllers/Api/Profile/TwoFactorController.php
app/Http/Controllers/Api/Users/TwoFactorController.php
app/Http/Controllers/Web/Auth/ForgotPasswordController.php
app/Http/Controllers/Web/Auth/LoginController.php
app/Http/Controllers/Web/Auth/RegisterController.php
app/Http/Controllers/Web/Auth/TwoFactorTokenController.php
app/Http/Controllers/Web/Authorization/RolesController.php
app/Http/Controllers/Web/TwoFactorController.php
app/Http/Controllers/Web/Users/DetailsController.php
app/Http/Kernel.php
app/Http/Resources/UserResource.php
app/Listeners/Registration/SendSignUpNotification.php
app/Providers/HtmlServiceProvider.php
app/Repositories/Session/DbSession.php
app/Repositories/User/UserRepository.php
app/Repositories/User/EloquentUser.php
app/Role.php
app/Rules/ValidPermissionName.php
app/Services/Auth/Social/SocialManager.php
app/Support/Enum/UserStatus.php
app/User.php
config/app.php
resources/lang/en/auth.php
resources/lang/en/passwords.php
resources/views/layouts/auth.blade.php
resources/views/partials/navbar.blade.php
resources/views/settings/partials/auth.blade.php
resources/views/user/partials/details.blade.php
resources/views/user/partials/row.blade.php
To 8.0.0 from 7.0.0
Laravel 10 upgrade.
There is a new migration file added for Laravel sanctum named 2023_03_16_151533_add_expires_at_to_personal_access_tokens_table.php, so make sure that you add that migration file to your project and run the `php artisan migrate` command.
If you've changed the applications public directory as it's explained here, make sure that you replace
$app->instance('path.public', __DIR__);
with
$app->usePublicPath(__DIR__);
The list of modified and removed files is available below. It's highly recommended to check each file and update it if necessary. Some files just contain cosmetic changes, so you don't have to update those files if you don't want to.
.editorconfig | 11 +-
.gitattributes | 15 +-
.gitignore | 6 +
.styleci.yml | 9 +
app/Http/Controllers/Web/InstallController.php | 35 +-
app/Support/Plugins/Settings.php | 7 +-
app/User.php | 5 +-
composer.json | 27 +-
composer.lock | 3515 ++++++-------
config/app.php | 66 +-
config/broadcasting.php | 17 +-
config/cache.php | 12 +-
config/database.php | 16 +-
config/filesystems.php | 15 +
config/hashing.php | 6 +-
config/logging.php | 59 +-
config/mail.php | 15 +-
config/queue.php | 9 +-
config/sanctum.php | 27 +-
config/session.php | 7 +-
database/migrations/2023_03_16_151533_add_expires_at_to_personal_access_tokens_table.php | 29 +
package-lock.json | 9557 ++++++++++++++++++++++++++++++++++-
package.json | 9 +-
phpunit.xml | 2 +-
public/assets/css/app.css | 11 +-
public/assets/css/vendor.css | 2 +-
public/assets/js/vendor.js | 2 +-
public/mix-manifest.json | 2 +-
storage/settings.json | 2 +-
tests/Feature/Api/Profile/TwoFactorControllerTest.php | 13 +-
tests/Feature/Api/Users/AvatarControllerTest.php | 13 +-
tests/Feature/Api/Users/TwoFactorControllerTest.php | 12 +-
tests/Feature/Api/Users/UsersControllerTest.php | 13 +-
tests/Feature/Web/LoginTest.php | 7 +-
tests/Feature/Web/PermissionsTest.php | 36 +-
tests/Feature/Web/TwoFactorAuthTest.php | 25 +-
tests/Feature/Web/UpdateProfileTest.php | 26 +-
tests/Feature/Web/UsersTest.php | 7 +-
tests/Unit/Presenters/UserPresenterTest.php | 3 +-
tests/Unit/Repositories/Permission/EloquentPermissionTest.php | 24 +-
tests/Unit/Repositories/Role/EloquentRoleTest.php | 19 +-
To 7.0.0 from 6.1.0
Added support for PHP 8.1 and upgraded to Laravel 9.
The list of modified and removed files is available below. It's highly recommended to check each file and update it if necessary. Some files just contain cosmetic changes, so you don't have to update those files if you don't want to.
.env.example | 2 +-
app/Console/Kernel.php | 12 +-
app/Exceptions/Handler.php | 24 +-
app/Http/Controllers/Api/Auth/RegistrationController.php | 19 +-
app/Http/Controllers/Api/Auth/SocialLoginController.php | 18 +-
app/Http/Controllers/Api/Authorization/PermissionsController.php | 8 +-
app/Http/Controllers/Api/Authorization/RolePermissionsController.php | 8 +-
app/Http/Controllers/Api/Authorization/RolesController.php | 8 +-
app/Http/Controllers/Api/Profile/AvatarController.php | 14 +-
app/Http/Controllers/Api/SessionsController.php | 8 +-
app/Http/Controllers/Api/StatsController.php | 9 +-
app/Http/Controllers/Api/Users/AvatarController.php | 15 +-
app/Http/Controllers/Api/Users/UsersController.php | 9 +-
app/Http/Controllers/Web/Auth/LoginController.php | 13 +-
app/Http/Controllers/Web/Auth/RegisterController.php | 13 +-
app/Http/Controllers/Web/Auth/SocialAuthController.php | 15 +-
app/Http/Controllers/Web/Auth/TwoFactorTokenController.php | 12 +-
app/Http/Controllers/Web/Authorization/PermissionsController.php | 18 +-
app/Http/Controllers/Web/Authorization/RolePermissionsController.php | 12 +-
app/Http/Controllers/Web/Authorization/RolesController.php | 12 +-
app/Http/Controllers/Web/InstallController.php | 2 +-
app/Http/Controllers/Web/Profile/AvatarController.php | 12 +-
app/Http/Controllers/Web/Profile/DetailsController.php | 12 +-
app/Http/Controllers/Web/Profile/LoginDetailsController.php | 12 +-
app/Http/Controllers/Web/Profile/ProfileController.php | 27 +-
app/Http/Controllers/Web/Profile/SessionsController.php | 11 +-
app/Http/Controllers/Web/Users/AvatarController.php | 14 +-
app/Http/Controllers/Web/Users/DetailsController.php | 12 +-
app/Http/Controllers/Web/Users/LoginDetailsController.php | 12 +-
app/Http/Controllers/Web/Users/SessionsController.php | 13 +-
app/Http/Controllers/Web/Users/UsersController.php | 12 +-
app/Http/Kernel.php | 14 +-
app/Http/Middleware/Authenticate.php | 16 +-
app/Http/Middleware/CheckPermissions.php | 9 +-
app/Http/Middleware/CheckRole.php | 9 +-
app/Http/Middleware/EncryptCookies.php | 6 +-
app/Http/Middleware/PreventRequestsDuringMaintenance.php | 17 +
app/Http/Middleware/RedirectIfAuthenticated.php | 41 +-
app/Http/Middleware/TrimStrings.php | 3 +-
app/Http/Middleware/TrustHosts.php | 20 +
app/Http/Middleware/TrustProxies.php | 15 +-
app/Http/Middleware/UseApiGuard.php | 15 +-
app/Http/Middleware/VerifyCsrfToken.php | 2 +-
app/Http/Middleware/VerifyInstallation.php | 4 +
app/Listeners/Login/UpdateLastLoginTimestamp.php | 13 +-
app/Listeners/Registration/SendSignUpNotification.php | 8 +-
app/Listeners/Users/ActivateUser.php | 8 +-
app/Listeners/Users/InvalidateSessions.php | 8 +-
app/Mail/UserRegistered.php | 13 +-
app/Presenters/Presenter.php | 11 +-
app/Providers/EventServiceProvider.php | 21 +-
app/Providers/RouteServiceProvider.php | 15 +-
app/Services/Auth/Social/SocialManager.php | 20 +-
app/Support/Sidebar/Item.php | 2 +-
composer.json | 36 +-
config/app.php | 2 +-
tests/Feature/Web/SocialAuthenticationTest.php | 3 +-
To 6.1.0 from 6.0.0
Added support for PHP 8 and fixed a few minor issues.
The list of modified and removed files is available below:
app/Http/Controllers/Web/Auth/SocialAuthController.php | 2 +
app/Http/Controllers/Web/Users/SessionsController.php | 2 +-
app/Http/Middleware/RedirectIfAuthenticated.php | 4 +-
app/Providers/AppServiceProvider.php | 2 +
composer.json | 26 +-
config/app.php | 2 +-
package.json | 39 +-
public/assets/css/app.css | 2 +-
public/assets/js/vendor.js | 2 +-
public/mix-manifest.json | 4 +-
resources/js/app.js | 21 -
resources/js/bootstrap.js | 34 +-
resources/js/components/Example.vue | 23 -
resources/lang/de.json | 2 +-
resources/lang/sr.json | 2 +-
resources/sass/components/switch.scss | 4 +-
To 6.0.0 from 5.0.1
Upgraded to Laravel 8 and fixed a few minor issues.
The list of modified and removed files is available below (test files are omitted for readability):
app/Country.php | 3 +
app/Http/Controllers/Api/Auth/RegistrationController.php | 2 +-
app/Http/Controllers/Web/Users/AvatarController.php | 2 +-
app/Permission.php | 3 +
app/Providers/AppServiceProvider.php | 5 +
app/Role.php | 14 +-
app/Services/Auth/Social/SocialManager.php | 3 +-
app/Support/DataArraySerializer.php | 100 ----
app/User.php | 4 +-
composer.json | 50 +-
config/app.php | 3 +-
database/factories/CountryFactory.php | 40 +-
database/factories/PermissionFactory.php | 36 +-
database/factories/RoleFactory.php | 36 +-
database/factories/TokenFactory.php | 16 -
database/factories/UserFactory.php | 63 ++-
database/migrations/2015_10_10_170827_create_users_table.php | 2 +-
database/{seeds => seeders}/.gitkeep | 0
database/{seeds => seeders}/CountriesSeeder.php | 6 +-
database/{seeds => seeders}/DatabaseSeeder.php | 10 +-
database/{seeds => seeders}/PermissionsSeeder.php | 2 +
database/{seeds => seeders}/RolesSeeder.php | 2 +
database/{seeds => seeders}/UserSeeder.php | 2 +
phpunit.xml | 66 ++-
resources/views/user/edit.blade.php | 1 -
routes/api.php | 11 +-
routes/web.php | 12 +-
To 5.0.1 from 4.0.1
Bugfix release to fix the installation wizard. The only file that has been updated is
app/Http/Controllers/Web/InstallController.php
To 5.0.0 from 4.0.1
Upgraded to Laravel 7 and fixed a few reported issues. API responses and authentication are completely changed in this version and Vanguard is now using Laravel's first-party packages for this.
The list of modified and removed files is available below (test files are omitted for readability):
app/Exceptions/Handler.php | 22 +-
app/Http/Controllers/Api/ApiController.php | 122 +-
app/Http/Controllers/Api/Auth/AuthController.php | 60 +-
app/Http/Controllers/Api/Auth/Password/RemindController.php | 12 +-
app/Http/Controllers/Api/Auth/Password/ResetController.php | 10 +-
app/Http/Controllers/Api/Auth/RegistrationController.php | 4 +-
app/Http/Controllers/Api/Auth/SocialLoginController.php | 6 +-
app/Http/Controllers/Api/Auth/VerificationController.php | 104 +
app/Http/Controllers/Api/Authorization/PermissionsController.php | 35 +-
app/Http/Controllers/Api/Authorization/RolePermissionsController.php | 23 +-
app/Http/Controllers/Api/Authorization/RolesController.php | 40 +-
app/Http/Controllers/Api/CountriesController.php | 11 +-
app/Http/Controllers/Api/Profile/AuthDetailsController.php | 15 +-
app/Http/Controllers/Api/Profile/AvatarController.php | 23 +-
app/Http/Controllers/Api/Profile/DetailsController.php | 19 +-
app/Http/Controllers/Api/Profile/SessionsController.php | 10 +-
app/Http/Controllers/Api/Profile/TwoFactorController.php | 16 +-
app/Http/Controllers/Api/SessionsController.php | 10 +-
app/Http/Controllers/Api/SettingsController.php | 2 -
app/Http/Controllers/Api/StatsController.php | 13 +-
app/Http/Controllers/Api/Users/ActivityController.php | 49 -
app/Http/Controllers/Api/Users/AvatarController.php | 16 +-
app/Http/Controllers/Api/Users/SessionsController.php | 11 +-
app/Http/Controllers/Api/Users/TwoFactorController.php | 13 +-
app/Http/Controllers/Api/Users/UsersController.php | 59 +-
app/Http/Controllers/Web/Auth/LoginController.php | 4 +-
app/Http/Controllers/Web/InstallController.php | 21 +-
app/Http/Filters/UserKeywordSearch.php | 19 +
app/Http/Kernel.php | 9 +-
app/Http/Middleware/Authenticate.php | 8 +-
app/Http/Middleware/CheckIfBanned.php | 24 +
app/Http/Middleware/UseApiGuard.php | 3 +-
app/Http/Requests/Auth/ApiLoginRequest.php | 33 +
app/Http/Requests/Auth/ApiVerifyEmailRequest.php | 21 +
app/Http/Requests/Auth/Social/ApiAuthenticateRequest.php | 1 +
app/Http/Requests/BinaryFileUploadRequest.php | 76 -
app/Http/Requests/User/UploadAvatarRawRequest.php | 11 +-
app/Http/Resources/CountryResource.php | 37 +
app/Http/Resources/PermissionResource.php | 27 +
app/Http/Resources/RoleResource.php | 38 +
app/Http/Resources/SessionResource.php | 28 +
app/Http/Resources/UserResource.php | 54 +
app/Listeners/Users/{InvalidateSessionsAndTokens.php => InvalidateSessions.php} | 9 +-
app/Providers/EventServiceProvider.php | 4 +-
app/Repositories/User/EloquentUser.php | 8 +-
app/Services/Auth/Api/ExtendsJwtValidation.php | 69 -
app/Services/Auth/Api/JWT.php | 8 -
app/Services/Auth/Api/JWTAuth.php | 8 -
app/Services/Auth/Api/JWTServiceProvider.php | 39 -
app/Services/Auth/Api/Token.php | 12 -
app/Services/Auth/Api/TokenFactory.php | 82 -
app/Transformers/CountryTransformer.php | 32 -
app/Transformers/PermissionTransformer.php | 22 -
app/Transformers/RoleTransformer.php | 33 -
app/Transformers/SessionTransformer.php | 24 -
app/Transformers/UserTransformer.php | 54 -
app/User.php | 30 +-
composer.json | 33 +-
composer.lock | 3055 ++++++++++++++----------
config/app.php | 7 +-
config/auth.php | 22 +-
config/cache.php | 1 +
config/cors.php | 34 +
config/database.php | 7 +
config/jwt.php | 262 ---
config/logging.php | 12 +-
config/mail.php | 139 +-
config/queue.php | 1 +
config/sanctum.php | 46 +
config/services.php | 1 +
config/session.php | 2 +-
config/view.php | 5 +-
database/migrations/2015_10_10_171049_create_social_login_table.php | 2 +-
database/migrations/2015_12_29_224252_create_user_activity_table.php | 2 +-
database/migrations/2017_04_13_200254_create_api_tokens_table.php | 51 -
database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php | 36 +
package.json | 17 +-
public/assets/css/app.css | 8 +-
public/assets/css/vendor.css | 2 +-
public/assets/js/vendor.js | 12 +-
public/mix-manifest.json | 6 +-
readme.md | 2 +-
resources/views/auth/login.blade.php | 2 +-
resources/views/user/profile.blade.php | 1 -
routes/api.php | 89 +-
To 4.0.1 from 4.0.0
Fixed a few small bugs and slightly updated the registration flow. From this release on the `/Documentation/Patches` folder will be removed from the ZIP archive since Git patches are being detected as a virus by some anti-virus applications.
The list of modified files is available below
app/Http/Controllers/Web/Auth/RegisterController.php | 6 ++++--
app/Http/Controllers/Web/DashboardController.php | 6 +++++-
app/Listeners/Users/ActivateUser.php | 33 +++++++++++++++++++++++++++++++++
app/Providers/EventServiceProvider.php | 5 +++++
app/User.php | 2 +-
config/app.php | 2 +-
config/filesystems.php | 2 +-
resources/lang/de.json | 5 +++--
resources/lang/sr.json | 3 ++-
resources/views/dashboard/{admin.blade.php => index.blade.php} | 1 +
tests/Feature/Web/RegistrationTest.php | 4 ++--
11 files changed, 58 insertions(+), 11 deletions(-)
To 4.0.0 from 3.2.1
Version 4 of Vanguard, which runs on Laravel 6, comes with a lot of improvements and, if you have any projects created using the previous versions of Vanguard, it's recommended to move all your modifications to a clean Vanguard 4 installation than to upgrade your existing Vanguard version.
The reason for this is because there are a lot of changed files between Vanguard 3.2.1 and Vanguard 4, and it can take pretty long to update all the files to their latest versions.
Anyways, if you decide to upgrade the Vanguard manually since there are a lot of the changes files, you will need to go through each file from the list of modified files available below and compare it with the one from version 4. It's highly recommended to check the Git patch file that contains all the differences between those two versions. The patch file is located inside the Documentation/Patches directory and you can use any text editor to open it (something like this Chrome plugin will also be a good option).
Modified files:
.gitignore | 1 +
app/Events/User/Registered.php | 30 -
app/Events/User/ResetedPasswordViaEmail.php | 26 -
app/Exceptions/Handler.php | 8 -
app/Http/Controllers/Api/ActivityController.php | 39 -
app/Http/Controllers/Api/Auth/AuthController.php | 10 +-
app/Http/Controllers/Api/Auth/Password/RemindController.php | 4 +-
app/Http/Controllers/Api/Auth/Password/ResetController.php | 10 +-
app/Http/Controllers/Api/Auth/RegistrationController.php | 19 +-
app/Http/Controllers/Api/Auth/SocialLoginController.php | 2 +-
app/Http/Controllers/Api/Profile/AvatarController.php | 1 -
app/Http/Controllers/Api/SessionsController.php | 2 +
app/Http/Controllers/Api/SettingsController.php | 4 +-
app/Http/Controllers/Api/StatsController.php | 43 +-
app/Http/Controllers/Api/Users/AvatarController.php | 30 +-
app/Http/Controllers/Api/Users/UsersController.php | 7 +-
app/Http/Controllers/Web/ActivityController.php | 68 --
app/Http/Controllers/Web/Auth/AuthController.php | 374 -------
app/Http/Controllers/Web/Auth/ForgotPasswordController.php | 45 +
app/Http/Controllers/Web/Auth/LoginController.php | 150 +++
app/Http/Controllers/Web/Auth/PasswordController.php | 113 --
app/Http/Controllers/Web/Auth/RegisterController.php | 63 ++
app/Http/Controllers/Web/Auth/ResetPasswordController.php | 61 +
app/Http/Controllers/Web/Auth/SocialAuthController.php | 25 +-
app/Http/Controllers/Web/Auth/TwoFactorTokenController.php | 75 ++
app/Http/Controllers/Web/Auth/VerificationController.php | 41 +
app/Http/Controllers/Web/{ => Authorization}/PermissionsController.php | 74 +-
app/Http/Controllers/Web/Authorization/RolePermissionsController.php | 53 +
app/Http/Controllers/Web/{ => Authorization}/RolesController.php | 43 +-
app/Http/Controllers/Web/DashboardController.php | 78 +-
app/Http/Controllers/Web/InstallController.php | 14 +-
app/Http/Controllers/Web/Profile/AvatarController.php | 85 ++
app/Http/Controllers/Web/Profile/DetailsController.php | 45 +
app/Http/Controllers/Web/Profile/LoginDetailsController.php | 51 +
app/Http/Controllers/Web/Profile/ProfileController.php | 64 ++
app/Http/Controllers/Web/Profile/SessionsController.php | 52 +
app/Http/Controllers/Web/ProfileController.php | 224 ----
app/Http/Controllers/Web/SettingsController.php | 36 +-
app/Http/Controllers/Web/TwoFactorController.php | 10 +-
app/Http/Controllers/Web/Users/AvatarController.php | 83 ++
app/Http/Controllers/Web/Users/DetailsController.php | 76 ++
app/Http/Controllers/Web/Users/LoginDetailsController.php | 54 +
app/Http/Controllers/Web/Users/SessionsController.php | 62 +
app/Http/Controllers/Web/Users/UsersController.php | 163 +++
app/Http/Controllers/Web/UsersController.php | 326 ------
app/Http/Kernel.php | 34 +-
app/Http/Middleware/EncryptCookies.php | 2 +-
app/Http/Middleware/{Registration.php => PasswordResetEnabled.php} | 6 +-
app/Http/Middleware/RegistrationEnabled.php | 25 +
app/Http/Middleware/TwoFactorEnabled.php | 25 +
app/Http/Requests/Activity/GetActivitiesRequest.php | 28 -
app/Http/Requests/Auth/PasswordResetRequest.php | 10 +
app/Http/Requests/Auth/RegisterRequest.php | 31 +-
app/Http/Requests/Permission/BasePermissionRequest.php | 8 +-
app/Http/Requests/Permission/CreatePermissionRequest.php | 9 +-
app/Http/Requests/Permission/RemovePermissionRequest.php | 3 +
app/Http/Requests/Permission/UpdatePermissionRequest.php | 11 +-
app/Http/Requests/User/CreateUserRequest.php | 1 +
app/Listeners/PermissionEventsSubscriber.php | 66 --
app/Listeners/Registration/SendConfirmationEmail.php | 43 -
app/Listeners/Registration/SendSignUpNotification.php | 8 +-
app/Listeners/RoleEventsSubscriber.php | 72 --
app/Listeners/UserEventsSubscriber.php | 204 ----
app/Mail/ResetPassword.php | 37 +
app/Mail/UserRegistered.php | 41 +
app/Notifications/EmailConfirmation.php | 54 -
app/Notifications/ResetPassword.php | 53 -
app/Notifications/UserRegistered.php | 70 --
app/Presenters/Presenter.php | 46 +
app/Presenters/Traits/Presentable.php | 26 +
app/Presenters/UserPresenter.php | 25 +-
app/Providers/AppServiceProvider.php | 5 +-
app/Providers/EventServiceProvider.php | 13 +-
app/Providers/VanguardServiceProvider.php | 52 +
app/Repositories/Activity/ActivityRepository.php | 59 -
app/Repositories/Activity/EloquentActivity.php | 98 --
app/Rules/ValidPermissionName.php | 44 +
app/Services/Auth/Api/TokenFactory.php | 2 +
app/Services/Auth/ThrottlesLogins.php | 81 ++
app/Services/Logging/UserActivity/Activity.php | 20 -
app/Services/Logging/UserActivity/Logger.php | 86 --
app/Services/Upload/UserAvatarManager.php | 89 +-
app/Support/Enum/UserStatus.php | 6 +-
app/Support/Plugins/Dashboard/Dashboard.php | 17 +
app/Support/Plugins/Dashboard/Widgets/BannedUsers.php | 44 +
app/Support/Plugins/Dashboard/Widgets/LatestRegistrations.php | 43 +
app/Support/Plugins/Dashboard/Widgets/NewUsers.php | 43 +
app/Support/Plugins/Dashboard/Widgets/RegistrationHistory.php | 71 ++
app/Support/Plugins/Dashboard/Widgets/TotalUsers.php | 43 +
app/Support/Plugins/Dashboard/Widgets/UnconfirmedUsers.php | 44 +
app/Support/Plugins/Dashboard/Widgets/UserActions.php | 27 +
app/Support/Plugins/RolesAndPermissions.php | 31 +
app/Support/Plugins/Settings.php | 40 +
app/Support/Plugins/Users.php | 18 +
app/Support/Sidebar/Item.php | 249 +++++
app/Support/helpers.php | 21 -
app/Transformers/ActivityTransformer.php | 36 -
app/Transformers/UserTransformer.php | 3 +-
app/User.php | 38 +-
composer.json | 56 +-
composer.lock | 2847 +-
config/app.php | 19 +-
config/broadcasting.php | 3 +-
config/cache.php | 13 +-
config/database.php | 48 +-
config/logging.php | 17 +-
config/mail.php | 11 +
config/plugins.php | 21 +
config/queue.php | 10 +-
config/services.php | 10 +-
config/session.php | 4 +-
config/setting.php | 85 ++
config/settings.php | 17 -
database/factories/ActivityFactory.php | 15 -
database/factories/RoleFactory.php | 2 +-
database/factories/UserFactory.php | 5 +-
database/migrations/2014_10_12_100000_create_password_resets_table.php | 4 +-
database/migrations/2015_08_25_172600_create_settings_table.php | 42 -
database/migrations/2015_10_10_170827_create_users_table.php | 2 +-
database/migrations/2015_12_29_224252_create_user_activity_table.php | 2 +
database/migrations/2017_08_24_000000_create_settings_table.php | 41 +
database/migrations/2019_08_22_140712_create_announcements_table.php | 50 +
database/seeds/UserSeeder.php | 3 +-
package-lock.json | 5165 +-
phpunit.xml | 3 +
public/assets/css/app.css | 2 +-
public/assets/js/as/app.js | 14 +-
public/mix-manifest.json | 2 +-
public/vendor/plugins/announcements/css/announcements.css | 1 +
public/vendor/plugins/announcements/js/announcements.js | 1 +
public/vendor/plugins/announcements/mix-manifest.json | 4 +
resources/lang/de.json | 242 ++++
resources/lang/de/app.php | 328 +-----
resources/lang/de/log.php | 32 -
resources/lang/en/app.php | 331 +-----
resources/lang/en/log.php | 32 -
resources/lang/sr.json | 242 ++++
resources/lang/sr/app.php | 335 +-----
resources/lang/sr/log.php | 32 -
resources/sass/_variables.scss | 12 +-
resources/sass/app.scss | 2 +-
resources/sass/components/card.scss | 29 +-
resources/sass/components/general.scss | 12 +-
resources/sass/components/input.scss | 9 +-
resources/sass/components/navbar.scss | 98 +-
resources/sass/components/sidebar.scss | 279 +++--
resources/sass/components/util.scss | 16 +
resources/views/activity/index.blade.php | 100 --
resources/views/auth/login.blade.php | 40 +-
resources/views/auth/{password/remind.blade.php => passwords/email.blade.php} | 26 +-
resources/views/auth/{password => passwords}/reset.blade.php | 43 +-
resources/views/auth/register.blade.php | 90 +-
resources/views/auth/token.blade.php | 18 +-
resources/views/auth/tos.blade.php | 24 +
resources/views/auth/verify.blade.php | 30 +
resources/views/dashboard/admin.blade.php | 147 +--
resources/views/dashboard/default.blade.php | 102 --
resources/views/emails/notifications/new-registration.blade.php | 10 -
resources/views/emails/password/remind.blade.php | 12 -
resources/views/emails/registration/confirmation.blade.php | 13 -
resources/views/errors/403.blade.php | 8 -
resources/views/errors/404.blade.php | 12 -
resources/views/errors/500.blade.php | 10 -
resources/views/errors/503.blade.php | 8 -
resources/views/layouts/app.blade.php | 10 +-
resources/views/layouts/auth.blade.php | 5 +-
resources/views/layouts/errors.blade.php | 35 -
resources/views/layouts/install.blade.php | 2 +-
resources/views/mail/reset-password.blade.php | 22 +
resources/views/mail/user-registered.blade.php | 19 +
resources/views/partials/navbar.blade.php | 33 +-
resources/views/partials/sidebar.blade.php | 122 --
resources/views/partials/sidebar/items.blade.php | 26 +
resources/views/partials/sidebar/main.blade.php | 37 +
resources/views/permission/add-edit.blade.php | 46 +-
resources/views/permission/index.blade.php | 34 +-
resources/views/plugins/dashboard/widgets/banned-users.blade.php | 14 +
resources/views/plugins/dashboard/widgets/latest-registrations.blade.php | 31 +
resources/views/plugins/dashboard/widgets/new-users.blade.php | 14 +
resources/views/plugins/dashboard/widgets/registration-history-scripts.blade.php | 12 +
resources/views/plugins/dashboard/widgets/registration-history.blade.php | 11 +
resources/views/plugins/dashboard/widgets/total-users.blade.php | 14 +
resources/views/plugins/dashboard/widgets/unconfirmed-users.blade.php | 14 +
resources/views/plugins/dashboard/widgets/user-actions.blade.php | 53 +
resources/views/role/add-edit.blade.php | 46 +-
resources/views/role/index.blade.php | 34 +-
resources/views/settings/auth.blade.php | 12 +-
resources/views/settings/general.blade.php | 18 +-
resources/views/settings/notifications.blade.php | 30 +-
resources/views/settings/partials/auth.blade.php | 35 +-
resources/views/settings/partials/recaptcha.blade.php | 24 +-
resources/views/settings/partials/registration.blade.php | 31 +-
resources/views/settings/partials/throttling.blade.php | 39 +-
resources/views/settings/partials/two-factor.blade.php | 29 +-
resources/views/user/add.blade.php | 20 +-
resources/views/user/edit.blade.php | 60 +-
resources/views/user/list.blade.php | 41 +-
resources/views/user/partials/auth.blade.php | 46 +-
resources/views/user/partials/avatar.blade.php | 31 +-
resources/views/user/partials/details.blade.php | 42 +-
resources/views/user/partials/row.blade.php | 35 +-
resources/views/user/partials/two-factor.blade.php | 40 +-
resources/views/user/profile.blade.php | 58 +-
resources/views/user/sessions.blade.php | 34 +-
resources/views/user/two-factor-verification.blade.php | 25 +-
resources/views/user/view.blade.php | 99 +-
resources/views/vendor/mail/html/button.blade.php | 19 +
resources/views/vendor/mail/html/footer.blade.php | 11 +
resources/views/vendor/mail/html/header.blade.php | 7 +
resources/views/vendor/mail/html/layout.blade.php | 54 +
resources/views/vendor/mail/html/message.blade.php | 27 +
resources/views/vendor/mail/html/panel.blade.php | 13 +
resources/views/vendor/mail/html/promotion.blade.php | 7 +
resources/views/vendor/mail/html/promotion/button.blade.php | 13 +
resources/views/vendor/mail/html/subcopy.blade.php | 7 +
resources/views/vendor/mail/html/table.blade.php | 3 +
resources/views/vendor/mail/html/themes/default.css | 307 +++++
resources/views/vendor/mail/text/button.blade.php | 1 +
resources/views/vendor/mail/text/footer.blade.php | 1 +
resources/views/vendor/mail/text/header.blade.php | 1 +
resources/views/vendor/mail/text/layout.blade.php | 9 +
resources/views/vendor/mail/text/message.blade.php | 27 +
resources/views/vendor/mail/text/panel.blade.php | 1 +
resources/views/vendor/mail/text/promotion.blade.php | 1 +
resources/views/vendor/mail/text/promotion/button.blade.php | 1 +
resources/views/vendor/mail/text/subcopy.blade.php | 1 +
resources/views/vendor/mail/text/table.blade.php | 1 +
resources/views/vendor/notifications/email.blade.php | 6 +-
routes/api.php | 16 +-
routes/web.php | 458 +++-----
storage/app/.gitignore | 0
storage/framework/.gitignore | 1 +
storage/settings.json | 2 +-
tests/CreatesApplication.php | 24 +
tests/Feature/Api/Auth/AuthControllerTest.php | 162 +++
tests/Feature/Api/Auth/Password/RemindControllerTest.php | 38 +
tests/Feature/{Http/Controllers => }/Api/Auth/Password/ResetControllerTest.php | 46 +-
tests/Feature/Api/Auth/RegistrationControllerTest.php | 104 ++
tests/Feature/{Http/Controllers => }/Api/Auth/SocialLoginControllerTest.php | 69 +-
tests/Feature/Api/Authorization/PermissionsControllerTest.php | 161 +++
tests/Feature/{Http/Controllers => }/Api/Authorization/RolePermissionsControllerTest.php | 56 +-
tests/Feature/Api/Authorization/RolesControllerTest.php | 176 +++
tests/Feature/{Http/Controllers => }/Api/CountriesControllerTest.php | 16 +-
tests/Feature/Api/Profile/AuthDetailsControllerTest.php | 83 ++
tests/Feature/{Http/Controllers => }/Api/Profile/AvatarControllerTest.php | 74 +-
tests/Feature/Api/Profile/DetailsControllerTest.php | 123 ++
tests/Feature/{Http/Controllers => }/Api/Profile/SessionsControllerTest.php | 19 +-
tests/Feature/{Http/Controllers => }/Api/Profile/TwoFactorControllerTest.php | 119 +-
tests/Feature/{Http/Controllers => }/Api/SessionsControllerTest.php | 61 +-
tests/Feature/Api/SettingsControllerTest.php | 38 +
tests/Feature/{Http/Controllers => }/Api/StatsControllerTest.php | 53 +-
tests/Feature/Api/Users/AvatarControllerTest.php | 147 +++
tests/Feature/{Http/Controllers => }/Api/Users/SessionsControllerTest.php | 26 +-
tests/Feature/Api/Users/TwoFactorControllerTest.php | 170 +++
tests/Feature/{Http/Controllers => }/Api/Users/UsersControllerTest.php | 127 ++-
tests/Feature/ApiTestCase.php | 22 +-
tests/Feature/FunctionalTestCase.php | 203 ----
tests/Feature/Http/Controllers/Api/ActivityControllerTest.php | 118 --
tests/Feature/Http/Controllers/Api/Auth/AuthControllerTest.php | 163 ---
tests/Feature/Http/Controllers/Api/Auth/Password/RemindControllerTest.php | 44 -
tests/Feature/Http/Controllers/Api/Auth/RegistrationControllerTest.php | 122 --
tests/Feature/Http/Controllers/Api/Authorization/PermissionsControllerTest.php | 190 ----
tests/Feature/Http/Controllers/Api/Authorization/RolesControllerTest.php | 203 ----
tests/Feature/Http/Controllers/Api/Profile/AuthDetailsControllerTest.php | 88 --
tests/Feature/Http/Controllers/Api/Profile/DetailsControllerTest.php | 125 ---
tests/Feature/Http/Controllers/Api/SettingsControllerTest.php | 37 -
tests/Feature/Http/Controllers/Api/Users/ActivityControllerTest.php | 109 --
tests/Feature/Http/Controllers/Api/Users/AvatarControllerTest.php | 154 ---
tests/Feature/Http/Controllers/Api/Users/TwoFactorControllerTest.php | 196 ----
tests/Feature/Http/Controllers/Web/ActivityControllerTest.php | 83 --
tests/Feature/Http/Controllers/Web/Auth/AuthControllerTest.php | 438 --------
tests/Feature/Http/Controllers/Web/Auth/PasswordControllerTest.php | 159 ---
tests/Feature/Http/Controllers/Web/PermissionsControllerTest.php | 181 ---
tests/Feature/Http/Controllers/Web/ProfileControllerTest.php | 266 -----
tests/Feature/Http/Controllers/Web/RolesControllerTest.php | 138 ---
tests/Feature/Http/Controllers/Web/SettingsControllerTest.php | 34 -
tests/Feature/Http/Controllers/Web/UsersControllerTest.php | 464 --------
tests/Feature/ImpersonateUsersTest.php | 96 --
tests/Feature/Listeners/BaseListenerTestCase.php | 29 -
tests/Feature/Listeners/PermissionEventsSubscriberTest.php | 38 -
tests/Feature/Listeners/RoleEventsSubscriberTest.php | 44 -
tests/Feature/Listeners/UserEventsSubscriberTest.php | 178 ---
tests/Feature/Repositories/Activity/EloquentActivityTest.php | 128 ---
tests/Feature/Repositories/Role/EloquentRoleTest.php | 108 --
tests/Feature/Web/ImpersonateUsersTest.php | 91 ++
tests/Feature/Web/LoginTest.php | 177 +++
tests/Feature/Web/PermissionsTest.php | 348 ++++++
tests/Feature/Web/RegistrationTest.php | 172 +++
tests/Feature/Web/RolesTest.php | 234 ++++
tests/Feature/Web/Settings/AuthSettingsTest.php | 105 ++
tests/Feature/Web/Settings/CaptchaSettingsTest.php | 49 +
tests/Feature/Web/Settings/GeneralSettingsTest.php | 62 +
tests/Feature/Web/Settings/TwoFactorSettingsTest.php | 49 +
tests/Feature/Web/SettingsTest.php | 137 +++
tests/Feature/{Http/Controllers/Web/Auth/SocialAuthControllerTest.php => Web/SocialAuthenticationTest.php} | 141 +--
tests/Feature/{Http/Controllers/Web/TwoFactorControllerTest.php => Web/TwoFactorAuthTest.php} | 276 ++---
tests/Feature/Web/UpdateProfileTest.php | 251 +++++
tests/Feature/Web/UsersTest.php | 710 ++++++++++++
tests/Setup/RoleFactory.php | 47 +
tests/Setup/UserFactory.php | 95 ++
tests/TestCase.php | 65 +-
tests/{unit => Unit}/Presenters/UserPresenterTest.php | 31 +-
tests/{Feature => Unit}/Repositories/Country/EloquentCountryTest.php | 15 +-
tests/{Feature => Unit}/Repositories/Permission/EloquentPermissionTest.php | 29 +-
tests/Unit/Repositories/Role/EloquentRoleTest.php | 117 ++
tests/{Feature => Unit}/Repositories/Session/DbSessionTest.php | 32 +-
tests/{Feature => Unit}/Repositories/User/EloquentUserTest.php | 195 ++--
tests/{Feature => Unit}/Services/Auth/Api/TokenFactoryTest.php | 37 +-
tests/UpdatesSettings.php | 22 +
tests/files/.DS_Store | Bin 6148 -> 0 bytes
tests/files/image.png | Bin 38306 -> 0 bytes
312 files changed, 15667 insertions(+), 16557 deletions(-)