New features
- Show legends for barplots, and improve legend formatting. ([299](https://github.com/biocore/empress/issues/299))
- Support drawing barplots in the circular layout. ([297](https://github.com/biocore/empress/issues/297))
- Support ignoring branch lengths during layout. ([271](https://github.com/biocore/empress/issues/271))
- Color root nodes of collapsed clades. ([321](https://github.com/biocore/empress/issues/321))
- In Empire plots: add the ability to double-click on a sample coloring category in Emperor (e.g. `body site`) and color the tree based on the samples in that category. ([370](https://github.com/biocore/empress/pull/370))
- In Empire plots: added the ability to show synchronized animations between Emperor and Empress. ([319](https://github.com/biocore/empress/pull/319))
- When node circles are drawn, they are now drawn for all nodes, regardless of if the node in question has a name given or not. ([348](https://github.com/biocore/empress/issues/348))
- Add basic PNG export functionality. ([330](https://github.com/biocore/empress/issues/330))
- Improve SVG export functionality: support exporting barplots, collapsed clades, all shown legends, etc. ([384](https://github.com/biocore/empress/pull/384), [#392](https://github.com/biocore/empress/pull/392), [#303](https://github.com/biocore/empress/issues/303))
- Add support for drawing borders around each layer of barplots. ([350](https://github.com/biocore/empress/issues/350))
- Add the ability to create visualizations without having a table or sample metadata; this splits `qiime empress plot` into two commands, `qiime empress community-plot` and `qiime empress tree-plot`. ([175](https://github.com/biocore/empress/issues/175))
- Add the ability to use iTOL-style "leaf sorting" in Empress' rectangular and circular layouts, and make this the default. ([170](https://github.com/biocore/empress/issues/170))
- Add a "Tree Statistics" tab to the side panel showing various stats about the tree. ([179](https://github.com/biocore/empress/issues/179))
- Support double-clicking on collapsed clades to uncollapse them. ([406](https://github.com/biocore/empress/pull/406))
- Support reversing color maps. ([418](https://github.com/biocore/empress/issues/418), [#423](https://github.com/biocore/empress/pull/423))
- Support shearing a tree to feature metadata (currently only available for `tree-plot`). ([419](https://github.com/biocore/empress/issues/419))
- Support drawing the tree as ultrametric. ([444](https://github.com/biocore/empress/pull/444))
Documentation
- Document challenges with merging metadata in QIIME 2. ([393](https://github.com/biocore/empress/issues/393))
- Document that Emperor will be re-installed by Empress. ([401](https://github.com/biocore/empress/issues/401))
Bug fixes
- Fix a bug in which length scaling would cause certain types of bars to not show up in barplots. ([309](https://github.com/biocore/empress/pull/309))
- Hide "feature metadata" barplot controls when no feature metadata is available in the visualization. ([316](https://github.com/biocore/empress/issues/316))
- Fix legend formatting -- ensure all category colors are drawn as equal-dimension boxes. ([331](https://github.com/biocore/empress/issues/331))
- Fix a small bug where it was possible for barplot layers' UIs to collide. ([340](https://github.com/biocore/empress/pull/340))
- In Empire plots: Fix timing in Emperor box-selections, allowing multiple repeated selections without strange behavior. ([197](https://github.com/biocore/empress/issues/197))
- Vary the number of lines used to approximate arcs drawn in the circular layout, based on the angle traveled by the arc. Reduces the amount of lines drawn and also makes particularly long arcs look smoother. ([372](https://github.com/biocore/empress/issues/372))
- Fix exported SVG images being flipped upside-down relative to the Empress interface. ([334](https://github.com/biocore/empress/issues/334))
- Fix a small bug in how gradients are drawn. ([421](https://github.com/biocore/empress/issues/421))
- Ignore root lengths, if available, in the unrooted layout. ([374](https://github.com/biocore/empress/issues/374))
- Fix a bug with a dependency's code files not being installed with Empress. ([402](https://github.com/biocore/empress/issues/402), [#399](https://github.com/biocore/empress/issues/399))
- Don't collapse clades that contain just a single tip. ([315](https://github.com/biocore/empress/issues/315))
- Fix a bug where in certain browsers and cases Emperor and Empress' CSS would slightly overlap. ([356](https://github.com/biocore/empress/issues/356))
- Fix bug where single-tip trees would not be visible in the circular layout. ([429](https://github.com/biocore/empress/issues/429))
- Fix problems when clicking on nodes not present in the feature table (due to the tree not being sheared). ([314](https://github.com/biocore/empress/issues/314))
- Hide the `Add` button, etc. after all sample metadata columns have been summarized in the node selection menu. ([272](https://github.com/biocore/empress/issues/272))
Performance improvements
- Use the BIOM table object throughout Empress' Python codebase, and speed up usage of it. ([317](https://github.com/biocore/empress/issues/317), [#328](https://github.com/biocore/empress/pull/328))
- Speed up sample metadata barplot computation. ([298](https://github.com/biocore/empress/issues/298))
- Speed up taxonomy string processing for feature metadata. ([326](https://github.com/biocore/empress/pull/326))
- Compute tree layouts on-the-fly in JavaScript, rather than in Python. Reduces the size of visualizations, and enables many new features that involve laying out the tree dynamically. ([345](https://github.com/biocore/empress/pull/345))
- Uses a balanced parentheses representation of the tree throughout Empress' Python codebase in place of the `skbio.TreeNode` object. ([360](https://github.com/biocore/empress/pull/360), [#155](https://github.com/biocore/empress/issues/155))
- Don't automatically draw barplots when clicking the `Draw barplots?` checkbox, which can be a very slow operation if the default way of drawing barplots would be inefficient (e.g. sample metadata barplots for a quantitative field). ([343](https://github.com/biocore/empress/issues/343))
- By default, don't draw node circles. ([349](https://github.com/biocore/empress/issues/349))
- Compress the way colors are passed to WebGL, saving memory. ([400](https://github.com/biocore/empress/pull/400))
- Improve node searching for large trees -- only show at most 10 results at a time, use binary search, etc. ([364](https://github.com/biocore/empress/issues/364), [#433](https://github.com/biocore/empress/pull/433))
Development enhancements
- Improve the way Empress/Emperor integration is set up internally. ([383](https://github.com/biocore/empress/pull/383))
- Removed the `pep8` testing requirement. ([397](https://github.com/biocore/empress/issues/397))
Miscellaneous
- Rename some options in the command-line interface. ([312](https://github.com/biocore/empress/issues/312))
- Shifted around some controls within the side panel so that things are in more intuitive locations. ([379](https://github.com/biocore/empress/issues/379))
- In Empire plots: highlight the samples containing a node by enlarging them, rather than by highlighting them. ([373](https://github.com/biocore/empress/issues/373))
- The default tree color is now a darker shade of gray/black.
- Adjust default barplot layer thickness. ([442](https://github.com/biocore/empress/pull/442))
- Don't show duplicate names in node searching. ([433](https://github.com/biocore/empress/pull/433))
- Show "Unnamed node" as the name for unnamed nodes in the node selection menu.
- Various other improvements to Empress' CLI, UI, and documentation. It's been a while since the last release!
:medal_sports: :tanabata_tree: :princess:
![a_lotta_stuff](https://user-images.githubusercontent.com/4177727/99863310-724e9f80-2b52-11eb-83bc-7cfd6e7e17f4.png)
Acknowledgements
This work is supported by IBM Research AI through the AI Horizons Network. For more information visit the [IBM AI Horizons Network website](https://www.research.ibm.com/artificial-intelligence/horizons-network/).