All Versions
97
Latest Version
Avg Release Cycle
56 days
Latest Release
-

Changelog History
Page 8

  • v0.24.0 Changes

    ๐Ÿš€ This release contains experimental v1 scheduler HTTP API. This allows framework โฑ schedulers to send HTTP requests to master endpoint ('/api/v1/scheduler') without the need for a driver.

    ๐Ÿš€ The release also includes these features:

    • [MESOS-336] - Mesos slave should cache executors.

    โž• Additional API Changes:

    • [MESOS-2293] - Implement the scheduler endpoint on master.

    • [MESOS-3135] - Publish MasterInfo to ZK using JSON.

    Binary API Changes (e.g., new flags):

    • [MESOS-3154] - Enable Mesos Agent Node to use arbitrary script / module to figure out IP, HOSTNAME.

    • [MESOS-809] - External control of the ip that Mesos components publish to zookeeper.

    ๐Ÿ—„ Deprecations:

    • [MESOS-2736] - MasterInfo ip, port and hostname are deprecated in favor of using the address field (see Address protobuf).

    ๐Ÿšง Work In Progress:

    • Support for 'Image' field added to 'Volume' and 'ContainerInfo' protobufs is incomplete.

    ๐Ÿš€ This release also includes several bug fixes and stability improvements.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-2166] - PerfEventIsolatorTest.ROOT_CGROUPS_Sample requires 'perf' to be installed
    • [MESOS-2337] - init.py not getting installed in $PREFIX/lib/pythonX.Y/site-packages/mesos
    • [MESOS-2480] - Protobuf jar is required for unbundled protobuf regardless of --disable-java flag.
    • [MESOS-2493] - google glog link is incorrect
    • [MESOS-2497] - Create synchronous validations for Calls
    • [MESOS-2552] - C++ Scheduler library should send HTTP Calls to master
    • [MESOS-2559] - Do not use RunTaskMessage.framework_id.
    • [MESOS-2660] - ROOT_CGROUPS_Listen and ROOT_IncreaseRSS tests are flaky
    • [MESOS-2862] - mesos-fetcher won't fetch uris which begin with a " "
    • [MESOS-2868] - --attributes flag in slave cannot take a value with ':'
    • [MESOS-2882] - Duplicate name-value env-vars in '-e' option of docker run
    • [MESOS-2900] - Display capabilities in state.json
    • [MESOS-2989] - Changing to "framework" from "framwork"
    • [MESOS-3001] - Create a "demo" HTTP API client
    • [MESOS-3002] - Rename Option::get(const T& _t) to getOrElse() broke network isolator
    • [MESOS-3027] - Compiler warning in stout subcommand tests
    • [MESOS-3058] - Cgroup tests relies on cgroups::get() returning in a specific order
    • [MESOS-3079] - sudo make distcheck fails on Ubuntu 14.04 (and possibly other OSes too)
    • [MESOS-3121] - Always disable SSLV2
    • [MESOS-3124] - Updating persistent volumes after slave restart is problematic.
    • [MESOS-3138] - PersistentVolumeTest.SlaveRecovery test fails on OSX
    • [MESOS-3141] - Compiler warning when mocking function type has an enum return type.
    • [MESOS-3143] - Disable endpoints rule fails to recognize HTTP path delegates
    • [MESOS-3148] - Resolve issue with hanging tests with Zookeeper
    • [MESOS-3168] - MesosZooKeeperTest fixture can have side effects across tests
    • [MESOS-3170] - 0.23 Build fails when compiling against -lsasl2 which has been statically linked
    • [MESOS-3175] - subprocess_tests.cpp:598 delete used but allocated with new[]
    • [MESOS-3178] - Perform a self bind mount of rootfs itself in fs::chroot::enter.
    • [MESOS-3192] - ContainerInfo::Image::AppC::id should be optional
    • [MESOS-3195] - Fix master metrics for scheduler calls
    • [MESOS-3197] - MemIsolatorTest/{0,1}.MemUsage fails on OS X
    • [MESOS-3201] - Libev handle_async can deadlock with run_in_event_loop
    • [MESOS-3203] - MasterAuthorizationTest.DuplicateRegistration test is flaky
    • [MESOS-3204] - PortMappingIsolatorProcess shell script can silently fail
    • [MESOS-3207] - C++ style guide is not rendered correctly (code section syntax disregarded)
    • [MESOS-3209] - parameterize allocator benchmark by framework count
    • [MESOS-3234] - enable automake maintainer mode
    • [MESOS-3237] - HTTP requests with nested path are not properly handled by libprocess
    • [MESOS-3238] - Master endpoint help message is incorrect
    • [MESOS-3260] - SchedulerTest.* are broken on OSX and CentOS
    • [MESOS-3262] - HTTPTest.NestedGet is flaky
    • [MESOS-3263] - SchedulerTask.KillTest fails for JSON Requests
    • [MESOS-3267] - JSON serialization/deserialization of bytes is incorrect
    • [MESOS-3274] - Build error with port mapping isolator
    • [MESOS-3275] - ContentType/HttpApiTest.UpdatePidToHttpSchedulerWithoutForce is flaky
    • [MESOS-3284] - JSON representation of Protobuf should use base64 encoding for 'bytes' fields.
    • [MESOS-3287] - downloadWithHadoop tries to access Error() for a valid Try
    • [MESOS-3290] - Master should drop HTTP calls when it's recovering

    ** ๐Ÿ“š Documentation

    • [MESOS-1838] - Add documentation for Authentication
    • [MESOS-2555] - Document issue with slave recovery when using systemd.
    • [MESOS-3087] - Typos in oversubscription doc
    • [MESOS-3167] - Design doc for versioning the HTTP API
    • [MESOS-3278] - Add the revocable metrics information in monitoring doc
    • [MESOS-3281] - Create a user doc for Scheduler HTTP API
    • [MESOS-3286] - Revocable metrics information are missed for slave node

    ** ๐Ÿ‘Œ Improvement

    • [MESOS-2350] - Add support for MesosContainerizerLaunch to chroot to a specified path
    • [MESOS-2794] - Implement filesystem isolators
    • [MESOS-2795] - Introduce filesystem provisioner abstraction
    • [MESOS-2798] - Export statistics on "unevictable" memory
    • [MESOS-2800] - Rename Option::get(const T& _t) to getOrElse() and refactor the original function
    • [MESOS-2841] - FrameworkInfo should include a Labels field to support arbitrary, lightweight metadata
    • [MESOS-2880] - Add Frameworkinfo.capabilities on framework re-registration
    • [MESOS-2902] - Enable Mesos to use arbitrary script / module to figure out IP, HOSTNAME
    • [MESOS-2924] - Allow simple construction via initializer list on hashset.
    • [MESOS-2946] - Authorizer Module: Interface design
    • [MESOS-2947] - Authorizer Module: Implementation, Integration & Tests
    • [MESOS-2951] - Inefficient container usage collection
    • [MESOS-2965] - Add implicit cast to string operator to Path.
    • [MESOS-2967] - Missing doxygen documentation for libprocess socket interface
    • [MESOS-3020] - Expose major, minor and patch components from stout Version
    • [MESOS-3054] - update gitignore
    • [MESOS-3093] - Support HTTPS requests in libprocess
    • [MESOS-3112] - Fetcher should perform cache eviction based on cache file usage patterns.
    • [MESOS-3118] - Remove pthread specific code from Stout
    • [MESOS-3119] - Remove pthread specific code from Libprocess
    • [MESOS-3120] - Remove pthread specific code from Mesos
    • [MESOS-3127] - Improve task reconciliation documentation.
    • [MESOS-3173] - Mark Path::basename, Path::dirname as const functions.
    • [MESOS-3182] - Make Master::registerFramework() and Master::reregisterFramework() call into Master::subscribe()

    ** Story

    • [MESOS-2860] - Create the basic infrastructure to handle /scheduler endpoint
    • [MESOS-3142] - As a Developer I want a better way to run shell commands
    • [MESOS-3211] - As a Python developer I want a simple way to obtain information about Master from ZooKeeper
    • [MESOS-3212] - As a Java developer I want a simple way to obtain information about Master from ZooKeeper

    ** Task

    • [MESOS-2294] - Implement the Events stream on master for Call endpoint
    • [MESOS-2640] - Remove old frameworks and ec2 scripts from core Mesos repository
    • [MESOS-2910] - Add an Event message handler to scheduler driver
    • [MESOS-2913] - Scheduler driver should send Call messages to the master
    • [MESOS-2933] - Pass slave's total resources to the ResourceEstimator and QoSController via Slave::usage().
    • [MESOS-2961] - Add cpuacct subsystem utils to cgroups
    • [MESOS-3012] - Support existing message passing optimization with Event/Call.
    • [MESOS-3067] - Implement a streaming response decoder for events stream
    • [MESOS-3088] - Update scheduler driver to send SUBSCRIBE call
    • [MESOS-3089] - Update scheduler library to send REQUEST call
    • [MESOS-3101] - Standardize separation of Windows/Linux-specific OS code
    • [MESOS-3102] - Separate OS-specific code in the stout library
    • [MESOS-3130] - Custom isolators should implement Isolator instead of IsolatorProcess.
    • [MESOS-3131] - Master should send heartbeats on the subscription connection
    • [MESOS-3132] - Allow slave to forward messages through the master for HTTP schedulers.
    • [MESOS-3145] - Using a unresolvable hostname crashes the framework on registration
    • [MESOS-3149] - Use setuptools to install python cli package
    • [MESOS-3162] - Provide a means to check http connection equality for streaming connections.
    • [MESOS-3179] - Create a test abstraction for preparing test rootfs.
    • [MESOS-3194] - Implement a 'read-only' AppC Image Store

    ** Wish

    • [MESOS-3276] - Add Scrapinghub to the Powered By Mesos page
  • v0.23.1 Changes

    • ๐Ÿš€ This is a bug fix release.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-2986] - Docker version output is not compatible with Mesos
    • [MESOS-3136] - COMMAND health checks with Marathon 0.10.0 are broken
  • v0.23.0 Changes

    ๐Ÿš€ This release contains new features:

    • [MESOS-1585] - Per-container network isolation: bandwidth capping and unique egress flow to reduce buffer bloat. Refer to the network monitoring and isolation documentation for more information.

    • [MESOS-2115] - Dockerized slaves will properly recover Docker containers upon failover.

    โฌ†๏ธ Plus an upgrade to the minimum required compiler versions:

    • [MESOS-2604] - Upgrade minimum required compilers to GCC 4.8+ or clang 3.5+.

    ๐Ÿ‘ And experimental support for the following features:

    • [MESOS-336] - Fetcher Caching of executor/task binaries. Refer to the fetcher documentation for more information.

    • [MESOS-354] - Support for launching tasks/executors on revocable resources. These resources can be revoked by Mesos at any time, causing the tasks using them to be throttled or preempted.

    • [MESOS-910] - SSL encryption via libevent. Refer to the SSL documentation for instructions on building and enabling SSL.

    • [MESOS-1554] - Frameworks can create Persistent Volumes from disk resources. Refer to the persistent volume documentation for more information.

    • [MESOS-2018] - Frameworks can dynamically reserve resources for their role. Refer to the reservation documentation for more information.

    Binary API Changes (e.g. new flags):

    • [MESOS-1913] - Create libevent/SSL-backed Socket implementation.

    • [MESOS-2110] - Configurable Ping Timeouts.

    • [MESOS-2155] - Make docker containerizer killing orphan containers optional.

    • [MESOS-2832] - Enable configuring Mesos with environment variables without having them leak to tasks launched.

    Framework API Changes:

    • [MESOS-1127] - Implement the protobufs for the scheduler API.

    • [MESOS-2097] - Update Resource protobuf with DiskInfo.

    • [MESOS-2191] - Add ContainerId to the TaskStatus message.

    • [MESOS-2292] - Implement Call/Event protobufs for Executor.

    • [MESOS-2475] - Add the Resource::ReservationInfo protobuf message.

    • [MESOS-2614] - Update name, hostname, failover_timeout, and webui_url in master on framework re-registration.

    • [MESOS-2654] - A new 'capabilities' field has been added to FrameworkInfo to opt in to revocable resources.

    • [MESOS-2691] - Update Resource message to include revocable resources.

    • [MESOS-2955] - Introduce acceptOffers scheduler driver API for performing operations on Offers.

    • [MESOS-2957] - Add version to MasterInfo.

    ๐Ÿ’ป Web UI Changes:

    • [MESOS-2104] - Correct naming of cgroup memory statistics.

    • [MESOS-2485] - Added master metrics for slave removal reasons.

    • [MESOS-2620] - Implement a mechanism which allows access control of endpoints.

    • [MESOS-2743] - Include ExecutorInfos for custom executors in master/state.json.

    • [MESOS-2775] - Added slave metrics for revocable resources.

    • [MESOS-2776] - Added master metrics for revocable resources.

    Module API Changes:

    • [MESOS-2050] - Revise Authenticator interface.

    • [MESOS-2351] - Enable label and environment decorators (hooks) to remove label and environment entries.

    • [MESOS-2884] - Allow isolators to specify required namespaces.

    ๐Ÿ†• New Module/Hook interfaces:

    • [MESOS-2160] - Add support for allocator modules.

    • [MESOS-2650] - Modularize the Resource Estimator.

    ๐Ÿ—„ Deprecations:

    • [MESOS-2058] - Remove stats.json endpoints for Master and Slave.

    • [MESOS-2697] - '/master/shutdown' endpoint is deprecated in favor of the new '/master/teardown' endpoint.

    ๐Ÿš€ This release also includes several bug fixes and stability improvements.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-328] - HTTP headers should be considered case-insensitive.
    • [MESOS-719] - missing-call-to-setgroups
    • [MESOS-757] - The post-reviews.py script hangs if HTTP authentication has expired
    • [MESOS-1303] - ExamplesTest.{TestFramework, NoExecutorFramework} flaky
    • [MESOS-1690] - Expose metric for container destroy failures
    • [MESOS-1795] - Assertion failure in state abstraction crashes JVM
    • [MESOS-1825] - Support the webui over HTTPS.
    • [MESOS-2016] - docker_name_prefix is too generic
    • [MESOS-2020] - mesos should send docker failure messages to scheduler
    • [MESOS-2161] - AbstractState JNI check fails for Marathon framework
    • [MESOS-2165] - When cyrus sasl MD5 isn't installed configure passes, tests fail without any output
    • [MESOS-2183] - docker containerizer doesn't work when mesos-slave is running in a container
    • [MESOS-2199] - Failing test: SlaveTest.ROOT_RunTaskWithCommandInfoWithUser
    • [MESOS-2309] - Mesos rejects ExecutorInfo as incompatible when there is no functional difference
    • [MESOS-2367] - Improve slave resiliency in the face of orphan containers
    • [MESOS-2373] - DRFSorter needs to distinguish resources from different slaves.
    • [MESOS-2387] - SlaveTest.TaskLaunchContainerizerUpdateFails is flaky
    • [MESOS-2401] - MasterTest.ShutdownFrameworkWhileTaskRunning is flaky
    • [MESOS-2402] - MesosContainerizerDestroyTest.LauncherDestroyFailure is flaky
    • [MESOS-2403] - MasterAllocatorTest/0.FrameworkReregistersFirst is flaky
    • [MESOS-2412] - Potential memleak(s) in stout/os.hpp
    • [MESOS-2426] - Developer Guide improvements
    • [MESOS-2436] - Adapt unit test relying on non-checkpointing slaves
    • [MESOS-2450] - Hardcoded constants in libprocess should be replaced by their INADDR_XXX equivalents
    • [MESOS-2457] - Update post-reviews to rbtools in 'submit your patch' of developer's guide
    • [MESOS-2464] - Authentication failure may lead to slave crash
    • [MESOS-2469] - Mesos master/slave should be able to bind to 127.0.0.1 if explicitly requested
    • [MESOS-2479] - Task filter input disappears entirely once the search query yields no results
    • [MESOS-2481] - Update CHANGELOG and upgrades doc about the new acceptOffers API.
    • [MESOS-2494] - Clang build broken with "expression result unused" warning
    • [MESOS-2514] - Change the default leaf qdisc to fq_codel inside containers
    • [MESOS-2530] - Alloc-dealloc-mismatch in OsSendfileTest.sendfile
    • [MESOS-2534] - PerfTest.ROOT_SampleInit test fails.
    • [MESOS-2538] - Remove unnecessary default flags from PortMappingMesosTest.
    • [MESOS-2548] - new make distcheck failures inside a docker container
    • [MESOS-2557] - Do not pass FrameworkID to Framework constructor for Master/Slave.
    • [MESOS-2558] - Mark RunTaskMessage.framework_id as optional
    • [MESOS-2566] - Fix the Attributes and Resources documentation
    • [MESOS-2592] - The sandbox directory is not chown'ed if the fetcher doesn't run
    • [MESOS-2598] - Slave state.json frameworks.executors.queued_tasks wrong format?
    • [MESOS-2601] - Tasks are not removed after recovery from slave and mesos containerizer
    • [MESOS-2603] - Permissions and ownership of persistent volumes are not set correctly.
    • [MESOS-2611] - Get Started about CentOS 6.5 is wrong
    • [MESOS-2627] - ExamplesTest.PersistentVolumeFramework is flaky
    • [MESOS-2636] - Segfault in inline Try getIP(const std::string& hostname, int family)
    • [MESOS-2656] - Slave should send status update immediately when container launch fails.
    • [MESOS-2659] - update pthread and python autoconf macros
    • [MESOS-2660] - ROOT_CGROUPS_Listen test is flaky
    • [MESOS-2668] - Slave fails to recover when there are still processes left in its cgroup
    • [MESOS-2671] - Port mapping isolator causes SIGABRT during slave recovery.
    • [MESOS-2672] - ContainerizerTest.ROOT_CGROUPS_BalloonFramework flaky
    • [MESOS-2690] - --enable-optimize build fails with maybe-uninitialized
    • [MESOS-2748] - /help generated links point to wrong URLs
    • [MESOS-2764] - Allow Resource Estimator to get Resource Usage information.
    • [MESOS-2778] - Non-POD static variables used in fq_codel and ingress.
    • [MESOS-2781] - getQdisc function in routing::queueing::internal.cpp returns incorrect qdisc
    • [MESOS-2787] - mesos-ps fails with "KeyError: 'mem_rss_bytes'"
    • [MESOS-2788] - mesos-ps truncates memory statistics
    • [MESOS-2792] - Remove duplicate literals in ingress & fq_codel queueing disciplines
    • [MESOS-2808] - Slave should call into resource estimator whenever it wants to forward oversubscribed resources
    • [MESOS-2809] - Mesos fails to launch Docker images built with large Dockerfiles
    • [MESOS-2815] - Flaky test: FetcherCacheHttpTest.HttpCachedSerialized
    • [MESOS-2835] - Fix typos in source comments
    • [MESOS-2866] - Slave should send oversubscribed resource information after master failover.
    • [MESOS-2869] - OversubscriptionTest.FixedResourceEstimator is flaky
    • [MESOS-2873] - style hook prevent's valid markdown files from getting committed
    • [MESOS-2874] - Convert PortMappingStatistics to use automatic JSON encoding/decoding
    • [MESOS-2877] - Allow libprocess firewall to have more control over the responses sent on failures
    • [MESOS-2881] - Linker error when building Mesos with unbundled dependencies
    • [MESOS-2889] - Add SSL switch to python configuration
    • [MESOS-2890] - Sandbox URL doesn't work in web-ui when using SSL
    • [MESOS-2891] - Performance regression in hierarchical allocator.
    • [MESOS-2894] - web UI shows "YYYY" for year instead of year
    • [MESOS-2904] - Add slave metric to count container launch failures
    • [MESOS-2914] - Port mapping isolator should cleanup unknown orphan containers after all known orphan containers are recovered during recovery.
    • [MESOS-2917] - Specify correct libnl version for configure check
    • [MESOS-2919] - Framework can overcommit oversubscribable resources during master failover.
    • [MESOS-2925] - Invalid usage of ATOMIC_FLAG_INIT in member initialization
    • [MESOS-2932] - There is a typo in docs/docker-containerizer.md file
    • [MESOS-2943] - mesos fails to compile under mac when libssl and libevent are enabled
    • [MESOS-2962] - Slave fails with Abort stacktrace when DNS cannot resolve hostname
    • [MESOS-2973] - SSL tests don't work with --gtest_repeat
    • [MESOS-2975] - SSL tests don't work with --gtest_shuffle
    • [MESOS-2986] - Docker version output is not compatible with Mesos
    • [MESOS-2991] - Compilation Error on Mac OS 10.10.4 with clang 3.5.0
    • [MESOS-2993] - Document per container unique egress flow and network queueing statistics
    • [MESOS-2996] - Failing Docker tests on CentOS Linux release 7.1.1503.
    • [MESOS-2997] - SSL connection failure causes failed CHECK.
    • [MESOS-3005] - SSL tests can fail depending on hostname configuration
    • [MESOS-3025] - 0.22.x scheduler driver drops 0.23.x reconciliation status updates due to missing StatusUpdate.uuid.
    • [MESOS-3034] - ReservationTest.CompatibleCheckpointedResources is flaky
    • [MESOS-3055] - Master doesn't properly handle SUBSCRIBE call
    • [MESOS-3060] - FTP response code for success not recognized by fetcher.

    ** ๐Ÿ“š Documentation

    • [MESOS-2205] - Add user documentation for reservations
    • [MESOS-2395] - Slave recovery documentation shows incorrect recover flag
    • [MESOS-2416] - Update or delete release guide in confluence wiki
    • [MESOS-2525] - Missing information in Python interface launchTasks scheduler method
    • [MESOS-2616] - Update C++ style guide on variable naming.
    • [MESOS-2621] - Create documentation for observability metrics
    • [MESOS-2622] - Document the semantic change in decorator return values
    • [MESOS-2783] - document the fetcher
    • [MESOS-2886] - Capture some testing patterns we use in a doc
    • [MESOS-2942] - Create documentation for using SSL
    • [MESOS-2992] - Improve attribute documentation to reflect current state
    • [MESOS-3033] - Add user guide for oversubscription

    ** ๐Ÿ‘Œ Improvement

    • [MESOS-692] - Reservations are not reported in master's state.json
    • [MESOS-994] - Add an Option os::getenv() to stout
    • [MESOS-1733] - Change the stout path utility to declare a single, variadic 'join' function instead of several separate declarations of various discrete arities
    • [MESOS-1991] - Remove dynamic allocation from Option
    • [MESOS-2023] - mesos-execute should allow setting environment variables
    • [MESOS-2057] - Concurrency control for fetcher cache
    • [MESOS-2069] - Basic fetcher cache functionality
    • [MESOS-2070] - Implement simple slave recovery behavior for fetcher cache
    • [MESOS-2072] - Fetcher cache eviction
    • [MESOS-2074] - Fetcher cache test fixture
    • [MESOS-2103] - Expose number of processes and threads in a container
    • [MESOS-2111] - Add build instructions for OSX in getting started
    • [MESOS-2136] - Expose per-cgroup memory pressure
    • [MESOS-2277] - Document undocumented HTTP endpoints
    • [MESOS-2323] - write flags to log at startup
    • [MESOS-2332] - Report per-container metrics for network bandwidth throttling
    • [MESOS-2333] - Securing Sandboxes via Filebrowser Access Control
    • [MESOS-2340] - Add ability to decode JSON serialized MasterInfo from ZK
    • [MESOS-2374] - Support relative host paths for container volumes
    • [MESOS-2392] - Rate limit slaves removals during master recovery.
    • [MESOS-2400] - Improve NsTest.ROOT_setns
    • [MESOS-2438] - Improve support for streaming HTTP Responses in libprocess.
    • [MESOS-2454] - Add support for /proc/self/mountinfo on Linux
    • [MESOS-2461] - Slave should provide details on processes running in its cgroups
    • [MESOS-2462] - Add option for Subprocess to set a death signal for the forked child
    • [MESOS-2507] - Performance issue in the master when a large number of slaves are registering.
    • [MESOS-2519] - Log IP addresses from HTTP requests
    • [MESOS-2527] - Add default bind to socket
    • [MESOS-2528] - Symlink the namespace handle with ContainerID for the port mapping isolator.
    • [MESOS-2547] - Cleanup stale bind mounts for port mapping isolator during slave recovery.
    • [MESOS-2549] - Remove non-variadic strings::format
    • [MESOS-2550] - Mesos doesn't compile with clang 3.6
    • [MESOS-2565] - Clean up style and comments in modules.
    • [MESOS-2571] - Expose Memory Pressure in MemIsolator
    • [MESOS-2573] - Use Memory Test Helper to improve some test code.
    • [MESOS-2595] - Create docker executor
    • [MESOS-2608] - test-framework should support principal only credential
    • [MESOS-2609] - Move StatusUpdateStream implementation to a compilation unit
    • [MESOS-2624] - "configure" should fail when "patch" is not available.
    • [MESOS-2653] - Slave should act on correction events from QoS controller
    • [MESOS-2666] - use standard compiler detection macros
    • [MESOS-2680] - Update modules doc with hook usage example
    • [MESOS-2693] - Printing a resource should show information about reservation, disk etc
    • [MESOS-2709] - Design Master discovery functionality for HTTP-only clients
    • [MESOS-2716] - Add non-const reference version of Option::get.
    • [MESOS-2729] - Update DRF sorter to update total resources
    • [MESOS-2745] - Add 'Path' to stout's user guide
    • [MESOS-2752] - Add HTB queueing discipline wrapper class
    • [MESOS-2784] - Added constexpr to C++11 whitelist.
    • [MESOS-2793] - Add support for container rootfs to Mesos isolators
    • [MESOS-2801] - Remove dynamic allocation from Future
    • [MESOS-2804] - Log framework capabilities in the master.
    • [MESOS-2805] - Make synchronized as primary form of synchronization.
    • [MESOS-2836] - Report per-container metrics for network bandwidth throttling to the slave
    • [MESOS-2837] - Decode network statistics from mesos-network-helper
    • [MESOS-2870] - Add validation capability to stout Flags
    • [MESOS-2888] - Add SSL socket tests
    • [MESOS-2928] - Update stout #include headers
    • [MESOS-2940] - Reconciliation is expensive for large numbers of tasks.
    • [MESOS-2958] - Update Call protobuf to move top level FrameworkInfo inside Subscribe
    • [MESOS-2966] - socket::peer() and socket::address() might fail with SSL enabled

    ** Story

    • [MESOS-1552] - Mesos javadoc should include .proto javadoc
    • [MESOS-2551] - C++ Scheduler library should send Call messages to Master
    • [MESOS-2746] - As a Framework User I want to be able to discover my Task's IP

    ** Task

    • [MESOS-1598] - Add advanced shaping controls to routing library
    • [MESOS-1856] - Support specifying libnl3 install location.
    • [MESOS-2031] - Manage persistent directories on slave.
    • [MESOS-2085] - Add support encrypted and non-encrypted communication in parallel for cluster upgrade
    • [MESOS-2108] - Add configure flag or environment variable to enable SSL/libevent Socket
    • [MESOS-2123] - Document changes in C++ Resources API in CHANGELOG.
    • [MESOS-2139] - Enable the master to handle reservation operations
    • [MESOS-2213] - Custom allocators should implement Allocator instead of AllocatorProcess
    • [MESOS-2233] - Run ASF CI mesos builds inside docker
    • [MESOS-2289] - Design doc for the HTTP API
    • [MESOS-2290] - Move all scheduler driver validations to master
    • [MESOS-2291] - Move executor driver validations to slave
    • [MESOS-2348] - Introduce a new filter abstraction for Resources.
    • [MESOS-2366] - MasterSlaveReconciliationTest.ReconcileLostTask is flaky
    • [MESOS-2375] - Remove the checkpoint variable entirely from slave/flags.hpp
    • [MESOS-2404] - Add an example framework to test persistent volumes.
    • [MESOS-2405] - Add user doc for using persistent volumes.
    • [MESOS-2422] - Use fq_codel qdisc for egress network traffic isolation
    • [MESOS-2427] - Add Java binding for the acceptOffers API.
    • [MESOS-2428] - Add Python bindings for the acceptOffers API.
    • [MESOS-2476] - Enable Resources to handle Resource::ReservationInfo
    • [MESOS-2477] - Enable Resources::apply to handle reservation operations.
    • [MESOS-2489] - Enable a framework to perform reservation operations.
    • [MESOS-2491] - Persist the reservation state on the slave
    • [MESOS-2496] - Make description consistent when adding flags
    • [MESOS-2563] - Add license blobs to Java JNI cpp files
    • [MESOS-2596] - Update allocator docs
    • [MESOS-2597] - Choose allocator based on master flag and loaded modules
    • [MESOS-2615] - Pipe 'updateFramework' path from master to Allocator to support framework re-registration
    • [MESOS-2629] - Update style guide to disallow capture by reference of temporaries
    • [MESOS-2630] - Remove capture by reference of temporaries in Stout
    • [MESOS-2631] - Remove capture by reference of temporaries in libprocess
    • [MESOS-2649] - Implement Resource Estimator
    • [MESOS-2652] - Update Mesos containerizer to understand revocable cpu resources
    • [MESOS-2655] - Implement a stand alone test framework that uses revocable cpu resources
    • [MESOS-2661] - Remove pre-C++11 codepaths
    • [MESOS-2662] - Remove and switch from memory:: to std::
    • [MESOS-2663] - Remove and switch from tuples:: to std::
    • [MESOS-2670] - Update existing lambdas to meet style guide
    • [MESOS-2677] - Add unrestricted unions to style guide
    • [MESOS-2689] - Slave should forward oversubscribable resources to the master
    • [MESOS-2730] - Add a new API call to the allocator to update oversubscribed resources
    • [MESOS-2733] - Update master to handle oversubscribed resource estimate from the slave
    • [MESOS-2734] - Update allocator to allocate revocable resources
    • [MESOS-2739] - Remove dynamic allocation from Stout Try
    • [MESOS-2740] - Remove dynamic allocation from Stout Result
    • [MESOS-2753] - Master should validate tasks using oversubscribed resources
    • [MESOS-2761] - Delegating constructors are not allowed by styleguide
    • [MESOS-2762] - Explicitly-defaulted functions are not allowed by styleguide
    • [MESOS-2770] - Slave should forward total amount of oversubscribed resources to the master
    • [MESOS-2773] - Pass callback to the resource estimator to retrieve ResourceUsage from Resource Monitor on demand.
    • [MESOS-2791] - Create a FixedResourceEstimator to return fixed amount of oversubscribable resources.
    • [MESOS-2807] - As a developer I need an easy way to convert MasterInfo protobuf to/from JSON
    • [MESOS-2818] - Pass 'allocated' resources for each executor to the resource estimator.
    • [MESOS-2823] - Pass callback to the QoS Controller to retrieve ResourceUsage from Resource Monitor on demand.
    • [MESOS-2892] - Add benchmark for hierarchical allocator.
    • [MESOS-2893] - Add queue size metrics for the allocator.
    • [MESOS-2898] - Write tests for new JSON (ZooKeeper) functionality

    ** Wish

    • [MESOS-2510] - Add a function which test if a JSON object is contained in another JSON object
  • v0.22.2 Changes

    • ๐Ÿš€ This is a bug fix release.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-2986] - Docker version output is not compatible with Mesos
  • v0.22.1 Changes

    • ๐Ÿš€ This is a bug fix release.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-1795] - Assertion failure in state abstraction crashes JVM.
    • [MESOS-2161] - AbstractState JNI check fails for Marathon framework.
    • [MESOS-2583] - Tasks getting stuck in staging.
    • [MESOS-2592] - The sandbox directory is not chown'ed if the fetcher doesn't run.
    • [MESOS-2601] - Tasks are not removed after recovery from slave and mesos containerizer
    • [MESOS-2643] - Python scheduler driver disables implicit acknowledgments by default.
    • [MESOS-2668] - Slave fails to recover when there are still processes left in its cgroup

    ** ๐Ÿ‘Œ Improvement

    • [MESOS-2461] - Slave should provide details on processes running in its cgroups

    ** Task

    • [MESOS-2614] - Update name, hostname, failover_timeout, and webui_url in master on framework re-registration
  • v0.22.0 Changes

    ๐Ÿš€ This release contains several new features:

    • ๐Ÿ‘Œ Support for explicitly sending status updates acknowledgements from schedulers; refer to the upgrades document for upgrading schedulers.
    • ๐Ÿ‘€ Rate limiting slave removal, to safeguard against unforeseen bugs leading to widespread slave removal.
    • Disk quota isolation in Mesos containerizer; refer to the containerization documentation to enable disk quota monitoring and enforcement.
    • ๐Ÿ‘Œ Support for module hooks in task launch sequence. Refer to the modules documentation for more information.
    • Anonymous modules: a new kind of module that does not receive any callbacks but coexists with its parent process.
    • ๐Ÿ†• New service discovery info in task info allows framework users to specify discoverability of tasks for external service discovery systems. Refer to the framework development guide for more information.
    • ๐ŸŒฒ New '--external_log_file' flag to serve external logs through the Mesos web UI.
    • New '--gc_disk_headroom' flag to control maxmimum executor sandbox age.

    API Changes:

    • [MESOS-1143] - TASK_ERROR is now sent instead of TASK_LOST when rescheduling a task should not be attempted.

    • [MESOS-2086] - Update messages.proto to use a raw bytestream instead of a string for AuthenticationStartMessage.

    • [MESOS-2120] - Task labels which enable key value pairs in task info which follows them through the task life-cycle.

    • [MESOS-2185] - Slave state.json will now include custom resource types in addition to first-class resource types.

    • [MESOS-2208] - Service discovery info for tasks and executors.

    • [MESOS-2322] - All arguments can now read their values from a file, just specify --name=file://path/to/file.

    • [MESOS-2347] - The C++/Java/Python APIs have been updated to provide the ability for schedulers to explicitly send acknowledgements. TaskStatus now includes a UUID to enable this.

    ๐Ÿ—„ Deprecations:

    • [MESOS-444] - Slave checkpoint flag has been removed as it will be enabled for all slaves.

    • [MESOS-1876] - Remove deprecated 'slave_id' field in ReregisterSlaveMessage.

    • [MESOS-2058] - Deprecate stats.json endpoints for Master and Slave and task status counts from state.json. See /help/metrics endpoint for more information.

    • [MESOS-2322] - Deprecated specifying JSON blobs to parse using an absolute path to point at the filename.

    ๐Ÿš€ This release also includes several bug fixes and stability improvements.

    All Issues: ** Technical task

    • [MESOS-2263] - Enable protobuf::write to handle google::protobuf::RepeatedPtrField
    • [MESOS-2264] - Enable protobuf::read to handle google::protobuf::RepeatedPtrField
    • [MESOS-2265] - Introduce an os::rename abstraction to stout.
    • [MESOS-2266] - Introduce a checkpoint function to support google::protobuf::Repeated

    ** ๐Ÿ› Bug

    • [MESOS-998] - Slave should wait until Containerizer::update() completes successfully.
    • [MESOS-1432] - Atomically set close-on-exec where possible.
    • [MESOS-1708] - Using the wrong resource "name" should report a better error.
    • [MESOS-1922] - Slave blocks on the fetcher after terminating an executor.
    • [MESOS-2008] - MasterAuthorizationTest.DuplicateReregistration is flaky.
    • [MESOS-2048] - Fix MesosContainerizerExecuteTest.IoRedirection test.
    • [MESOS-2121] - Fix ProcTest.MultipleThreads flaky.
    • [MESOS-2167] - Remove empty resource checker in master.
    • [MESOS-2176] - Hierarchical allocator inconsistently accounts for reserved resources.
    • [MESOS-2177] - Create socket wrappers for different protocol families.
    • [MESOS-2181] - Build failure - overloaded 'socket(int, __socket_type, int)' is ambiguous.
    • [MESOS-2185] - slave state endpoint does not contain all resources in the resources field.
    • [MESOS-2192] - libprocess fails to build under g++-4.6 - src/clock.cpp.
    • [MESOS-2206] - Latest health status omitted during reconciliation.
    • [MESOS-2225] - FaultToleranceTest.ReregisterFrameworkExitedExecutor is flaky.
    • [MESOS-2228] - SlaveTest.MesosExecutorGracefulShutdown is flaky.
    • [MESOS-2232] - Suppress MockAllocator::transformAllocation() warnings.
    • [MESOS-2236] - Compilation failure on GCC 4.4.7.
    • [MESOS-2241] - DiskUsageCollectorTest.SymbolicLink test is flaky.
    • [MESOS-2279] - Future callbacks should be cleared once the future has transitioned.
    • [MESOS-2283] - SlaveRecoveryTest.ReconcileKillTask is flaky.
    • [MESOS-2302] - FaultToleranceTest.SchedulerFailoverFrameworkMessage is flaky.
    • [MESOS-2305] - Refactor validators in Master.
    • [MESOS-2306] - MasterAuthorizationTest.FrameworkRemovedBeforeReregistration is flaky.
    • [MESOS-2313] - fix reviewboard setting so all users have same rbt settings.
    • [MESOS-2319] - Unable to set --work_dir to a non /tmp device.
    • [MESOS-2324] - MasterAllocatorTest/0.OutOfOrderDispatch is flaky.
    • [MESOS-2325] - CPU busy loop in libprocess libev clock.
    • [MESOS-2326] - Broken OSX Build after fixed bugs in CREATE/DESTROY operation handlers.
    • [MESOS-2328] - http::URL build error with clang 3.3.
    • [MESOS-2344] - segfaults running make check from ev integration.
    • [MESOS-2355] - MasterTest.SlavesEndpointTwoSlaves fails sometimes because the master assigns the same ID to both slaves.
    • [MESOS-2366] - Fixed a flaky reconciliation test.
    • [MESOS-2377] - Fix leak in libevent's version EventLoop::delay.
    • [MESOS-2381] - Put Authentication protobufs back in mesos.internal package.
    • [MESOS-2390] - HADOOP_HOME no longer works with fetcher.
    • [MESOS-2410] - Broken build on OS X 10.8.5 caused by mac_tests in stout.
    • [MESOS-2414] - Java bindings segfault during framework shutdown.
    • [MESOS-2420] - Fetcher tests fail to build on ubuntu 14.10.
    • [MESOS-2447] - Mesos replicated log does not log the Action type name.
    • [MESOS-2452] - The recovered executor directory points to the meta directory.
    • [MESOS-2463] - Slaves sends mutated copy of executorinfo to new elected master.
    • [MESOS-2486] - With unbundled dependencies Mesos doesn't build with -Wl,--no-copy-dt-needed-entries.
    • [MESOS-2499] - SOURCE_EXECUTOR not set properly in slave.cpp.

    ** ๐Ÿ“š Documentation

    • [MESOS-1470] - Add operational documentation for running HA masters.
    • [MESOS-2282] - developers guide is missing some details.
    • [MESOS-2327] - Authorization docs incorrectly describe how to configure turn off permissive mode.
    • [MESOS-2391] - Provide user doc for the new posix disk isolator in Mesos containerizer.
    • [MESOS-2396] - Provide user doc for service discovery info.

    ** Epic

    • [MESOS-2150] - Service discovery info for tasks and executors.

    ** ๐Ÿ‘Œ Improvement

    • [MESOS-1148] - Add support for rate limiting slave removal.
    • [MESOS-1248] - Use JSON instead of our own format for passing URI information to mesos-fetcher.
    • [MESOS-1316] - Implement decent unit test coverage for the mesos-fetcher tool.
    • [MESOS-1587] - Report disk usage from MesosContainerizer.
    • [MESOS-1588] - Enforce disk quota in MesosContainerizer.
    • [MESOS-1711] - Create method for users to identify HDFS compatible protocols in fetcher.cpp.
    • [MESOS-1960] - Silence symbolic link to pre-commit in bootstrap.
    • [MESOS-1974] - Refactor the C++ Resources abstraction for DiskInfo.
    • [MESOS-2009] - Libprocess: Introduce mutex.
    • [MESOS-2010] - Libprocess: Introduce enable_shared_from_this.
    • [MESOS-2011] - Introduce mutex.
    • [MESOS-2012] - Introduce enable_shared_from_this.
    • [MESOS-2019] - Replace the ip and port pairs from the UPID class and process namespace with Node class.
    • [MESOS-2051] - Pull Metrics struct out of Master and Slave to improve readability.
    • [MESOS-2056] - Refactor fetcher code in preparation for fetcher cache.
    • [MESOS-2094] - Libprocess: Introduce make_shared.
    • [MESOS-2095] - Introduce make_shared.
    • [MESOS-2104] - Correct naming of cgroup memory statistics.
    • [MESOS-2126] - Libprocess Future: Improve performance, Vector instead of Queue.
    • [MESOS-2127] - killTask() should perform reconciliation for unknown tasks.
    • [MESOS-2169] - Make GC_DISK_HEADROOM configurable through slave command line flag.
    • [MESOS-2172] - Refactor fetcher namespace into a class.
    • [MESOS-2173] - Consolidate all fetcher env vars into one that holds a JSON object.
    • [MESOS-2193] - serve an externally managed log via the web ui.
    • [MESOS-2230] - Update RateLimiter to allow the acquired future to be discarded.
    • [MESOS-2272] - Remove "internal" namespace from within "mesos"
    • [MESOS-2314] - remove unnecessary constants.
    • [MESOS-2347] - Add ability for schedulers to explicitly acknowledge status updates on the driver.

    ** Story

    • [MESOS-444] - Remove --checkpoint flag in the slave once checkpointing is stable.
    • [MESOS-1694] - Future::failure should return a const string&
    • [MESOS-1830] - Expose master stats differentiating between master-generated and slave-generated LOST tasks Task.
    • [MESOS-1876] - Remove deprecated 'slave_id' field in ReregisterSlaveMessage.
    • [MESOS-1903] - Add backoff to framework re-registration retries.
    • [MESOS-2029] - Allow slave to checkpoint resources.
    • [MESOS-2060] - Add support for 'hooks' in task launch sequence.
    • [MESOS-2098] - Update task validation to be after task authorization.
    • [MESOS-2099] - Support acquiring/releasing resources with DiskInfo in allocator.
    • [MESOS-2100] - Implement master to slave protocol for persistent disk resources.
    • [MESOS-2101] - Add the persistent resources release primitive to the framework API.
    • [MESOS-2106] - Enable libevent backed libprocess with configure flag.
    • [MESOS-2107] - Create libevent-backed clock implementation.
    • [MESOS-2109] - Introduce socket factory.
    • [MESOS-2114] - Extract and generalize WhitelistWatcher.
    • [MESOS-2133] - Create libevent-backed poll implementation.
    • [MESOS-2135] - Support DiskInfo in C++ Resources.
    • [MESOS-2138] - Add an Offer::Operation message for Dynamic Reservations.
    • [MESOS-2178] - Add a method from converting the hostname to an ip address and create initialization wrappers for sockaddr_in and addrinfo.
    • [MESOS-2240] - Narrow down file permissions on os::open.
  • v0.21.2 Changes

    • ๐Ÿš€ This is a bug fix release.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-2986] - Docker version output is not compatible with Mesos
  • v0.21.1 Changes

    • ๐Ÿš€ This is a bug fix release.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-2047] Isolator cleanup failures shouldn't cause TASK_LOST.
    • [MESOS-2071] Libprocess generates invalid HTTP
    • [MESOS-2147] Large number of connections slows statistics.json responses.
    • [MESOS-2182] Performance issue in libprocess SocketManager.

    ** ๐Ÿ‘Œ Improvement

    • [MESOS-1925] Docker kill does not allow containers to exit gracefully
    • [MESOS-2113] Improve configure to find apr and svn libraries/headers in OSX
  • v0.21.0 Changes

    ๐Ÿš€ This release includes several new features.

    • State reconciliation for frameworks:

      • Allows frameworks to reconcile the states of the tasks.
    • ๐Ÿ‘Œ Support for Mesos modules

      • Support for modules in master, slave and tests using the --modules flag.
    • Task status now includes source and reason:

      • [MESOS-343] - Expose TASK_FAILED reason to Frameworks.
      • [MESOS-1143] - Add a TASK_ERROR task status.
    • A shared filesystem isolator:

      • Volumes can be mounted from the host into a container's filesystem.
      • Parts of the shared filesystem can be made private to each container, e.g., a private /tmp for each container.
    • A pid namespace isolator:

      • Processes inside a container will not have visibility to host processes or processes in any other container.
      • Containers will be destroyed by terminating the 'init' process for the pid namespace rather than using the freezer cgroup, avoiding known kernel bugs.

    API Changes:

    • [MESOS-1461] - Add task reconciliation to the Python API.

    ๐Ÿ—„ Deprecations:

    • [MESOS-1807] - Disallow executors with cpu only or memory only resources.

    • [MESOS-1986] - Disabling checkpointing is deprecated and the --checkpoint flag will be removed in a future release.

    ๐Ÿ— Build changes:

    • [MESOS-1044] - Require C++11 compiler support.

    ๐Ÿš€ This release also includes several bug fixes and stability improvements.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-487] - Balloon framework fails to run due to bad flags
    • [MESOS-631] - Slave started in cleanup mode shouldn't accept new tasks
    • [MESOS-947] - Slave should properly handle a killTask() that arrives between runTask() and _runTask()
    • [MESOS-1081] - Master should not deactivate authenticated framework/slave on new AuthenticateMessage unless new authentication succeeds.
    • [MESOS-1195] - systemd.slice + cgroup enablement fails in multiple ways.
    • [MESOS-1208] - 3rdparty/libprocess/3rdparty/boost-1.53.0/boost/math/special_functions/sign.hpp:113:55: error: typedef 'fp_tag' locally defined but not used [-Werror=unused-local-typedefs]
    • [MESOS-1219] - Master should disallow frameworks that reconnect after failover timeout.
    • [MESOS-1389] - Reconciliation can send TASK_LOST before a terminal update reaches the framework.
    • [MESOS-1392] - Failure when znode is removed before we can read its contents.
    • [MESOS-1414] - Status updates should not be sent from the slave until it is registered.
    • [MESOS-1463] - mesos-local.sh dumps core
    • [MESOS-1668] - Handle a temporary one-way master --> slave socket closure.
    • [MESOS-1676] - ZooKeeperMasterContenderDetectorTest.MasterDetectorTimedoutSession is flaky
    • [MESOS-1688] - No offers if no memory is allocatable
    • [MESOS-1695] - The stats.json endpoint on the slave exposes "registered" as a string.
    • [MESOS-1696] - Improve reconciliation between master and slave.
    • [MESOS-1703] - better error message when replicated log hasn't been initialized
    • [MESOS-1712] - Automate disallowing of commits mixing mesos/libprocess/stout
    • [MESOS-1715] - The slave does not send pending tasks during re-registration.
    • [MESOS-1716] - The slave does not add pending tasks as part of the staging tasks metric.
    • [MESOS-1722] - Wrong attributes separator in slave --help
    • [MESOS-1741] - mesos-slave shouldn't fail if dockerd is down
    • [MESOS-1746] - clear TaskStatus data to avoid OOM
    • [MESOS-1748] - MasterZooKeeperTest.LostZooKeeperCluster is flaky
    • [MESOS-1769] - Segfault when using external containerizer
    • [MESOS-1774] - Fix protobuf detection on systems with Python 3 as default
    • [MESOS-1782] - AllocatorTest/0.FrameworkExited is flaky
    • [MESOS-1783] - MasterTest.LaunchDuplicateOfferTest is flaky
    • [MESOS-1786] - FaultToleranceTest.ReconcilePendingTasks is flaky.
    • [MESOS-1797] - Packaged Zookeeper does not compile on OSX Yosemite
    • [MESOS-1799] - Reconciliation can send out-of-order updates.
    • [MESOS-1814] - Task attempted to use more offers than requested in example jave and python frameworks
    • [MESOS-1817] - Completed tasks remains in TASK_RUNNING when framework is disconnected
    • [MESOS-1821] - CHECK failure in master.
    • [MESOS-1824] - when "docker ps -a" returns 400+ lines enabling docker containerizer results in all executors dying
    • [MESOS-1833] - Running docker container with colon in executor id generates error
    • [MESOS-1834] - Default port for mesos is 5050, but documentation states it as 5051
    • [MESOS-1843] - Specifying --with-curl doesn't work.
    • [MESOS-1844] - AllocatorTest/0.SlaveLost is flaky
    • [MESOS-1849] - Cannot execute container in privileged mode
    • [MESOS-1853] - Remove /proc and /sys remounts from port_mapping isolator
    • [MESOS-1854] - SlaveRecoveryTest.MultipleSlaves is flaky.
    • [MESOS-1855] - Mesos 0.20.1 doesn't compile
    • [MESOS-1857] - path::join() is broken
    • [MESOS-1858] - Leaked file descriptors in StatusUpdateStream.
    • [MESOS-1862] - Performance regression in the Master's http metrics.
    • [MESOS-1866] - Race between ~Authenticator() and Authenticator::authenticate() can lead to schedulers/slaves to never get authenticated
    • [MESOS-1869] - UpdateFramework message might reach the slave before Reregistered message and get dropped
    • [MESOS-1873] - Don't pass task-related arguments to mesos-executor
    • [MESOS-1875] - os::killtree() incorrectly returns early if pid has terminated
    • [MESOS-1878] - Access to sandbox on slave from master UI does not show the sandbox contents
    • [MESOS-1881] - Reviewbot should not apply reviews that are submitted.
    • [MESOS-1884] - Composing Containerizer is not sending calls to still launching containers
    • [MESOS-1892] - Using mesos-0.20.1.jar with libmesos-0.21.0 reliably segfaults
    • [MESOS-1901] - Slave resources obtained from localhost:5051/state.json is not correct.
    • [MESOS-1915] - Docker containers that fail to launch are not killed
    • [MESOS-1945] - SlaveTest.KillTaskBetweenRunTaskParts is flaky
    • [MESOS-1948] - Docker tests are flaky
    • [MESOS-1967] - Test RoutingTest.INETSockets fails on some machine
    • [MESOS-1969] - RBT only takes revision ranges as args for versions >= 0.6
    • [MESOS-1970] - slave and offer ids are indistinguishable in the logs
    • [MESOS-1975] - Module manager causes make check failure for annotated mesos versions.
    • [MESOS-1989] - Container network stats reported by the port mapping isolator is the reverse of the actual network stats.
    • [MESOS-2025] - OsTest.killtreeNoRoot: Process reparent assumes new parent is init pid 1
    • [MESOS-2036] - Fix the Json format for the --modules and update the help message
    • [MESOS-2046] - Configure should check headers and libraries for svn and apr
    • [MESOS-2050] - InMemoryAuxProp plugin used by Authenticators results in SEGFAULT
    • [MESOS-2052] - RunState::recover should always recover 'completed'
    • [MESOS-2078] - Scheduler driver may ACK status updates when the scheduler threw an exception

    ** ๐Ÿ“š Documentation

    • [MESOS-1506] - Update documentation/flags regarding new default hostname semantics
    • [MESOS-1950] - Add module writers guide
    • [MESOS-1984] - Documentation for Egress Control Limit
    • [MESOS-2033] - Documentation for isolator filesystem/shared.
    • [MESOS-2034] - Documentation for isolator namespaces/pid.
    • [MESOS-2037] - Update docs/configuration.md

      • Epic
    • [MESOS-1407] - Provide state reconciliation for frameworks.

      • ๐Ÿ‘Œ Improvement
    • [MESOS-186] - Resource offers should be rescinded after some configurable timeout

    • [MESOS-750] - Require compilers that support c++11

    • [MESOS-1181] - Improve cpplint rule coverage

    • [MESOS-1502] - expose message event queue size from libprocess

    • [MESOS-1567] - Add logging of the user uid when receiving SIGTERM.

    • [MESOS-1586] - Isolate system directories, e.g., per-container /tmp

    • [MESOS-1643] - Provide APIs to return port resource for a given role

    • [MESOS-1656] - Do not remove docker container until gc process runs

    • [MESOS-1728] - Libprocess: report bind parameters on failure

    • [MESOS-1752] - Allow variadic templates

    • [MESOS-1771] - introduce unique_ptr

    • [MESOS-1779] - Mesos style checker should catch trailing white space

    • [MESOS-1811] - Reconcile disconnected/deactivated semantics in the master code

    • [MESOS-1813] - Fail fast in example frameworks if task goes into unexpected state

    • [MESOS-1863] - Split launch tasks and decline offers metrics

    • [MESOS-1896] - Enable module specific command line parameters

    • [MESOS-1927] - Enable implicit local cluster launch to load modules

    • [MESOS-1932] - Install git pre commit hook during bootstrap

    • [MESOS-1951] - Add --isolation flag to mesos-tests

    • [MESOS-1972] - Move TASK_LOST generations due to invalid tasks from scheduler driver to master

    • [MESOS-2038] - Remove dead code in Slave::_runTask

      • Story
    • [MESOS-343] - Expose TASK_FAILED reason to Frameworks.

    • [MESOS-1765] - Use PID namespace to avoid freezing cgroup

      • Task
    • [MESOS-681] - Document the reconciliation API.

    • [MESOS-1410] - Keep terminal unacknowledged tasks in the master's state.

    • [MESOS-1808] - Expose RTT in container stats

    • [MESOS-1864] - Add test integration for module developers

    • [MESOS-1931] - Add support for isolator modules

    • [MESOS-1943] - Add event queue size metrics to scheduler driver

    • [MESOS-1964] - 0.21.0 release

    • [MESOS-1965] - Create mesos::modules namespace for all module related stuff

    • [MESOS-1985] - Use more standard debug / release build flags

  • v0.20.1 Changes

    • ๐Ÿš€ This is a bug fix release.

    All Issues: ** ๐Ÿ› Bug

    • [MESOS-1705] - SubprocessTest.Status sometimes flakes out
    • [MESOS-1724] - Can't include port in DockerInfo's image
    • [MESOS-1727] - Configure fails with ../configure: line 18439: syntax error near unexpected token `PROTOBUFPREFIX,'
    • [MESOS-1729] - LogZooKeeperTest.WriteRead fails due to SIGPIPE (escalated to SIGABRT)
    • [MESOS-1730] - Should be an error if commandinfo shell=true when using docker containerizer
    • [MESOS-1732] - Mesos containerizer doesn't reject tasks with container info set
    • [MESOS-1737] - Isolation=external result in core dump on 0.20.0
    • [MESOS-1740] - Bad error message when docker containerizer isn't enabled
    • [MESOS-1749] - SlaveRecoveryTest.ShutdownSlave is flaky
    • [MESOS-1755] - Add docker support to mesos-execute
    • [MESOS-1758] - Freezer failure leads to lost task during container destruction.
    • [MESOS-1760] - MasterAuthorizationTest.FrameworkRemovedBeforeReregistration is flaky
    • [MESOS-1764] - Build Fixes from 0.20 release
    • [MESOS-1766] - MasterAuthorizationTest.DuplicateRegistration test is flaky
    • [MESOS-1809] - Modify docker pull to use docker inspect after a successful pull

    ** ๐Ÿ‘Œ Improvement

    • [MESOS-1621] - Docker run networking should be configurable and support bridge network
    • [MESOS-1762] - Avoid docker pull on each container run
    • [MESOS-1770] - Docker with command shell=true should override entrypoint