This splits the testing suite into the separate modules as appropriate in order to improve the reliability of the testing suite as a whole and make it easier for developers to have an up to date testing suite from the core to build off of. Additionally the tests are now namespaced and some minor improvements to the PluginManager were made.
Now the PluginManager will internally treat plugin identifiers as lower case strings, only transforming them to their normalized versions when requested by methods like getPlugins() & getAllPlugins(). The idea behind this is that it provides a much simpler way to internally handle checking, especially for plugin replacement where casing could cause issues.
Replaces #576. Fixes#575.
Requires wintercms/storm#79
Removed the following drivers configs not native in Laravel:
- Mailgun
- Mailchimp (Mandrill)
- Postmark
- SparkPost
- Amazon SES
Credit to @mjauvin
This was originally added in bd9f88587f (and further refined in 160ae441ff) as a workaround for issues in MySQL < 5.7 and MariaDB < 10.2 related to the default string length when using the recommended utf8mb4 database encoding.
As of Laravel 8 the minimum supported versions of MySQL and MariaDB are not affected by this issue so we're now removing this configuration / workaround in Winter v1.2.
Changed from Laravel defaults:
- Array configuration items should have their assigner operators aligned and keys should be sorted alphabetically
Removed:
- database.fetch: Removed from the default in Laravel 5.4 (and originally changed to FETCH_OBJ in 5.3) see 770c41552f & https://github.com/laravel/laravel/pull/3815
- filesystems.cloud: Removed from the default in Laravel 8.4.4 since it's not good practice to use Storage::cloud(), should use explicit disk configurations instead. See 82213fbf40
- services.mandrill: No longer officially supported since < Laravel 6.x; can use the SMTP driver instead
- services.sparkport: No longer officially supported in Laravel since < Laravel 6.x or Winter since v1.2 (third party package to reprovide driver is available but config should be manually added when desired.)
- services.stripe: Removed in Laravel v5.8.35, see 83d2ecc0e9
Explicitly not synced:
- Some calls to env(), will be addressed by future work on the ConfigWriter
- auth.php, will be addressed by future work to bring the Winter auth system more in line with the Laravel one
- cors.php, not implemented by default in Winter at the moment, plugins are available
- filesystems.php: storage.links & storage.disks.public not included because storage:link is not supported by Winter yet and further thought is needed for its inclusion.
- mail.php: markdown - Laravel's markdown mail functionality not verified to work within Winter which has it's own set of email templating logic. May be investigated and included later down the road if desired.
- sanctum.php: Laravel Sanctum is an authentication system for Laravel that is completely untested with Winter. Can be evaluated at a later date for inclusion.
* october-develop:
Support readonly and disabled fields when value is an array (#4683)
Exception handling
Improve configuration files (#5544)
Update Dutch (nl) translations (#5543)
# Conflicts:
# config/mail.php
# modules/system/classes/MailManager.php