Updated CHANGELOG for 1.9.0.
diff --git a/CHANGELOG b/CHANGELOG
index a5bb8d5..8ce9ee6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,5 @@
-Release Notes - Mesos - Version 1.9.0 (WIP)
--------------------------------------------
+Release Notes - Mesos - Version 1.9.0
+-------------------------------------
 This release contains the following highlights:
 
   * Security
@@ -43,6 +43,194 @@
     NOTE: This new overload is only available when libprocess is compiled
     with `--enable-ssl`.
 
+ Unresolved Critical Issues:
+  * MESOS-9889 - Master CPU high due to unexpected foreachkey behaviour in Master::__reregisterSlave
+  * MESOS-9697 - Release RPMs are not uploaded to bintray
+  * MESOS-9579 - ExecutorHttpApiTest.HeartbeatCalls is flaky.
+  * MESOS-9536 - Nested container launched with non-root user may not be able to write to its sandbox via the environment variable `MESOS_SANDBOX`
+  * MESOS-9520 - IOTest.Read hangs on Windows
+  * MESOS-9500 - spark submit with docker image on mesos cluster fails.
+  * MESOS-9426 - ZK master detection can become forever pending.
+  * MESOS-9393 - Fetcher crashes extracting archives with non-ASCII filenames.
+  * MESOS-9365 - Windows - GET_CONTAINERS API call causes the Mesos agent to fail
+  * MESOS-9355 - Persistence volume does not unmount correctly with wrong artifact URI
+  * MESOS-9352 - Data in persistent volume deleted accidentally when using Docker container and Persistent volume
+  * MESOS-9053 - Network ports isolator can falsely trigger while destroying containers.
+  * MESOS-9006 - The agent's GET_AGENT leaks resource information when using authorization
+  * MESOS-8877 - Docker container's resources will be wrongly enlarged in cgroups after agent recovery
+  * MESOS-8840 - `cpu.cfs_quota_us` may be accidentally set for command task using docker during agent recovery.
+  * MESOS-8803 - Libprocess deadlocks in a test.
+  * MESOS-8679 - If the first KILL stuck in the default executor, all other KILLs will be ignored.
+  * MESOS-8608 - RmdirContinueOnErrorTest.RemoveWithContinueOnError fails.
+  * MESOS-8257 - Unified Containerizer "leaks" a target container mount path to the host FS when the target resolves to an absolute path
+  * MESOS-8256 - Libprocess can silently deadlock due to worker thread exhaustion.
+  * MESOS-8096 - Enqueueing events in MockHTTPScheduler can lead to segfaults.
+  * MESOS-8038 - Launching GPU task sporadically fails.
+  * MESOS-7971 - PersistentVolumeEndpointsTest.EndpointCreateThenOfferRemove test is flaky
+  * MESOS-7911 - Non-checkpointing framework's tasks should not be marked LOST when agent disconnects.
+  * MESOS-7748 - Slow subscribers of streaming APIs can lead to Mesos OOMing.
+  * MESOS-7721 - Master's agent removal rate limit also applies to agent unreachability.
+  * MESOS-7566 - Master crash due to failed check in DRFSorter::remove
+  * MESOS-7386 - Executor not cleaning up existing running docker containers if external logrotate/logger processes die/killed
+  * MESOS-6285 - Agents may OOM during recovery if there are too many tasks or executors
+  * MESOS-5989 - Libevent SSL Socket downgrade code accesses uninitialized memory / assumes single peek is sufficient.
+
+All Resolved Issues:
+
+** Bug
+  * [MESOS-2842] - Master crashes when framework changes principal on re-registration
+  * [MESOS-5804] - ExamplesTest.DynamicReservationFramework is flaky
+  * [MESOS-6382] - Add option to enable parallel test runner for cmake builds
+  * [MESOS-6605] - configure looks for wrong header file for elfio
+  * [MESOS-8968] - Wire `UPDATE_QUOTA` call.
+  * [MESOS-9353] - libprocess triggers deprecation warnings when built against openssl 1.1.
+  * [MESOS-9395] - Check failure on `StorageLocalResourceProviderProcess::applyCreateDisk`.
+  * [MESOS-9482] - Resource provider manager can crash on invalid data from resource providers
+  * [MESOS-9560] - ContentType/AgentAPITest.MarkResourceProviderGone/1 is flaky
+  * [MESOS-9594] - Test `StorageLocalResourceProviderTest.RetryRpcWithExponentialBackoff` is flaky.
+  * [MESOS-9609] - Master check failure when marking agent unreachable
+  * [MESOS-9616] - `Filters.refuse_seconds` declines resources not in offers.
+  * [MESOS-9667] - Check failure when executor for task using resource provider resources subscribes before agent is registered
+  * [MESOS-9698] - DroppedOperationStatusUpdate test is flaky
+  * [MESOS-9707] - Calling link::lo() may cause runtime error
+  * [MESOS-9711] - Avoid shutting down executors registering before a required resource provider.
+  * [MESOS-9712] - StorageLocalResourceProviderTest.CsiPluginRpcMetrics is flaky.
+  * [MESOS-9719] - Test `AgentFailoverHTTPExecutorUsingResourceProviderResources` is flaky.
+  * [MESOS-9727] - Heartbeat calls from executor to agent are reported as errors
+  * [MESOS-9733] - Random sorter generates non-uniform result for hierarchical roles.
+  * [MESOS-9750] - Agent V1 GET_STATE response may report a complete executor's tasks as non-terminal after a graceful agent shutdown
+  * [MESOS-9765] - Test `ROOT_CreateDestroyPersistentMountVolumeWithReboot` is flaky.
+  * [MESOS-9766] - /__processes__ endpoint can hang.
+  * [MESOS-9779] - `UPDATE_RESOURCE_PROVIDER_CONFIG` agent call returns 404 ambiguously.
+  * [MESOS-9782] - Random sorter fails to clear removed clients.
+  * [MESOS-9785] - Frameworks recovered from reregistered agents are not reported to master `/api/v1` subscribers.
+  * [MESOS-9786] - Race between two REMOVE_QUOTA calls crashes the master.
+  * [MESOS-9803] - Memory leak caused by an infinite chain of futures in `UriDiskProfileAdaptor`.
+  * [MESOS-9808] - libprocess can deadlock on termination (cleanup() vs use() + terminate())
+  * [MESOS-9811] - Don't use reverse DNS for hostname validation
+  * [MESOS-9831] - Master should not report disconnected resource providers.
+  * [MESOS-9835] - `QuotaRoleAllocateNonQuotaResource` is failing.
+  * [MESOS-9836] - Docker containerizer overwrites `/mesos/slave` cgroups.
+  * [MESOS-9852] - Slow memory growth in master due to deferred deletion of offer filters and timers.
+  * [MESOS-9854] - /roles endpoint should return both guarantees and limits.
+  * [MESOS-9856] - REVIVE call with specified role(s) clears filters for all roles of a framework.
+  * [MESOS-9861] - Make PushGauges support floating point stats.
+  * [MESOS-9870] - Simultaneous adding/removal of a role from framework's roles and its suppressed roles crashes the master.
+  * [MESOS-9875] - Mesos did not respond correctly when operations should fail
+  * [MESOS-9881] - StorageLocalResourceProviderTest.RetryOperationStatusUpdateAfterRecovery is flaky.
+  * [MESOS-9882] - Mesos.UpdateFrameworkV0Test.SuppressedRoles is flaky.
+  * [MESOS-9886] - RoleTest.RolesEndpointContainsConsumedQuota is flaky.
+  * [MESOS-9887] - Race condition between two terminal task status updates for Docker/Command executor.
+  * [MESOS-9888] - /roles and GET_ROLES do not expose roles with only static reservations
+  * [MESOS-9890] - /roles and GET_ROLES does not always expose parent roles.
+  * [MESOS-9893] - `volume/secret` isolator should cleanup the stored secret from runtime directory when the container is destroyed
+  * [MESOS-9894] - Mesos failed to build due to fatal error C1083 on Windows using MSVC.
+  * [MESOS-9895] - SlaveTest.DrainingAgentRejectLaunch is flaky
+  * [MESOS-9901] - jsonify uses non-standard mapping for protobuf map fields.
+  * [MESOS-9902] - Mesos failed to build due to error C2280 on windows with MSVC
+  * [MESOS-9906] - Libprocess tests hangs on arm
+  * [MESOS-9909] - Mesos agent crashes after recovery when there is nested container joins a CNI network
+  * [MESOS-9922] - MasterQuotaTest.RescindOffersEnforcingLimits is flaky
+  * [MESOS-9925] - Default executor takes a couple of seconds to start and subscribe Mesos agent
+  * [MESOS-9930] - DRF sorter may omit clients in sorting after removing an inactive leaf node.
+  * [MESOS-9934] - Master does not handle returning unreachable agents as draining/deactivated
+  * [MESOS-9935] - The agent crashes after the disk du isolator supporting rootfs checks.
+  * [MESOS-9952] - ExampleTest.DiskFullFramework is slow
+
+** Epic
+  * [MESOS-9534] - CSI Spec v1.0 Support.
+  * [MESOS-9784] - Client side SSL certificate verification in Libprocess.
+  * [MESOS-9795] - Support configurable /dev/shm and IPC namespace.
+
+** Improvement
+  * [MESOS-7258] - Provide scheduler calls to subscribe to additional roles and unsubscribe from roles.
+  * [MESOS-8456] - Allocator should allow roles to burst above guarantees but below limits.
+  * [MESOS-8789] - /roles and webui roles table should display distinct offered and allocated resources.
+  * [MESOS-9254] - Make SLRP be able to update its volumes and storage pools.
+  * [MESOS-9545] - Marking an unreachable agent as gone should transition the tasks to terminal state
+  * [MESOS-9618] - Display quota consumption in the webui.
+  * [MESOS-9640] - Add authorization support for `UPDATE_QUOTA` call.
+  * [MESOS-9668] - Add authorization support for the new `GET_QUOTA` call.
+  * [MESOS-9669] - Deprecate v0 quota calls.
+  * [MESOS-9695] - Remove the duplicate pid check in Docker containerizer
+  * [MESOS-9701] - Allocator's roles map should track reservations.
+  * [MESOS-9724] - Flatten the weighted shuffling in the random sorter.
+  * [MESOS-9758] - Take ports out of the GET_ROLES endpoints.
+  * [MESOS-9759] - Log required quota headroom and available quota headroom in the allocator.
+  * [MESOS-9760] - Decouple Docker runtime isolator manifest configuration from image provider
+  * [MESOS-9769] - Add direct containerized support for filesystem operations.
+  * [MESOS-9770] - Add no-new-privileges isolator.
+  * [MESOS-9771] - Mask sensitive procfs paths.
+  * [MESOS-9778] - Randomized the agents in the second allocation stage.
+  * [MESOS-9787] - Log slow SSL (TLS) peer reverse DNS lookup.
+  * [MESOS-9791] - Libprocess does not support server only SSL certificate verification.
+  * [MESOS-9799] - Adopt container file operations in secrets volumes.
+  * [MESOS-9802] - Remove quota role sorter in the allocator.
+  * [MESOS-9805] - Run cgroup subsystems before moving the target PID.
+  * [MESOS-9806] - Address allocator performance regression due to the addition of quota limits.
+  * [MESOS-9807] - Introduce a `struct Quota` wrapper.
+  * [MESOS-9812] - Add achievability validation for update quota call.
+  * [MESOS-9820] - Add `updateQuota()` method to the allocator.
+  * [MESOS-9833] - Introduce an agent flag for the default `/dev/shm` size
+  * [MESOS-9876] - Use geteuid to determine subprocess' user when launching task.
+  * [MESOS-9878] - Enable libprocess users to pass a custom SSL context when using Socket
+  * [MESOS-9900] - Include overlayfs upperdir in disk quota accounting.
+  * [MESOS-9908] - Introduce a new agent flag and support docker volume chown to task user.
+  * [MESOS-9917] - Store a role tree in the allocator.
+  * [MESOS-9932] - Removal of a role from the suppression list should be equivalent to REVIVE.
+
+** Task
+  * [MESOS-8486] - Webui should display role limits.
+  * [MESOS-9485] - Unit test for master operation authorization.
+  * [MESOS-9565] - Unit tests for creating and destroying persistent volumes in SLRP.
+  * [MESOS-9598] - Update GET `/quota` to return both guarantees and limits.
+  * [MESOS-9599] - Update `GET_QUOTA` to return both guarantees and limits.
+  * [MESOS-9600] - Deprecate `SET_QUOTA` and `REMOVE_QUOTA` calls in favor of `UPDATE_QUOTA`.
+  * [MESOS-9601] - Persist `QuotaConfig`s in the registry.
+  * [MESOS-9602] - Provide backward compatibility for old quota configurations.
+  * [MESOS-9603] - Add quota limits metrics.
+  * [MESOS-9627] - Test CSI v1 in SLRP unit tests.
+  * [MESOS-9699] - Pull in glog 0.4.0
+  * [MESOS-9710] - Add tests to ensure random sorter performs correct weighted sorting.
+  * [MESOS-9715] - Support specifying output file name for curl fetcher plugin
+  * [MESOS-9754] - Design doc for agent draining
+  * [MESOS-9757] - Design doc for container debug endpoint.
+  * [MESOS-9775] - Design doc for UCR shared memory.
+  * [MESOS-9788] - Configurable IPC namespace and shared memory in `namespaces/ipc` isolator
+  * [MESOS-9793] - Implement UPDATE_FRAMEWORK call in V0 API for C++/Java
+  * [MESOS-9809] - Use OpenSSL built-in functions for hostname validation
+  * [MESOS-9810] - Reject certificate-less ciphers when certificate verification is enabled
+  * [MESOS-9814] - Implement DrainAgent master/operator call with associated registry actions
+  * [MESOS-9816] - Add draining state information to master state endpoints
+  * [MESOS-9817] - Add minimum master capability for draining and deactivation states
+  * [MESOS-9818] - Implement minimal agent-side draining handler
+  * [MESOS-9821] - Agent kills all tasks when draining
+  * [MESOS-9822] - Agent recovery code for task draining
+  * [MESOS-9823] - Agent should modify status updates while draining
+  * [MESOS-9825] - Introduce an agent flag to disallow sharing the IPC namespace from the host.
+  * [MESOS-9826] - Set up `/dev/shm` in `filesystem/linux` isolator only when `namespaces/ipc` isolator is not enabled
+  * [MESOS-9827] - Introduce the configurable shm protobuf API.
+  * [MESOS-9828] - Document the IPC namespace and shm on UCR.
+  * [MESOS-9829] - Implement the container debug endpoint on slave/http.cpp
+  * [MESOS-9837] - Implement `FutureTracker` class along with helper functions.
+  * [MESOS-9839] - Implement `IsolatorTracker` class.
+  * [MESOS-9840] - Implement `LauncherTracker` class.
+  * [MESOS-9841] - Integrate `IsolatorTracker` and `LinuxLauncher` with Mesos containerizer.
+  * [MESOS-9842] - Implement tests for the `FutureTracker` class and for its helper functions.
+  * [MESOS-9845] - Add docs for automatic agent draining
+  * [MESOS-9846] - Update UI for agent draining
+  * [MESOS-9849] - Add support for per-role REVIVE / SUPPRESS to V0 scheduler driver.
+  * [MESOS-9853] - Update Docker executor to allow kill policy overrides
+  * [MESOS-9860] - Agent should erase DrainInfo when draining complete
+  * [MESOS-9862] - Agent should fail task launches while draining
+  * [MESOS-9871] - Expose quota consumption in /roles endpoint.
+  * [MESOS-9874] - Add environment variable `MESOS_ALLOCATION_ROLE` to the task/container.
+  * [MESOS-9892] - Test various agent state transitions involving agent draining
+  * [MESOS-9907] - Retain agent draining start time in master
+
+** Documentation
+  * [MESOS-9427] - Revisit quota documentation.
+
 
 Release Notes - Mesos - Version 1.8.2 (WIP)
 -------------------------------------------