MercuryDPM is an actively developed open-source scientific research tool, which works on a 'kernel and driver' pattern. Some of the authors have used these sorts of packages before and often you run into the problem that you spend time developing your driver and then a new version of the kernel comes out and nothing works anymore. Then you have to spend time rewriting your driver to get back to square one. We are already quite happy with our interfaces in MercuryDPM version 1.x and expect them to change very little in the future. However, we will also give the following two guarantees. Any driver code written for version 1.x will work in each version 1 and 2 kernels. New interfaces and modifications to interfaces will initially be introduced in parallel to the old interfaces. The use of an old interface will throw a warning to the users that the interface is to be withdrawn in the next major kernel update and will explain how to convert to the new improved version. Secondly, there will not be more than one major kernel update per year. This means that any driver code written in the current version of the kernel is guaranteed to work in all new versions for the next two years, at least. Moreover, if after every major kernel update, i.e. once a year, you spend a little time responding to the warning your code generates it will always work in future version of the MercuryDPM kernel.
Please note interface will change between 0.x versions and 1.x, this guarantee only applies to very 1.x and higher.
MercuryDPM is still actively developed and we have many grand plans for future features and extensions. These include added smooth particle hydrodynamics, direct coupling with continuum solvers, graphics interface to aid ease of use, etc. Finally, if MercuryDPM does not have a feature you need, we are always open to collaborating and adding such a feature. Actually, some of our current features arose in exactly this fashion; for example, the helical rotating screw wall.