What is new in v2.5.0

All applications start a bit faster now package discovery is cached. Previously, each and every time BEAST or one of its utilities was started packages were found by traversing the BEAST package directories, which can take a little while. In v2.5.0, the results are stored in a beauti.properties file, which save a bit of time. Though this does not matter too much for long BEAST runs, it make other utilities, like logcombiner pleasantly responsive.

BEAST & friends are now compatible with Java 8, 9 and 10. BEAST v2.4.X turned out to be using facilities in Java 8 that are no longer available in Java 9, so runs Java 8 only.

Versions of BEAST are now available with Java bundled, so that you don't need to instal Java separately. This ensures that BEAST will run, even when a new version of Java becomes available in the future that is incompatible with the current version of BEAST.


There is now a -D option for BEAST that takes as argument a comma separated string with name-value pairs, e.g. -D "chain_length=10000000,log_every=1000". Every occurrence of $(name) will be replaced by value in the XML in a pre-processing step, so for instance $(chain_length) will be replaced by 10000000 and $(log_every) with 1000 in the example above.

Maximum MCMC length was 2147483647 is now 9223372036854775807. The chain length was limited by the maximum value fitting a 32 bit int, which is now replaced by a long, which has 64 bits.

Fix for resume of coalescent, which sometimes failed due to numerical issues when reconstructing the tree, node heights that are supposed to be the same (i.e. a height difference of 0) could have small deviations (height differences of order 1e-13). This causes problems in the coalescent, which compared height differences to 0 instead of a small value.

RPNCalculator logs multi-dimensional values starting from 1 instead of 0, to make it consistent with multi dimensional parameters, which already started their log-entries at 1.

As a consequence of package jar files being stored in the file beauti.properties instead of being discovered on the fly, when you start BEAST with

java -jar beast.jar

the class path is not set, so packages will not be loaded, so if you need extra packages BEAST will fail. To get the v2.4.x behaviour back, you can start with

java -Dbeast.load.jars=true -jar beast.jar

and packages will be discovered dynamically. Note this only works with Java 8. With Java 9, jar loading has been changed considerably, so that is why v2.5.0 (which should work with Java 9) behaves differently than before.


To ensure you are running with the latest bug-fixes, BEAUti now automatically updates packages when BEAUti is started: initially, you will be asked whether you want to install a package, which allows you to switch off updating or always update without asking.

More date formats are recognised in the tip dating panel.

BEAUti has a File/clear classpath menu, which resets the class path to all installed packages. This is useful when manually installing packages.

More robust NEXUS parsing for whitespace in trees produced by MrBayes.

Allow top level templates, to easily switch between say MCMC and nested sampling while keeping the rest of the analysis the same.

Bug fix for unlimited prior distributions to be changed -- if more than 10 priors were changed to Normal, the changes were ignored.

More robust substitution model initialisation to ensure that at least an appropriate substitution model is assigned when importing data.


Renamed appstore => applauncher to preven confusion with OS X app store.

Renamed addonmanager => packagemanager, since we mostly talk about packages these days, and don't use "addons" any more.

Packagemanager has an -update option to check for updates and -updatenow to install without asking.

Better progress reporting on logcombiner, treeannotator, loganalyser, which did not show the progress bar in the terminal correctly.