You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`BaseCommand::initialize()` is now being triggered **AFTER** arguments and options have been parsed.
22
+
19
23
### I18n
20
24
21
-
`Number::parseFloat()` now returns `null` instead of `0.0` when parsing
22
-
fails. This also affects `FloatType` and `DecimalType` database types.
25
+
-`Number::parseFloat()` now returns `null` instead of `0.0` when parsing
26
+
fails. This also affects `FloatType` and `DecimalType` database types.
23
27
24
28
### ORM
25
29
26
-
The default eager loading strategy for `HasMany` and `BelongsToMany` associations
27
-
has changed from `select` to `subquery`. If you need the previous behavior,
28
-
explicitly set `'strategy' => 'select'` when defining associations.
30
+
-The default eager loading strategy for `HasMany` and `BelongsToMany` associations
31
+
has changed from `select` to `subquery`. If you need the previous behavior,
32
+
explicitly set `'strategy' => 'select'` when defining associations.
29
33
30
34
### Controller
31
35
32
-
Loading a component with the same alias as the controller's default table now
33
-
triggers a warning. See [Component Alias Conflicts](../controllers/components#component-alias-conflicts).
36
+
-Loading a component with the same alias as the controller's default table now
37
+
triggers a warning. See [Component Alias Conflicts](../controllers/components#component-alias-conflicts).
34
38
35
39
## Deprecations
36
40
37
-
- WIP
41
+
### Mailer
42
+
43
+
- The `Mailer::$name` property is unused and has been deprecated.
38
44
39
45
## New Features
40
46
47
+
### Core
48
+
49
+
-`PluginConfig::getInstalledPlugins()` was added to retrieve a list of all installed plugins
50
+
including flags to indicate about their scope and state.
51
+
- A backwards compatible Container implementation has been added to the core. You can opt-in to use it instead of the current
52
+
`league/container` implementation by setting `App.container` to `cake` inside your `config/app.php`.
53
+
See [Dependency Injection Container](../development/dependency-injection) for more details.
54
+
55
+
### Commands
56
+
57
+
- You can use `$this->io` and `$this->args` inside your commands to access input/output and argument objects
58
+
without needing to pass them down from the `execute()` method. **This will be the default in CakePHP 6.0**
59
+
as those arguments will be removed from the `execute()` method signature.
60
+
41
61
### Controller
42
62
43
63
- Added `#[RequestToDto]` attribute for automatic mapping of request data to
@@ -75,7 +95,9 @@ triggers a warning. See [Component Alias Conflicts](../controllers/components#co
75
95
76
96
- Added `Cake\Utility\Fs\Finder` class for fluent file discovery with pattern matching,
77
97
depth control, and custom filters. Added `Cake\Utility\Fs\Path` for cross-platform
78
-
path manipulation.
98
+
path manipulation. See [Filesystem Utilities](../core-libraries/filesystem.md).
99
+
-`Security::encrypt()` can now be configured to use longer keys with separate encryption and authentication keys that are derived from the provided key.
100
+
You can set `Security.encryptWithRawKey` to enable this behavior. See [here](https://github.com/cakephp/cakephp/pull/19325) for more details.
0 commit comments