=================
= ESPRESSO NEWS =
=================

ESPResSo 4.1.3
==============

This release provides a number of corrections for the ESPResSo 4.1 line.
We recommend that this release be used for all production simulations.
The interface has not been changed between ESPResSo 4.1.2 and 4.1.3.
However, some bugs were discovered which can affect simulation results.
Please find the list of changes below. The numbers in brackets refer to
ticket numbers on https://github.com/espressomd/espresso

Feature configuration at compile time

* The number of features which need to be defined at compile time in
  myconfig.hpp has been reduced. Features without performance impact
  are now always present. These are:

   * ``OIF_LOCAL_FORCES``
   * ``OIF_GLOBAL_FORCES``

General corrections and improvements:

* Many bonded interactions were not considered in the bond cutoff calculation:
  umbrella, OIF local, OIF global, IBM tribend, IBM volcons, angle harmonic,
  angle cosine, angle cossquare, tabulated angle, bonded Coulomb, subtracted
  bonded Coulomb, subtracted LJ, quartic, harmonic dumbbell. This can lead
  to sub-optimal skin values when such bonds are used with an inter-particle
  distance that is longer than other bonded (FENE, harmonic bond, rigid bond,
  thermalized distance, tabulated bond, tabulated dihedral, dihedral, IBM
  triel), non-bonded (LJ, Morse, Buckingham, etc.) and long-range
  (electrostatics, magnetostatics) interactions in the same system. All
  bonded interactions are now considered in the cutoff calculation (#3443).

* Fix a bug in a rotation function that resulted in improper treatment of
  rotation vectors with norm different from unity (#3559); all observable
  classes inheriting from `CylindricalProfile` are affected

* Fix a bug in the LB GPU implementation that lead to incorrect velocity
  interpolation near LB boundaries (#3593)

* Fix a bug in the LB CPU implementation that lead to incorrect grid sizes
  (#3678)

* Object-in-fluid bugfixes have been backported from the OIF development
  branch; in particular, the bending force between two triangles is now
  torque-free (#3385)

* Rewrite the linear polymer position generator, which was inefficient and
  frequently rejected valid positions (#3402, #3484, #3491)

* Fix an error in the distance calculation of the `SpheroCylinder`
  shape (#3629)

* Fix a sign flip in the surface normal calculation of the `Torus`
  shape (#3728)

* Fix an `IndexError` when running `system.number_of_particles()` without a
  value for the argument `type` (#3496, #3494) and fix the range check (#3536)

* Fix a `NameError` when running `system.analysis.rdf()` without a value for
  the argument `r_max` (#3496, #3494)

* Fix a `NameError` raised by the OpenGL visualizer when drawing bonds in
  periodic images of the unit cell (#3511)

* Correctly calculate the orientation of bonds cut by the faces of the
  simulation box in the OpenGL visualizer (#3511)

* Fix a memory leak in the OpenGL visualizer when drawing shapes containing
  cylindrical elements (`Cylinder`, `SpheroCylinder`, `SimplePore`,
  `Slitpore`) and drawing bonds between particles (#3533)

* Fix an issue in the OpenGL visualizer that drew the channel of the
  `Slitpore` shape at the center of the box, instead of using the
  `dividing_plane` attribute (#3728)

* Fix a bug in the ELC algorithm that ignored the Coulomb prefactor (#3731).
  The same bug is also present in MMM2D but could not be fixed.

* Correctly check the P3M parameter `mesh` (#3676)

* The LB checkpointing argument `binary` now takes a boolean value (#3541);
  integers values 0 and 1 are still accepted (integers are implicitly cast
  to boolean values)

* Reinitialize the P3M and dipolar P3M solvers when the box size or skin
  changes (#3717)

* Clarify error messages in the Steepest Descent integrator (#3763)

* Fix an incorrect formula in the `tensor_product` mode of the `Correlator`
  class that always returned an array of 0's since 4.1.0 (#3781)

* Fix a runtime error when calling the `get_params()` method of a
  ScaFaCos-based actor (#3784)

Documentation and tutorials corrections and improvements:

* Fix paragraph formatting in Jupyter notebooks and update Sphinx
  bibliography (#3395).

* The Sphinx documentation generation doesn't run in parallel any longer
  due to plugin `sphinxcontrib.bibtex` throwing a warning when executed
  with more than one thread in Sphinx v2.3.1 (#3393). The slowdown is not
  significant (less than a second).

* Fix compatibility issues with Sphinx 2.4.0 (#3480), 3.0.1 (#3642, #3659)
  and 1.6.7 (#3743)

* Clarify the quaternion formalism used in ESPResSo (#3392, #3748)

* The `p3m.py` sample showcased an incorrect usage of the ELC actor
  (the gap region was missing). The actor was removed and a new,
  stand-alone sample `visualization_elc.py` was created (#3468)

* The `visualization_constraints.py` sample showcased an incorrect
  usage of the `Slitpore` and `Wall` shapes that lead to a discontinuous
  potential; this is now fixed (#3728)

* Correct errors in the documentation of the constructor parameters for
  shape classes `Cylinder`, `SpheroCylinder`, `Rhomboid` (#3567), for
  class `System` (#3542) and for cylindrical observables (#3569)

* Correct an error in the formula of the electrostatic prefactor in the
  electrostatics documentation, give the full expression of the
  electrostatic prefactor in tutorials and samples (#3673)

* Improve documentation of the `Slitpore` shape and document the
  `Torus` shape (#3728)

* Improve installation instructions (#3673, #3699, #3732)

* Document `BoxGeometry`-related functions (#3747)

* Explain release workflow and how to obtain released versions of
  ESPResSo (#3745)

* Improve citation instructions with examples (#3745)

* General improvements (#3740, #3743)

Build system and platform-related corrections and improvements:

* The benchmarks can now be run with any MPI library supported by
  ESPResSo (#3412)

* The CMake logic was simplified (#3574, parts of #3582). The minimal
  required Cython version is now checked. CMake now generates an error
  message if `WITH_CLANG_TIDY` is `ON` but no Clang-Tidy can be found
  with a version matching the Clang version. The CUDA library installed
  via the Ubuntu package `nvidia-cuda-toolkit` is now correctly detected.

* Add support for ROCm versions 3.0 (#3386), 3.1 (#3574) and 3.3 (#3623)

* Fix compiler errors with HDF5 > 1.10.2 (#3604)

* Fix compiler errors with Boost 1.73 (#3725)

* Fix a deprecation warning from the `collections.abc` that will become
  an error in the upcoming Python 3.9 interpreter (#3568)

* Fix a compatibility issue with `pint` 0.10.1 in tutorial
  12 - constant pH (#3423)

Improved testing:

* Fix a tolerance value that was incorrectly divided by 100, causing unit
  tests to fail on i586 architectures (#3427)

* Compile CUDA code in the Travis-CI image to detect more compiler
  errors (#3699). GPU tests are skipped on Travis-CI.

* Add a test for the ``Utils::get_n_triangle`` function used in OIF (#3391)

* Add a test for sample `visualization_constraints.py` (#3533)

* Add missing `LENNARD_JONES` and `GPU` feature guards in Python
  tests (#3403, #3676)

* Fix a few non-functional Python tests (#3419) and sample tests (#3791)

* Improve testing of ELC (#3731)

* Improve testing of the `Slitpore` shape (#3728)

* Fix an issue in a core test (#3677)

* Add cleanup function in the checkpointing tests (#3699)

* Add a test for `fold_position()` (#3747)

* Improve testing of observables, correlators and accumulators
  (#3781, #3783, #3784)

Under the hood changes:

* Remove unused code (#3556, #3738)

* Remove the unused `FindPythonModule` CMake module (#3736)

* Update the espresso-ci bot scripts (#3613)

ESPResSo 4.1.2
==============

This release provides a number of corrections for the ESPResSo 4.1 line.
We recommend that this release be used for all production simulations.
The interface has not been changed between ESPResSo 4.1.1 and 4.1.2.
However, some bugs were discovered which can affect simulation results.
Below, please find the list of changes. The numbers in brackets refer to
ticket numbers on https://github.com/espressomd/espresso

General corrections and improvements:

* Remove correlation between the rotational noise and translational
  noise in the Langevin thermostat (#3355)

* Fix a bug that may cause the wrong temperature to be set by the
  Langevin and DPD thermostats in the first time step after the system
  was altered from the Python level, e.g., by changing particles or
  interactions (#3341)

* Fix a bug that caused the DPD thermostat to generate an incorrect
  velocity distribution when used together with the Langevin thermostat
  (#3352)

* Fix a bug in MMM2D and ELC with potential boundary conditions, where
  one of the correction factors was over-counted resulting in wrong
  energies (#3310)

* Fix a bug that caused the wrong bonds to be deleted when removing
  particles from the system (#3356)

* Fix an ambiguity in `ParticleSlice`: the values in the square brackets
  refer to particle ids, not array indices (#3367). This means the
  ill-defined syntax `system.part[0:-1]` is no longer valid. See the
  User Guide section on Setting up particles for more information.

* Remove the mass prefactor in the `ComForce` observable and use
  the correct Particle ids in the `ParticleAngularVelocities`
  and `ParticleBodyVelocities` observables (#3380)

* Fix a rounding error that caused debug builds of ESPResSo running with
  multiple MPI threads to crash when a particle was placed exactly on
  the boundary between two cells (#3377)

* Fix `espressomd.has_features()` for the corner case where the list of
  all compiled-in features is passed as argument, returning ``False``
  instead of ``True`` (#3318)

* Refactor the random number generator code (#3349)

* Minor fixes (#3351, #3336)

Documentation and tutorials corrections and improvements:

* Improve documentation of Monte Carlo methods (#3254, #3330)

* Minor fixes (#3342, #3334)

Build system and platform-related corrections and improvements:

* List all Python dependencies in `requirements.txt` with the supported
  version numbers (#3300). Please note that most of them are optional.

* Add `MPIEXEC_PREFLAGS` and `MPIEXEC_POSTFLAGS` to the command lines of
  parallel tests (#3221)

* Add the `-oversubscribe` flag to the command lines of parallel tests
  running with OpenMPI v2.X to avoid exiting early from a Python test
  configured without `MAX_NUM_PROC` on a machine with a hyperthreaded
  CPU where OpenMPI is configured such that the number of threads cannot
  exceed the number of cores (#3335)

* Refactor the CI, maintainer, Doxygen and pypresso shell scripts to
  make them more portable and support filepaths containing whitespaces
  (#3326, #3373)

* Fix a nvcc compiler warning on the empty config (#3329)

Improved testing:

* Add a test for ELC and MMM2D using analytic expressions of the force
  and energy (#3331)

* Sped-up seven Python tests (#3319)

* Fix a test that broke on s390x architectures with Fedora 31 (#3312)

* Fix tests that broke on i586 architectures with OpenSUSE Tumbleweed
  (#3327, #3358)



ESPResSo 4.1.1
==============

This release provides a number of corrections for Espresso 4.1.
We recommend that this release be used for all production simulations.
The interface is mostly unchanged between Espresso 4.1 and 4.1.1; the
two exceptions are limited to these experimental features:

* `Integrator.set_isotropic_npt()`: input value `direction=[0,0,0]`
  now throws an error instead of being silently changed to `[1,1,1]`

* `ParticleHandle.swimming`: deprecated value `'rotational_friction'`
  is now disabled

These changes are unlikely to affect production simulations.
However, some bugs were discovered which can affect simulation results.
Below, please find the list of changes. The numbers in brackets refer
to ticket numbers on https://github.com/espressomd/espresso

General corrections and improvements:

* Restore checkpointing mechanism for the steepest descent and NPT
  integrators, LB and NPT thermostats (#3245)

* Increase the minimum MPI version to 3.0; OpenMPI versions 1.6.5 and
  lower are no longer supported (#3236)

* Fix `Integrator.set_isotropic_npt()`: remove the silent conversion of
  the incorrect input parameter `direction=[0,0,0]` to `[1,1,1]` in the
  core; the function now throws an exception for fixed-volume boxes;
  this change is unlikely to break pypresso scripts since not providing
  a value to `direction` or providing `[1,1,1]` were the two standard
  ways to set up a box with all directions allowed to rescale (#3253)

* Fix `Integrator.set_vv()`: this function failed to set the velocity
  Verlet integrator if the NPT integrator was active; this is now
  resolved (#3274)

* Fix the random segmentation fault triggered by the removal of a
  particle with a bond or a virtual site relationship to another
  particle (#3288)

* Fix `system.part.writevtk()`: the function now writes down all
  particles when using `types="all"` (#3290)

* Disable the deprecated and broken ENGINE shear torque calculation
  feature; the feature will be completely removed from the core in
  the upcoming 4.2 release (#3277)

* Fix unit conversion for the LB fluid viscosity (#3287)

Documentation and tutorials corrections and improvements:

* Add more detailed installation instructions for ESPResSo and its
  Python dependencies on MacOS X (#3236)

* Add links to Dockerfiles providing installation instructions for
  ESPResSo and its Python dependencies on CentOS 7, Fedora 30, Debian 10
  and OpenSUSE Leap 15.1 (#3244)

* Add instructions to read PDB files with `MDAnalysis`, which is one of
  the recommended tools to read/write molecular dynamics topologies and
  trajectories in ESPResSo; the PdbParser feature will be removed in the
  upcoming 4.2 release (#3257)

* Add a new tutorial on the constant pH method; the reaction ensemble
  tutorial will be removed in the upcoming 4.2 release (#3184)

Build system and platform-related corrections and improvements:

* Fix a PYTHONPATH error when ESPResSo is built in a directory
  containing whitespace characters (#3238)

* Fix several issues with the command `make install` that lead to import
  errors in Python (incorrect runtime path, missing shared objects,
  name collision for submodule `cluster_analysis`) and deprecate the
  `make install DESTDIR=/path/to/espresso` command in favor of the
  standard `cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/espresso` command
  (#3228), install espressomd module in a platform-dependent python
  path, typically `lib{,64}/python3.X/{dist,site}-packages` (#3258)

* Fix an issue in mpiio that triggered an assertion in systems with no
  bonds when ESPResSo is built with stdlibc++ range checking enabled
  (#3234)

* Fix the pypresso script to correctly parse filepaths containing
  whitespaces passed after a pypresso flag, such as `--gdb`, and make
  conditional statements cross-platform (#3292)

Improved testing:

* Test checkpointing of integrators and thermostats (#3245)

* Fix and improve `check_cmake_install` test (#3228, #3258) and add a
  new CI job to test an installed version of ESPResSo (#3228)

* Test engine LB (#3277)

* Add more LB tests (#2748)




Espresso 4.1
============

This is a feature release, i.e., new functionality is added to Espresso.
An additional focus of this release is quality assurance and
modernization. The testing of Espresso's functionality has been extended
considerably. Also, sample and tutorial scripts are now automatically
tested. Moreover, a large effort was put into modernizing the C++
simulation core. Work has been done, e.g., on particle sorting, the MPI
communication infrastructure, and the lattice-Boltzmann implementations.
Electrostatic and magnetostatic methods now have a clear and common
interface. These changes will facilitate future extensions of Espresso
and make the code more understandable to new developers.

We recommend that this release be used for all production simulations.
No further bug fix releases will be provided for the 4.0 line, and not
all fixes are present in Espresso 4.0.2.

Please carefully read the detailed list of changes below before using
this release. Issues can be reported at
https://github.com/espressomd/espresso.


Changed requirements
--------------------

* Python 2 support has been dropped. Espresso now requires Python 3.
  For additional information, please see
  https://github.com/espressomd/espresso/wiki/python_2_3_transition.

* Espresso now needs a C++14-capable compiler, such as GCC 4.9 and later
  or Clang 4 and later.

* It is discouraged to use Espresso with Boost versions below 1.67.


Added functionality and documentation
-------------------------------------

* The distance between a shape (such as sphere) and a position can now
  be queried via ``shape.calc_distance()``.

* The lattice nodes of a lattice-Boltzmann fluid can now be iterated
  using ``LBFluid.nodes()``.

* A tutorial on magnetic fluids has been added.

* The stress created by the dissipative particle dynamics interaction
  (DPD) can now be obtained via the ``DPDStress`` observable.

* The stress of a lattice-Boltzmann fluid can now be obtained via the
  ``LBFluidStress`` observable.

* A torus shape has been added.

* Two new accumulators for observables have been added:
  ``MeanVarianceCalculator`` and ``TimeSeries``.

* An ``ElectricPlaneWave`` constraint was added.

* Experimental support for AMD GPUs via HIP. The future of this feature
  is unclear. Please do not base hardware buying decisions on its
  presence.

* Visualization of slit pores in the OpenGL visualizer.

* A Weeks-Chandler-Anderson short-range potential has been added
  (``WCA``).

* The external force density applied to a lattice-Boltzmann fluid
  can now be changed during the simulation.

* Sanity checks for Mach limits and unequal MD and lattice-Boltzmann
  time steps have been added.

* The ``system.cell_system.tune_skin()`` method now has a keyword
  argument ``adjust_max_skin``. If set to ``True``, the maximum skin
  to be tested will be reduced such that it is compatible with the local
  box size.

* For the CPU lattice-Boltzmann implementation, the limit on the Verlet
  list skin (<0.5 agrid) has been lifted.

* A new observable ``CosPersistenceAngles`` has been added for the bond
  angles of a polymer (needed, e.g., for determining the persistence
  length).


Feature configuration at compile time
-------------------------------------

* The number of features which need to be defined at compile time in
  myconfig.hpp has been reduced. Features without performance impact
  are now always present. These are:

  * ``PARTIAL_PERIODIC``
  * ``LB``
  * ``LB_GPU`` (for builds with CUDA)
  * ``IMMERSED_BOUNDARY``
  * ``BOND_ANGLE``

* For most compilers, it is checked that only known features are
  declared in myconfig.hpp.

* The default feature configuration applied when no myconfig.hpp is
  present has been extended significantly. In particular, all tutorials
  can now be run with the default feature configuration. For production
  simulations, it is still recommended to use a custom myconfig.hpp
  containing only necessary features. This is true in particular, if
  particle rotation is not needed.

* Features that do not have automated tests now require
  ``EXPERIMENTAL_FEATURES`` to be defined in myconfig.hpp.


Interface changes
-----------------

* Several parts of Espresso now use a method-specific seed for random
  number generation. For the following individual methods a random
  number seed has to be passed using the keyword argument ``seed``:

   * [Langevin thermostat](http://espressomd.org/html/doc4.1.0/espressomd.html?#espressomd.thermostat.Thermostat.set_langevin)
   * [DPD thermostat](http://espressomd.org/html/doc4.1.0/espressomd.html?#espressomd.thermostat.Thermostat.set_dpd)
   * [LB Thermostat](http://espressomd.org/html/doc4.1.0/espressomd.html?#espressomd.thermostat.Thermostat.set_lb)
   * [Thermalized bond](http://espressomd.org/html/doc4.1.0/espressomd.html?#espressomd.interactions.ThermalizedBond)
   * [Wang-Landau reaction ensemble](http://espressomd.org/html/doc4.1.0/espressomd.html?#module-espressomd.reaction_ensemble)
   * [Constant pH ensemble](http://espressomd.org/html/doc4.1.0/espressomd.html?#espressomd.reaction_ensemble.ConstantpHEnsemble)
   * [Widom insertion method](http://espressomd.org/html/doc4.1.0/espressomd.html?#espressomd.reaction_ensemble.WidomInsertion)

* Changes in the lattice-Boltzmann (LB) interface:

   * By default the LB fluid is not thermalized. A temperature can be
     set using the ``LBFluid``'s keyword parameter ``kT``. If
     ``kT > 0``, an additional ``seed`` keyword parameter has to be
     provided.
   * The LB thermostat gets its temperature from the LB fluid.
   * The frictional coupling coefficient ``gamma`` is now a keyword
     parameter of the LB thermostat.

  For more detailed information on how to set up a LB fluid and
  thermostat, please see http://espressomd.org/html/doc4.1.0/lb.html.

* The method for polymer creation has been replaced. Now
  ``espressomd.polymer.positions()`` can be used to obtain particle
  positions for one or more polymer chains. Based on these positions,
  polymers can be created. For an example please see
  http://espressomd.org/html/doc4.1.0/particles.html#setting-up-polymer-chains.


Changed and removed functionality
---------------------------------

* The ``remove_total_momentum()`` method for lattice-Boltzmann fluids
  has been removed. The overall velocity of a fluid can be changed
  using the ``lb_fluid.nodes()`` iterator.

* The ``CATALYTIC_REACTIONS`` feature has been removed.

* The method for creating a polymer has been replaced.
  ``espressomd.polymer.positions()`` can now be used to obtain particle
  positions for one or more polymer chains.

* Checkpointing has been added for the electrokinetics method.

* The global random number seed has been partly replaced by
  method-specific ones. These are specified when activating the relevant
  feature such as the Langevin, DPD and lattice-Boltzmann thermostats
  via a ``seed`` keyword argument.

* The random number generator has been switched to Philox for most
  algorithms requiring random numbers.

* Limitations on the exclusion radius have been relaxed in the reaction
  ensemble method.

* A new observable ``CosPersistenceAngles`` has been added for the bond
  angles of a polymer (needed, e.g., for determining the persistence
  length).

* ELC has been disabled for non-neutral systems with constant potential.

* The calculation of the linear particle momentum included the forces of
  the last time step. The function ``system.analysis.linear_momentum()``
  now returns the sum of the product of mass and velocity of all
  particles, if no lattice-Boltzmann fluid is coupled.


Performance enhancements
------------------------

* Speedup in the short-range force calculation in situations where the
  short-range cutoff varies strongly for different pairs of particles,
  e.g., in a bidisperse fluid.

* Speedup in particle resorting triggered when particles have moved by
  more than a skin.

* Significantly faster back-transfer of particle forces from GPU-based
  methods such as the GPU implementations of lattice-Boltzmann and P3M.


Bug fixes
---------

* Lattice-Boltzmann boundaries, constraints and auto_update_accumulators
  are now included in checkpointing. (#2915)

* Collision detection is now checkpointed. (#2342)

* The rhomboid shape was fixed. (#2756)

* Deadlocks on certain GPUs have been resolved for the dipolar
  Barnes-Hut method. (#2719)

* The visualization of dihedrals has been fixed. (#2677)

* The ``ENGINE`` implementation for CPU LB has been fixed. (#3025)

* The external force density in lattice-Boltzmann fluids is no longer
  ignored in the first integration step after setting the force density.
  (#3144)

* The positions of virtual sites and the charges of ICC particles are
  now updated before observable calculation. (#3128)

* The forces and torques for the Gay-Berne potential have been
  corrected. (#3091)

* Remove undocumented behaviour in the case of using a cylindrical
  sampling area in the reaction ensemble, constant pH ensemble,
  Wang-Landau ensemble, Widom-Insertion method. (#3174)

* The ELC tuning error calculation has been rearranged to produce
  correct results for higher accuracies. (#3123)


New tutorials
-------------

* Tutorials for simulating ferrofluids and for using the constant-pH
  method have been added.


Under the hood changes
----------------------

* Automated testing has been enhanced. It now also includes samples and
  tutorials. The overall test coverage for the simulation core has
  increased by ~12% since Espresso 4.0.2.

* The CPU LB and LB-particle coupling have been refactored.

* Particle resorting has been simplified and sped-up.

* The MPI callback mechanism has been simplified. Furthermore, reduction
  operations such as summing values from all MPI ranks can now be
  performed.

* Nearly all manual memory management and C-style arrays have been
  removed.

* The rotation-related code has been simplified.

* Long-range electrostatic and magnetostatic methods now have a common
  interface.

* The kernels for short-range and bonded interactions have been
  simplified.

* The CMake build system has been refactored and dependencies between
  different parts of the code have been made clear.

* Python code formatting: the autopep8 version now matches the one in
  Ubuntu 18.04 (autopep8 v1.3.4 with pycodestyle v2.3.1).




ESPResSo 4.0.2
==============

This release provides a number of corrections for the Espresso 4.0 line.
We recommend that this release be used for all production simulations.
Please note that a sign error in tabulated interactions was fixed.
Simulation scripts which worked around this problem might have to be changed.
Below, please find the list of changes. The numbers in brackets refer to
ticket numbers on http://github.com/espressomd/espresso


Corrections for bugs that may harm simulation results:
  * A sign error in tabulated interactions was corrected such that
    the force equals the negative gradient of the potential. (#2519,2520)

  * The flow field of the CPU lattice-Boltzmann implementation was deleted
    when aspects of the molecular dynamics cell grid were changed; E.g., when
    interactions, the skin or the parallelization setup were changed.
    ESPResSo now terminates with an error, when this happens.
    To avoid this, please setup the CPU lattice-Boltzmann after all
    other aspects of the system. The GPU LB is not affected in the 4.0
    release, but was affected in the current development branch. (#2728, #2736)

  * Corrected the force acting on LB Boundaries for the case of
    agrid and density not equal to 1 (#2624).

  * Corrected the cutoff calculation for the soft sphere interaction. In the
    previous implementation, the offset parameter was ignored. (#2505)

  * The "three point coupling" of particles to the lattice-Boltzmann method
    has been removed. While it works in most environments, for some compilers
    the calculation gives wrong values. This is likely caused by undefined
    behavior. A corrected implementation is available in
    ESPResSo's development branch. It cannot be safely backported to 4.0.2,
    because the code has diverged too far. (#2516, #2517)
    Users who did not explicitly activate this coupling via couple="3pt" are
    not affected.

  * The velocity of existing particles was changed when setting or changing
    the simulation time step (#2480)


Further changes:
  * Fixed the electrokinetic Python interface (#2486)

  * Correction to the installation instructions for mac (#2510)

  * Corrected file permissions (#2470)

  * Minor corrections and extensions to the test suite (#2477, #2552)

  * Fixed a dead-lock in the dipolar Barnes Hutt method on the GPU for
    recent NVIDIA cards such as RTX 2080 (#2719).

  * Restored Mayavi visualizer's API-compatibility with OpenGL visualizer
    (#2751)




ESPResSo 4.0.1
==============

This release provides a number of corrections for Espresso 4.0.
We recommend that this release be used for all production simulations.
The interface has not been changed between Espresso 4.0 and 4.0.1
However, some bugs were discovered which can affect simulation results.
Below, please find the list of changes. The numbers in brackets refer to
ticket numbers on http://github.com/espressomd/espresso


Physics related corrections:
  * The GPU lattice Boltzmann method produced incorrect results when
    EXTERNAL_FORCES was not declared in myconfig.hpp.
    This issue was present since around June 2018 (#2241)

  * The temperature fluctuations for the GPU lattice Boltzmann implementation
    were larger than the ones for the Cpu lattice Boltzmann implementation.
    The cause was likely weak or incorrect random number generation.
    It is not clear since when this issue existed.
    It has been resolved by using library code for a counter-based
    random number generator (Philox) rather than the existing custom code.

  * Particles which were moved with the configuration changing moves (MC) implemented in the reaction ensemble
    module did not get assigned a random velocity. This was not a problem if you were looking at observables
    which do not depend on velocity.

  * Particles which were created in the Reaction Ensemble module were assigned a random velocity which was not distributed according to the Maxwell-Boltzmann distribution. This was not a problem if you were looking at observables which do not depend on velocity. If you looked at velocity-dependent observables but used a thermostat for thermalization before taking a sample you are also fine.  (#2377).

  * Under some conditions, the torque on self-propelled particles
    in a lattice-Boltzmann fluid was incorrect due to a sign error in the
    ENGINE feature. This was the case since the introduction of the feature
    (#2383)

  * The SimplePore shape was incorrect (#2379)

  * The parameters passed from Python to some features were narrowed to single
    precision. I.e., the values used were only accurate up to the 7th-8th
    significant digit. Further calculations with those values still were
    done using double precision.
    Classes backed by the script interface were affected. This includes
    shapes, LB boundaries, pair criteria and the collision detection.
    This issue was likely present since the introduction of Python support
    for the relevant features. (#2379)

  * Forces on LB boundaries retrieved via the LbBoundary.get_force() method
    in a Python script were incorrect for the CPU LB implementation.
    The GPU implementation was not affected.
    It is not clear, when the issue was introduced. (#2366)

  * In highly dense systems, the Widdom insertion scheme reported wrong values
    (#2294)

  * Fixed the Gay-Berne potential for sigma != 1. Downgraded the GAY_BERNE feature to an experimental feature due to insufficient testing (#2424)

Further general corrections and improvements:

* Fix restoring checkpointed simulations which contain exclusions (#2418)

* Allow neutral systems in reaction ensemble (#2378)

* Support re-tuning the dipolar P3M method (#2351, #1937)

* Support checkpointing of the collision detection parameters (#2342)

* Virtual sites tracers: don't complain about missing lb for non-virtual
  part (#2341)

* Prevent access to non-existent lb nodes from Python

* Opengl wildcard imports + mac fix  (#2295)

* Fix segfaults in virtual sites based collision detection schemes on more than one processor core (#2195)

* Fixed find_current_cell() and particle deletion (#2410, #2441)

* Fixed coordinate folding for corner cases (0 - epsilon on 32 bit architectures) (#2415)

Documentation and tutorials corrections and improvements:

* Mention how to read h5md files in the docs (#2353)

* Correct docs for setting the skin (#2340)

* Corrections to the Lennard-Jones tutorial (#2339)

* doc: Fixed Gay-Bern formula (#2234)

* Update PDF of tutorial 6 with bibliography (#2285)


Build system and platform related corrections and improvements:

* Fix Cython detection on Fedora 29 (#2371)

* Properly detect CUDA libraries if multiple are available (#2352)

* Guard tests and compilation for different feature sets
  in myconfig.hpp (#2344, #2326, #2350, #2349, #2335, #2337, #2266)

* install libH5mdCore (#2277)

* Fix MPI on Ubuntu 18.04 with CUDA (#2271)

* Fix PARTIAL_PERIODIC on big-endian platforms (#2259)

* Fixes for OpenSUSE rpm build (#2255)

* ctest: add ARGS option to custom 'make check' (#2252)

* cmake: workaround for cmake bug#18349 (#2244)

* Remove some superfluous executable bits (#2242)

* Silence arm32 warnings (#2267)

* Fix unit test without SSE instructions (#2265)

* Turn off ScaFaCoS support by default. Has to be enabled explicitly using -DWITH_SCAFACOS=on in CMake. (#2417)

* Fix builds with the Gnu Scientific Library in non-standard locations (#2429)

* Resolve some floating point rounding issues on I386 32-bit (#2454)


Improved testing:

* Test the LB thermostat (#2391, #2362)

* Better stability of the LB test (#2360)

* testsuite: fix checkpoint test (#2336)

* Test the installation routine (#2268)

* Improved testing of the cylindrical lb profile observables (#2272)

* testsuite: Check planar shear profile of LB (#2263)

* Test builds without optional dependencies (#2406)

* Test builds on non-Amd64 architectures (#2401)

* Improved test coverage of the Wang-Landau reaction ensemble (#2404)

* Testing of the electrostatic pressure (#2409)




ESPResSo 4.0
============

ESPResSo 4.0 is the first release of ESPResSo with a Python interface.
I.e., the language in which simulation scripts are written is now Python,
and support for the TCL-interface has been dropped.
We recommend all users switch to ESPResSo 4.0, there will be no more fixes to
TCL-based versions.

Transitioning from TCL-based versions
-------------------------------------

The following can serve as a starting point for the new interface:
* The "Introduction" chapter in the user's guide
* The tutorials provided with ESPResSo
Both can be found at http://espressomd.org/wordpress/documentation

Please note that, starting from ESPResSo 4.0, enabling additional features in myconfig.hpp no longer changes the behavior of a simulation scripts. Features such as particle rotation and virtual sites have to be activated explicitly in the simulation scripts.

New features:
-------------
* Reaction ensemble methods for the modelling of chemical reactions, including constant pH and Wang-Landau schemes
* Polarisable particles via the Drude-oscillator scheme
* Steepest-descent energy minimization scheme
* Methods for active particles (swimmer_reaction, dipolar swimmers)
* GPU-accelerated P3M method for electrostatic interactions
* GPU-accelerated direct summation and Barnes-Hutt schemes for dipolar interactions under open boundary conditions
* Support for the electrostatic and magnetostatics method provided by the ScaFaCoS library
* Immersed boundary method for soft immersed objects in an LB fluid
* Virtual sites acting as inertialess tracers in an LB fluid usable as part of the immersed boundary method or independently
* Online cluster analysis based on criteria for pairs of particles
* New bonded quartic and Coulomb interactions
* Possibility to tune the skin parameter
* Support for saving to the h5md file format for molecular dynamics data.
* Connection to the MD Analysis Python package
* A rotate_system command was added, which rotates the particle positions around the system's center of mass

Visualisation
-------------
Espresso contains two online visualizers, one based on Mayavi, one on the OpenGl Python module.
Support for online visualization in VMD has been dropped, but particle data can be stored in file formats which VMD can read (vcf/vtf, h5md).

User-visible changes
--------------------

* When the ROTATION feature is compiled in, the rotation of a particle around each of its Cartesian axes in the body-fixed frame can be enabled
* The rotational degrees of freedom of virtual sites is now integrated. Virtual sites no longer use the quaternion attributes to store their relative orientation
* Alternatively, the orientation of the virtual site can be specified relative to that of the particle it is derived from.
* The random number generator was changed to Mersenne Twister as implemented by C++11.
* Espresso now depends on the Boost library including Boost-Mpi and a C++11 capable compiler
* The build system is now based on CMake.

Removed features
----------------
The following features are not part of the ESPResSo 4.0 release, but support is expected to be re-added in a subsequent release.
* Generalized hybrid Monte Carlo thermostat
* Virtual sites located at the center of mass of a group of particles
* Metadynamics, umbrella sampling and parallel tempering
* Non-equilibrium molecular dynamics (shear boundary conditions implemented by moving slabs of particles at the boundaries)
* The memd/maggs electrostatic solver
* The com_force feature
* The Shan Chen lattice Boltzmann extension
* Lees-Edwards (shear) boundary conditions
* The chain rdf analysis

The following functionality is removed permanently:
* Blockfile support, which is replaced by support for the h5md format as well as checkpointing based on the pickle Python module.
* Some of the convenience functions for particle creation such as salt and counterions, as these can be replaced by a very few lines of Python in the simulation script.
* The lj_angle and angledist (not-quite)-pair potentials
* The following analysis methods:
  diffusion_profile, cwvac, p_inst, ..._mol, cel_gpb, dipmom_normal, MSD, angularmomentum, cluster_size_dist, mol, lipid_orient_order, get_lipid_orients, current, wall_stuff,
  necklace, bilayer, modes2d
* The uwerr error estimator



Known issues and limitations
----------------------------
The numbers refer to issue numbers at http://github.com/espressomd/espresso
* Lattice Boltzmann interpolated velocities are only accurate up to one
  lattice cell next to a boundary (#1865)
* Adding boundaries in the electrokinetics method resets species densities
  to their initial values (#1899)
* The collision detection feature does not support checkpointing (#1943)
* Changing interaction parameters does not automatically update the value of
  the force property stored on the particles. Forces are re-calculated in
  the next integration step. (#1973)
* The domain decomposition cell system does not always choose the node grid
  yielding the best performance in parallel simulations (#1970)
* The dipolar P3M method can only be tuned once in a simulation script,
  unless method parameters are explicitly reset to 0 before the second tuning
  (#1937)
* In rare cases, P3M produces an rs mesh overflow warning (#2067)
* The H5MD file writer cannot handle bounds that involve more than two bond
  partners (#1715)
* Pickle checkpoints are not guaranteed to be compatible between
  different ESPResSo versions (#1181)
* Switching from the GPU-Based MMM1D and MMM2D methods to a different
  electrostatic method within a single simulation script may not work (#396)
* The membrane_collision interaction of the object in fluid framework may
  use an outward direction which is outdated by one time step (#2214)

ESPResSo 3.3
============

New user-visible features
-------------------------

* SHANCHEN: a bicomponent lattice Boltzmann fluid, with support for rigid
  boundaries and coupling to particle dynamics.

* ELECTROKINETICS: An algorithm to treat species of ions on a mean-field
  level. Implementation takes advantage of a GPU.

* MMM1DGPU: The mmm1d electrostatics algorithm is now available as GPU version.

* Support of P3M on GPU.

* Provide the preliminary Python interface. Configure with
  --with-python-interface.

* Allow the p3m to dump the mesh in x, y, and z (before it only dumped
  the mesh in x). This allows for the dumping of the p3m in blockfile
  format in the case of non-cubic boxes. It will also now be possible
  to tune the settings of a non-cubic mesh.

* Stomatocyte lb-boundary and constraint implemented.

* MEMD electrostatics can now handle spatially varying dielectrc
  constants.

* Pore constraint / lbboundary can have a two outer radii now to create nozzles.

* Slitpore constraint and dielectric for IL based supercaps implemented.

* New command time_integration to get the runtime of the integration
  loop.

* New harmonic well that runs on the GPU.

Known bugs
----------

* The implementation of dielectric contrasts in conjunction with ELC
  seems to have an error. Please do not use it if you do not know
  exactly what you are doing until we have fixe the problem.

User-visible changes
--------------------

* Added new arguments "recalc_forces" and "reuse_forces" to the
  command "integrate". These arguments can be used to enforce or
  suppress the recalculation of the forces at the beginning of the
  call to "integrate". This is important for doing checkpoints, where
  the forces have to be stored and reloaded.

* Removed command "invalidate_system".

* Comfixed now works with periodic boundary conditions.

* The pressure contribution due to rigid bodies constructed by means of the
  virtual sites relative mechanism is included, both for pressure and stress
  tensor. Note that the corresponding contribution for rigid bonds is still
  not implemented.

* The configure option "--with-myconfig" has been removed. Instead,
  the configure variable "MYCONFIG" can be set to give the name of a
  myconfig file.

* Generic LJ can now be turned into a soft potential.

* Renamed torque to torque_{lab,body}, improved torque handling in
  blockfiles.  Clearer distinction between the reference frames for
  torque and angular momentum.

* Lattice-Boltzmann now has a additional 3-point coupling scheme.

* The noise type in thermalized Lattice-Boltzmann is now selectable via Tcl.

* Interaction with a wall can be restricted to the outside.

* Removed compiler switch GRANDCANONICAL.

* Removed outdated ADRESS code.

* external_potential tabulated to include arbitrary potentials applied to all
  particles.

* thermostat inter_dpd ignore_fixed_particles 1 allows the user to swith on DPD
  with fixed particles.

* New Observable concept that includes running averages and other observables
  with history


Changes visible for developers
------------------------------

* Feature GHOSTS_HAVE_BONDS allows for ghost particles to also store the bonds.

* The code has been switched to using a C++ compiler.

* Introduced object-oriented interfaces for forces/constraints/external fields:
  SystemInterface and Actor.

* Improved Lattice structure

* Generic TclAppend function

ESPResSo 3.2
============

New user-visible features
-------------------------

* Added a new immersed boundaries code that allows to simulate
  extended, flexible objects in conjunction with the LB code.  This is
  described in the UG in the new chapter "Object-in-fluid".

* The script tools/blockfile2vtf.tcl can be used to convert ESPResSo
  blockfiles into VTF files.

* Two new short-ranged nonbonded potentials have been added:

  * HAT: the classical conservative DPD interaction, a simple force
    ramp.

  * GAUSSIAN: A Gaussian potential.

* The feature CATALYTIC_REACTIONS and the command "reaction" model a
  simple chemical reaction: when a particle of the reactant type comes
  into the vincinity of a particle of the catalysator type, the
  reactant is transformed into a particle of the product type.

* The feature GHMC implements a generalized hybrid Monte-Carlo
  thermostat.

* The feature GRANDCANONICAL provided functions to simplify grandcanonical
  simulations in espresso. To that end it provides functions to find and
  delete random particles of a certain type.

* Added new feature ROTATION_PER_PARTICLE that allows to choose
  whether a particle has rotational degrees of freedom or not.

User-visible changes
--------------------

* Removed non-working tools and samples.

* Bond angle potentials are now defined on the Tcl-level instead of on
  the feature-level, i.e. to choose the type of the bond-angle
  potential, you should use the corresponding Tcl command instead of a
  feature. To allow for any bond angle potential, activate the feature
  BOND_ANGLE.

* We have removed the forcecaps for the different interaction
  types. Instead, there is now a single global forcecap, plus it is
  possible to define individual forcecaps on a particle pair level.

* By default, CUDA is now automatically detected and activated when it
  is there and usable.

* The functions for galilei transformations have been overhauled and
  renamed. The old functions are deprecated.

* DPD (as thermostat) now works without any other interaction, so a pure
  DPD fluid is possible.

ESPResSo 3.1.2
==============

* Fixed bugs #38475, #37725, #36434.

* Added workaround for bug in VTF reader plugin of VMD 1.9.1 that made
  all particles look the same when ELECTROSTATICS is turned on.

* Added Tcl-scripts of the tutorials to the distribution.

* Added forgotten part of the UG on the correlators.

* Removed buggy readline code tclline.tcl. Fixes #36432.

* Removed Ewald code from ESPResSo that never worked and was never
  documented.

ESPResSo 3.1.1
==============

* The Espresso binary now outputs the header to STDERR instead of STDOUT.

* Fixed bugs #36431, #37120, #37214, #37374, #37306, #35767.

* Fixed generation of myconfig-sample.h.

* Fixed AdResS example.

* Added new logo.

* The documentation sources are now left out of the distribution
  package, only the PDF files are included. This fixes problems when
  calling "make doc" in a distribution package (#35958).

ESPResSo 3.1.0
==============

New user-visible features
-------------------------

* While so far, observables were typically computed and stored on the
  Tcl-level after a call to "integrate", a new observable concept now
  allows to compute observables while the C-core is running. This is
  particularly useful for observables that have to be computed very
  frequently, as for example in the case of time-correlations
  (e.g. the RMSD of particles).
  The new concept is documented in the User's Guide in Section 8.4
  ("Correlations and observables").

* The new feature COLLISION_DETECTION allows to dynamically add new
  bonds between colliding particles.

* Added new feature LANGEVIN_PER_PARTICLE that allows to set the
  Langevin parameters temperature and gamma per particle.

* Added new constraint and LB boundary condition "rhomboid".

* Lattice-Boltzmann:

  * nonzero velocity boundary conditions are available

  * forces on boundaries can be calculated

  * wall constraints work

* Added basic tutorial on Lennard-Jones liquid, made second tutorial
  (simple charged systems) better available (all in doc/tutorials/)

* The ICC* algorithm is now ready to use. It is used with the command
  "iccp3m" and allows to take into account dielectric boundaries of
  arbitrary shape. The command "dielectric" allows to create the
  boundaries in a similar fashion as constraints and lbboundaries.

User-visible changes
--------------------

* The blockfile C-library has been removed. In theory, there was a
  library usable from C that could be used to read and write
  blockfiles. Since several years, it was broken, so apparently it
  wasn't used anyway.

* The NPT barostat now works in many more combinations of
  algorithms than so far (e.g. MMM2D, ELC, ...)

* The Lattice-Boltzmann CPU implementation now works when Verlet lists
  are used.

* Removed unneccessary overhead of neutral particles in simulations
  with P3M.

* Removed unneccessary overhead of activated but ununsed interaction
  features.

* Some changes in the Verlet list construction yield a performance
  gain of up to 90% in systems where the interaction ranges differ
  significantly, or where some particle types do not interact at all
  (phantom particles).

* Renamed Coulomb method maggs to MEMD (inter coulomb maggs => inter
  coulomb memd).

Changes visible for developers
------------------------------

* code_info does now not only show the main package version, but also
  the exact git commit id and whether or not the code was modified
  ("dirty"). Also, the distribution package provides this information.

* The various features are now defined in the file
  src/features.def. From this file, a couple of Python scripts
  automatically generate myconfig-sample.h and what was config.h and
  config.c. Also, this allows to check whether all features are
  documented, tested and defined.
  Note that due to this change, ESPResSo development now requires
  Python.

* The domain decomposition, P3M, LB and MEMD now use MPI cartesian
  communicators. This will hopefully speed up the simulations on some
  platforms.

* Split interaction code into .c and .h files.

* Split off the Tcl interface (into src/tcl/) from the C core code (in
  src/)

* Added ESPResSo logos, cover issue images, and some other material to
  the repo (doc/).

* Started new LaTeX-Developer's Guide (DG), and moved all "Related
  pages" from the doxygen docs. The doxygen stuff still exists and is
  available via doc/doxygen/.

ESPResSo 3.0.2
==============

* Fixed features ADRESS and VIRTUAL_SITES_COM that did not work for a while.

* Fixed bugs #33489, #34238.

* Fixed a few bugs that were never reported via the bug tracker,
  mainly in the documentation.

ESPResSo 3.0.1
==============

* Fixed bugs #33375,#33376,#32005

* Fixed a few bugs that were never reported via the bug tracker.

ESPResSo 3.0.0
===============

User-visible changes
--------------------

* The Lattice-Boltzmann implementation in ESPResSo has been
  significantly overhauled and it has been documented for the first
  time.

* A CUDA implementation for NVIDIA GPUs of the Lattice-Boltzmann
  algorithm is included.

* The Maggs algorithm (or Maxwell Equation Molecular Dynamics, MEMD)
  for computing electrostatic interactions has been included and
  documented. The algorithm is a fast and scalable alternative for P3M
  or other such algorithms.

* The P3M algorithm for electrostatic and dipolar (magnetostatic)
  interactions has been extended.

  * Electrostatic P3M allows for non-cubic boxes.

  * The electrostatic P3M pressure tensor is computed correctly now.

  * Dipolar P3M has been parallelized (electrostatics P3M was
    parallelized already!)

  * The MDLC method (magnetic dipolar layer correction) has been
    parallelized.

* The virtual sites feature has been significantly extended and
  documented.  Virtual sites are particles that can interact with
  other particles but whose positions are not integrated via the
  normal integrator.  Instead, the positions are determined by the
  positions of other, "real" particles.  Virtual sites can either be
  set into the center of mass of a set of real particles (feature
  VIRTUAL_SITES_COM), or it can be set to an arbitrary location
  relative to another particle (VIRTUAL_SITES_RELATIVE).  This allows
  to create rigid structures within ESPResSo.

* The User's Guide has been significantly updated and extended.

* Some constraints can now be made penetrable and reflecting.

* "Espresso" is now the actual binary instead of a wrapper shell
  script that automatically calls MPI. This means that it is necessary
  to call "mpiexec" or "mpirun" youself to run ESPResSo in an MPI
  environment.

* The directory where the scripts are installed is now compiled into
  the binary, i.e. it is not necessary anymore to set the environment
  variable ESPRESSO_SCRIPTS. Still, it will heed the environment
  variable if it is set.

* The build system has been overhauled and simplified.

  * Running "make check" will run the testsuite with a single number
    of processors, which gives a significant speedup. "configure" will
    try to determine the available number of CPUs/cores. If it can't,
    it will use 1 by default.

  * MPI recognition has changed. The build system first needs to find
    out how to compile an MPI binary. If it doesn't find out
    automatically, you can help it by setting the variable MPICC or
    LDFLAGS correctly.  Furthermore, it needs to know how to run an MPI
    binary.  If "mpiexec" is available, everything is fine.  If it is
    not, you can provide a script "mympiexec.sh" that behaves like
    mpiexec.

  * So far, when you built in the source directory, all files ended up
    in a subdirectory "obj.XXX", where XXX was some description of the
    processor you used.  This non-standard behavior has been removed.
    Instead, the files are generated directly in the source directory
    when compiling there.
    If you want to compile several binaries from a single source
    directory, you can use build directories as described in the
    User's Guide.

* A number of functions have been deprecated, as they are not
  maintained anymore. Plase do not use them in your code and replace
  them with appropriate alternatives if you use them in your code!
  The following functions are deprecated:
  checkpoint_*, polyBlock*, calcOb*, calcObs*, plot*, polyConf*

* FFTW2 is no longer supported.

Organizational changes
----------------------

* The home page of ESPReSso has been relocated to

    http://espressomd.org

* The mailing list and source code repository have been moved to GNU
  Savannah. Furthermore, we have a bugtracker now. The development
  homepage is

    https://savannah.nongnu.org/projects/espressomd

* The maintenance of ESPResSo has been relocated from Torsten Stühn
  from the Max-Planck-Institute for Polymer Research at Mainz to

    Olaf Lenz <olenz@icp.uni-stuttgart.de>

  from the Institute for Computational Physics at Stuttgart University.

* The old "ESPResSo license" was removed, as it was not really a
  license, but only contained additions that were either non-binding
  or already contained in the GPL.

* The license was upgraded to GPLv3.

* The package was adapted to GNU standards. RELEASE_NOTES was moved
  aside to old/RELEASE_NOTES, instead, we will have the files
  ChangeLog and NEWS. NEWS will contain a description of the most
  noteworthy changes since the last release.

Changes visible for developers
------------------------------

* The source code repository has been moved from CVS to git, and it
  has moved to GNU Savannah (see above) and github. The main
  development code repository is

    https://github.com/espressomd/espresso

* We have an automated build server (Jenkins) at

    http://espressomd.org/jenkins/

  that automatically builds and checks the ESPResSo package whenever
  new code is pushed to the main development repository.  Every night,
  a number of additional tests are performed

* The .c/.h/.cu source files have been moved to the subdirectory
  src/. The Espresso binary is still placed in the top-level build
  directory. myconfig.h may be placed eitther in the src/ or top-level
  dirs.

* The automatically generated files configure and Makefile.in are not
  part of the repository anymore.  A developer can generate them using
  the command "bootstrap.sh", which requires the GNU autotools
  (autoconf and automake).

* All functions that represent the interface to Tcl should follow the
  same naming conventions. These are described here:

    git log 3d4d6f31655a8d96e47c8f80e10f27f6b764f8df

* Adding a new MPI function to communication.c has been significantly
  simplified. It is enough to add the function in the C file at a
  single location.

========================================================================
For older changes to ESPResSo, see ./old/RELEASE_NOTES.

========================================================================
Copyright (C) 2010,2011,2012,2013,2014 The ESPResSo project

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty.
