# \[Preview\] QIIME 2 2019.10 development changelog

**URL:** https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922
**Category:** Developer Announcements
**Tags:** preview, changelog
**Created:** [August 2, 2019, 6:38pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922 "2019-08-02T18:38:39Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [August 2, 2019, 6:38pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/1 "2019-08-02T18:38:39Z")

</div>

QIIME 2 2019.10 has been released!  
[Please see the official changelog for more details.](https://forum.qiime2.org/t/qiime-2-2019-10-is-now-available/12280)

> **Original content of post**
>
> # ❗ Important ❗
> 
> **The following is an early developer preview of the changes expected in 2019.10** This post is a live-document which will be updated throughout our development cycle. Any links will in this topic will be broken until the release is officially published. When we are ready for release, we’ll copy this changelog and create a new post in the [Announcements category](https://forum.qiime2.org/c/announcements).
> 
> * * *
> 
> ### Important Developer Information
> 
> #### Dates (please keep an 👁 on this post, these 📅 might change):
> 
> - PRs must be submitted by: October 18, 2019
> - PRs must be merged by: October 25, 2019
> - Repo Freeze and Package Building: October 31, 2019
> - Release Day: November 1, 2019
> 
> #### Developer Project Board: [https://github.com/orgs/qiime2/projects/17](https://github.com/orgs/qiime2/projects/17)
> 
> * * *
> 
> Here’s the highlights of the release:
> 
> - [QIIME 2 Framework](https://github.com/qiime2/qiime2)
> - @Oddant1 added a `view` method to the `TextFileFormat` and `BinaryFileFormat` classes, which allows for easier type conversion (especially for developers!). 🎃
> - @Nicholas_Bokulich updated the citation info for the canonical QIIME 2 citation (Bolyen et al., 2019 Nature Biotechnol) 🥂
> - @David-Rod upgraded our core distribution to use the latest (and greatest) version of Pandas 🐼!
> - @Oddant1 implemented a _highly_ sought after feature - Metadata constructed via the Artifact API now gets all of its whitespace stripped off 👻! This is really useful for the dozens of transformers that allow for various semantic types to be "viewed" as Metadata! ♨
> - @ebolyen fixed a bug that prevented `MetadataColumn`values from being decoded properly - this was mostly an issue for q2studio. 🦝
> - @thermokarst made some changes to a framework utility that uses the `networkx` package --- QIIME 2 is now compatible with the latest release of this tool! 🔧
> 
> - [docs](https://docs.qiime2.org/2019.10)
> - @Nicholas_Bokulich updated the tutorials to reflect changes to the `feature-table heatmap` API (primarily the parameter rename from `metadata` to `sample-metadata`). 🗄
> - @SoilRotifer added the tutorial "Phylogenetic inference with q2-phylogeny". 🌲 This is the latest version of his Community Tutorial of the same name 🖲
> - @BenKaehler added a nifty new section to the [Parkinson's Mice Tutorial](https://docs.qiime2.org/2019.10/tutorials/pd-mice/) that demonstrates how to create a bespoke classifier. 🎡
> - @ChrisKeefe found a pesky typo in the Parkinson's Mice Tutorial dataset 🐁, but fortunately those days are behind us!
> - @thermokarst created a new ["SEPP Refs" section of the Data Resources](https://docs.qiime2.org/2019.10/data-resources/#sepp-reference-databases) page on the QIIME 2 Docs - these handy little databases are for use with q2-fragment-insertion! 🖼
> - @gregcaporaso re-wrote the [User Glossary of QIIME 2 terms](https://docs.qiime2.org/2019.10/glossary/) - if you have ever puzzled over our definitions of words like "Artifact" or "Pipeline" - this is the page for you! 💜
> 
> - [Library](https://library.qiime2.org)
> - @ebolyen, chief drop-shadow design guru for the QIIME 2 team did what he does best: beefed up the drop shadow on the Library! 🛺
> 
> - [q2cli](https://docs.qiime2.org/2019.10/interfaces/q2cli/)
> - @David-Rod fixed a bug 🐛 that caused help text generation to slow down significantly! For the average user this wasn't much of a problem, but, if you're in the [business of building QIIME 2 docs](https://busywork.qiime2.org), this slowdown was _significant_. 😅
> - @Oddant1 fixed a bug that prevented exporting to a local path. We think Rumpelstiltskin was involved - but that's neither here nor there - @Oddant1 got us sorted out! 🤸‍♂️
> - @ebolyen fixed a bug that caused things to explode 🤯 when saving files into a non-existent directory!
> - @Oddant1 improved the error message presented when an invalid primitive value is identified --- previously the error message was pretty opaque, now it actually tells you _what_ is wrong! 📴
> 
> - [q2-feature-classifier](https://docs.qiime2.org/2019.10/plugins/available/feature-classifier/)
> - @Oddant1 exposed new `n_jobs` and `batch_size` parameters in the `extract_reads` method allowing for parallelization of the method. 💰
> - @Oddant1 changed `extract-reads` so it will now ensure that `min-len` is greater than `trunc-len` minus `trim-left` before executing. 🍇
> 
> - [q2-sample-classifier](https://docs.qiime2.org/2019.10/plugins/available/sample-classifier/)
> - @Oddant1 added the `heatmap` visualizer to the party 🥳 known as the `classify-samples` pipeline.
> - @Nicholas_Bokulich fixed a bug in `confusion-matrix` that caused ROC plots to fail on unstratified, imbalanced data. 🤙
> - @Nicholas_Bokulich added `cividis` to the list of available colormaps. 🪑 🌈
> - @Oddant1 added the ability to adjust color scale of the `confusion-matrix` heatmap. 🧈
> - @David-Rod made some updates to the transformers defined in this plugin to allow it to work with the latest versions of Pandas 🐼!
> - @Nicholas_Bokulich added a new `drop_all_unique` parameter to the `metatable` action - this prevents metadata with all unique columns from ruining the party 🥳
> - @ChrisKeefe fixed a bug in the `heatmap` visualizations produced in this plugin that caused some cells to be trimmed, which looked pretty weird! 🧊
> 
> - [q2-feature-table](https://docs.qiime2.org/2019.10/plugins/available/feature-table/)
> - @Nicholas_Bokulich added `cividis` to the list of available colormaps for `heatmap`. 🌈
> - @Nicholas_Bokulich updated `heatmap` to accept both `sample-metadata` and `feature-metadata`, enabling sample/feature labeling along each axis. 🏰
> 
> - [q2-longitudinal](https://docs.qiime2.org/2019.10/plugins/available/longitudinal/)
> - @Nicholas_Bokulich added `cividis` to the list of available colormaps. Wow, @Nicholas_Bokulich was really excited about this colormap! 🧄
> - @Nicholas_Bokulich made the `plot-feature-volatility` visualization a lot more performant by building-in a simple "filter" system - by default only the top 100 most important features will be displayed. There are a few other mechanisms for filtering importances - check out the [docs here](https://docs.qiime2.org/2019.10/plugins/available/longitudinal/plot-feature-volatility/)! 😲
> 
> - [q2-gneiss](https://docs.qiime2.org/2019.10/plugins/available/gneiss/)
> - @Oddant1 created a new `ignore_missing_samples` parameter in the `gradient_clustering` method that, well, allows for any _missing samples_ in the metadata to be, **ahem** _ignored_. 🧙‍♀️
> - @ebolyen made some updates to the test suite defined in this plugin to allow it to work with the latest versions of Pandas 🐼!
> 
> - [q2-types](https://docs.qiime2.org/2019.10/plugins/available/types)
> - @David-Rod removed white space and comment support from `TaxonomyFormat` and `TSVTaxonomyFormat`. These elements generally caused more problems than they solved, so we decided to part ways with those aspects of the formats.
> - @Oddant1 made it so `DNAFASTAFormat` disallows duplicate records, disallows whitespace at the start of an ID, and a few other housekeeping elements. 🗺
> - @David-Rod made some updates to the tests defined in this plugin to allow it to work with the latest versions of Pandas 🐼!
> - @David-Rod beefed up 🐄 the validation for `TSVTaxonomyFormat` - users will be presented with much clearer error messages whenever there is a problem importing or creating one of these files!
> 
> - [q2-deblur](https://docs.qiime2.org/2019.10/plugins/available/deblur)
> - @Oddant1 Made it a new warning to prevent allowing underscores in sample ids (which deblur can't handle. 🔨
> - [`@EmFord` (GH)](https://github.com/EmFord) got rid of a leftover license file lurking in the source code for this plugin! 🕸
> 
> - [q2-emperor](https://docs.qiime2.org/2019.10/plugins/available/emperor)
> - This release is using the latest release version of emperor (`1.0.0-beta.20`).
> - Miscellaneous bug fixes: 🐛 and performance improvements 🚤:
> - Improve error messages for missing or mismatching feature metatdata.
> - For large plots fix a problem where hidden objects would still be clickable.
> - Fixes a bug where axes orientation would be incorrectly loaded from a settings file.
> - [Daniel Hakim](https://github.com/dhakim87): Improved performance for animations with a large number of timepoints.
> 
> - New features ✨:
> - Add a search bar to every tab to narrow down the values you are interested in for any metadata column.
> - [Xuhan Yang](https://github.com/IRENEYXH): Adds a list of colors to the color selector based on the currently selected color palette.
> - [Daniel Hakim](https://github.com/dhakim87): Add the ability to visualize multiple dimensions using parallel plots. Go to the Axes tab and click on `Parallel` or `Scatter` to change the plot type.
> - The following animated GIF showcases all three new features:  
> ![release](https://forum-qiime2-org.s3.dualstack.us-west-2.amazonaws.com/original/2X/5/5ace2d61000f9dc0fda5c63699c3f0373ab35ae9.gif)
> 
> - [q2-diversity](https://docs.qiime2.org/2019.10/plugins/available/diversity/)
> - @tomasz implemented a new `intersect_ids` feature in the `alpha-correlation` visualizer. This parameter allows for filtering out IDs in sample metadata or the `SampleData[AlphaDiversity]` that aren't found in both inputs (which would previously terminate as an error). 🧧
> - @yoshiki got the `core-metrics`/`core-metrics-phylogenetics` pipelines outfitted with the ability to `subsample-with-replacement` while rarefying! 🧢
> - @ebolyen fixed a bug in the `beta-group-significance` visualization that caused some of the boxplots and PDFs to not show up. This was primarily caused by having any kind of non-alphanumeric characters in the metadata used to compute the visualization: 🥺
> 
> - [q2-vsearch](https://docs.qiime2.org/2019.10/plugins/available/vsearch/)
> - @colinbrislawn hooked us up with a sweet 🍬 new feature in `join-pairs` --- the ability to specify how many execution threads 🧵 with which to get the job done! Neat!
> 
> - [q2-taxa](https://docs.qiime2.org/2019.10/plugins/available/taxa/)
> - @David-Rod took a magnifying glass 🔎 to the `barplot` visualizer in this plugin - lo and behold, a simple, yet important typo was revealed - an error used the word "feature" when it should've used the word "sample". Funny how such a small change in language can yield 🛑 such different results!
> 
> - [q2-fragment-insertion](https://docs.qiime2.org/2019.10/plugins/available/fragment-insertion/)
> - @thermokarst & @Stefan brought SILVA 128 to the `sepp` method, and there was much rejoicing! 🎲 This method no longer contains a "default" reference (it used to be GreenGenes) - now users can grab a handy SEPP database reference from the [Docs](https://docs.qiime2.org/2019.10/data-resources/#sepp-reference-databases) (pick your favorite - SILVA or GG!). In the future we hope to expose new methods to support importing and prepping _any_ database, stay tuned 📺 ! For a glimpse of this new action, well, uh, in action, check out the [Parkinson's Mouse Tutorial](https://docs.qiime2.org/2019.10/tutorials/pd-mice/)!
> 
> - [q2-dada2](https://docs.qiime2.org/2019.10/plugins/available/dada2/)
> - @Oddant1 updated the `DADA2StatsFormat` to include a few new computed columns, that way you don't have to do the mental math 🧠 to figure out the _percentage_ of reads merged. Phew!
> 
> Happy QIIME-ing! 🌞

---

<div class="post-metadata">

### Author: ![Nicholas\_Bokulich](https://forum.qiime2.org/user_avatar/forum.qiime2.org/nicholas_bokulich/32/19937_2.png) [@Nicholas\_Bokulich](https://forum.qiime2.org/u/Nicholas_Bokulich)
#### Post date: [August 30, 2019, 3:34pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/2 "2019-08-30T15:34:56Z")

</div>



---

<div class="post-metadata">

### Author: ![Nicholas\_Bokulich](https://forum.qiime2.org/user_avatar/forum.qiime2.org/nicholas_bokulich/32/19937_2.png) [@Nicholas\_Bokulich](https://forum.qiime2.org/u/Nicholas_Bokulich)
#### Post date: [August 30, 2019, 3:39pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/3 "2019-08-30T15:39:09Z")

</div>



---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [October 25, 2019, 5:41pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/10 "2019-10-25T17:41:17Z")

</div>

We are going to push the release back by a few days, to November 1, 2019, that way we have enough time to get through our backlog. Thanks for your patience!

---

<div class="post-metadata">

### Author: ![yoshiki](https://forum.qiime2.org/user_avatar/forum.qiime2.org/yoshiki/32/16_2.png) [@yoshiki](https://forum.qiime2.org/u/yoshiki)
#### Post date: [October 31, 2019, 4:59pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/12 "2019-10-31T16:59:29Z")

</div>



---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [October 31, 2019, 11:38pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/13 "2019-10-31T23:38:36Z")

</div>



---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [November 1, 2019, 5:46pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/14 "2019-11-01T17:46:07Z")

</div>



---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [November 1, 2019, 5:46pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/15 "2019-11-01T17:46:12Z")

</div>



---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [November 1, 2019, 6:35pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/16 "2019-11-01T18:35:19Z")

</div>



---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [November 1, 2019, 6:35pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/17 "2019-11-01T18:35:23Z")

</div>



---

<div class="post-metadata">

### Author: ![thermokarst](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/t/8e7dd6/32.png) [@thermokarst](https://forum.qiime2.org/u/thermokarst)
#### Post date: [November 1, 2019, 11:18pm UTC](https://forum.qiime2.org/t/preview-qiime-2-2019-10-development-changelog/10922/18 "2019-11-01T23:18:38Z")

</div>


