Due to the way BEAST v2.5.x applications are launched by creating a new Java process, these processes that do the actual work (BEAST, BEAUti, etc) were given only a default amount of memory, with no way to change this. For large analyses, this meant programs ran out of memory. Now, a -X flag is added to all applications, so more memory can be allocated using for example -Xmx12g to allocate 12 GB of heap space, and/or -Xms128m to allocate 128 MB of stack space.
BEAST can use custom XML values through the -D name=value argument. For example, if you want to specify a file name, you can use fileName="$(fn).log" and start BEAST with beast -D fn=myFile myXML.xml and the XML will replace all instances of $(fn) with myFile. Multiple variables needed to be separated by commas, e.g. -D fn=myFile,chainLength=10000000. Unfortunately, if the value were not allowed to contain commas, and only a single -D was allowed. In v2.5.1, these restrictions are lifted, and you can use multiple -D arguments with commas in user defined variables (useful when specifying plate range values).
BEAUti on OS X with Java 9 and higher displayed a Java window when clicking the "About" menu, which should be fixed now and display the usual BEAUti "about" dialog.
BEAST checks whether CUDA is installed on OS X, since it causes havoc if it is installed when there is no CUDA device in the computer. This stopped working with v2.5.0 but has been reinstated.
Launch scripts now use quoted JAVA_HOME variables, allowing installation in directories containing spaces.
The package manager updates packages when new versions are available, and it now also checks whether the package dependencies need to be updated.
TreeAnnotator used to get confused if the taxa names were whole numbers, but handles these taxa names now.
Better error reporting, since error messages cannot be clear enough.