6.0.0
What's Changed
- DEP Dependencies for CMS 6 by @emteknetnz in #11152
- fix: by default CanonicalURLMiddleware should run in all environments by @wilr in #11154
- NEW Allow skipping validation on write by @GuySartorelli in #11202
- API Add onBeforeManipulate extension hook by @emteknetnz in #11209
- API Strongly type Fieldlist by @emteknetnz in #11235
- API Set extension hook implementation visibility to protected by @emteknetnz in #11245
- API Set extension hook implementation visibility to protected by @emteknetnz in #11252
- ENH Looping through arrays in templates by @GuySartorelli in #11244
- FIX Respect explicit casting before casting arrays by @GuySartorelli in #11271
- API Remove references to non-existent installation tool by @GuySartorelli in #11274
- ENH Auto-scaffold Member and Group with appropriate form fields by @GuySartorelli in #11285
- ENH Do not require _config dir or _config.php for modules by @emteknetnz in #11296
- FIX Ensure cache is shared between CLI and webserver by @GuySartorelli in #11300
- FIX Use valid values for APCu version by @GuySartorelli in #11304
- ENH Various changes to support SiteTree form field scaffolding by @GuySartorelli in #11327
- API Remove IPUtils by @emteknetnz in #11346
- DEP Limit PHP support for CMS 6 by @GuySartorelli in #11345
- NEW Provide a standardised CMSEditLink method by @GuySartorelli in #11338
- API Standardise extension hooks by @GuySartorelli in #11339
- API Strong typing for the view layer by @GuySartorelli in #11351
- DEP Remove support for MySQL 5 by @emteknetnz in #11354
- API Replace Extension subclasses by @emteknetnz in #11348
- API Remove GraphQL by @emteknetnz in #11316
- DEP Upgrade to symfony 7 by @emteknetnz in #11356
- API Add back strong typing that got removed in a merge-up by @GuySartorelli in #11372
- FIX Import Deprecation class by @emteknetnz in #11378
- DEP Use PHPUnit 11 by @emteknetnz in #11361
- API Move various classes to more appropriate namespaces by @GuySartorelli in #11370
- NEW Refactor CLI interaction with Silverstripe app by @GuySartorelli in #11353
- MNT Update phpunit xml file for phpunit 11 by @emteknetnz in #11407
- FIX Fix NavigateCommandTest and don't try to write null by @GuySartorelli in #11412
- ENH Use symfony/validation logic by @GuySartorelli in #11399
- FIX Get array values, not keys by @GuySartorelli in #11414
- NEW Allow database read-only replicas by @emteknetnz in #11379
- API Improve type safety for Controller::join_links() by @GuySartorelli in #11426
- ENH Default DB settings to use 4 bytes to store UTF8 characters by @maxime-rainville in #11431
- MNT Fix unit tests by @emteknetnz in #11432
- ENH Do not rely on flush variable by @emteknetnz in #11440
- MNT Fix unit test by @emteknetnz in #11442
- FIX Ensure everything gets flushed when flushing from sake by @GuySartorelli in #11436
- API Combine Sortable, Filterable and Limitable into SS_List by @emteknetnz in #11433
- API Refactor template layer by @GuySartorelli in #11405
- NEW Validate DBFields by @emteknetnz in #11408
- API Remove API which is now in silverstripe/silverstripe-template-engine by @GuySartorelli in #11451
- ENH Remove code that doesn't belong here by @GuySartorelli in #11430
- DEP Set minimum version of symfony/cache to 7.1.5 by @emteknetnz in #11466
- ENH Update code to reflect changes in silverstripe/admin by @GuySartorelli in #11463
- ENH prevent default type in script tag by @lerni in #11446
- FIX Ensure schema data includes attributes by @GuySartorelli in #11469
- API Change default password strength from strong to medium by @emteknetnz in #11476
- API Move logic from silverstripe/cms into central place by @GuySartorelli in #11460
- FIX Do not mark changed when setting value in constructor by @emteknetnz in #11478
- FIX Don't swallow relevant BadMethodCallExceptions from ViewLayerData by @GuySartorelli in #11482
- ENH Use FieldValidators for FormField validation by @emteknetnz in #11449
- FIX Allow __call() to trigger __call() in other classes by @GuySartorelli in #11487
- MNT Don't expect class when its module isn't installed by @GuySartorelli in #11488
- FIX Don't use call_user_func in __call() by @GuySartorelli in #11489
- ENH PHP 8.4 support by @emteknetnz in #11480
- DEP Update minimum composer versions by @emteknetnz in #11498
- API Rename validator classes by @emteknetnz in #11486
- DEP Require psr/http-message ^2.0 by @emteknetnz in #11505
- ENH Use updated league/csv api by @emteknetnz in #11508
- ENH Call validate on form fields within form by @emteknetnz in #11506
- API Move logic from silverstripe/cms into central place by @GuySartorelli in #11500
- API Make validator param nullable by @emteknetnz in #11512
- API Add ValidationInterface to DataObject by @emteknetnz in #11513
- FIX Apply raw2xml before extension hook by @emteknetnz in #11517
- API Add ValidationInterface to Form by @emteknetnz in #11518
- MNT Fix unit test by @emteknetnz in #11519
- API Remove deprecated API by @GuySartorelli in #11524
- DEP Update constraint for vendor-plugin dependency by @GuySartorelli in #11527
- FIX Finish removing deprecated i18n functionality. by @GuySartorelli in #11528
- ENH Align ArrayList case sensitivity with other lists by @GuySartorelli in #11529
- API Add strong-typing to SearchContext::getQuery() $limit param by @GuySartorelli in #11534
- API Remove ALC renewal, tweak extension point by @Cheddam in #11355
- API Remove deprecated parameter from DataObject::get() by @GuySartorelli in #11536
- API Stop supporting getCMSValidator by @GuySartorelli in #11538
- ENH Remove code that had been retained for backwards compatibility by @GuySartorelli in #11541
- MNT Fix unit test by @emteknetnz in #11549
- MNT Make data providers static by @emteknetnz in #11557
- ENH Remove unused properties and deprecation notices by @GuySartorelli in #11543
- MNT Remove unit test for removed method by @emteknetnz in #11559
- DEP Conflict older versions of egulias/email-validator by @emteknetnz in #11561
- FIX Update HTML markup for bootstrap 5 by @GuySartorelli in #11560
- MNT Use attributes for DataProviders by @emteknetnz in #11581
- MNT Fix unit test by @emteknetnz in #11585
- FIX Import missing class by @emteknetnz in #11586
- DOC Remove simple theme reference from PHPDoc comment by @GuySartorelli in #11594
- NEW Show more information in ValidationException message by @emteknetnz in #11562
- API Remove deprecated DBInt::Times() by @emteknetnz in #11604
- API Rename FormField Value to getFormattedValue by @emteknetnz in #11550
- MNT Fix unit test providers by @GuySartorelli in #11615
- API Do not raise user_error from Controller::curr() by @emteknetnz in #11613
- NEW Handle WithinRangeFilter in searchable_fields and SearchContext by @GuySartorelli in #11602
- API Define deactivate() on SudoModeServiceInterface by @emteknetnz in #11618
- MNT Fix unit tests by @emteknetnz in #11619
- Various changes to support refactoring CMS search filter functionality by @GuySartorelli in #11587
- API Change defaults of cookie secure and samesite by @emteknetnz in #11629
- FIX Fix bug in NumericField caused by bad merge-up by @GuySartorelli in #11635
- FIX Make PageinatedList::count() give the number of items in the current page by @GuySartorelli in #11634
- NEW Allow setting "samesite" attribute for individual cookies. by @GuySartorelli in #11632
- API Remove code which is being migrated to a new TinyMCE module by @GuySartorelli in #11617
- MNT Fix PHP linting in test class by @GuySartorelli in #11637
- FIX Fix use statement for ArrayData by @GuySartorelli in #11638
- FIX Remove non-readonly components from sudo mode gridfield by @emteknetnz in #11639
- ENH Remove casting from DBField subclasses by @emteknetnz in #11579
- NEW Add password hasher for pbkdf2_sha512 by @GuySartorelli in #11644
- ENH Add backwards-compatible aliases for "sake dev" and "sake dev/tasks" by @GuySartorelli in #11649
- MNT Run module-standardiser by @emteknetnz in #11653
- ENH Remove unnecessary calls to setUseSearchContext() by @emteknetnz in #11656
- API Fix
@internalphpdoc for config property by @GuySartorelli in #11663 - FIX Don't use $_SERVER superglobal when it's not needed by @GuySartorelli in #11667
- ENH Order /dev/ routes alphabetically by @GuySartorelli in #11684
- FIX Don't warn about missing HTTPRequest if we don't need it by @GuySartorelli in #11685
- MNT Fix broken unit tests by @GuySartorelli in #11691
- FIX Remove attempt to update by @emteknetnz in #11690
- FIX Don't set session value in endpoint accessed from mail link. by @GuySartorelli in #11686
- FIX Change LeftAndMain class check to AdminController by @emteknetnz in #11693
- FIX Don't try to use empty backtrace by @GuySartorelli in #11700
- FIX Change LeftAndMain class check to AdminController by @emteknetnz in #11697
- API Session cookie is now always PHPSESSID by @emteknetnz in #11694
- ENH Show friendly message if user takes too long changing password by @GuySartorelli in #11689
- FIX Allow 0 as its own directory name in Path::join() by @GuySartorelli in #11709
- FIX Fix display of empty read-only fields by @GuySartorelli in #11716
- API Allow float for number of days for cookie expiry by @GuySartorelli in #11724
- ENH More efficient hierarchy querying by @emteknetnz in #11722
- FIX Provide a clear way to flush tests with phpunit 11 by @GuySartorelli in #11737
- FIX Don't search against non-general fields in gridfield by @GuySartorelli in #11740
Full Changelog: 5.4.9...6.0.0