|  | 
| 58 | 58 | - Added `craft\services\ElementSources::getPages()`. ([#17779](https://github.com/craftcms/cms/pull/17779)) | 
| 59 | 59 | - Added `craft\services\ElementSources::pageExists()`. ([#17779](https://github.com/craftcms/cms/pull/17779)) | 
| 60 | 60 | - Added `craft\services\ElementSources::pageNameId()`. ([#17779](https://github.com/craftcms/cms/pull/17779)) | 
|  | 61 | +- Added `craft\services\Structure::EVENT_AFTER_UPDATE_ELEMENT`. | 
|  | 62 | +- Added `craft\services\Structure::EVENT_BEFORE_UPDATE_ELEMENT`. | 
| 61 | 63 | - Added `craft\web\GqlResponseFormatter`. | 
| 62 | 64 | - Added `craft\web\Response::FORMAT_GQL`. | 
| 63 | 65 | - Added `craft\web\twig\nodes\BaseNode`. | 
| 64 | 66 | - Added `Craft.BaseElementIndex::asyncSelectDefaultSource()`. | 
| 65 | 67 | - Added `Craft.BaseElementIndex::asyncSelectSource()`. | 
| 66 | 68 | - Added `Craft.BaseElementIndex::asyncSelectSourceByKey()`. | 
| 67 | 69 | - Added `Craft.BaseElementIndex::ensureSourceAttributeInfo()`. | 
|  | 70 | +- `craft\base\Element::EVENT_AFTER_MOVE_IN_STRUCTURE` is no longer deprecated. | 
|  | 71 | +- `craft\base\Element::EVENT_BEFORE_MOVE_IN_STRUCTURE` is no longer deprecated. | 
|  | 72 | +- `craft\base\ElementInterface::afterMoveInStructure()` is no longer deprecated. | 
|  | 73 | +- `craft\base\ElementInterface::beforeMoveInStructure()` is no longer deprecated. | 
| 68 | 74 | - `craft\base\ElementInterface::cardAttributes()` now has a `$fieldLayout` argument. ([#17920](https://github.com/craftcms/cms/pull/17920)) | 
|  | 75 | +- `craft\events\ElementStructureEvent` is no longer deprecated. | 
| 69 | 76 | - `craft\helpers\FileHelper::writeToFile()` now throws an exception if the file path isn’t writable, or there isn’t sufficient free space on the disk. ([#17762](https://github.com/craftcms/cms/pull/17762)) | 
| 70 | 77 | - `craft\helpers\UrlHelper` now encodes square brackets in generated URLs. ([#17840](https://github.com/craftcms/cms/pull/17840)) | 
| 71 | 78 | - `craft\services\ElementSources::getSources()` now has a `$page` argument. ([#17779](https://github.com/craftcms/cms/pull/17779)) | 
|  | 
| 74 | 81 | - `craft\web\Request::getAcceptsJson()` now returns `true` for requests with `Content-Type` headers that match `application/*+json`, in addition to `application/json`. | 
| 75 | 82 | - Deprecated `craft\fields\BaseRelationField::$showCardsInGrid`. | 
| 76 | 83 | - Deprecated `craft\fields\Matrix::$showCardsInGrid`. | 
|  | 84 | +- Deprecated `craft\services\Structure::EVENT_AFTER_MOVE_ELEMENT`. `EVENT_AFTER_UPDATE_ELEMENT` should be used instead. | 
|  | 85 | +- Deprecated `craft\services\Structure::EVENT_BEFORE_MOVE_ELEMENT`. `EVENT_BEFORE_UPDATE_ELEMENT` should be used instead. | 
| 77 | 86 | - Deprecated `Craft.BaseElementIndex::selectDefaultSource()`. | 
| 78 | 87 | - Deprecated `Craft.BaseElementIndex::selectSource()`. | 
| 79 | 88 | - Deprecated `Craft.BaseElementIndex::selectSourceByKey()`. | 
|  | 
0 commit comments