core/CHANGELOG.txt | 45 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/core/CHANGELOG.txt b/core/CHANGELOG.txt index 6330a1d..dc96a8c 100644 --- a/core/CHANGELOG.txt +++ b/core/CHANGELOG.txt @@ -6,6 +6,16 @@ Versions of [Drush](https://www.drupal.org/node/2874827) earlier than 8.1.12 will not work with Drupal 8.4.x. Update Drush to 8.1.12 before using it to update Drupal core or you will encounter fatal errors. +## Note for sites using file uploads + +Certain Drupal 8 sites have been reporting vanishing files. Drupal helpfully +removes unused files, but unfortunately there are [several file usage tracking +bugs](https://www.drupal.org/node/2821423). To prevent further data loss, +Drupal 8.4 has [disabled the automatic deletion of files with no remaining +usages](https://www.drupal.org/node/2801777). +[See the change record](https://www.drupal.org/node/2891902), which explains +the broken scenario in detail, and describes how sites can opt out. + ## New stable modules The following modules, previously considered experimental, are now stable and @@ -42,8 +52,8 @@ module that depends on the core Media module will also enable the Media automatically.) The module will be displayed to site builders normally once user experience issues with it are resolved in a future release. -Similarly, the REST API for Media is not final and support for decoupled -applications will be improved in a future release. +Similarly, the REST API and normalizations for Media is not final and support +for decoupled applications will be improved in a future release. * [#2831274: Bring Media entity module to core as Media module](https://www.drupal.org/node/2831274) @@ -54,20 +64,41 @@ applications will be improved in a future release. * *[#2468045: When deleting a content type field, users do not realize the related View also is deleted](https://www.drupal.org/node/2468045) * *[#2542050: Toolbar implementation creates super annoying re-rendering](https://www.drupal.org/node/2542050) * *[#2847651: Improve timezones selector with optgroups](https://www.drupal.org/node/2847651) -* (open) *[#2801777: Give users the option to prevent drupal from automatically marking unused files as temporary](https://www.drupal.org/node/2801777) * (open) *[#2846365: User roles field access is inconsistent, users with 'administer users' permission can gain full access](https://www.drupal.org/node/2846365) ## REST and API-first improvements +* Authenticated REST API performance increased by 15% by utilizing the + Dynamic Page Cache. +* POSTing entities can now happen at `/node`, `/taxonomy/term` and so on, + instead of `/entity/node`, `/entity/taxonomy_term`. Instead of confusingly + different URLs, they therefore now use the URLs you'd expect. Backwards + compatibility is maintained. [Change record](https://www.drupal.org/node/2737401) +* Added dedicated resource for resetting a user's password. +* Time fields now are normalized to RFC3339 timestamps by default, fixing time + time ambiguity. Existing sites continue to receive UNIX timestamps, but can + opt in. [Change record](https://www.drupal.org/node/2859657) +* Path alias fields now are normalized too. +* When denormalization fails, a 422 response is now returned instead of 400, + per the HTTP specification. +* With CORS enabled to allow origins besides the site's own host, submitting + forms was broken unless the site's own host was also explicitly allowed. +* Fatal errors and exceptions now show a backtrace also for all non-HTML + requests, which makes for far easier debugging and better bug reports. +* Massive expansion of the test coverage. + * [#2293697: EntityResource POST routes all use the confusing default: use entity types' https://www.drupal.org/link-relations/create link template if available](https://www.drupal.org/node/2293697) +* [#2768651: Let TimestampItem (de)normalize to/from RFC3339 timestamps, not UNIX timestamps, for better DX](https://www.drupal.org/node/2768651) * [#2827084: EntityNormalizer::denormalize should not throw UnexpectedValueException, but \Symfony\Component\HttpKernel\Exception\UnprocessableEntityHttpException, so we get a 422 response instead of 400](https://www.drupal.org/node/2827084) -* *[#2869809: Make it easy to get typed config representations of entities](https://www.drupal.org/node/2869809) -* (open) [#2853201: [upstream] CORS breaks form submission unless allowed origins includes site's own host](https://www.drupal.org/node/2853201) +* [#2827797: ResourceResponse(Subscriber) + Dynamic Page Cache: making authenticated ResourceResponses significantly faster](https://www.drupal.org/node/2827797) +* [#2846554: Make the PathItem field type actually computed and auto-load stored aliases](https://www.drupal.org/node/2846554) +* [#2847708: RPC endpoint to reset user password](https://www.drupal.org/node/2847708) +* [#2853300: Standardize fatal error/exception handling: backtrace for all formats, not just HTML](https://www.drupal.org/node/2853300) +* [#2853201: [upstream] CORS breaks form submission unless allowed origins includes site's own host](https://www.drupal.org/node/2853201) ## Performance and scalability improvements * [#1286154: Allow custom default form cache expiration/lifetime](https://www.drupal.org/node/1286154) -* *[#2827797: ResourceResponse(Subscriber) + Dynamic Page Cache: making authenticated ResourceResponses significantly faster](https://www.drupal.org/node/2827797) * [#2853509: Don't render status messages if there are no messages but also include their assets if there might be](https://www.drupal.org/node/2853509) * [#2872611: Optimise \Drupal\Core\Extension\ThemeHandler::refreshInfo() for the early installer](https://www.drupal.org/node/2872611) * *[#2889603: Split the internal page cache from the rest of the render cache](https://www.drupal.org/node/2889603) @@ -80,8 +111,8 @@ applications will be improved in a future release. * [#2594553: Add #maxlength to textarea in Form API](https://www.drupal.org/node/2594553) * *[#2694535: Support rect property and nested render arrays in html_tag for dynamic SVGs](https://www.drupal.org/node/2694535) * [#2705037: Asset library DX: Non-helpful fatal error if CSS isn't nested under an existing category](https://www.drupal.org/node/2705037) -* [#2768651: Let TimestampItem (de)normalize to/from RFC3339 timestamps, not UNIX timestamps, for better DX](https://www.drupal.org/node/2768651) * *[#2815077: Adopt airbnb javascript style guide v13 as new baseline javascript coding standards for Drupal 8 core and contrib](https://www.drupal.org/node/2815077) +* *[#2869809: Make it easy to get typed config representations of entities](https://www.drupal.org/node/2869809) * (open) [#2860531: Add orderby key to third party settings](https://www.drupal.org/node/2860531) * (open) [#2885368: Config export key order for sequences: "orderedby" does not support cases where the order actually matters](https://www.drupal.org/node/2885368)