When relying on static config instead of an explicitly set minLength then this message would show without the value, like "it must be or more characters long".
I noticed this squiggly red line while perusing the code.
The PHP doc says
`implode ( string $glue , array $pieces ) : string`
> implode() can, for historical reasons, accept its parameters in either order. For consistency with explode(), however, it may be less confusing to use the documented order of arguments.
Use-case: if a module is defining its own authenticator and you want to disable it, as it seems we don't have `unregister_authenticator()` anymore and I can't spot how to remove YAML-based injected properties, then this lets you mark it as null or false to prevent it from erroring out when it attempts to call `supportedServices()`
* FIX Add accessibility labels and titles to previous, next, and add new buttons in GridFields
* API Replace FormActions with anchors to enable panel-based loading in GridField navigation buttons
* FIX Previous and Next links are now correctly disabled when end of lists are reached
* Add English translations
* Add `getFieldMap` method to retrieve a list of all fields for any given class
* Add `TagsToShortcodeTask` to upgrading guide
Adding after the file migration part as this is where it makes the most sense to run it.
* `getFieldMap` accepts an array
* Move to `DataObjectSchema`
* Add `HTMLVarchar` to documentation
Minor refactoring
* Add test for checking that `subclassesfor` works without the base class
Add test `DataObjectSchema::getFieldMap` returns the correct array
* Remove cms dependency
See https://github.com/silverstripeltd/open-sourcerers/issues/91
* Add `PreformattedEchoHandler`
cherry-picked from 4c3f3e6bea99b46b689e5b23d1bd1498a4ac696c
* Batch log messages for every 100 file.
Also make logger work for stdout
* Update src/Logging/PreformattedEchoHandler.php
Co-Authored-By: bergice <bergice@users.noreply.github.com>
* MINOR: Change “Choose Page” to “Search or choose Page”
Based on discussions with James Ford, it wasn’t clear that you could
search.
* Use new translation key
* Adding failing test for base table aliases using SQLSelect
* FIX Retain table aliases applied to the base table on queries
* FIX Move the trimmed alias outside of the condition so we can use it within the condition
This is a performance fix. Modern SQL engines can avoid counting a whole result set (potentially thousands of records) when you are only interested if the count exceeds a threshold.
* API Update FieldList::replaceField API to match removeByName
This specifically adds the parameter that `removeByName` has but `replaceField` does not. This parameter is set to `true` by default rather than inheriting the same default as `removeByField`. This is because the existing funtionality of `replaceField` was the same as if this parameter was set to `true`. This should be updated in SS5 to match the `removeByField` API.
* Add dataFieldOnly to CompositeField