Skip to main content

Seqera Enterprise v26.2.3

Feature updates and improvements​

Pipelines​

  • Added a Quick launch button to the empty state of the Runs page. Next to it, Launch pipeline appears when the workspace has pipelines, and Add pipeline when it has none.

Data Explorer​

  • Added a Create folder action next to Upload in Data Explorer, which creates an empty folder in an AWS S3, Azure Blob Storage, or Google Cloud Storage data repository, including from the data picker in the launch form. Like uploading, it requires write permission on the data repository, so the Launch and View roles cannot create folders, and it is not available for public data repositories.
  • Added a .azure_blob_dir marker file to each folder created in an Azure Blob Storage data repository, the convention Nextflow uses to keep an empty directory. The marker appears in the folder listing, and is not written when the folder already has content.

Bug fixes​

Studios​

  • Fixed long names in the Studios list being truncated at a fixed width even when the column had room to show them.

Credentials​

  • Restricted the Azure Batch and Azure Storage account names in Azure credentials to 3 to 24 letters and digits, matching Azure's account naming rules. A name with other characters, such as URL delimiters, is rejected when the credential is created or updated, before it can be used to build an Azure endpoint URL.

Pipelines​

  • Fixed the Recently updated sort on the Launchpad ignoring pipelines beyond the first 60. Pipelines are now sorted on the server.
  • Fixed the run details page continuing to show the previous run after you opened another run in the same workspace, for example from global search.
  • Fixed adding a pipeline failing when its optional repository avatar could not be fetched. A failed avatar lookup no longer blocks pipeline creation.
  • Fixed a repository request refused by outbound request protection failing with an unexpected error. The error now names the repository and why it could not be accessed.
  • Fixed requests to a Git server configured with an http:// address that redirects to HTTPS losing their credentials. A redirect from HTTP to HTTPS on the same host and default ports now keeps the request headers.
  • Updated the bundled Nextflow version to 25.10.9, which keeps a Bitbucket API token out of the repository clone URL.

Data Explorer​

  • Fixed file lineage in the file preview failing with 503 errors, or missing resumed runs, when it looked up the run that produced a file. The run is now resolved through lineage search, and its link opens the run in its own workspace.
  • Aligned the error for an AWS S3 bucket that the credentials cannot access with the other providers: Data Explorer now reports that the credentials for the bucket are missing or not valid. Other S3 bucket validation failures now return a bad request error instead of the raw S3 error.
  • Fixed a zero-byte name/ folder placeholder blob in an Azure Blob Storage data repository appearing as a blank file inside the folder it represents. It is now omitted from that folder's listing and shown as a folder elsewhere.

General​

  • Extended outbound request protection to every Source Code Management request for pipelines and Studios, adding branch and tag listings, repository validation, and avatar lookups to file reads. Each redirect hop is re-checked, and credentials such as a GitLab PRIVATE-TOKEN header are no longer forwarded to another host on a redirect.
  • Hardened the bucket event endpoint used by pipeline actions. Every SNS message is now signature-verified, and a subscription confirmation must match the stored topic and is completed with the SNS ConfirmSubscription API instead of by fetching a URL from the message.
  • Restricted the Wave pairing proxy to the Seqera Platform API endpoint. A request to any other scheme, host, port, or path is refused with 403.
  • Fixed the pagination of the resource selection dialog in projects being cut off on taller screens.

Upgrade notes​

No database migrations are included in this release.

Outbound request protection covers every Source Code Management request​

TOWER_SSRF_PROTECTION_MODE and TOWER_SSRF_PROTECTION_ALLOWED_HOSTS now govern every Source Code Management request for pipelines and Studios: file reads, branch and tag listings, repository validation, and avatar lookups, each re-checked at every redirect hop. If a Git server resolves to a private address and is not allowed by TOWER_SSRF_PROTECTION_ALLOWED_HOSTS, the default warn mode now logs SSRF protection warnings for these requests too. Search the backend logs again before switching to enforce.

