SOW 0.7.1 updates the Go toolchain and dependencies. It also fixes recovery, package validation, RPM export, and S3/R2 handling.
Download the release from GitHub or the Download page.
These notes cover changes since 0.7.0. Database schema v13, configuration schema sow/v3, the CLI, and the public repository layout remain compatible. Workspaces on 0.5.0 through 0.7.0 need no schema migration.
Recovery and repository state
- Recover interrupted legacy
dist.newanddist.initoperations when effective signing is absent. - Preserve unproven C2 migration stage files intact under
.sow/<repo>/abandoned/and report their location. Empty stages are removed, repeated recovery is safe, and local GC can proceed. Inspect the reported files before removing them. - Reopen directory cursors between deletion batches so cleanup completes on macOS APFS and BSD filesystems.
- Keep multi-statement SQLite reads in one read-only transaction. Split large Dist membership queries below SQLite’s parameter limit.
- Normalize legacy repository time records with fractional seconds and reject years outside
1..9999.
Package validation and RPM export
- Reject RPM v6 consistently in Plain
create, everyprunepath, and Managed ingestion. - Limit decompressed DEB control archives and APT/RPM metadata streams, including oversized PAX headers.
- Recognize Linux
renameat2unsupported-operation errors and retain the portable fallback. - Allow
export rpm-leafwhen an unrelated filesystem publication target is unmounted. Physical path overlap is still rejected. - Use the selected Dist’s recorded build publication time for the exported metadata signature. A later build of another Dist no longer changes that time. The exported
repomd.xmldata timestamp remains0. - Accept repeated package inputs when
sow addreceives both explicit files and their parent directory.
S3 and R2
The updated AWS SDK retries bodyless HTTP 429 responses. SOW preserves the HTTP error classification when those retries are exhausted.
SOW also finds HTTP status codes inside joined errors. An HTTP 404 during multipart abort means the upload is already removed. Error XML responses for listing and multipart operations now have size limits.
Toolchain and dependencies
Source builds require Go 1.27.4 or newer. All 35 required module versions were checked against the latest available versions during release preparation.
| Component | 0.7.0 | 0.7.1 |
|---|---|---|
| Go | 1.27.3 | 1.27.4 |
| AWS SDK core / S3 | 1.47.8 / 1.114.9 | 1.48.0 / 1.114.10 |
| Smithy | 1.28.8 | 1.28.9 |
| klauspost/compress | 1.20.3 | 1.20.4 |
| modernc/libc | 1.80.1 | 1.81.0 |
| golang.org/x/sys | 0.49.0 | 0.50.0 |
| GoReleaser | 2.20.0 | 2.20.1 |
AWS internals, pprof, x/mod, x/sync, and modernc compiler dependencies are also updated. The local RPM parser security patch is retained. Third-party notices match the new release builds.
Upgrade
Stop workspace writers and back up the complete workspace with hard links preserved. Install 0.7.1, then build and check each configured Repository:
An unchanged build is a no-op. Workspaces from 0.3 or 0.4 still need sow repo migrate REPOSITORY first. Plain repositories have no database migration.
SOW 0.6.1 and older cannot read configurations containing passfile. Remove those fields before downgrading. RPM v6 remains unsupported.
The release includes four Linux/macOS archives, two RPMs, two DEBs, and SHA256SUMS. See the upgrade guide and complete changes.
.rpm
| File | Checksum | |
|---|---|---|
| sow-0.7.1-1PGSTY.aarch64.rpm Linuxarm64SHA-256 | 633dec35…1b0e |
|
| sow-0.7.1-1PGSTY.x86_64.rpm Linuxamd64SHA-256 | d4ccae2f…12c4 |
.deb
| File | Checksum | |
|---|---|---|
| sow_0.7.1-1PGSTY_amd64.deb Linuxamd64SHA-256 | 127559a2…9bd1 |
|
| sow_0.7.1-1PGSTY_arm64.deb Linuxarm64SHA-256 | 8d69f623…dc4e |
.tar.gz
| File | Checksum | |
|---|---|---|
| sow_0.7.1_darwin_amd64.tar.gz macOSamd64SHA-256 | cc1d6891…731c |
|
| sow_0.7.1_darwin_arm64.tar.gz macOSarm64SHA-256 | 81201881…51a4 |
|
| sow_0.7.1_linux_amd64.tar.gz Linuxamd64SHA-256 | d1fd6099…4179 |
|
| sow_0.7.1_linux_arm64.tar.gz Linuxarm64SHA-256 | 2adbe314…8f5c |
