Workflows got a lot of love this time around, with new runtime parameters for
subworkflows, exposed workflow versions, and zoom capability in the editor, to
name a few. There were also a number of usability enhancements including
better labeling, links, overhauled workflow import interfaces, and many more.

Galaxy now contains powerful new features for multiple factor analysis of collections
of datasets. The concept of group tags has been added to Galaxy. These are a special
class of tags that describe key-value pairs that can be attached to the contents of a
collection during upload or using collection operation tools. These tags can describe
multiple sets of variables for the contents of a collection. Once set, these tags can
be consumed intelligently by tools that need to divide collections into multiple
overlapping factors or sets of datasets. A special thanks to @mvdbeek for devising and implementing this approach.

After almost 3 years of work and more than 100 pull requests, we are proud
to announce the Beta-stage support for running Galaxy under Python 3.
Lint, unit, API, framework, integration and Selenium tests all pass, time
for you to give it a try and report any bug you find!

This release includes changes to the way that non-terminal jobs are handled that greatly improve performance and the
user experience. As a result, when upgrading a Galaxy server with a large number of jobs in the new state, job
handlers will block on first startup (jobs will not run) as these old new state jobs are migrated to a terminal
state. This process will generate messages of the format:

galaxy.jobsDEBUG2018-10-1822:40:36,900PausingJob'995223',Executionofthisdataset's job is paused because its input datasets are in an error state.

Once migration is complete, job handlers will resume normal operation.

New for 18.09, we no longer include pre-compiled JavaScript and other
client-related artifacts in the GitHub repository. Instead, Galaxy now
includes in its dependencies all the components necessary to build on startup
when it detects changes in the client code. This will make it easier to
integrate customizations to your local client, among other benefits moving
forward with our continued client modernization.

This client building code executes automatically via the ‘common_startup.sh’
script, but if you run Galaxy in a way that doesn’t utilize that script, you
should run it manually on deployment as documented in the General Update
Procedures.

With 19.01, all Galaxy users will be forced to have a username. This
requirement has been enforced on user creation for years, though we have never
taken steps to coerce users created in the past who did not have one. The
19.01 release will come with a migration script that will coerce this in the
database, which will allow us to have consistent handling of this field.