TOWER_HTTP_URL_FETCH_MAX_BODY_BYTES now caps the response of each of these requests, not only file reads, and replaces Nextflow's NXF_GIT_RESPONSE_MAX_LENGTH for all of them. TOWER_HTTP_URL_FETCH_TIMEOUT and TOWER_HTTP_URL_FETCH_CALL_TIMEOUT apply to them as well.

Azure credentials must use valid account names​

Azure credentials are rejected on create or update when the Batch or Storage account name is not 3 to 24 letters and digits. A stored credential with such a name now fails validation, so review existing Azure credentials before you upgrade.

API changes​

The published API contract moves from 1.228.0 to 1.229.0. It adds CreateDataLinkFolder, declares the nullable compute environment fields listed under bug fixes, and declares the account name pattern for the Azure credential batchName and storageName fields. Regenerate any OpenAPI-derived clients against 1.229.0.

Security updates​

  • CVE-2026-91403, CVE-2026-113470: Updated the Java base image for the backend and database migration containers to Amazon Corretto 25.0.5, which blocks the compromised eMudhra intermediate certificates and removes the affected emSign roots.
  • CVE-2023-54404 (GHSA-mrhx-c7xc-m3w5): Updated the zod dependency of the web frontend to 4.6.7. Versions before 4.6.6 could exhaust memory validating an oversized array, even when the schema set a maximum length.

Seqera Enterprise v25.3.8

This is a maintenance release. It contains no feature changes and no bug fixes.

Upgrade notes​

No breaking changes. Standard upgrade procedure applies. No database migrations are included in this release.

Security updates​

  • CVE-2026-113470: Updated the Java base image for the backend and database migration containers to Amazon Corretto 17.0.21, which removes the affected emSign roots. The compromised eMudhra intermediate certificate authorities covered by CVE-2026-91403 were already blocked in v25.3.7; Corretto 17.0.21 carries the same block.

Seqera Enterprise v26.1.6

Bug fixes​

Platform API​

  • Fixed generated API clients and schema validators rejecting valid 2xx responses. Optional credential, pipeline, workflow, task, team, participant, user, and organization response properties are now declared nullable in the OpenAPI specification. Runtime serialization is unchanged.
  • Fixed compute environment responses failing schema validation. Nullable AWS Batch, Forge, and common compute configuration fields are now declared, forged and deleted Forge resources are modelled as string-valued maps, and ForgeConfig.arm64Enabled, ForgeConfig.fargateHeadEnabled, and secretsKmsKeyId are nullable when a persisted configuration omits them.
  • Fixed credential responses emitting null AWS and GitHub secret values. Null secrets are now omitted from the JSON response while write-only OpenAPI semantics are retained, and the conditional workspaceId requirement for workspace-owned versus user-owned credentials is documented.
  • Fixed the workflow, task, load, statistics, launch, and job response contracts to match the values actually returned, and corrected LogPage.entries to an array of strings.
  • Fixed the pipeline version creator metadata, repository list values, and the dataset, participant, data-link, label, and Studios response contracts to match the values actually returned.
  • Fixed dataset downloads losing the stored media type, and declared CSV, TSV, and octet-stream response media types for dataset version downloads.
  • Fixed the GA4GH WES endpoints returning 500 instead of 404 for a run ID that does not exist. Run describe, status, and cancel now return and document 404, and member lookup documents 404.

Monitoring and observability​

  • Fixed fusion_throughput_bytes telemetry reporting only the first day of the current month for each organization. The current month now counts every day so far. Past months are unchanged.

General​

  • Fixed the Fusion throughput quota never blocking a launch. The launch-time check read the current month's usage as zero because usage is stored as one row per day, so maxFusionThroughputBytes was never enforced. The check now sums the organization's daily rows for the current UTC month, which matches the figure shown on the Fusion usage dashboard.

Upgrade notes​

No breaking changes. Standard upgrade procedure applies. No database migrations are included in this release.

