[Preview] QIIME 2 2021.4 development changelog

:exclamation: Important :exclamation:

The following is an early developer preview of the changes expected in 2021.4

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.

Important Developer Information

Dates (please keep an :eye: on this post, these :calendar: might change):

  • PRs must be submitted by: April 9, 2021
  • PRs must be merged by: April 13, 2021
  • Repo Freeze and Package Building: April 15, 2021 - April 16, 2021
  • Classifier Training: April 19, 2021 - April 20, 2021
  • Release Day: April 21, 2021

Developer Project Board: 2021.4 · GitHub

:exclamation: BREAKING CHANGES

Please update scripts, workflows, etc. as appropriate. Stuck? Reach out here on the forum for help. Want to test this prior to the next release of QIIME 2? Check out the “development environment” instructions here:


Here’s the highlights of the release:

The admin team is meeting in a week or two to discuss the specific release timing - stay tuned.

The release dates have been added up above - please let me know if you have any questions!

A big change coming up in this release is that we have moved from Python 3.6 to Python 3.8! The rationale here is that Python 3.6 EOL is slated for the end of 2021, and, we were starting to fall behind on other Python-related dependencies because of this (some of the major conda channels out there appear to be dropping their support for Python 3.6, or at least winding down). We have moved our minimum support version up to Python 3.8 - and we hope to add support for 3.9 later this year (:crossed_fingers:).

In the meantime, if you want to test out your current plugin in Python 3.8, you can get your hands on a 3.8 development environment here:


wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-osx-conda.yml
conda env create -n qiime2-dev --file qiime2-latest-py38-osx-conda.yml
rm qiime2-latest-py38-osx-conda.yml


wget https://raw.githubusercontent.com/qiime2/environment-files/master/latest/staging/qiime2-latest-py38-linux-conda.yml
conda env create -n qiime2-dev --file qiime2-latest-py38-linux-conda.yml
rm qiime2-latest-py38-linux-conda.yml

We will most likely continue to support QIIME 2 2021.2 until our August 2021 QIIME 2 release (2021.8), that way we give plugin devs enough time to deal with moving over. For what it’s worth though, the upgrade path for us was relatively painless, and there aren’t any specific items that we think plugin devs should be aware of.

cc list (apologies if I miss anyone, just want to loop in folks I think are working on plugins right now):

@gibsramen @adamova @misialq @Nicholas_Bokulich @jwdebelius @BenKaehler @ChrisKeefe @Keegan-Evans @gregcaporaso @ebolyen @gmdouglas @Adam_Rivers @Oddant1