Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions changelog/fusion/v2.4.10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: Fusion v2.4.10
date: 2025-03-12
tags: [fusion]
---

## How to pin this version

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

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

## Bug fixes

### Azure

- Fixed concurrent access to Azure client caches.

### General

- Fixed data corruption when renaming a file onto a path that still had active uploads.
- Fixed endless log uploads when the logs file was written to concurrently.
- Fixed `.fusion.symlinks` being uploaded when its contents had not changed.
35 changes: 35 additions & 0 deletions changelog/fusion/v2.4.21.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
title: Fusion v2.4.21
date: 2026-03-18
tags: [fusion]
---

## How to pin this version

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

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

## Bug fixes

### General

- Fixed "entry not found" errors when reading a file after a rename where the new name is a prefix of the old name.
- Fixed `fchmod()` failures on temporary files that were unlinked while still open, such as bash heredoc files.
- Removed the dependency on the `fusermount` binary for unmounting, and fixed Fusion exiting with `EINVAL` during Spot instance reclamation.
- Fixed a crash when a root CA certificate bundle contained invalid PEM data.

### Logging

- Demoted license-related error messages to debug level.

## Upgrade notes

- Drop-in replacement for v2.4.x. No configuration changes required.
39 changes: 39 additions & 0 deletions changelog/fusion/v2.4.22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: Fusion v2.4.22
date: 2026-05-19
tags: [fusion]
---

## How to pin this version

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

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

## Bug fixes

### Azure

- Fixed symlink compaction failing with HTTP 409 `CannotVerifyCopySource` errors for files between 256 MiB and 4 GiB.
- Changed reads of Azure Archive tier blobs to fail immediately instead of being retried.

### General

- Fixed stale symlink content being served after a failed compaction.
- Changed cloud error handling to retry only transient errors and fail fast on permanent errors such as forbidden access and invalid credentials.
- Added a structured warning when an application calls the unsupported `link(2)` inside a Fusion mount.

### Dependencies

- Updated build dependencies.

## Upgrade notes

- Drop-in replacement for v2.4.x. No configuration changes required.
34 changes: 34 additions & 0 deletions changelog/fusion/v2.4.9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: Fusion v2.4.9
date: 2025-02-18
tags: [fusion]
---

## How to pin this version

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

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

## Feature updates and improvements

### Azure

- Added support for authenticating with Azure Managed Identities. System-assigned managed identities need no configuration. For a user-assigned managed identity, set `FUSION_AZ_MSI_CLIENT_ID` to its client ID or `FUSION_AZ_MSI_RESOURCE_STRING` to its resource ID.

### General

- Added the `-o` command-line option to pass extra FUSE mount options as a comma-separated list, such as `-o allow_other,default_permissions`.

## Bug fixes

### Security

- Fixed security vulnerabilities by updating dependencies and the Go patch version.
54 changes: 54 additions & 0 deletions changelog/fusion/v2.5.10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: Fusion v2.5.10
date: 2026-03-17
tags: [fusion]
---

## How to pin this version

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

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

## Feature updates and improvements

### Fusion Snapshots

- Added Spot interruption handling on Amazon ECS. On ECS, Spot interruptions arrive as signals rather than through a metadata endpoint. Fusion intercepts the signal and stops it from reaching child processes, which gives the snapshot time to complete.

### `fusion-tracer`

- Added process metrics collection. The tracer records CPU, memory, I/O, context switches, cgroup statistics, and GPU metrics, and writes a `.fusion/trace.json` file when `FUSION_WORK` is set. Polling intervals adapt to load and metrics are aggregated across the process tree.

### Logging

- Added the available disk space range to the task completion output. Use it to check cache storage capacity.

## Bug fixes

### General

- Fixed incorrect byte ranges during multipart compose and copy operations on AWS S3, Azure Blob Storage, and Google Cloud Storage.
- Fixed `fchmod()` failures on temporary files that were unlinked while still open, such as bash heredoc files.
- Removed the dependency on `fusermount` for unmounting, and fixed Fusion exiting with an error during Spot instance reclamation.
- Fixed a crash when a root CA certificate contained invalid PEM data.

### Logging

- Demoted license-related messages to debug level.

### Dependencies

- Bumped the Go toolchain from 1.24.8 to 1.24.13.
- Updated CI and build dependencies.

## Upgrade notes

- Drop-in replacement for v2.5.x. No configuration changes required.
50 changes: 50 additions & 0 deletions changelog/fusion/v2.5.11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: Fusion v2.5.11
date: 2026-05-07
tags: [fusion]
---

## How to pin this version

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

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

## Bug fixes

### AWS