API changes​

The published API contract moves from 1.184.0 to 1.192.0. Most changes correct the specification to describe responses the server already returned, with two exceptions that change responses:

  • Null credential secrets are now omitted. AWS and GitHub secret keys that previously serialized as null are no longer present in credential responses. Clients that read these keys must tolerate an absent key rather than a null value.
  • GA4GH WES returns 404 for unknown runs. Run describe, status, and cancel return 404 instead of 500 when the run ID does not exist.

Regenerate any OpenAPI-derived clients against 1.192.0 to pick up the corrected nullability declarations.

Behavior changes​

  • The Fusion throughput quota is now enforced. Organizations with maxFusionThroughputBytes set have had no effective limit since Fusion usage moved to daily rows. Launches that exceed the configured quota are now blocked. Review configured quotas against current Fusion usage before you upgrade.
  • Fusion telemetry totals increase. The fusion_throughput_bytes value reported for the current month now covers the full month to date rather than its first day.

Security updates​

  • CVE-2026-42198: Updated the PostgreSQL JDBC driver to 42.7.12, which resolves a client-side denial of service during SCRAM-SHA-256 authentication, where a malicious server requests an unbounded PBKDF2 iteration count.
  • CVE-2026-91403, CVE-2026-113470: Updated the Java base image for the backend and database migration containers to Amazon Corretto 17.0.21, which blocks the compromised eMudhra intermediate certificates and removes the affected emSign roots.

Wave v1.42.2

Feature updates and improvements​

Container building​

  • Documented CA certificates in Pixi images by @pditommaso in #1211
  • Documented nested packages build options in the container API by @pditommaso in #1208
  • Added a dedicated Build with Pixi documentation section by @MichaelTansiniSeqera in #1150
  • Added the Pixi build template to the Nextflow configuration reference by @MichaelTansiniSeqera in #1148

Dependencies​

  • Updated node dependency to v24.22.0 by @seqeralabs-renovate[bot] in #1214
  • Updated github.com/moby/buildkit module to v0.34.1 by @seqeralabs-renovate[bot] in #1213
  • Updated public.cr.seqera.io/seqeralabs/nf-jdk:corretto-25.0.4-al2023-jemalloc Docker digest to 15e35e9 by @seqeralabs-renovate[bot] in #1212
  • Updated Gradle minor and patch dependencies by @seqeralabs-renovate[bot] in #1215

General​

  • Removed the Comodo AAA root certificate from the Wave CLI native trust store (CVE-2026-91403) by @pditommaso in #1205
  • Changed the workflow lookup to request the minimal workflow record and stop renewing on any 4xx reply by @pditommaso in #1209
  • Pulled the docs-previewer image from public.cr.seqera.io instead of Harbor by @ShahzebMahmood in #1206
  • Changed the base image to public.cr.seqera.io/seqeralabs/nf-jdk by @pditommaso in #1207
  • Aligned the repository CI with the squad baseline by @cristianrcv in #1204
  • Changed the Homebrew tap release to use the JRELEASER_HOMEBREW_GITHUB_TOKEN secret by @munishchouhan in #1217
  • Stopped copying the release image to the legacy ECR by @ShahzebMahmood in #1216

New contributors​

  • @MichaelTansiniSeqera made their first contribution in #1150

Full changelog: https://github.com/seqeralabs/wave/compare/v1.42.1...v1.42.2

Nextflow 26.10.4

Feature updates and improvements​

Language features​

  • Allowed a list of columns for the splitCsv header in the type checker by @bentsherman in #7871
  • Checked equality between records, maps, lists, and tuples by @bentsherman in #7852
  • Detected input file name collisions in typed processes by @bentsherman in #7859
  • Highlighted the entire token on parse error by @bentsherman in #7877
  • Staged files in record collection inputs by @bentsherman in #7866

Configuration​

  • Typed the process.secret config option as a list by @bentsherman in #7911

