Skip to main content

Changelog: Fusion

Fusion v2.4.19

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.19-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.19-arm64.json'.

Feature updates and improvements

  • Platform-specific snapshot detection: Added instance type detection for granular snapshot support; updated Fusion Snapshots to v1.8.0.
  • Incremental dumps enabled by default: Snapshots incremental dumps now run automatically.
  • GPU tracer backport: Backported GPU tracer feature from master.

Bug fixes

  • Idempotent Remove operations: Fixed race conditions in concurrent rename operations by making Remove() idempotent across all cloud providers (GCS, S3, Azure)

Upgrade notes

Drop-in replacement for v2.4.x. No configuration changes required.

Fusion v2.5.8

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.8-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.8-arm64.json'.

Feature updates and improvements

  • Platform-specific snapshot detection: Added instance type detection for granular snapshot support; updated Fusion Snapshots to v1.8.0.
  • Incremental dumps enabled by default: Snapshots incremental dumps now run automatically with a 5-minute timer.
  • GPU tracer improvements: Consistent logging, --no-color flag support, and enabled by default in containers.

Bug fixes

  • Race condition fix: Prevented data loss from concurrent Unlink() and Mknod() operations on the same path.

Upgrade notes

Drop-in replacement for v2.5.x. No configuration changes required.

Fusion v2.5.7

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.7-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.7-arm64.json'.

Critical bug fixes

GCS compose conflicts

  • Fixed concurrent compose operation conflicts in Google Cloud Storage.
  • When multiple Fusion instances compose the same target file concurrently (e.g., with Nextflow job arrays where all array jobs overwrite .exitcode), temporary objects created during composition could conflict.
  • Prevents conflicts when concurrent instances attempt to create, use, or delete the same temporary files.

Upgrade notes

Drop-in replacement for v2.5.x. No configuration changes required.

Fusion v2.5.6

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.6-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.6-arm64.json'.

Feature updates and improvements

  • GPU Usage Monitoring
    • New fusion-gpu-checker utility for monitoring GPU usage by processes.
    • Optional integration via environment variables.
  • GCP Batch support
    • Added support for Google Batch with Fusion Snapshots 1.7.0.
  • Bumped golangci-lint-action: 8.0.0 → 9.0.0
  • Bumped actions/upload-artifact: 4.6.2 → 5.0.0
  • Bumped actions/download-artifact: 5.0.0 → 6.0.0
  • Bumped astral-sh/setup-uv: 6 → 7

Critical bug fixes

Azure Directory detection

  • Fixed "Is a directory" errors in hierarchical namespace containers (Data Lake Gen2).
  • Fixed files incorrectly treated as directories causing workflow failures.

Context cancellation

  • Fixed critical operations failing mid-execution due to FUSE context cancellation.
  • Prevented data corruption, ghost files, and orphaned S3 objects.
  • Operations now complete reliably despite client disconnections.

Symlink compaction deadlocks

  • Fixed deadlock in entryService shutdown with symlink compaction.
  • Ensured target directory population before compaction.

Other improvements

Reliability

  • Fixed race condition in directory iteration.
  • Fixed write lock acquisition condition reevaluation.
  • Added comprehensive lock documentation.

Testing and CI

  • Pinned Nextflow to 25.04.8.
  • Updated license test certificates (40-year expiration).
  • Added GPU tracer test coverage.

Upgrade notes

Drop-in replacement for v2.5.x. No configuration changes required.

Fusion v2.4.18

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.18-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.18-arm64.json'.

Fusion v2.4.17

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.17-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.17-arm64.json'.

Feature updates and improvements

  • Fixed lock with symlink compaction.

Fusion v2.4.16

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.16-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.16-arm64.json'.

Feature updates and improvements

  • Added Google Batch (GCP) support for snapshots.

Fusion v2.5.5

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.5-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.5-arm64.json'.

Feature updates and improvements

Release v2.5.5 with GCP snapshot support, critical race condition fixes, dependency updates, and improved reliability.

  • GCP Snapshot support: Add Google Batch (GCP) support for snapshots with comprehensive compute environment detection and metadata client integration.
  • Locking documentation: Add comprehensive lock documentation to entryService including invariants, lock upgrade patterns, and TOCTOU prevention.
  • Snapshot version: Bump fusion-snapshot to v1.7.0 with GCP support.
  • Preemption handling: Improve logging and handling of instance reclamation/spot termination events.
  • Nextflow pinning: Pin Nextflow to 25.04.8 in CI to work around AWS authentication issues in 25.10.0.
  • Bumped AWS SDK v2 components (1.19.11 → 1.19.13, 1.88.3 → 1.88.5, etc.)
  • Bumped Azure SDK for Go (1.6.2 → 1.6.3, azidentity 1.12.0 → 1.13.0)
  • Bumped Google APIs (0.251.0 → 0.252.0)
  • Bumped golang.org/x/sys (0.36.0 → 0.37.0)
  • Bumped failsafe-go (0.9.0 → 0.9.1)

Critical fixes

  • Race Condition Fixes:
    • Resolve multiple race conditions in entry service operations.
    • Fix directory iteration race by consolidating lock scope.
    • Add lock condition re-evaluation after write lock acquisition to prevent TOCTOU issues.
  • Priority test reliability: Improve TestBandwidthExecutor/PriorityExecution statistical reliability by increasing buffer and task counts.
  • Directory operations: Ensure rmdir() properly fails on non-empty directories.
  • License tests: Update test certificates to expire in 40 years (2065) to prevent test failures.

Fusion v2.4.15

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.15-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.4.15-arm64.json'.

Feature updates and improvements

  • Added incremental dumps on 2.4.
  • Bumped snapshots to 1.6.0 in 2.4.15

Fusion v2.5.4

How to pin this version

fusion {
enabled = true
containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.4-amd64.json'
}
info

For ARM64 CPU architecture, use containerConfigUrl = 'https://fusionfs.seqera.io/releases/v2.5.4-arm64.json'.

Feature updates and improvements

  • Added support for checksum algorithm.
  • Added incremental dumps.
  • Added ability to disable OTEL machinery if tracing not enabled.
  • Added fallback to use AZ_BATCH_TASK_WORKING_DIR as FUSION_CACHE_LOCATION.
  • Updated fusion snapshots to 1.6.0
  • Bumped github.com/docker/docker from 28.2.2+incompatible to 28.3.3+incompatible
  • Bumped hoverkraft-tech/compose-action from 2.3.0 to 2.4.0
  • Bumped google.golang.org/grpc from 1.75.0 to 1.75.1
  • Bumped actions/download-artifact from 4.3.0 to 5.0.0
  • Bumped insightsengineering/coverage-action from 2.7.2 to 3.0.1