hpGEM 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 hpGEM version 2.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 2.x will work in each version 2 and 3 kernels (note does not apply to beta version of hpGEM 2; interfaces may still change slightly from the beta to the release). 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 hpGEM kernel.
hpGEM is still actively developed and we have many grand plans for future features and extensions. These include parallelisation, direct coupling with particle solvers, support for open-source mesh generators and plotting packages, graphical interfaces to aid ease of use, etc. Finally, if hpGEM does not have a feature you need, we are always open to collaborating and adding such a feature.