- Added support for prefix-restricted S3 bucket policies.
- Improved S3 bucket region detection with a fallback chain instead of defaulting to `eu-west-1`.

### Azure

- Changed reads of an Azure Archive tier blob to return a "resource archived" error instead of a generic cloud provider error.
- Fixed symlink compaction failing for files between 256 MiB and 4 GiB.

### General

- Removed an unnecessary truncate before each append-mode write.
- Fixed a `NoSuchKey` crash when an application renames a file and immediately creates a new one at the same path.
- Fixed partial chunk uploads producing incomplete or corrupted objects.
- Fixed symlinks being served as a short path string instead of the file content when symlink compaction failed.

### `fusion-tracer`

- Removed spurious `Failed to fetch entry size` and `Failed to load file metadata` errors.
- Built `fusion-tracer` against glibc 2.17 so it runs on container images with glibc 2.17 or later and loads the NVIDIA management library on GPU nodes.

### Dependencies

- Updated CI and build dependencies.

## Upgrade notes

- Drop-in replacement for v2.5.x. No configuration changes required.
33 changes: 33 additions & 0 deletions changelog/fusion/v2.5.12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: Fusion v2.5.12
date: 2026-05-20
tags: [fusion]
---

## How to pin this version

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

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

## Feature updates and improvements

### General

- Improved chunk download resilience on unreliable networks. Reads no longer fail with `EIO` when an object store stream stalls or truncates mid-transfer. Fusion watches each chunk download for progress, cancels streams that stop, and resumes from where the transfer left off with exponential backoff. This removes the multi-minute hangs and read failures seen in environments with intermittent object store connectivity, typically missing VPC endpoints or congested egress paths. Healthy slow links are unaffected.
- Added a log entry when an application tries to create a hard link inside a Fusion mount, for example certain bioinformatics tools and snapshot workflows. The entry names the operation and the calling process and points to the available workarounds, a symbolic link or a copy. Hard links remain unsupported and the error returned to the application is unchanged.

### Dependencies

- Updated dependencies.

## Upgrade notes

- Drop-in replacement for v2.5.x. No configuration changes required.
53 changes: 53 additions & 0 deletions changelog/fusion/v2.5.13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: Fusion v2.5.13
date: 2026-07-15
tags: [fusion]
---

## How to pin this version

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

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

## Feature updates and improvements

### General

- Added a control interface for direct uploads. Studios and `fusion-tracer` can push data to cloud storage without going through the mounted file system. A task can now upload data reliably while it is still running.
- Improved failure reporting when the Fusion file system process exits before the mount completes. Fusion now reports the failure immediately instead of entering a retry loop.

### Google Cloud

- Added environment variables to tune the retry backoff timing for Google Cloud Storage.

## Bug fixes

### General

- Fixed silent write loss on mounts without write permission by verifying write access at startup.
- Fixed a misleading "is a directory" error, now "permission denied", when opening a bucket you do not have permission to read.
- Fixed large file uploads failing when a write exceeded the cloud provider maximum upload part size on AWS S3 and Azure Blob Storage.
- Fixed interrupted uploads leaking temporary staging data into workflow output folders.
- Fixed mounts timing out under heavy rate limiting at startup.
- Fixed read operations not releasing their network connections.
- Fixed errors during file data cleanup being hidden.

### Google Cloud

- Added automatic retries for transient Google Cloud Storage errors.

### Dependencies

- Updated dependencies.

## Upgrade notes

- Drop-in replacement for v2.5.12. No configuration changes required.
45 changes: 45 additions & 0 deletions changelog/fusion/v2.5.14.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: Fusion v2.5.14
date: 2026-08-18
tags: [fusion]
---

## How to pin this version

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

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

## Bug fixes

### General

- Fixed data loss when a file move is interrupted.
- Fixed declared outputs with brace patterns such as `*.{bcf,vcf}{,.gz}` not being saved.
- Fixed symbolic links not persisting their backing data.
- Fixed long symbolic link targets being truncated on read.
- Fixed temporary task files being uploaded while still being written.
- Fixed temporary working files being left behind after a retried operation.
- Fixed the advertised file system block size, which is now 1 MiB instead of 512 bytes.
- Fixed an internal cache maintenance task continuing to run after shutdown.
- Fixed an internal inode allocation check returning an identifier that was not free.

### Google Cloud

- Fixed corrupted results when assembling very large files on Google Cloud Storage.

### Dependencies

- Hardened internal tests against data races and a timing-related flake.
- Updated dependencies and GitHub Actions.

## Upgrade notes

- Drop-in replacement for v2.5.13. No configuration changes required.
Loading
Loading