Important 
The following is an early developer preview of the changes expected in 2025.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.
Developer Project Board:
QIIME 2 2025.10 Project on Github
Important Announcements 
Starting in 2026, we’ll update our Python version at most once per year, and only in the April full release (when needed). This gives plugin developers ample time to keep their plugins current and reduces the internal time spend for our team to make these changes each year.
How we decide
-
After each October release we assess whether a Python update is required (based on the EOL timeline for our current version).
-
If an update is planned for April, we start testing immediately so there’s ample time to solve environments and address any API-related test failures.
What this means for you
-
If you maintain a plugin, plan your compatibility work between Oct → Apr (when a Python bump is announced).
-
No Python bumps will occur in January, July, or October releases.
More details on the schedule and policy can be found here
Interface Changes coming in QIIME 2 2026.1 
Breaking Changes 
-
We're planning a broad update to plugins to more consistently refer to metadata, such that many metadata parameters will be renamed to either
sample-metadata
orfeature-metadata
. This will impact a lot of actions, but will result in more consistent naming so should ultimately make QIIME 2 more convenient for users. -
--p-n-reads-learn
is going to be replaced by--p-n-bases-learn
indenoise-single
anddenoise-paired
to match the behavior in dada2
-
vsearch-global --maxrejects
default is going to change
-
group
is now going to create metadata for the resulting groups, resulting in a new required output
Here are the highlights of the release! 
qiime2.org updates
-
@Oddant1 added provenance error tracking to q2view. We are now maintaining a database of known errors. If you load a Result in q2view that is affected by any known errors, the provenance view will show which nodes are affected and by what errors
-
@jacobs found and fixed a bug in q2view that prevented it from loading URLs with uuids in them here
- amplicon
- q2-boots has been added
- q2-kmerizer has been added (as a necessary dependency of q2-boots)
- q2-boots has been added
- moshpit
- q2-fastp has been added
- q2-fastp has been added
- @Oddant1 fixed an issue with recycling output collections when only part of the collection is present. Previously, it would cause an error, now it will only warn then run the action to recreate the collection
- @ebolyen added a new visualization type called
report
. It is available as a class-methodVisualization.make_report(template, collection)
and on a context object asctx.make_report(template, collection)
wheretemplate
is a function that combines an output directory and an index (from thecollection
) together into a new visualization.
For an example, see this notebook: make_reports.ipynb · GitHub - plugin template
- @cduvallet fixed a small bug in our plugin template
Interface Updates
-
- @Oddant1 added a
qiime tools cache-export
builtin for exporting artifacts directly from the cache - @ebolyen added
qiime tools make-report
to generate "matryoshka" reports from visualizations. The matryoshka template is so named because it can be arbitrarily nested, resulting in a hierarchical sidebar containing as many visualizations as you wish to collate.
- @Oddant1 added a
-
- @ebolyen created a new
matryoshka_template
which is for the newmake_report
functionality, allowing arbitrarily many visualizations and reports to be collated into a new report.
- @ebolyen created a new
Plugin Updates
-
- @jordenrabasco added a new output to each of the denoise methods that records the base transition error rates and added a visualizer (
plot-base-transitions
) to display them.
- @jordenrabasco added a new output to each of the denoise methods that records the base transition error rates and added a visualizer (
-
- @Vinzent_Risch added a
--p-remove-empty
option to thefilter-samples
action that allows samples that contain empty fastq files to be omitted in the output. - @Vinzent_Risch improved the error handling in
filter-samples
if no samples remain after filtering
- @Vinzent_Risch added a
-
- @Macabe222 changed the plot type of the
mantel
visualizer to a binned variety to fix a bug where very large distance matrices could cause the browser to slow down.
- @Macabe222 changed the plot type of the
-
- @Macabe222 refactored the
tabulate-seqs
visualizer to make the sequence count and length statistics only take into account those records that have DNA sequences.
- @Macabe222 refactored the
-
- @SoilRotifer updated the action
get-pr2-data
:- Removed PR2 reference database
4.14.0
, as this database was never meant to be fetched as it only contains 8 taxonomic ranks. This action was intended to fetch recent databases that contain 9 taxonomic ranks. - PR2 reference database
5.1.0
can now be downloaded. - code for this action was refactored to enable more streamlined unit testing.
- Removed PR2 reference database
- @SoilRotifer updated the action
get-midori2-data
:- users can now fetch the recent MIDORI Reference 2 sequence & taxonomy data:
GenBank266_2025-04-24
andGenBank267_2025-06-19
.
- users can now fetch the recent MIDORI Reference 2 sequence & taxonomy data:
- @SoilRotifer added the action
get-eukaryome-data
. Users can now download reference sequences and reference taxonomy from the Eukaryome reference database. Options include:- the ability to download separate SSU, LSU, and ITS sequences
- the entire region that contain these genes , i.e. "longread".
- can download all available data simultaneously for a given database version.
- @SoilRotifer updated the action
-
- @Macabe222 made changes that ensure that paired-end sequencing artifacts allow only forward/reverse read pairs with an equal number of records.
- @Macabe222 made changes that ensure that paired-end sequencing artifacts allow only forward/reverse read pairs with an equal number of records.
-
- @Macabe222 unified the subtitle font size for all plots, set a maximum length for all plot titles, and removed grid lines from
heatmap
- @Macabe222 unified the subtitle font size for all plots, set a maximum length for all plot titles, and removed grid lines from
Community Plugin Updates
Documentation Updates
Docker Container Updates