Plugins​

  • Documented -patchN plugin versions for stable releases and hardened the release job by @bentsherman in #7876
  • Preserved the generic return type in plugin function specs by @bentsherman in #7910

Wave​

  • Made Wave optional for the Seqera executor and skipped the Wave Fusion layer by @pditommaso in #7744
  • Retried Wave validation tasks when Docker exits 125 by @edmundmiller in #7898

General​

  • Built plain and dind launchers for e2e tests by @pditommaso in #7835
  • Capped the lifetime of Azure Batch jobs created by CI by @pinin4fjords in #7935
  • Improved redaction of sensitive values in logs by @jorgee in #7879
  • Prevented leaking environment secrets in CI by @jorgee in #7873

Bug fixes​

Language features​

  • Fixed task hash of records returned by typed functions by @bentsherman in #7887
  • Fixed type checking of comparator closures on lists of tuples by @bentsherman in #7869
  • Fixed type checking of key and value properties on map entries by @bentsherman in #7875

Azure​

  • Fixed Azure Batch pool creation when the pool does not exist by @pinin4fjords in #7904

Google Batch​

  • Stripped trailing slash from task output paths on GCS by @bentsherman in #7888

Plugins​

  • Fixed serial input files metrics computation in nf-seqera by @jordeu in #7899

Dependencies​

  • Bumped nf-azure@1.24.3
  • Bumped nf-k8s@1.6.2
  • Bumped nf-seqera@0.26.1
  • Bumped nf-tower@1.32.2
  • Bumped nf-wave@1.22.4
  • Bumped sched-client to 0.111.0 in nf-seqera

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v26.10.4

Seqera Enterprise v25.3.7

Feature updates and improvements​

info

The legacy distribution endpoint at cr.seqera.io/private is deprecated. Only bug fixes for existing major releases will continue to be published there. New major releases of Seqera Platform are available from cr.seqera.io/enterprise. Seqera will provide updated credentials for the new endpoint — contact your Seqera representative if you need access.

General​

  • Updated the PostgreSQL JDBC driver to 42.7.12. This resolves a denial of service in which a malicious database server could exhaust client CPU during SCRAM authentication, and a silent loss of channel-binding protection on connections that require it.

Bug fixes​

Pipelines​

  • Fixed the Fusion throughput quota never blocking a launch, which let organizations run Fusion-enabled workflows beyond their configured monthly throughput limit.

Monitoring and observability​

  • Fixed fusion_throughput_bytes telemetry under-reporting the current month, counting only the first day instead of every day of the month so far.

Upgrade notes​

No breaking changes. Standard upgrade procedure applies.

Security updates​

  • CVE-2026-91403: Added the eight compromised eMudhra intermediate certificate authorities to the JDK blocked certificate list. Their private keys were leaked, so anyone holding them could issue a certificate for any domain. The default trust store does not anchor these chains, so this is defence in depth for installations that use a custom trust store built from a full CA bundle.

Seqera Enterprise v26.2.2

Feature updates and improvements​

Access control​

  • Allowed root administrators to remove a workspace participant from the admin panel without being blocked by agent-binding guards, and clarified the service account confirmation copy in the admin flows.
  • Added support for resource-bound OAuth tokens for the Seqera MCP client, so a token issued for the MCP server can be exchanged for a separate Seqera Platform access token when one is needed.

Agents​

  • Renamed the agent Pause and Resume actions to Disable and Enable to match what they do: a disabled agent cannot be run manually or by an action.

Co-Scientist​

  • Added a Stop session control to a running, workspace-owned agent session in the Co-Scientist chat drawer, which cancels the session on the server.
  • Added arrow-key navigation into and out of categories in the @-mention panel, made Escape close the panel from the root menu, and stopped long descriptions truncating mention names.
  • Improved chat responsiveness on the Launchpad and Runs pages by skipping page screenshot capture, which could stall the first keystroke.

Pipelines​

  • Added Nextflow 25.10.8 and 26.09.1-edge to the version catalog, making them selectable in the launch form and the API.

