[Preview] QIIME 2 2025.10 development changelog

:exclamation: Important :exclamation:

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


:police_car_light: Important Announcements :police_car_light:

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 :thinking:

  • 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 :index_pointing_at_the_viewer:t3:

  • 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 :snake:


Interface Changes coming in QIIME 2 2026.1 :boom:

:bangbang: Breaking Changes :bangbang:

  • 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 or feature-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.

  • q2-dada2

    • --p-n-reads-learn is going to be replaced by --p-n-bases-learn in denoise-single and denoise-paired to match the behavior in dada2 :collision:
  • q2-feature-classifier

    • vsearch-global --maxrejects default is going to change :warning:
  • q2-feature-table

    • group is now going to create metadata for the resulting groups, resulting in a new required output :right_arrow:

Here are the highlights of the release! :sparkler:


qiime2.org updates :house:


QIIME 2 View Updates :mag:


  • @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 :stop_sign:

  • @jacobs found and fixed a bug in q2view that prevented it from loading URLs with uuids in them here :1234:

QIIME 2 Library Updates :books:


QIIME 2 Forum Updates :page_facing_up:


Distribution Updates :package:


Framework Updates :deciduous_tree:

  • @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 :warning:
  • @ebolyen added a new visualization type called report. It is available as a class-method Visualization.make_report(template, collection) and on a context object as ctx.make_report(template, collection) where template is a function that combines an output directory and an index (from the collection) together into a new visualization.
    For an example, see this notebook: make_reports.ipynb · GitHub
  • plugin template

Interface Updates :tv:

  • q2cli

    • @Oddant1 added a qiime tools cache-export builtin for exporting artifacts directly from the cache :package:
    • @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.
  • q2templates

    • @ebolyen created a new matryoshka_template which is for the new make_report functionality, allowing arbitrarily many visualizations and reports to be collated into a new report.

Plugin Updates :electric_plug:

  • q2-dada2

    • @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. :bar_chart:
  • q2-demux

    • @Vinzent_Risch added a --p-remove-empty option to the filter-samples action that allows samples that contain empty fastq files to be omitted in the output. :jar:
    • @Vinzent_Risch improved the error handling in filter-samples if no samples remain after filtering :no_entry:
  • q2-diversity

    • @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. :framed_picture:
  • q2-feature-table

    • @Macabe222 refactored the tabulate-seqs visualizer to make the sequence count and length statistics only take into account those records that have DNA sequences. :dna:
  • q2-phylogeny

    • @fethalen exposed parttree and large MAFFT parameters in iqtree and fasttree pipelines. :evergreen_tree:
    • @fethalen updated root-at-midpoint action to use new defaults, removing warnings and ensuring compatibility with future scikit-bio releases.
  • q2-rescript

    • @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.
    • @SoilRotifer updated the action get-midori2-data:
      • users can now fetch the recent MIDORI Reference 2 sequence & taxonomy data: GenBank266_2025-04-24 and GenBank267_2025-06-19.
    • @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.
  • q2-types

    • @Macabe222 made changes that ensure that paired-end sequencing artifacts allow only forward/reverse read pairs with an equal number of records. :robot:
  • q2-vizard

    • @Macabe222 unified the subtitle font size for all plots, set a maximum length for all plot titles, and removed grid lines from heatmap :bar_chart:

Community Plugin Updates :electric_plug:


Documentation Updates :open_book:


Docker Container Updates :jar:

1 Like