
# Migrating to 24.10

[Nextflow 24.10](https://github.com/nextflow-io/nextflow/releases/tag/v24.10.0) was released on October 27, 2024.

## New features

<h3>Language server</h3>

The [Nextflow language server](https://github.com/nextflow-io/language-server) implements the Language Server Protocol (LSP) for Nextflow scripts and config files. It can be integrated with any editor that functions as an LSP client, and is used by the official [Nextflow VS Code extension](https://marketplace.visualstudio.com/items?itemName=nextflow.nextflow). See {ref}`vscode-page` for details.

The language server parses scripts and config files according to the {ref}`Nextflow language specification <syntax-page>`, which is more strict than the Nextflow CLI. See {ref}`strict-syntax-page` for details.

(workflow-outputs-second-preview)=

<h3>Workflow outputs (second preview)</h3>

The second preview of workflow outputs introduces the following breaking changes from the {ref}`previous version <workflow-outputs-first-preview>`:

- The `publish:` section within processes has been removed. Channels should now be published only from workflows, ideally the entry workflow.

- The `directory` output directive has been replaced with the `outputDir` config option and `-output-dir` command line option, which defaults to `results`. Other directives, such as `mode`, have been replaced with config options under `workflow.output.*`.

  In other words, only target blocks can be specified in the output block, but target blocks can still specify directives such as `mode`.

- Target names cannot begin or end with a slash (`/`).

See {ref}`workflow-output-def` to learn more about the workflow output definition.

## Enhancements

<h3>Azure Managed Identities</h3>

Nextflow now supports managed identities for the Azure Batch executor. See {ref}`azure-managed-identities` for details.

<h3>Task previous execution trace</h3>

The `task` variable in the process definition has two new properties, `task.previousTrace` and `task.previousException`, which allows a task to access the runtime metadata of the previous attempt. See {ref}`task-previous-execution-trace` for details.

## Breaking changes

- The `all` release of Nextflow has been replaced with the `dist` release, which includes fewer core plugins by default and supports third-party plugins. See {ref}`install-standalone` for details.

- The `nf-ga4gh` plugin has been moved into its own repository, [nextflow-io/nf-ga4gh](https://github.com/nextflow-io/nf-ga4gh). To continue using the TES executor, you must explicitly declare the `nf-ga4gh` plugin in your Nextflow configuration. Refer to the plugin repository for documentation and updates on GA4GH integrations.

- The {ref}`hyperqueue-executor` executor now requires HyperQueue 0.17.0 or later.

- The use of [Grape](https://docs.groovy-lang.org/latest/html/documentation/grape.html) dependencies with the `@Grab` annotation is no longer supported. Code that requires third-party libraries should be migrated to a plugin.

- Automatic spot retries for AWS Batch and Google Batch have been disabled by default. See {ref}`spot-retries-page` for details.

## Deprecations

- The use of `addParams` and `params` clauses in include declarations is deprecated. See {ref}`strict-syntax-page` for details.

## Miscellaneous

- New config option: `aws.client.requesterPays`
- New config option: `google.batch.autoRetryExitCodes`
- New config option: `google.batch.bootDiskImage`
- New config option: `manifest.contributors`
- New config option: `wave.mirror`
- New config option: `wave.scan.mode`
- New config option: `wave.scan.allowedLevels`
- New config option: `workflow.failOnIgnore`
- Rename `nextflow.publish.retryPolicy` config scope to `workflow.output.retryPolicy`