General​

  • Added a warning to a required resource select when the list is empty and the user cannot create a resource, explaining who to ask instead of leaving an unusable field.

Bug fixes​

Access control​

  • Fixed a blank Edit page in the admin Workspaces list when another workspace in the organization matched the target workspace's name, full name, or description.

Agents​

  • Fixed agent actions failing without explanation when their GitHub App credential had been deleted. The reason now appears in the trigger history and the action is paused.
  • Fixed an agent's Details tab omitting the bound GitHub App credential. The credential name now appears, and reads No longer available when the binding no longer resolves.
  • Fixed the search box on the Agents page losing focus while results loaded, which dropped any keystrokes typed in the meantime.
  • Fixed the Agents page showing an empty state when the agent list failed to load. It now shows a load error with a Retry action, and keeps the Add button and search visible.

Credentials​

  • Restricted uploaded Google credentials to service account keys, rejecting other credential types and requiring the token URI to be an HTTPS endpoint on a Google-owned host.

Monitoring and observability​

  • Fixed fusion_throughput_bytes telemetry reporting only the first day of the current month. It now covers every day of the month so far.

Pipelines​

  • Fixed text-based reports (TXT, JSON, YAML, Markdown, and scripts) rendering as a blank page when opened in a new tab from the report preview dialog.
  • Fixed clicking a task in global search results opening the run's Tasks tab instead of the task itself.
  • Updated the bundled Nextflow version to 25.10.8, so a Bitbucket Server credential that holds a token but no password now authenticates instead of failing with "Not authorized".
  • Clarified the API error and the Actions form messages shown for a pipeline that belongs to a shared workspace, which an action cannot watch or launch.
  • Fixed every compute environment being disabled when resuming a run whose work directory differed from the compute environment's only by a trailing slash.
  • Fixed the Fusion throughput quota never blocking a launch, because the check looked for a single monthly usage row instead of totalling the organization's daily rows for the current month.
  • Fixed editing a pipeline's Seqera Platform schema failing with an "already exists" error when the pasted schema declared an $id.
  • Stopped the backend compiling a pipeline repository's nextflow.config when reading its params, profiles, and manifest. The file is now only parsed, with no change to the values shown.

Projects​

  • Hid the dataset actions on the Datasets tab from roles that lack the dataset label permissions they require, which previously failed with a 403 error or left a new dataset outside the project.
  • Fixed relaunching a run from a project's Runs tab returning to the workspace Runs page instead of the project's own tab.
  • Fixed the Edit project page omitting project pipelines whose names sorted beyond the first 50 pipelines in the workspace.

Service accounts​

  • Fixed the Workspace access card for a service account with no workspaces, which showed a full empty state instead of collapsing to a header with its action.
  • Blocked removing a service account from a workspace, or deleting it at organization level, while it is still bound to active agents. The request now returns a conflict error that lists the agents and workspaces involved.

General​

  • Constrained outbound Source Code Management requests to permitted destinations, re-validating the target on every redirect, refusing HTTPS-to-HTTP downgrades, and dropping request headers on cross-origin hops. Credential base URLs are now validated when credentials are created or updated.
  • Fixed design system form controls not repainting after their value was set without emitting a change event.
  • Fixed empty states rendering their title as a second top-level heading, which gave screen readers an incorrect page outline.

Upgrade notes​

Outbound request protection starts in warn mode​

Requests to a destination a user supplies — Source Code Management reads for pipeline schema and configuration files and Studios repositories, and credentials base-URL validation — can now be restricted from reaching private or link-local addresses. TOWER_SSRF_PROTECTION_MODE defaults to warn, which logs what would be refused but still allows it. Before switching to enforce, search the backend logs for SSRF protection warnings: each one names the refused host and the setting that would permit it.

