+SimGrid (3.19) NOT RELEASED YET (target: March 20 2018, 16:15:27 UTC)
+
+ MSG
+ - Fix MSG_task_get_remaining_work_ratio() to return 1.0 for tasks that have
+ not started.
+
+ S4U
+ - Execution->setHost() can be called after start() to migrate it.
+ - Comm::test_any() is now implemented.
+ - s4u::Actor now has an onCreation() signal.
+
+ XBT
+ - Remove XBT_LOG_CONNECT, it should be useless nowadays.
+
+ Fixed bugs:
+ - #245: migrating an actor does not migrate its execution
+
+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.
+
+ XBT
+ - Define class simgrid::xbt::Path to manage file names.
+ - Removed unused functions:
+ - xbt/file.h: xbt_basename(), xbt_dirname(), xbt_getline()
+ - xbt/graph.h: xbt_graph_edge_get_length(), xbt_graph_edge_set_length,
+ xbt_graph_export_graphviz()
+ - xbt/str.h: xbt_str_join()
+ - Remove unused datatypes:
+ - xbt/heap.h: use std::priority_queue or boost::heap instead
+ - xbt/swag.h: use boost::intrusive::list instead
+
+ PLUGINS:
+ - New link_energy plugin for the consumption of the links.
+ - All of the operations on files and storage contents have been
+ packaged into a plugin (src/plugins/file_system). The current
+ public interface can be found in
+ include/simgrid/plugins/file_system.h
+ To use these functions you now have to initialize the plugin by
+ calling MSG_storage_file_system_init() just after calling
+ MSG_init() or sg_storage_file_system_init() just after creating
+ the Engine.
+
+ XML
+ - Remove the undocumented/untested tag <include>
+
+ TRACE
+ - Remove viva specific tracing as the tool is no longer maintained
+
+ Fixed bugs:
+ - #248: Kill of finished processes leads to segfault
+ - #240: xbt_cond_wait_timeout should gracefully return for C apps
+ - #239: please implement signal s4u::onDeadlock()
+ - #230: segfaults when exit() without run()
+ - #225: s4u::Actor::kill() doesn not really kill victims in a join()
+ - #223: MSG_task_get_flops_amount() not working with parallel tasks
+ - #222: Actor::kill() doesn't really kill and segfaults
+ - #221: odd LMM warning when killing an actor
+ - #120: Memory leak when the processes are forcefully killed
+
+SimGrid (3.17) Released October 8 2017
+
+ The Drained Leaks release: (almost) no known leaks despite the tests.
+
+ Even very long simulations will preserve your memory: our testsuite
+ stresses SimGrid for over 45mn on fast machines for a coverage of
+ over 80%, and there is only one single known leak, of about 4kb.
+
+
+ S4U
+ - Comm.detach(): start and forget about asynchronous emission. A cleanup
+ handler may be given to free resources if the comm cannot be completed.
+ - this_actor::send(mailbox) is now mailbox->put()
+ - New: simgrid::s4u::Comm::wait_all()
+ - New: Host.execute() for remote executions.
+
+ SURF
+ - Unused option network/sender-gap is removed.
+
+ MSG
+ - Deprecate MSG_task_isend_with_matching(): This unused feature
+ really complicates our internals. Will be removed in v3.20.
+
+ Simix
+ - Improved context termination. It is now possible to free resources, even
+ when a process is forcibly killed.
+ - ContextBoost: add support for Boost versions above 1.61.
+
+ XBT
+ - Bring back run-time option --cfg=exception/cutpath to remove exception
+ backtraces.
+ - Removed unused functions:
+ - xbt/str.h: xbt_str_split_str(), xbt_str_subst(), xbt_str_ltrim(),
+ xbt_str_rtrim(), xbt_str_trim().
+ - xbt/xbt_os_thread.h: xbt_os_thread_cancel(), xbt_os_thread_detach().
+
+ Misc
+ - Removed header files obsolete since SimGrid 3.12:
+ msg/datatypes.h, msg/msg.h, simdag/datatypes.h, simdag/simdag.h.
+ - Fix many bugs:
+ - #3: SD_exit should be made optional
+ - #120: Memory leak when the processes are forcefully killed
+ - #159: Threading test regression in Actor refcounting
+ - #170: simgrid::s4u::Comm::wait_any() returns too many comms
+ - #185: simgrid::s4u::Engine::instance()->shutdown() segfaults
+ - #186: Actor::killAll() segfaults if some process is blocked on wait()
+ - #191: VM migration and pstate
+ - #192: Updating the energy consumptions of all hosts crashes with VMs
+ - #195: All actors have PID=0 in the logs
+ - #204: Sometimes segfault with thread contexts and mmap privatization
+ - #222: Actor::kill() doesn't really kill and segfaults
+ - #225: Actor::kill() doesn't really kill when victims are doing a join()
+
+----------------------------------------------------------------------------
+
+SimGrid (3.16) Released June 22. 2017.
+
+ The Blooming Spring Release: developments are budding.
+
+ Portability status:
+ - FreeBSD: Disable SMPI mmap privatization, switch automatically to dlopen.
+ - Mac, BSD: dlopen+thread broken, switch automatically to raw contexts.
+ - Java JAR file should be finally fully working on Mac OSX too.
+
+ XML platforms: Switch to platform v4.1 format.
+ * This is (mainly) a backward compatible change: v4 are valid v4.1 files
+ - <zone> can be used as a synonym for the now deprecated <as>
+ - <zoneRoute> can be used as a synonym for the now deprecated <asroute>
+ - <bypassZoneRoute> an be used as a synonym for the now deprecated <bypassAsRoute>
+ - <actor> can be used as a synonym for the now deprecated <process>
+ - state_file and avail_file periodicity is now easier to express
+ (check the documentation) the old behavior should still work.
+ * Storage: not backward compatible, but it seems that nobody ever used it
+ - Remove attribute 'content_type' of <storage_type>: was never used
+ - Make attribute 'model' of <storage_type> optional: for future usage
+ - Remove Bconnection model property: was never (in)validated. Replaced by
+ the maximum of the read and write bandwidth as a resource constraint.
+
+ SimDag
+ - New and Backwards Compatibility break:
+ SD_simulate_with_update (double how_long, xbt_dynar_t changed_tasks_dynar)
+ When one wants to get the list of tasks whose states have changed during a
+ simulation round, s/he has to allocate and free a dynar and use it as
+ argument to this function. The former SD_simulate (double how_long)
+ now returns void.
+
+ Virtual Machines
+ - Allow multicore VMs, with the correct sharing (unless you overcommit)
+ BUG: vCPU overcommitting still leads to buggy sharing, though. WIP.
+
+ Energy
+ - New function to update the consumption of all hosts at once.
+ - Fix the model for multi-core hosts, linear in the amount of busy
+ cores with an abnormality for pIdle (see paper).
+ BUG: Still not satisfactory for ptask on mono-cores.
+
+ MSG
+ - The netzone are now available from the MSG API.
+ The old names still work, but are now deprecated.
+
+ SMPI
+ - New algorithm to privatize globals: dlopen, with dynamic loading tricks
+ - New option: smpi/keep-temps to not cleanup temp files
+ - New option : smpi/shared-malloc-blocksize . Relevant only when global shared
+ mallocs mode is used, allows to change the size of the fake file used
+ (default 1MB), to potentially limit the number of mappings for large runs.
+ - Support for sparse privatized malloc with SMPI_PARTIAL_SHARED_MALLOC()
+ - Fortran ifort and flang compilers support
+ - New RMA calls supported (experimental) :
+ - MPI_Win_allocate, MPI_Win_create_dynamic, MPI_Win_attach
+ - MPI_Win_detach, MPI_Win_set_info, MPI_Win_get_info
+ - MPI_Win_lock_all, MPI_Win_unlock_all, MPI_Win_flush
+ - MPI_Win_flush_local, MPI_Win_flush_all, MPI_Win_flush_local_all
+ - MPI_Op_commutative, MPI_Fetch_and_Op, MPI_Compare_and_swap
+ - MPI_Rput, MPI_Rget, MPI_Raccumulate, MPI_Rget_accumulate
+
+ S4U
+ - New: this_actor::isMaestro() returns whether we are in kernel mode.
+ - Behind the scene, ActivityImpl are now automatically refcounted.
+ Removing this nasty bottleneck will greatly simplify our internals.
+
+ XBT
+ - Replay: New function xbt_replay_action_get():
+ Retrieve the function previously associated to an event type.
+ - DROPPED FUNCTION: xbt_str_varsubst()
+ - DROPPED MODULE: strbuff. We don't need it anymore.
+ - DROPPED MODULE: matrix. We don't need it anymore.
+ - DROPPED MODULE: lib. We don't need it anymore.
+
+ -- Thu Jun 22 22:48:12 CEST 2017 -- Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.15) Released March 22. 2017