diff --git a/core/CHANGELOG.txt b/core/CHANGELOG.txt
index 10e824f9e3..894eed1806 100644
--- a/core/CHANGELOG.txt
+++ b/core/CHANGELOG.txt
@@ -1,3 +1,202 @@
+Drupal 8.4.0, 2017-10-05
+------------------------
+## Note for Drush users: Update to Drush 8.1.12
+
+Versions of [Drush](https://github.com/drush-ops/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 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.
+
+## Note about browser requirements
+
+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).
+Drupal 8.4 still mostly works in these browser versions, but existing and newly
+discovered bugs that only affect these browser versions will no longer be
+fixed, and existing workarounds in Drupal core for these browser versions 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)
+currently lists incorrect information regarding very outdated browser versions
+such as Safari 5 and Firefox 5. Clarifications to the policy and documentation
+are [in progress](https://www.drupal.org/node/2390621), with a goal of being
+finalized before 8.4.0-rc1.
+
+## New stable modules
+
+The following modules, previously considered experimental, are now stable and
+safe for use on production sites, with full backwards compatibility and upgrade
+paths from 8.4.0 to future releases:
+
+### Datetime Range
+
+The [Datetime Range module](https://www.drupal.org/node/2893128) provides a
+field type that allows end dates to support contributed modules like
+[Calendar](https://www.drupal.org/project/calendar). This stable release is
+backwards-compatible with the 8.3.x experimental version and shares a
+consistent API with other Datetime fields.
+
+Future releases may improve Views support, usability, Datetime Range field
+validation, and add REST improvements. For bugs or feature requests for this
+module, [see the core Datetime issue queue](https://www.drupal.org/project/issues/search/drupal?project_issue_followers=&status%5B%5D=Open&version%5B%5D=8.x&component%5B%5D=datetime.module&issue_tags_op=%3D).
+
+### Media
+
+The new core [Media module](https://www.drupal.org/node/2895059) provides an
+API for reusable media entities and references. It is based on the contributed
+[Media Entity module](https://www.drupal.org/project/media_entity).
+
+Since there is a rich ecosystem of Drupal contributed modules built on Media
+Entity, the top priority for this release is to provide a stable core API and
+data model for a smoother transition for these modules. Developers and expert
+site builders can add Media as a dependency. Work is underway to [provide an
+update path for existing sites' Media Entity data](https://www.drupal.org/node/2880334) and to [port existing contributed modules to the refined core API](https://www.drupal.org/node/2860796).
+
+Note that **the core Media module is currently marked hidden** and will not
+appear on the 'Extend' (module administration) page. (Enabling a contributed
+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 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)
+
+## Content authoring and site administration improvements
+
+* The "Save and keep un-/published" buttons which users found confusing
+  [have been replaced](https://www.drupal.org/node/2068063) with a
+  "Published" checkbox and single "Save" button. [Change record](https://www.drupal.org/node/2847274)
+* Deleting a field on a content type [will no longer also delete](https://www.drupal.org/node/2468045)
+  views depending on that field; instead, the view is disabled.
+  [Change record](https://www.drupal.org/node/2871981)
+* The Drupal toolbar [no longer flickers](https://www.drupal.org/node/2542050)
+  during page rendering, thus improving perceived front-end performance.
+  [Change record](https://www.drupal.org/node/2871997)
+* Options in timezones selector [are now grouped by regions](https://www.drupal.org/node/2847651)
+  and represent cities instead of timezone names.
+  [Change record](https://www.drupal.org/node/2873857)
+* The "Recent log messages" report provided by dblog [is now a configurable view](https://www.drupal.org/node/2015149).
+  [Change record](https://www.drupal.org/node/2850115)
+* [RTBC] The _Administer users_ permission [no longer includes](https://www.drupal.org/node/2846365) the ability to
+  grant user roles in bulk operations. Only users with the _Administer roles_
+  permission can grant user roles. [Change record](https://www.drupal.org/node/2853612)
+
+## 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)
+* [#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)
+* [#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)
+
+## Developer experience improvements
+
+* [#2361539: Config export key order is not predictable for sequences, add orderby property to config schema](https://www.drupal.org/node/2361539)
+* [#2403703: Allow field types to enforce the cardinality](https://www.drupal.org/node/2403703)
+* [#2472337: Provide a lazy alternative to service collectors which just detects service IDs](https://www.drupal.org/node/2472337)
+* [#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)
+* [#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)
+
+## Automated testing improvements
+
+* [PHPUnit has been updated from 4.8.28 to 4.8.35](https://www.drupal.org/node/2850797)
+  in order to incorporate a forward compatibility layer for PHPUnit 4.8,
+  useful during a future migration to PHPUnit 5 or PHPUnit 6.
+* A lot of former WebTestBase tests got converted to BrowserTestBase. Current progress can be seen on [http://simpletest-countdown.org/](http://simpletest-countdown.org/).
+* (open) [#2827014: JavascriptTestBase will no longer support checking for the status codes and headers]
+
+* [#2488860: Bring phpunit bridge into drupal and use it for unit tests and simpletest to handle Deprecation](https://www.drupal.org/node/2488860)
+* [#2866056: ResourceTestBase should not have a timeout](https://www.drupal.org/node/2866056)
+
+## Third-party library updates
+
+* [Drupal's Symfony dependency has been updated from Symfony 2.8 to Symfony
+  3.2](https://www.drupal.org/node/2712647). This major version update is
+  necessary because Symfony 2.8 support will end around the release of Drupal
+  8.6.0 next year. [See the change record for information about Symfony 3 BC
+  breaks that affected Drupal core](https://www.drupal.org/node/2743809).
+  [Drupal 8 also requires Symfony 3.2.8](https://www.drupal.org/node/2871253)
+  because of a bug in Symfony 3.2.7.
+* [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).
+* [asm89/stack-cors has been updated from 1.0 to 1.1](https://www.drupal.org/node/2853201).
+
+## Experimental modules
+
+(Move sections up to "new stable modules" if they become stable.)
+
+### Migrate
+
+### Migrate Drupal
+
+* [#2814949: Support migration of node reference field values from Drupal 6](https://www.drupal.org/node/2814949)
+
+### Migrate Drupal UI
+
+### Workflows and Content Moderation
+
+* [#2766957: Forward revisions + translation UI can result in forked draft revisions](https://www.drupal.org/node/2766957)
+* [#2843083: Select entity type / bundle in workflow settings](https://www.drupal.org/node/2843083)
+* [#2856363: Path alias changes for draft revisions immediately leak into live site](https://www.drupal.org/node/2856363)
+* [#2858431: Book storage and UI is not revision aware, changes to drafts leak into live site](https://www.drupal.org/node/2858431)
+* [#2862988: EntityOperations::entityPresave doesn't always set the correct default revision](https://www.drupal.org/node/2862988)
+
+### Layout Discovery and Field Layout
+
+### Settings Tray
+
+### Place Block
+
+### Comment module
+
+* [#1986606: The comment administration page /admin/content/comment is a view now]
+
 Drupal 8.3.0, 2017-04-05
 ------------------------
 - Added modules:
