* Migration::upsert() returns void
* Unneeded `@property` tags
* Add missing `null` param/return types
* Null types for db\Query + db\ActiveQuery
* Fixed testSelect
* Null types for Validator
* Several more null types
* One more
* Make AccessRule::$allow always a boolean
It doesn't have any special null handling, so it's safe to default to false
* Validator::$skipOnEmpty is always a boolean
* Catch all throwable from Widget::widget()
* Don't limit $previous args to \Exception
The actual \Exception allows $previous to be any throwable in PHP 7+
* Add Throwable catch block to Instance::get()
* Throwable cleanup
Comment changes only.
- Document \Throwable instead of \Exception wherever appropriate
- Removed redundant exception/error classes when \Throwable is referenced
* Yii::setlogger() accepts null
* ArrayHelper::removeValue() can remove any type of value
* Change default $allow value to false
- Deprecated `yii\base\BaseObject::className()` in favor of native PHP syntax `::class`, which does not trigger autoloading
- Deprecated XCache and Zend data cache support as caching backends
- Deprecated `yii\BaseYii::powered()` method
- Added `yii\base\InvalidArgumentException` and deprecated `yii\base\InvalidParamException`
- Added `yii\BaseYii::debug()` and deprecated `yii\BaseYii::trace()`
* Cache user assignments to avoid unnecessary DB queries
alternative to #9138 and #10981, only cache on `checkAccess` call which is usually
called on every request. Cache is not necessary in RBAC management.
Similar to #14061 but includes proper cache invalidation and test.
`getAssignments()` always queries the DB. The cache is only applied on
`checkAccess` calls, and invalidated as soon as the RBAC structure is
modified through the manager component (verified by the test case).
Regarding [concerns of memory usage](https://github.com/yiisoft/yii2/pull/14061#issuecomment-297982502)
if used in batch mode on multiple users, you can call
`invalidateCache()` method if this really causes a problem.
fixes#7743close#9138close#14061close#10981
See also
- https://github.com/yiisoft/yii2/issues/7626#issuecomment-77745166
- https://github.com/yiisoft/yii2/pull/14061#issuecomment-319645488
* improve test naming
* fix tests
* fix assignment cache for non-scalar user-ids