codeigniter4/shield
Authentication and Authorization for CodeIgniter 4
📦 JWT: Minimum Key Length Now Enforced
- How to fix it? Generate a new key:
- ```bash
- php -r 'echo base64_encode(random_bytes(32));' # HS256
- php -r 'echo base64_encode(random_bytes(48));' # HS384
- php -r 'echo base64_encode(random_bytes(64));' # HS512
- ```
- Then update your configuration:
- ```php
- + 6 more
🐛 Fixed Bugs
- fix: `withPermissions()` for users without permissions by @michalsn in https://github.com/codeigniter4/shield/pull/1290
- fix: check for empty actionClass so that actions can be disabled via .env params by @najdanovicivan in https://github.com/codeigniter4/shield/pull/1286
📦 Enhancements
- PHP 8.5 compatibility
- feat: ignore robots when accessing magic link by @michalsn in https://github.com/codeigniter4/shield/pull/1294
- feat: add bot detection for ActionController by @michalsn in https://github.com/codeigniter4/shield/pull/1295
- feat: withIdentities/withGroups/withPermissions now work with first() by @michalsn in https://github.com/codeigniter4/shield/pull/1315
📦 Translations
- lang: [sk] update Slovak translations for invalid email and token by @jozefrebjak in https://github.com/codeigniter4/shield/pull/1279
- lang: [it] Added the remaining translations for the Italian language by @Franky5831 in https://github.com/codeigniter4/shield/pull/1282
✨ New Contributors
- @Franky5831 made their first contribution in https://github.com/codeigniter4/shield/pull/1282
- @najdanovicivan made their first contribution in https://github.com/codeigniter4/shield/pull/1286
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.2.0...v1.3.0
🐛 Fixed Bugs
- fix: escape string to prevent XSS attack by @warcooft in https://github.com/codeigniter4/shield/pull/1148
- fix: add missing args to `lang('Auth.invalidEmail')` by @kenjis in https://github.com/codeigniter4/shield/pull/1159
- fix: `chain` filter does not update `last_active` by @kenjis in https://github.com/codeigniter4/shield/pull/1160
- fix: Shield ignores `AuthToken::$authenticatorHeader` config by @alxjzx100 in https://github.com/codeigniter4/shield/pull/1169
- fix: cannot override `emailer()` function by @FrancoisChaumont in https://github.com/codeigniter4/shield/pull/1174
- fix: `shield:user create` does not assign a default group by @kenjis in https://github.com/codeigniter4/shield/pull/1162
- fix: add missing validation for group name to `shield:user addgroup`/`removegroup` by @kenjis in https://github.com/codeigniter4/shield/pull/1176
- fix: confusing lang message `invalidEmail` by @kenjis in https://github.com/codeigniter4/shield/pull/1175
- + 1 more
📦 Enhancements
- feat: Updated email templates with user information by @pmagictech in https://github.com/codeigniter4/shield/pull/1125
- feat: [Magic Link Login] add placeholder to `invalidEmail` to return user email. by @warcooft in https://github.com/codeigniter4/shield/pull/1145
- feat: add -g option to `shield:user create` by @kenjis in https://github.com/codeigniter4/shield/pull/1164
- feat: add ``UserModel::createNewUser()`` and `RegisterController` uses it by @kenjis in https://github.com/codeigniter4/shield/pull/1196
- feat: Add expiration date to access token & hmac keys by @CosDiabos in https://github.com/codeigniter4/shield/pull/1219
- feat: Add user relations loading methods for groups and permissions by @michalsn in https://github.com/codeigniter4/shield/pull/1257
📦 Translations
- lang: [de] Update Auth.php - add missing translation by @sba in https://github.com/codeigniter4/shield/pull/1152
- lang: [fa] update error message for email verification failure by @datamweb in https://github.com/codeigniter4/shield/pull/1157
- lang: [ja] translate updated `invalidEmail` by @kenjis in https://github.com/codeigniter4/shield/pull/1158
- lang: [tr] Language additions by @YusufDurmaz in https://github.com/codeigniter4/shield/pull/1218
- lang: [nl] fix incorrect translation by @christianberkman in https://github.com/codeigniter4/shield/pull/1231
- lang: [pt-BR] translation completed by @xgrind in https://github.com/codeigniter4/shield/pull/1265
✨ New Contributors
- @pmagictech made their first contribution in https://github.com/codeigniter4/shield/pull/1125
- @obozdag made their first contribution in https://github.com/codeigniter4/shield/pull/1138
- @warcooft made their first contribution in https://github.com/codeigniter4/shield/pull/1148
- @alxjzx100 made their first contribution in https://github.com/codeigniter4/shield/pull/1169
- @FrancoisChaumont made their first contribution in https://github.com/codeigniter4/shield/pull/1174
- @christianberkman made their first contribution in https://github.com/codeigniter4/shield/pull/1178
- @grimpirate made their first contribution in https://github.com/codeigniter4/shield/pull/1185
- @YusufDurmaz made their first contribution in https://github.com/codeigniter4/shield/pull/1216
- + 5 more
🐛 Fixed Bugs
- fix: setup command cannot update `Config\Autoload::$helpers` with multiple lines by @kenjis in https://github.com/codeigniter4/shield/pull/1110
- fix: change hardcoded user entity with declared return type by @MrFrost-Nv27 in https://github.com/codeigniter4/shield/pull/1105
📦 Enhancements
- feat: Change session manipulation methods from `private` to `protected` by @michalsn in https://github.com/codeigniter4/shield/pull/1113
📦 Translations
- lang: [de] Added missing translations in Auth.php by @sba in https://github.com/codeigniter4/shield/pull/1106
- lang: [pl] add Polish translation by @mieszkou in https://github.com/codeigniter4/shield/pull/1117
✨ New Contributors
- @mieszkou made their first contribution in https://github.com/codeigniter4/shield/pull/1117
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.3...v1.1.0
🐛 Fixed Bugs
- fix: Can't create new users via CLI if username is disabled by @kenjis in https://github.com/codeigniter4/shield/pull/1078
- fix: Call to a member function getErrors() on null in CheckQueryReturnTrait by @kenjis in https://github.com/codeigniter4/shield/pull/1088
- fix: passing Time to Query Builder in UserModel by @kenjis in https://github.com/codeigniter4/shield/pull/1095
♻️ Refactoring
- refactor: replace empty() by rector by @kenjis in https://github.com/codeigniter4/shield/pull/1081
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.2...v1.0.3
🐛 Fixed Bugs
- fix: `JWT::loggedIn()` does not remove `Bearer` prefix by @kenjis in https://github.com/codeigniter4/shield/pull/1040
- fix: LoginModel cannot use uuid for id column by @MrFrost-Nv27 in https://github.com/codeigniter4/shield/pull/1046
📦 Translations
- lang: [nl] add Dutch translation by @NotCoffee418 in https://github.com/codeigniter4/shield/pull/1067
♻️ Refactoring
- test: improve tests execution time by @datamweb in https://github.com/codeigniter4/shield/pull/1041
- refactor: remove hard coded `'Y-m-d H:i:s'` by @kenjis in https://github.com/codeigniter4/shield/pull/1027
✨ New Contributors
- @MrFrost-Nv27 made their first contribution in https://github.com/codeigniter4/shield/pull/1046
- @NotCoffee418 made their first contribution in https://github.com/codeigniter4/shield/pull/1067
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.1...v1.0.2
🐛 Fixed Bugs
- fix: Shield may not send correct HTML mail by @kenjis in https://github.com/codeigniter4/shield/pull/1020
📦 Translations
- lang: [cs] Add Czech Translation by @MichalSkoula in https://github.com/codeigniter4/shield/pull/1015
✨ New Contributors
- @MichalSkoula made their first contribution in https://github.com/codeigniter4/shield/pull/1015
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.0...v1.0.1
📦 Important!
- This has breaking changes. See [Upgrade Guide](https://github.com/codeigniter4/shield/blob/develop/UPGRADING.md#version-100-beta8-to-100).
💥 Breaking Changes
- refactor: remove supportOldDangerousPassword by @kenjis in https://github.com/codeigniter4/shield/pull/976
📦 Enhancements
- Allow specifying namespace when generating routes. by @lonnieezell in https://github.com/codeigniter4/shield/pull/985
📦 Translations
- lang: [bg] Adjust translations for bg/Auth.php by @kpeu3u in https://github.com/codeigniter4/shield/pull/973
♻️ Refactoring
- refactor: remove unneeded deleted_at in $allowedFields by @kenjis in https://github.com/codeigniter4/shield/pull/963
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.0-beta.8...v1.0.0
📦 Important!
- This has breaking changes. See [Upgrade Guide](https://github.com/codeigniter4/shield/blob/develop/UPGRADING.md#version-100-beta7-to-100-beta8).
🔒 SECURITY
- [Insertion of Sensitive Information into Log](https://github.com/codeigniter4/shield/security/advisories/GHSA-j72f-h752-mx4w)
- [Cleartext Storage of Sensitive Information in HMAC SHA256 Authentication](https://github.com/codeigniter4/shield/security/advisories/GHSA-v427-c49j-8w6x)
💥 Breaking Changes
- refactor: remove Composer autoloading of auth helper by @kenjis in https://github.com/codeigniter4/shield/pull/893
- feat: add redirect denied for filter by @datamweb in https://github.com/codeigniter4/shield/pull/790
- perf: refactor Auth by @kenjis in https://github.com/codeigniter4/shield/pull/908
🐛 Fixed Bugs
- fix: replace `url_is()` by @kenjis in https://github.com/codeigniter4/shield/pull/915
📦 Translations
- lang: [id] add translation by @kikuKeii in https://github.com/codeigniter4/shield/pull/913
- lang: [uk] Adjust translations for uk/Auth.php by @ivanBell199 in https://github.com/codeigniter4/shield/pull/935
- lang: [ru] add Russian language by @ivanBell199 in https://github.com/codeigniter4/shield/pull/936
- lang: [uk] Update Auth.php by @vasylzavalko in https://github.com/codeigniter4/shield/pull/953
- lang: [tr]&[uk] fix Invalid param in `errorPasswordPwned` by @datamweb in https://github.com/codeigniter4/shield/pull/954
♻️ Refactoring
- [Rector] Apply StringifyStrNeedlesRector by @samsonasik in https://github.com/codeigniter4/shield/pull/891
- refactor: replace `/>` with `>` for input tags by @kenjis in https://github.com/codeigniter4/shield/pull/894
- test: update Config\Registrar by @kenjis in https://github.com/codeigniter4/shield/pull/901
- refactor: update default value `$hashCost` to 12 by @datamweb in https://github.com/codeigniter4/shield/pull/916
- test: refactor SessionFilterTest by rector 0.18.6 by @datamweb in https://github.com/codeigniter4/shield/pull/927
✨ New Contributors
- @samsonasik made their first contribution in https://github.com/codeigniter4/shield/pull/891
- @kikuKeii made their first contribution in https://github.com/codeigniter4/shield/pull/913
- @ivanBell199 made their first contribution in https://github.com/codeigniter4/shield/pull/935
- @vasylzavalko made their first contribution in https://github.com/codeigniter4/shield/pull/953
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.0-beta.7...v1.0.0-beta.8
📦 Important!
- This version requires CodeIgniter 4.3.5 or later.
- And it has breaking changes. See [Upgrade Guide](https://github.com/codeigniter4/shield/blob/develop/UPGRADING.md#version-100-beta6-to-100-beta7).
💥 Breaking Changes
- refactor: move config items by @kenjis in https://github.com/codeigniter4/shield/pull/845
🐛 Fixed Bugs
- fix: nothing personal validator error with bad email value by @GeorgKott in https://github.com/codeigniter4/shield/pull/723
- fix: simplify extraction of email parts by @paulbalandan in https://github.com/codeigniter4/shield/pull/742
- fix: Magic Link Login can be used even if `$allowMagicLinkLogins` is false by @datamweb in https://github.com/codeigniter4/shield/pull/778
- fix: use short classname for config() by @kenjis in https://github.com/codeigniter4/shield/pull/796
- fix: UserModel::assignIdentities() always produces a DB query by @michalsn in https://github.com/codeigniter4/shield/pull/806
- fix: unauthorized users for groups and permissions are not redirected to the previous url by @sammyskills in https://github.com/codeigniter4/shield/pull/799
- fix: property $table visibility in RegisterController by @kenjis in https://github.com/codeigniter4/shield/pull/825
- fix: cannot register when you remove email from `$validFields` by @kenjis in https://github.com/codeigniter4/shield/pull/829
- + 5 more
✨ New Features
- feat: add 'DBGroup' for customization db group by @arashsaffari in https://github.com/codeigniter4/shield/pull/744
- feat: HMAC SHA256 Authentication by @tswagger in https://github.com/codeigniter4/shield/pull/795
- feat: add CLI command to manage users by @kenjis in https://github.com/codeigniter4/shield/pull/833
📦 Enhancements
- feat: add login link to magic link form view by @GeorgKott in https://github.com/codeigniter4/shield/pull/730
- feat: Add InnoDB engine to migration create table methods by @kpeu3u in https://github.com/codeigniter4/shield/pull/745
- fix: add support for all request types when building a user from request. by @sammyskills in https://github.com/codeigniter4/shield/pull/747
- feat: add support for multiple permissions check for users by @sammyskills in https://github.com/codeigniter4/shield/pull/791
- feat: redirect after login to entrance url by @mshannaq in https://github.com/codeigniter4/shield/pull/793
- feat: improve user experience in forms by @sammyskills in https://github.com/codeigniter4/shield/pull/801
- feat: added `revokeAccessTokenBySecret()` by @WaaaghNL in https://github.com/codeigniter4/shield/pull/858
- fix: Change the visibility of validation properties for easier inheritance by @sammyskills in https://github.com/codeigniter4/shield/pull/868
- + 7 more
📦 Translations
- lang: [tr] - added translations by @emreozkartal in https://github.com/codeigniter4/shield/pull/718
- lang: [bg] Add translation for Bulgarian language by @kpeu3u in https://github.com/codeigniter4/shield/pull/719
- lang: [lt] add Lithuanian localization by @dgvirtual in https://github.com/codeigniter4/shield/pull/724
- lang: [id] add indonesian translation by @asnanmtakim in https://github.com/codeigniter4/shield/pull/760
- lang: [ar] Arabic translate by @mshannaq in https://github.com/codeigniter4/shield/pull/780
- lang: [sk] translate missing slovak sentences by @jozefrebjak in https://github.com/codeigniter4/shield/pull/784
- lang: [ar] translating missed by @mshannaq in https://github.com/codeigniter4/shield/pull/785
- lang: [ar] update arabic translate by @mshannaq in https://github.com/codeigniter4/shield/pull/810
- + 1 more
♻️ Refactoring
- fix: typo in `getMaxLengthRule()` method name by @bgeneto in https://github.com/codeigniter4/shield/pull/728
- refactor: use ::class keyword in config() by @kenjis in https://github.com/codeigniter4/shield/pull/748
- refactor: validation rules by @kenjis in https://github.com/codeigniter4/shield/pull/861
- refactor: remove Composer autoloading of email helper by @kenjis in https://github.com/codeigniter4/shield/pull/872
- refactor: update minimum CI4 version to 4.3.5 by @kenjis in https://github.com/codeigniter4/shield/pull/871
- refactor: remove outdated code for CI 4.2 or before by @kenjis in https://github.com/codeigniter4/shield/pull/877
✨ New Contributors
- @emreozkartal made their first contribution in https://github.com/codeigniter4/shield/pull/718
- @dgvirtual made their first contribution in https://github.com/codeigniter4/shield/pull/724
- @bgeneto made their first contribution in https://github.com/codeigniter4/shield/pull/728
- @GeorgKott made their first contribution in https://github.com/codeigniter4/shield/pull/723
- @arashsaffari made their first contribution in https://github.com/codeigniter4/shield/pull/744
- @JamesShaver made their first contribution in https://github.com/codeigniter4/shield/pull/755
- @asnanmtakim made their first contribution in https://github.com/codeigniter4/shield/pull/760
- @mshannaq made their first contribution in https://github.com/codeigniter4/shield/pull/780
- + 3 more
🐛 Fixed Bugs
- fix: incorrect base class for exceptions by @kenjis in https://github.com/codeigniter4/shield/pull/703
✨ New Features
- feat: JWT Authenticator by @kenjis in https://github.com/codeigniter4/shield/pull/195
📦 Enhancements
- fix: only validate data from POST request body by @miguel-rn in https://github.com/codeigniter4/shield/pull/695
📦 Translations
- lang: [pt] add portuguese language by @mpmont in https://github.com/codeigniter4/shield/pull/689
- lang: [es] Revision and Update translated to Spanish(Spain) language by @celiomarcos in https://github.com/codeigniter4/shield/pull/693
- lang: [pt-BR] Add translation for JWT by @robsonpiere in https://github.com/codeigniter4/shield/pull/707
- lang: [ja] update translations by @kenjis in https://github.com/codeigniter4/shield/pull/709
- lang: [uk] add ukrainian translation by @datamweb in https://github.com/codeigniter4/shield/pull/713
✨ New Contributors
- @mpmont made their first contribution in https://github.com/codeigniter4/shield/pull/689
- @celiomarcos made their first contribution in https://github.com/codeigniter4/shield/pull/693
- @miguel-rn made their first contribution in https://github.com/codeigniter4/shield/pull/695
- @robsonpiere made their first contribution in https://github.com/codeigniter4/shield/pull/707
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.0-beta.5...v1.0.0-beta.6
🐛 Fixed Bugs
- fix: add `parent::initialize()` to customized UserModel for access the table name by @datamweb in https://github.com/codeigniter4/shield/pull/670
📦 Enhancements
- feat: add shield version for Increase improvement by @datamweb in https://github.com/codeigniter4/shield/pull/675
📦 Translations
- lang: translate `errorPasswordTooLongBytes` for `fa` by @datamweb in https://github.com/codeigniter4/shield/pull/663
- lang: translate errorPasswordTooLongBytes for ja by @kenjis in https://github.com/codeigniter4/shield/pull/664
- lang: update sk translation by @jozefrebjak in https://github.com/codeigniter4/shield/pull/665
- Added Swedish translations by @tangix in https://github.com/codeigniter4/shield/pull/666
- lang: translate new strings for de by @sba in https://github.com/codeigniter4/shield/pull/671
- lang: translate pt-BR strings by @onovaes in https://github.com/codeigniter4/shield/pull/673
- [sr] Serbian Language translation by @nebojsajsimic in https://github.com/codeigniter4/shield/pull/676
- Update French translation by @paul45 in https://github.com/codeigniter4/shield/pull/677
✨ New Contributors
- @tangix made their first contribution in https://github.com/codeigniter4/shield/pull/666
- @onovaes made their first contribution in https://github.com/codeigniter4/shield/pull/673
- @nebojsajsimic made their first contribution in https://github.com/codeigniter4/shield/pull/676
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.0-beta.4...v1.0.0-beta.5
🔒 SECURITY
- [Password Shucking Vulnerability](https://github.com/codeigniter4/shield/security/advisories/GHSA-c5vj-f36q-p9vg)
💥 Breaking Changes
- feat: User activation checks and utility functions. by @lonnieezell in https://github.com/codeigniter4/shield/pull/580
🐛 Fixed Bugs
- fix: remove `username` in $validFields by default by @kenjis in https://github.com/codeigniter4/shield/pull/498
- fix: UserModel cannot save an array by @kenjis in https://github.com/codeigniter4/shield/pull/504
- fix: TypeError when checking invalid permission by @kenjis in https://github.com/codeigniter4/shield/pull/510
- fix: set only validated fields to User Entity in RegisterController by @kenjis in https://github.com/codeigniter4/shield/pull/501
- fix: Error exception occurs when user with pending activation tries magic-link login by @kenjis in https://github.com/codeigniter4/shield/pull/503
- fix: withIdentities() when user not exists by @michalsn in https://github.com/codeigniter4/shield/pull/514
- fix: minimum password length check by @kenjis in https://github.com/codeigniter4/shield/pull/527
- fix: findByCredentials() returns User when email is empty string by @kenjis in https://github.com/codeigniter4/shield/pull/548
- + 5 more
✨ New Features
- Feat: Force password reset by @sammyskills in https://github.com/codeigniter4/shield/pull/601
- Feature: Banning Users by @davidnsai in https://github.com/codeigniter4/shield/pull/650
📦 Enhancements
- feat: add request info to all emails by @jozefrebjak in https://github.com/codeigniter4/shield/pull/431
- Italian Translation by @virdb in https://github.com/codeigniter4/shield/pull/530
- feat: add Turkish lang file by @mcsaygili in https://github.com/codeigniter4/shield/pull/549
- Add filter permission and group by @lonnieezell in https://github.com/codeigniter4/shield/pull/535
- dev: Allow easier overriding of views in developer applications. by @lonnieezell in https://github.com/codeigniter4/shield/pull/565
- feat: add `shield:model` command by @paulbalandan in https://github.com/codeigniter4/shield/pull/558
- Fix: Unnamed Auth routes returns an error when inside a route group by @sammyskills in https://github.com/codeigniter4/shield/pull/577
- feat: customize name of Shield Tables w/o constant by @kenjis in https://github.com/codeigniter4/shield/pull/633
♻️ Refactoring
- refactor: use `::class` constants by @kenjis in https://github.com/codeigniter4/shield/pull/540
- refactor: updateActiveDate query builder by @kpeu3u in https://github.com/codeigniter4/shield/pull/520
- refactor: remove unused `Auth::class` by @datamweb in https://github.com/codeigniter4/shield/pull/588
- refactor: remove `namespace` from language files by @datamweb in https://github.com/codeigniter4/shield/pull/619
- refactor: replace deprecated Faker property access by @kenjis in https://github.com/codeigniter4/shield/pull/620
- test: fix ForcePasswordResetTest::forceGlobalPasswordReset() by @kenjis in https://github.com/codeigniter4/shield/pull/621
- refactor: UserIdentityModel::update() throws Exception by @kenjis in https://github.com/codeigniter4/shield/pull/622
- refactor: use `getIdentity()` for improve action `Email2FA` by @datamweb in https://github.com/codeigniter4/shield/pull/625
- + 1 more
✨ New Contributors
- @michalsn made their first contribution in https://github.com/codeigniter4/shield/pull/514
- @activivan made their first contribution in https://github.com/codeigniter4/shield/pull/513
- @virdb made their first contribution in https://github.com/codeigniter4/shield/pull/530
- @mcsaygili made their first contribution in https://github.com/codeigniter4/shield/pull/549
- @kpeu3u made their first contribution in https://github.com/codeigniter4/shield/pull/520
- @cornejobarraza made their first contribution in https://github.com/codeigniter4/shield/pull/576
- @caosdp-rs made their first contribution in https://github.com/codeigniter4/shield/pull/618
- @totoprayogo1916 made their first contribution in https://github.com/codeigniter4/shield/pull/623
- + 2 more
🐛 Fixed Bugs
- fix: field name translation in validation errors by @datamweb in https://github.com/codeigniter4/shield/pull/350
- Load an auth helper in ActionController by @MitkoIT in https://github.com/codeigniter4/shield/pull/353
- fix: bootstrap column on mobile device by @MitkoIT in https://github.com/codeigniter4/shield/pull/366
- fix: AccessTokens throws DataException by @kenjis in https://github.com/codeigniter4/shield/pull/376
- fix: recordActiveDate() updates `updated_at` by @pjsde in https://github.com/codeigniter4/shield/pull/392
- fix: redirect()->withInput() causes ValidationException by @kenjis in https://github.com/codeigniter4/shield/pull/383
- fix: Session auth action checks by @kenjis in https://github.com/codeigniter4/shield/pull/391
- fix: correctly record the datetime for `last_active` by @datamweb in https://github.com/codeigniter4/shield/pull/404
- + 5 more
📦 Enhancements
- Fix email deliverability error log by @sammyskills in https://github.com/codeigniter4/shield/pull/345
- fix: show validate errors in `magic-link` by @datamweb in https://github.com/codeigniter4/shield/pull/351
- Spanish (Spain) translation by @treborin in https://github.com/codeigniter4/shield/pull/364
- Spanish (Spain) translation by @treborin in https://github.com/codeigniter4/shield/pull/370
- Improve setup by @kenjis in https://github.com/codeigniter4/shield/pull/371
- feat: update `shield:setup` for Security Setup by @datamweb in https://github.com/codeigniter4/shield/pull/384
- feat: add filter permission and group by @jlopes90 in https://github.com/codeigniter4/shield/pull/270
- feat: support other databases by @kenjis in https://github.com/codeigniter4/shield/pull/402
- + 3 more
✨ New Contributors
- @MitkoIT made their first contribution in https://github.com/codeigniter4/shield/pull/353
- @treborin made their first contribution in https://github.com/codeigniter4/shield/pull/364
- @paulbalandan made their first contribution in https://github.com/codeigniter4/shield/pull/378
- @arif-rh made their first contribution in https://github.com/codeigniter4/shield/pull/421
- @iRedds made their first contribution in https://github.com/codeigniter4/shield/pull/432
- @davidnsai made their first contribution in https://github.com/codeigniter4/shield/pull/437
- @iamsyh made their first contribution in https://github.com/codeigniter4/shield/pull/466
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.0-beta.2...v1.0.0-beta.3
📋 Changes
- CodeIgniter 4.2.3+
- PHP 7.4.3+
📋 What's Changed
- refactor: update for PHPStan update by @kenjis in https://github.com/codeigniter4/shield/pull/206
- fix: rename `testtestDisplayLoggedIn` to `testDisplayLoggedIn` by @datamweb in https://github.com/codeigniter4/shield/pull/208
- feat: readable form errors if there are multiple errors by @datamweb in https://github.com/codeigniter4/shield/pull/209
- fix: display message magic link controller if email not send by @datamweb in https://github.com/codeigniter4/shield/pull/204
- fix: Debugbar error after logout by @kenjis in https://github.com/codeigniter4/shield/pull/211
- feat: add message after successful logout by @datamweb in https://github.com/codeigniter4/shield/pull/213
- chore: update rector to ^0.13.3 by @kenjis in https://github.com/codeigniter4/shield/pull/198
- feat: add sheild:setup command for initial setup by @kenjis in https://github.com/codeigniter4/shield/pull/205
- + 58 more
✨ New Contributors
- @ageir made their first contribution in https://github.com/codeigniter4/shield/pull/236
- @jlopes90 made their first contribution in https://github.com/codeigniter4/shield/pull/242
- @ThibautPV made their first contribution in https://github.com/codeigniter4/shield/pull/265
- @parisiam made their first contribution in https://github.com/codeigniter4/shield/pull/283
- @ddevsr made their first contribution in https://github.com/codeigniter4/shield/pull/288
- @sba made their first contribution in https://github.com/codeigniter4/shield/pull/321
- @jakkepedder made their first contribution in https://github.com/codeigniter4/shield/pull/338
- Full Changelog: https://github.com/codeigniter4/shield/compare/v1.0.0-beta...v1.0.0-beta.2
This is the first release of an official authentication/authorization package for CodeIgniter ever.
