diff --git a/core/CHANGELOG.txt b/core/CHANGELOG.txt
index 4caa24c0af..6ebe20488a 100644
--- a/core/CHANGELOG.txt
+++ b/core/CHANGELOG.txt
@@ -1,23 +1,28 @@
-Drupal 8.4.x, xxxx-xx-xx
+Drupal 8.4.0, 2017-10-05
 ------------------------
 ### Drush users: Update to Drush 8.1.12
 
-[Versions of Drush earlier than 8.1.12 will not work with Drupal 8.4.x](https://www.drupal.org/node/2874827).
-Update Drush to 8.1.12 before using it to update to Drupal core 8.4.x or you
- will encounter fatal errors.
+[Versions of Drush earlier than 8.1.12 will not work with Drupal
+8.4.x](https://www.drupal.org/node/2874827). Update Drush to 8.1.12 or
+higher **before using it to update to Drupal core 8.4.x** or you will
+encounter fatal errors that prevent updates from running. (Drush 8.1.12
+and 8.1.13 will successfully update Drupal 8.3.x to 8.4.0, but users may still
+see [other error messages after updates have
+run](https://www.drupal.org/node/2907224).)
 
 ### Updated browser requirements: Internet Explorer 9 and 10 no longer supported
 
 In April 2017, Microsoft discontinued all support for Internet Explorer 9 and
-10. Therefore, [Drupal 8.4 has as well](https://www.drupal.org/node/2897971).
+10. Therefore, [Drupal 8.4 has as well](https://www.drupal.org/node/2842298).
 Drupal 8.4 still mostly works in these browser versions, but bugs that affect
 them only will no longer be fixed, and existing workarounds for them will
 be removed beginning in Drupal 8.5.
 
-Additionally, Drupal 8's [browser requirements documentation page](https://www.drupal.org/docs/8/system-requirements/browser-requirements)
+Additionally, Drupal 8's [browser requirements documentation
+page](https://www.drupal.org/docs/8/system-requirements/browser-requirements)
 currently lists incorrect information regarding very outdated browser versions
-such as Safari 5 and Firefox 5. [Clarifications to the browser policy and documentation](https://www.drupal.org/node/2390621)
-are underway and we hope to finalize it before 8.4.0-rc1.
+such as Safari 5 and Firefox 5. [Clarifications to the browser policy and
+documentation](https://www.drupal.org/node/2390621) are underway.
 
 ### Known Issues
 
@@ -25,17 +30,15 @@ are underway and we hope to finalize it before 8.4.0-rc1.
   Symfony 3.2 and jQuery 3. Both updates may introduce backwards compatibility
   issues for some sites or modules, so test carefully.
   For more information, see the "Third-party library updates" section below.
-* [Modal tour tips provided by the Tour module are not displayed correctly](https://www.drupal.org/node/2898808)
-  because the third-party Joyride library has an incompatibility with jQuery 3.
-  Tour tips are no longer centered and may be displayed entirely off-screen for
-   many screen sizes. Work is underway on an upstream bug fix.
-* Some sites that have files with 0 recorded usages may encounter
-  [validation errors when saving content referencing these files](https://www.drupal.org/node/2896480).
-  If your site's users report errors when saving content, you can
-  [set the `file.settings.make_unused_managed_files_temporary` setting to `true`](https://www.drupal.org/node/2891902),
-  but make sure you also set "Delete orphaned files" to "Never" on
-  `/admin/config/media/file-system`
-  to avoid permanent deletion of the affected files.
+  Known issues related to the Symfony update include:
+    * [Incompatibility with Drush 8.1.11 and earlier](https://www.drupal.org/node/2874827).
+    * [Other error messages with Drush 8.1.12 and higher](https://www.drupal.org/node/2907224).
+    * [Certain file uploads may fail silently](https://www.drupal.org/node/2906030)
+      due to a Symfony 3 backwards compatibility break if they used the `$deep`
+      parameter (which was already deprecated in Symfony 2.8 and is removed
+      in Symfony 3.0. *Check any custom file upload code* that may have used
+      the deprecated parameter and [update it according to the API change
+      record](https://www.drupal.org/node/2743809).
 
 ### Important fixes since 8.3.x
 
@@ -47,7 +50,10 @@ Drupal 8 has several longstanding [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 known remaining usages](https://www.drupal.org/node/2801777).
 This will result of the accumulation of unused files on sites, but ensures that
-files erroneously reporting 0 usages are not deleted while in use.
+files erroneously reporting 0 usages are not deleted while in use. Additionally,
+an issue with [validation errors when saving content referencing these
+files](https://www.drupal.org/node/2896480) has also been resolved.
+
 [The change record explains how sites can opt back into marking files temporary](https://www.drupal.org/node/2891902).
 If you choose to enable the setting, you can also set "Delete orphaned files"
 to "Never" on `/admin/config/media/file-system` to avoid permanent deletion of
@@ -92,6 +98,21 @@ is underway.
   [A similar but unrelated bug in Content Moderation](https://www.drupal.org/node/2862988)
   has also been fixed in this release.
 
+#### Other critical improvements
+
+* When nodes were deleted, Menu UI module deleted their menu items. However, menu
+  items may exist even whenm Menu UI module is not enabled and can also be attached
+  to entities other than nodes. Therefore, menu item cleanup on entity deletetion
+  [is now performed by the Custom Menu Links module](https://www.drupal.org/node/2350797)
+  instead, covering the previously missing cases. A related issue that [broke module uninstallation
+  for some modules providing menu items for certain entity forms](https://www.drupal.org/node/2907654) has also been resolved.
+* A race condition occured in the Batch API when using fastcgi. The Batch API now
+  ensures that [the current batch state is written completely to the database before
+  starting the next batch](https://www.drupal.org/node/2851111).
+* When uninstalling modules, empty fields were left behind to be purged. However,
+  without the field definitions, it was not possible to purge them anymore.
+  [Empty field deletion is now performed immediately](https://www.drupal.org/node/2884202).
+
 ### New stable modules
 
 The following modules, previously considered experimental, are now stable and
@@ -153,6 +174,23 @@ and polished enough for production use. See the core
 [Inline Form Errors module issue queue](https://www.drupal.org/project/issues/drupal?text=&status=Open&priorities=All&categories=All&version=All&component=inline_form_errors.module)
 for outstanding issues.
 
+#### Workflows
+
+The Workflows module provides an abstract system of states (like Draft,
+Archived, and Published) and transitions between them. Workflows can be used by
+modules that implement non-publishing workflows (such as for users or products)
+as well as content publishing workflows.
+
+Drupal 8.4 introduces a final significant backwards compatibility and data
+model break for this module,
+[moving responsibility for workflow states and transitions from the Workflow entity to the Workflow type plugin](https://www.drupal.org/node/2849827).
+Read [Workflow type plugins are now responsible for state and transition schema](https://www.drupal.org/node/2897706)
+for full details on the API and data model changes related to this fix. Now
+that this change is complete, [the Workflows module became stable](https://www.drupal.org/node/2897130)!
+
+While the module can be installed as-is, it is not useful in itself without
+either Content Moderation and/or some other module that requires it.
+
 ### Content authoring and site administration improvements
 
 * The "Save and keep (un)published" dropbutton has been replaced with [a "Published" checkbox and single "Save" button](https://www.drupal.org/node/2068063).
@@ -172,12 +210,16 @@ for outstanding issues.
   during page rendering, thus improving perceived front-end performance.
 * Options in [timezones selector are now grouped by regions](https://www.drupal.org/node/2847651)
   and labeled by cities instead of timezone names, making it much easier for users to find and select the specific timezone they need.
-* Both the ["Comments" administration page at `/admin/content/comment`](https://www.drupal.org/node/1986606) and the ["Recent log messages" report provided by dblog](https://www.drupal.org/node/2015149) are now configurable views.
+* Both the ["Comments" administration page at `/admin/content/comment`](https://www.drupal.org/node/1986606)
+  and the ["Recent log messages" report provided by dblog](https://www.drupal.org/node/2015149)
+  are now configurable views. The "Comments" administration page also [has some
+  default filters added](https://www.drupal.org/node/2898344).
 * Useful meta information about a node's status is typically displayed at the
   top of the node sidebar. Previously, this meta information was provided by
   the Seven theme, so it was not available in other administrative themes.
   [This meta information is now provided by node.module itself](https://www.drupal.org/node/2803875)
   so other administration themes can access it.
+* [Views now supports rendering computed fields](https://www.drupal.org/node/2852067).
 
 ### REST and API-first improvements
 
@@ -205,9 +247,12 @@ for outstanding issues.
 
 ### Performance and scalability improvements
 
+* Drupal 8 caches at various different levels for more effective caching. However, this
+  resulted in exessively growing cache tables with tens or hundreds of thousands of
+  entries, and gigabytes in size.
+  [A new limit of 5000 rows per cache bin was introduced to limit this growth](https://www.drupal.org/node/2526150).
 * The internal page cache now [has a dedicated cache bin](https://www.drupal.org/node/2889603)
-  distinct from the rest of the render cache (a significant scalability
-  improvement).
+  distinct from the rest of the render cache for improved scalability.
 * The service collector pattern instantiates all services it collects, which is expensive, and unnecessary for some use cases.   For those use cases, a [new service ID collector](https://www.drupal.org/node/2472337)
   pattern was added. The theme negotiator was updated to use it.
   [See the change record for information about how to use the service ID collector](https://www.drupal.org/node/2598944) for improved performance.
@@ -217,8 +262,8 @@ for outstanding issues.
   a particular site's usecase.
   [See the change record to learn how to access this new setting](https://www.drupal.org/node/2886836).
 * If there are no status messages, the corresponding rendering
-  [is now skipped](https://www.drupal.org/node/2853509). On simple sites, this
-  can result in a 10% improvement when there are no messages!
+  [is now skipped](https://www.drupal.org/node/2853509). On simple sites that use the
+  Dynamic Page Cache (on by default), this can result in a 10% improvement when there are no messages!
 * [Optimized the early Drupal installer](https://www.drupal.org/node/2872611)
   to check whether any themes are installed first before invoking an
   unnecessary function, which improves Drupal install time measurably for
@@ -272,12 +317,17 @@ for outstanding issues.
   features numerous improvements, including better error reporting. See the
   [jQuery Core 3.0 Upgrade Guide](https://jquery.com/upgrade-guide/3.0/) for
   information on jQuery 3 backwards compatibility breaks that might affect the
-  JavaScript code in your modules, themes, and sites. Note that we may consider
-  rolling back this library update if the [bug affecting tours](https://www.drupal.org/node/2898808) is not resolved in time for Drupal 8.4.0-beta1.
+  JavaScript code in your modules, themes, and sites.
+* The zurb/joyride library (used by the Tour module) has been
+  [updated to a development version higher than 2.1.0.1](https://www.drupal.org/node/2898808)
+  to resolve an upstream incompatibility with jQuery 3. We will update to Joyride 2.1.1 once
+  it is available with the needed fix.
 * [zendframework/zend-diactoros has been updated from 1.3.10 to 1.4.0](https://www.drupal.org/node/2874817).
 * [jQuery UI has been updated from 1.11.4 to 1.12.1](https://www.drupal.org/node/2809427).
-* [CKEditor has been updated from 4.6.2 to 4.7.1](https://www.drupal.org/node/2893566).
+* [jQuery Once has been updated from 2.1.1 to 2.2.0](https://www.drupal.org/node/2899156).
+* [CKEditor has been updated from 4.6.2 to 4.7.2](https://www.drupal.org/node/2904142).
 * [asm89/stack-cors has been updated from 1.0 to 1.1](https://www.drupal.org/node/2853201).
+* [The minimum phpsec/prophecy requirement is now 1.4](https://www.drupal.org/node/2900800).
 
 ### Experimental modules
 
@@ -291,6 +341,8 @@ stable once all  issues tagged [Migrate critical](https://www.drupal.org/project
   [`iterator` process plugin to `sub_process`](https://www.drupal.org/node/2845483)
   to better capture their purposes. (Backwards compatibility is provided for
   both process plugins since Migrate is in beta.)
+* Added the ability to [provide the source module](https://www.drupal.org/node/2569805)
+  to migrations.
 
 #### Migrate Drupal and Migrate Drupal UI ([alpha stability](https://www.drupal.org/core/experimental#alpha))
 
@@ -314,28 +366,15 @@ Drupal versions.
   [Drupal Upgrade](https://www.drupal.org/project/migrate_upgrade) contributed
   module. (See the
   [pull request to add support to Drush](https://github.com/drush-ops/drush/issues/2140).)
-* [Added field plugin](https://www.drupal.org/node/2814949) to handle
-  migration of node reference field values from Drupal 6 to Drupal 8.
-* [Added date field plugin](https://www.drupal.org/node/2566779) to handle
-  migration of CCK date fields in Drupal 6 to Drupal 8.
-* [Renamed migration field plugins and classes](https://www.drupal.org/node/2683435)
-  referring to custom fields provided by the Drupal 6 module CCK, which was
-  replaced in Drupal 7 by the core Field API. [See the change record for more information about how this impacts your migration plugins](https://www.drupal.org/node/2751897).
-
-#### Workflows ([beta stability](https://www.drupal.org/core/experimental#beta))
-
-The Workflows module provides an abstract system of states (like Draft,
-Archived, and Published) and transitions between them. Workflows can be used by
-modules that implement non-publishing workflows (such as for users or products)
-as well as content publishing workflows.
-
-Drupal 8.4 introduces a final significant backwards compatibility and data
-model break for this module,
-[moving responsibility for workflow states and transitions from the Workflow entity to the Workflow type plugin](https://www.drupal.org/node/2849827).
-Read [Workflow type plugins are now responsible for state and transition schema](https://www.drupal.org/node/2897706)
-for full details on the API and data model changes related to this fix. Now
-that this change is complete, the Workflows module has reached beta stability,
-and it may furthermore be marked stable in time for Drupal 8.4.0!
+* This release includes numerous developer experience for Migrate, including [deprecating outdated references to "CCK"](https://www.drupal.org/node/2751897),
+  [simplifying field type mapping](https://www.drupal.org/node/2896507), and many other API improvements.
+* Conflicting text field processing settings [are now identified and
+  logged](https://www.drupal.org/node/2842222) to avoid security
+  or data integrity issues with the migration of plain and formatted text fields.
+* Automatic redirects are now
+  [added for node paths that are not valid anymore due to translation merges](https://www.drupal.org/node/2850085).
+* @todo [Migration for forum and article comments: duplicate comment types and incorrect comment_entity_statistics](https://www.drupal.org/node/2853872)
+* @todo [File migration from D6 to D8 version using Migrate Drupal UI](https://www.drupal.org/node/2907233)
 
 #### Content Moderation ([beta stability](https://www.drupal.org/core/experimental#beta))
 
@@ -357,6 +396,10 @@ stable in time for 8.4.0! Notable improvements in this release:
   If your contributed module refers to revisions that are not yet published, it
   should use this new term.
 
+As per the experimental module process, there were some backwards incompatible
+changes since Drupal 8.3.x. Experimental modules do not offer a supported
+upgrade path, but [an unofficial upgrade path is being worked on](https://www.drupal.org/node/2896630).
+
 #### Field Layout ([alpha stability](https://www.drupal.org/core/experimental#alpha))
 
 This module provides the ability for site builders to rearrange fields on
@@ -367,14 +410,13 @@ the [entity display layout roadmap](https://www.drupal.org/node/2795833) for
 the next steps for this module, which needs to become stable by 8.5.0 to remain
 in Drupal core.
 
-#### Settings Tray ([alpha stability](https://www.drupal.org/core/experimental#alpha))
+#### Settings Tray ([beta stability](https://www.drupal.org/core/experimental#beta))
 
 The Settings Tray module allows configuring page elements such as blocks and
 menus from the frontend of your site. Settings Tray has improved significantly
-since Drupal 8.3.0. The goal for this release is to get Settings Tray to beta
-stability. Only two issues remain before that milestone: to
-[move the off-canvas dialog renderer into a core component](https://www.drupal.org/node/2784443), and to
-[rename the machine name of the module to settings_tray](https://www.drupal.org/node/2803375),
+since Drupal 8.3.0. The module reached beta stability following completion of
+[moving the off-canvas dialog renderer into a core component](https://www.drupal.org/node/2784443), and
+[renaming the machine name of the module to settings_tray](https://www.drupal.org/node/2803375),
 to match its user-facing name. We hope to make Settings Tray stable by 8.5.0.
 To track progress, see the ["outside in" roadmap issue](https://www.drupal.org/node/2762505).
 
@@ -406,7 +448,6 @@ turned into an empty module in Drupal 8.5.x, since ideally the core Block
 system will offer the same functionality in 8.5.0 (though this depends on
 completion of a [core patch for the feature](https://www.drupal.org/node/2739075).)
 
-
 Drupal 8.3.0, 2017-04-05
 ------------------------
 - Added modules:
