+ - Execution->setHost() can be called after start() to migrate it.
+ - Comm::test_any() is now implemented.
+ - s4u::Actor now has onCreation() and onDestruction() signals.
+
+ XBT
+ - Remove XBT_LOG_CONNECT, it should be useless nowadays.
+
+ SimDag
+ - SD_task_dependency_add(): remove unused parameters 'name' and 'data'.
+
+ SMPI
+ - The privatization of global variables via mmap() is now significantly more
+ flexible and allows the use of daemons with SMPI and to add new processes
+ while the simulation is running. (Adding new SMPI instances after the
+ simulation has already started should also be technically doable now.)
+ - Removed index notion from SMPI -- no more "getPid() - 1"!
+ This also means that the trace files
+ now contain actors called rank-<PROCESS-ID>. These are NOT the real
+ ranks, because tracing several communicators right now is not supported.
+ - Because of this, smpi_process_index() has now been deprecated and will
+ be removed in 3.21
+ Fixed bugs:
+ - #245: migrating an actor does not migrate its execution
+
+ PLATFORM:
+ - Rename FULLDUPLEX into SPLITDUPLEX (old name still accepted)
+
+ TRACING
+ - Remove unused run-time parameter "tracing/onelink-only".
+
+SimGrid (3.18) Released December 24 2017
+
+ The "Ho Ho Ho! SimGrid 4 beta is coming to town" release.
+
+ MSG IS NOW DEPRECATED. Please use S4U for new projects.
+ - Support for MSG should not be removed from SimGrid before 2020,
+ but future evolutions will be limited to the integration of
+ user-provided patches.
+
+ S4U New features
+ - s4u::onDeadlock() signal, run before stopping the simulation.
+ - s4u::Exec: asynchronous executions (abstraction of background
+ threads)
+ - s4u::Host->getLoad() returns the achieved speed in flops/s
+
+ S4U API changes
+ - Link::name() is deprecated and will be removed in v3.21, use
+ Link::getCname() instead.
+ - Mailbox::getName() changed to return a std::string, use
+ Mailbox::getCname() instead to get a char*.
+ - Storage::getName() changed to return a std::string, use
+ Storage::getCname() instead to get a char*.
+ - s4u::allStorages() becomes s4u::getStorageList(whereTo)
+ to have both allocation and deallocation of the map in user space.
+
+ MSG
+ - Forbid the use of MSG_task_get_flops_amount() on parallel tasks:
+ The amount of flops remaining to do is a vector, not a scalar.
+ - Introduce MSG_task_get_remaining_work_ratio(), which does what its
+ name implies on both sequential and parallel tasks.
+ - Both changes fix GitHub's #223 using PR #237 as a basis.
+ Thanks Michael Mercier.
+ - Most examples were converted to S4U and hidden elsewhere at tests.
+ Rationale: we still want MSG to work; we want newcomers to use S4U.
+
+ SURF
+ - LMM stuff moved to its own namespace: simgrid::kernel::lmm.
+ - Renamed LMM classes (e.g. s_lmm_system_t -> System).
+
+ SMPI
+ - Switch to the faster dlopen privatization mechanism by default
+ - Documentation improvments
+
+ Virtual Machines
+ - Live migration is getting moved to a plugin. Dirty page tracking is
+ the first part of this plugin. This imply that VM migration is now
+ only possible if one this function is called :
+ - C/MSG: MSG_vm_live_migration_plugin_init()
+ - C/C++: sg_vm_live_migration_plugin_init()
+ - Java: Msg.liveMigrationInit()
+ For C and C++, "simgrid/plugins/live_migration.h" also has to be
+ included.