* Added support for string as Cookie::$expire
* Updated changelog for #19920 (Broadened the accepted type of `Cookie::$expire` from `int` to `int|string|null`)
* Fixed `\yiiunit\framework\web\ResponseTest::parseHeaderCookies()` to overwrite existing cookie.
* Added support for `\DateTimeInterface` in `\yii\web\Cookie::$expire`
* Fixed `\yiiunit\framework\web\ResponseTest::cookiesTestProvider()` for PHP 5.4 and commited missing code for \DateTimeInterface processing in `\yii\web\Response::sendCookies()`
* 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
* Updated phpdoc so it has \Throwable
- `abstract protected function renderException($exception);` is extended in web/ErrorHandler to also have `\Error`.
- `public static function convertExceptionToError($exception)` is called from widgets/ActiveField.php with
```
/**
* PHP magic method that returns the string representation of this object.
* @return string the string representation of this object.
*/
public function __toString()
{
// __toString cannot throw exception
// use trigger_error to bypass this limitation
try {
return $this->render();
} catch (\Exception $e) {
ErrorHandler::convertExceptionToError($e);
return '';
} catch (\Throwable $e) {
ErrorHandler::convertExceptionToError($e);
return '';
}
}
```
* Add \Throwable to phpdoc in response.php
The ErrorHandler has been updated in phpdoc to have throwable, this complets that change.
* Update ErrorHandler.php
fixed missing `|`
- 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()`
- Bug #13300: Allow pjax with "data-pjax" with no value in `yii.js`.
- Bug #13307: Preventing of race conditions in script filter in `yii.js` works incorrectly.
- Bug #13310: Handle relative and absolute URLs coincidence in CSS filter in `yii.js`.
- Bug #13312: `skipOuterContainers` option was incorrectly passed to pjax in `handleAction` in `yii.js`.
- Partially fixes#13299.
Adds tests for #8014, #11921, #10974, #11494, #10358, #10097.