# QIIME 2 2023.5 is now available!

**URL:** https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579
**Category:** Announcements
**Tags:** release
**Created:** [May 24, 2023, 9:13pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579 "2023-05-24T21:13:49Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![q2d2](https://forum.qiime2.org/user_avatar/forum.qiime2.org/q2d2/32/613_2.png) [@q2d2](https://forum.qiime2.org/u/q2d2)
#### Post date: [May 24, 2023, 9:13pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/1 "2023-05-24T21:13:49Z")

</div>

The QIIME 2 2023.5 release is now available! Thanks to everyone involved for their hard work! 🙌🏼 🎉

As a reminder, our next planned QIIME 2 release is scheduled for August 2023 (QIIME 2 2023.8), but please stay tuned for updates. 🗓

Check out the [QIIME 2 2023.5 docs](https://docs.qiime2.org/2023.5/) for details on installing the latest QIIME 2 release, as well as tutorials and other resources. Get in touch on the QIIME 2 Forum if you run into any issues!

We will follow up here once Docker images have been built and are ready for use 🤓

* * *

## Exciting Announcements! 🥳 🎉

### [Parsl](https://dev.qiime2.org/latest/parallel/)

QIIME 2 pipelines can now be parallelized via [parsl](https://parsl.readthedocs.io/en/stable/) 📦 Huge thanks to @Oddant1 for implementing this! 🤩

On the CLI, pass the `--parallel` flag to parallelize a given pipeline using a basic parsl configuration that should work on most non HPC systems.

In the Python API, call `.parallel` on the pipeline to get the same result (ex. `diversity.pipelines.core_metrics.parallel(*args, **kwargs)`).

Parsl allows for more detailed configuration for HPC systems. More documentation on how to do this in QIIME 2 may be found in the dev docs linked above.

### [Pipeline Resumption](https://dev.qiime2.org/latest/pipeline_resumption/)

QIIME 2 pipelines that fail part way through can now be resumed from their point of failure instead of needing to restart from the beginning. Another huge thanks to @Oddant1 for implementing this! 🥳

This behaviour is enabled by default on the CLI. QIIME 2 will create a pool in your default cache (or the cache indicated by the new `--use-cache` flag on pipelines) that will store all intermediate results from a pipeline that is running and will attempt to reuse the results in this pool should you rerun the pipeline after a failure. The pool will be deleted on pipeline success.

If you want to specify a pool to use (that will not be deleted automatically on pipeline success) provide the `--recycle-pool` flag followed by a key to be used for the pool in the cache. If you want to opt out of this behavior, pass the `--no-recycle` flag.

In the Python API, you must with in a pool to be used for pipeline resumption using the usual syntax for withing in a pool.

```auto
from qiime2 import Cache

cache = Cache('cache_path')
pool = Cache.create_pool('pool', reuse=True)

with pool:
    diversity.pipelines.core_metrics(*args, **kwargs)

```

This will do the exact same thing as

`qiime diversity core-metrics <inputs and params> --use-cache 'cache_path' --recycle-pool 'pool' <outputs>`

This will hopefully make it so that if you hit your wall time or some other transient error while executing a pipeline you do not lose all the progress the pipeline made before it failed.

**NOTE:** If you change any of your inputs or parameters to a pipeline it may not be possible to reuse all of the intermediate results created by the previous run; however, QIIME 2 will still reuse any results not implicated by the changed arguments.

### [Output Collections](https://dev.qiime2.org/latest/actions/collections/)

It is now possible (also huge thanks to @Oddant1 🙏🏼) to return collections of artifacts as a single output.

On the CLI, output collections will need to be given a directory that does not exist yet (the same as `--output-dir`). They will create this directory then write all artifacts to it along with a .order file that simply contains the names of all of the artifacts in the collection in order.

In the Python API, a ResultCollection object will be returned that can be accessed in much the same way as a dictionary with the addition of a `validate` method that will run validate on all artifacts in the collection. `.save` can be called on ResultCollections to save them to disk using the exact same rules as the CLI. `ResultCollection.load` may be called to load a directory into a ResultCollection object in the same way as a single artifact may be loaded.

### [q2-quality-control](https://github.com/qiime2/q2-quality-control)

[@jordenrabasco](https://github.com/jordenrabasco) added three new commands for using [decontam](https://github.com/benjjneb/decontam) in QIIME 2:

- `decontam-identify` - Supports identifying contaminants based on negative controls using either frequency information (quantitative measures) or feature prevalence in controls.
- `decontam-score-viz` - Histrogram summary of contaminants with optional normalization of feature-counts.
- `decontam-remove` - (experimental) Filter feature table by the scores. This may be replaced by `feature-table`'s `filter-features` in the future.

### [Provenance replay](https://github.com/qiime2/provenance-lib)

@gregcaporaso, @ebolyen, and @colinvwood added provenance-lib to the core distribution! provenance-lib provides access to provenance replay, which enables users to generate new executable scripts from the data provenance stored in all QIIME 2 Results. Want to learn more? Check out [@ChrisKeefe's tutorial on the QIIME 2 Forum](https://forum.qiime2.org/t/provenance-replay-beta-release-and-tutorial/23279), and read our new pre-print, [Facilitating Bioinformatics Reproducibility](https://arxiv.org/abs/2305.11198). Get started using this today to document your bioinformatics, or to learn from what others did by applying provenance replay to their QIIME 2 results. After activating your QIIME 2 2023.5 conda environment, access this functionality by running `replay --help`.

* * *

### ‼ BREAKING CHANGES ‼

- [qiime2](https://github.com/qiime2/qiime2)

- [q2cli](https://github.com/qiime2/q2cli)

- [q2-composition](https://github.com/qiime2/q2-composition)

* * *

## Here are the highlights of the release:

- [QIIME 2 Framework](https://github.com/qiime2/qiime2)

- [q2-composition](https://github.com/qiime2/q2-composition)

- [q2-feature-table](https://github.com/qiime2/q2-feature-table)

- [q2-fmt](https://github.com/qiime2/q2-fmt)

- [q2-longitudinal](https://github.com/qiime2/q2-longitudinal)

- [q2-sample-classifier](https://github.com/qiime2/q2-sample-classifier)

- [q2-taxa](https://github.com/qiime2/q2-taxa)

- [q2-types](https://github.com/qiime2/q2-types)

* * *

## Documentation Updates 📚

- [Cancer Microbiome Intervention Tutorial](https://github.com/qiime2/cancer-microbiome-intervention-tutorial)

- [User docs](https://github.com/qiime2/docs)

- [Developer docs](https://github.com/qiime2/dev-docs)

* * *

## Patch Updates (2023.5.1)

- [q2cli](https://github.com/qiime2/q2cli)
  - Fixed a bug which crashed `qiime tools view` with any input.
  - Fixed a bug which caused recycle pools to use the cache associated with a output destination, rather than the default/`--use-cache` provided value.

- [qiime2](https://github.com/qiime2/qiime2)
  - Fix deprecation warning when setting a value in the parallel/parsl config to None.

- [q2-cutadapt](https://github.com/qiime2/q2-cutadapt)
  - [@vaamb](https://github.com/vaamb) added support for mixed-orientation reads to `demux-paired` 🧬

---

<div class="post-metadata">

### Author: ![jack2017](https://forum.qiime2.org/letter_avatar_proxy/v4/letter/j/7feea3/32.png) [@jack2017](https://forum.qiime2.org/u/jack2017)
#### Post date: [May 25, 2023, 1:35pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/2 "2023-05-25T13:35:16Z")

</div>

Dear all,

Thank you for your hard work and for the updates!!  
For me as infrequent user the update frequency is dazzling. Would it be possible to reduce that, or make less frequent "long term support" versions like Ubuntu, or a rolling release version like Debian, and/or indicate what we can use from earlier Qiime2 runs (e.g. databases and other one/few-time time consuming analyses that do not need to be repeated often)? Maybe I missed such options, then my apologies.  
Thanks.

---

<div class="post-metadata">

### Author: ![lizgehret](https://forum.qiime2.org/user_avatar/forum.qiime2.org/lizgehret/32/17128_2.png) [@lizgehret](https://forum.qiime2.org/u/lizgehret)
#### Post date: [May 25, 2023, 2:53pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/3 "2023-05-25T14:53:09Z")

</div>

Hi @jack2017!

Thanks for your interest and questions!

We are planning to start providing long-term support releases either at the end of this year or beginning of next year, but we will continue to do these smaller feature releases ~4x a year.

All of our previous versions are still available for use, and you can check our release changelogs to see what is available and/or any deprecations or breaking changes between releases.

Cheers 🦎

---

<div class="post-metadata">

### Author: ![Sam\_Degregori](https://forum.qiime2.org/user_avatar/forum.qiime2.org/sam_degregori/32/1350_2.png) [@Sam\_Degregori](https://forum.qiime2.org/u/Sam_Degregori)
#### Post date: [May 25, 2023, 3:53pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/4 "2023-05-25T15:53:31Z")

</div>

@jack2017 I used 2021.11 the entire year last year. Before that I used 2019.7 for three years straight. No issues. And the version specific documentation is easily accessible on the qiime2 website

---

<div class="post-metadata">

### Author: ![lizgehret](https://forum.qiime2.org/user_avatar/forum.qiime2.org/lizgehret/32/17128_2.png) [@lizgehret](https://forum.qiime2.org/u/lizgehret)
#### Post date: [May 25, 2023, 4:22pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/5 "2023-05-25T16:22:05Z")

</div>

**NOTE** : For anyone who has already installed QIIME 2 2023.5, you may have noticed these warnings pop up in your terminal when running any command:

```auto
/home/bt140047/miniconda3/envs/qiime2-2023.5/lib/python3.8/site-packages/umap/distances.py:1086: NumbaDeprecationWarning:
The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See Deprecation Notices — Numba 0.57.0+0.g4fd4e39c6.dirty documentation 1 for details.
@numba.jit()

```

We have rolled back a couple of our dependencies that caused these (harmless but annoying) warning messages, so please re-install QIIME 2 2023.5 and these warnings will no longer show up.

Cheers 🦎

---

<div class="post-metadata">

### Author: ![lizgehret](https://forum.qiime2.org/user_avatar/forum.qiime2.org/lizgehret/32/17128_2.png) [@lizgehret](https://forum.qiime2.org/u/lizgehret)
#### Post date: [May 25, 2023, 11:17pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/6 "2023-05-25T23:17:20Z")

</div>

**NOTE** : We have found a bug in q2cli (the command line interface) that produces an error when running `qiime tools view`. We are currently working on a fix for this and will get a patch release out after the holiday weekend. In the meantime, please use q2view via [view.qiime2.org](http://view.qiime2.org) for viewing all visualizations. We apologize for the inconvenience! :qiime2:

---

<div class="post-metadata">

### Author: ![Omar\_tak](https://forum.qiime2.org/user_avatar/forum.qiime2.org/omar_tak/32/15913_2.png) [@Omar\_tak](https://forum.qiime2.org/u/Omar_tak)
#### Post date: [May 26, 2023, 12:13am UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/7 "2023-05-26T00:13:34Z")

</div>

I was having that problem with qiime tools view, thanks for the advice. I'll be waiting for the patch.

---

<div class="post-metadata">

### Author: ![colinbrislawn](https://forum.qiime2.org/user_avatar/forum.qiime2.org/colinbrislawn/32/6221_2.png) [@colinbrislawn](https://forum.qiime2.org/u/colinbrislawn)
#### Post date: [May 26, 2023, 5:57pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/8 "2023-05-26T17:57:57Z")

</div>

I have a request along these lines. (Feel free to move this to a new topic!)

Microsoft Azure publishes images with two labels:

- Ubuntu 22.04 `ubuntu-latest` OR `ubuntu-22.04`
- macOS 12 Monterey `macOS-latest` OR `macOS-12`

It can be nice to target a specific version  
It can be nice to target `-latest` as a CI/CD moving target

I'm requesting `qiime2-latest`  
(Looks like we already have a [conda env for qiime2-latest](https://github.com/qiime2/environment-files/blob/master/latest/staging/qiime2-latest-py38-linux-conda.yml)?)

---

<div class="post-metadata">

### Author: ![propolis](https://forum.qiime2.org/user_avatar/forum.qiime2.org/propolis/32/15755_2.png) [@propolis](https://forum.qiime2.org/u/propolis)
#### Post date: [May 30, 2023, 5:15am UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/9 "2023-05-30T05:15:34Z")

</div>

Check out this Docker image

propolis/qiime2-2023.5-greengenes2-rescript-jupyter

With suggestion for mounting an external drive for data storage.

---

<div class="post-metadata">

### Author: ![ebolyen](https://forum.qiime2.org/user_avatar/forum.qiime2.org/ebolyen/32/11_2.png) [@ebolyen](https://forum.qiime2.org/u/ebolyen)
#### Post date: [May 31, 2023, 5:49pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/10 "2023-05-31T17:49:17Z")

</div>

Hey all,

We just released a patch which fixes the issues with `qiime tools view` and adds a few other things.

See the addendum to the release notes above for details!

---

<div class="post-metadata">

### Author: ![fenny](https://forum.qiime2.org/user_avatar/forum.qiime2.org/fenny/32/21859_2.png) [@fenny](https://forum.qiime2.org/u/fenny)
#### Post date: [June 2, 2023, 7:28am UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/11 "2023-06-02T07:28:55Z")

</div>

Is there a way to apply the patches to an existing virtual environment or should we build a complete new environment?

---

<div class="post-metadata">

### Author: ![colinvwood](https://forum.qiime2.org/user_avatar/forum.qiime2.org/colinvwood/32/17303_2.png) [@colinvwood](https://forum.qiime2.org/u/colinvwood)
#### Post date: [June 2, 2023, 7:29pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/12 "2023-06-02T19:29:57Z")

</div>

Hello @fenny,

You can apply a patch by updating a package in your environment. For example, to fix the q2cli bug:

`conda update q2cli -c https://packages.qiime2.org/qiime2/2023.5/passed/core/`

Or to apply all the patches (at the time of writing!):

`conda update q2cli qiime2 q2-cutadapt -c https://packages.qiime2.org/qiime2/2023.5/passed/core/`

Remember to do this inside of the environment you want to update. Otherwise add the `--name <your-env>` parameter.

There is always a small chance that this breaks your environment, so don't do this if the risk isn't worth it.

---

<div class="post-metadata">

### Author: ![lizgehret](https://forum.qiime2.org/user_avatar/forum.qiime2.org/lizgehret/32/17128_2.png) [@lizgehret](https://forum.qiime2.org/u/lizgehret)
#### Post date: [August 15, 2023, 3:12pm UTC](https://forum.qiime2.org/t/qiime-2-2023-5-is-now-available/26579/14 "2023-08-15T15:12:00Z")

</div>

An off-topic reply has been split into a new topic: [cannot install QIIME 2 2023.5](https://forum.qiime2.org/t/cannot-install-qiime-2-2023-5/27388)

Please keep replies on-topic in the future.