Use TOWER_SSRF_PROTECTION_ALLOWED_HOSTS for destinations that must stay reachable in private address space, such as a self-hosted GitHub Enterprise, GitLab, Bitbucket Server, or Gitea, or an S3-compatible store named by a credential base URL. It accepts hostnames, wildcard hostnames, CIDR blocks, and the keywords loopback, private, link-local, and *. Every server configured under tower.scm.providers is allowed implicitly, except loopback hosts, which must be listed explicitly. Address an internal Git server by hostname and allowlist that hostname — a pipeline repository URL that names a private IP address directly is rejected before this setting is consulted.

Uploaded Google credentials must be service account keys​

Google credentials are now parsed as service account keys only. A credential of any other type, including external_account, is rejected, and a token_uri must be an HTTPS endpoint on a Google-owned host. Review any stored Google credential that was not created from a service account key.

Source Code Management file reads have a size limit​

TOWER_HTTP_URL_FETCH_MAX_BODY_BYTES sets the largest response body buffered on a full-body read of a Source Code Management schema or configuration file, and defaults to 10485760 (10 MiB). An oversized file is rejected rather than truncated, so it reports as oversized instead of as a parse error. This replaces Nextflow's NXF_GIT_RESPONSE_MAX_LENGTH for Source Code Management file reads. The ranged preview reads used by dataset import are unaffected.

Agent backend calls are bounded by new timeouts​

TOWER_AGENT_BACKEND_TIMEOUT sets the per-request connect and read timeout for agent backend calls and defaults to 5s. TOWER_AGENT_BACKEND_BINDING_CHECK_BUDGET caps the per-workspace agent-binding fan-out performed when deleting a service account at organization level, and defaults to 15s; once the budget is exceeded, the deletion fails.

Resource-bound tokens apply only to the Seqera MCP client​

TOWER_OIDC_MCP_CLIENT_NAME names the dynamic client registration client_name of the Seqera MCP server, and defaults to seqera-mcp. Resource-bound tokens and the user access-token exchange apply to this client alone; the resource parameter sent by any other client is ignored.

Security updates​

  • CVE-2026-91403: Added the eight compromised eMudhra intermediate certificate authorities to the JDK blocked certificate list. Their private keys were leaked, so anyone holding them could issue a certificate for any domain. The default trust store does not anchor these chains, so this is defence in depth for installations that use a custom trust store built from a full CA bundle.

Nextflow 25.10.9

Rotate Bitbucket Cloud API tokens

This release keeps Bitbucket Cloud API tokens out of git clone URLs and logs. If you authenticated with a Bitbucket API token on 25.10.0 through 25.10.8, rotate the token. It may have been written to console output, .nextflow.log files, and the .git/config of cloned pipelines. See #7868.

Bug fixes​

General​

  • Removed the Bitbucket API token from git clone URLs and logs by @bentsherman in #7870
  • Prevented leaking environment secrets in CI by @jorgee in #7873

Dependencies​

  • Bumped nf-azure@1.20.4
  • Bumped nf-k8s@1.2.3
  • Bumped nf-tower@1.17.8

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v25.10.9

Nextflow 26.04.8

Rotate Bitbucket Cloud API tokens

This release keeps Bitbucket Cloud API tokens out of git clone URLs and logs. If you authenticated with a Bitbucket API token on 26.04.0 through 26.04.7, rotate the token. It may have been written to console output, .nextflow.log files, and the .git/config of cloned pipelines. See #7868.

Use 26.04.9 instead

This release pins nf-k8s@1.5.6, which requires Nextflow 26.08.0-edge or later and fails to load on 26.04.x. Use 26.04.9 instead.

Bug fixes​

General​

  • Removed the Bitbucket API token from git clone URLs and logs by @bentsherman in #7870
  • Prevented leaking environment secrets in CI by @jorgee in #7873

Dependencies​

  • Bumped nf-azure@1.22.8
  • Bumped nf-k8s@1.5.6
  • Bumped nf-tower@1.28.4

Full changelog: https://github.com/nextflow-io/nextflow/releases/tag/v26.04.8