Releases: faustbrian/go-filesystem
Releases · faustbrian/go-filesystem
Release list
github.com/faustbrian/go-filesystem v1.0.0
1.0.0 - 2026-08-25
Changed
-
Exclude intentional nested modules from root local-proxy archives so local,
bootstrap, CI, and public module checksums describe the same source
boundary. -
Track the pinned documentation-tool lockfile so clean CI checkouts install
the exact validated cspell dependency. -
Reconcile standalone dependency checksums against deterministic current
module archives so CI, local verification, and release consumers resolve
identical content. -
Harden standalone documentation validation with deterministic spelling and
link checks, package-specific documentation gates, and repository-local
contributor guidance.
Documentation
- Link the package README to the repository-wide Golib documentation portal.
Fixed
- Apply TCP fault-proxy latency after source data arrives so idle connections
cannot consume the configured transport delay before a transfer begins. - Make local create-only writes publish with an atomic hard-link operation so
concurrentIfNoneMatchwriters cannot overwrite the first object.
Compatibility
- Added a pinned module export baseline so incompatible public API changes
fail the canonical repository gate.
Added
- Capability-based core contracts, strict logical paths, and typed errors.
- Local and deterministic in-memory adapters.
- Amazon S3 and first-class Cloudflare R2 adapters.
- Reconnecting SFTP and FTP adapters with safe replay policies.
- Close-verified streaming writers for every initial adapter.
- Composable prefix, read-only, checksum, safe-retry, and instrumentation
decorators. - Read-only
io/fsinteroperability. - Shared conformance tests, deterministic fault injection, fuzz targets, and
performance benchmarks. - Bidirectional TCP fault proxy, concurrent symlink-containment stress, S3/R2
multipart cleanup integration, and 64 MiB allocation benchmarks. - Credential-safe remote error wrapping and configurable S3/R2 metadata bounds.
- Capability, adoption, operations, architecture, security, compatibility,
troubleshooting, contribution, and FAQ documentation.
Changed
- Publish the module from its standalone
github.com/faustbrian/go-filesystemidentity while preserving its documented API and behavior. - FTP explicit and implicit TLS configurations now fail before dialing because
the pinned protocol client cannot safely complete protected data transfers.
Plaintext passive and active modes are covered by real transfer tests.
Release integrity
- Source commit:
50789bfb3b11bc921b1864bc593c6bf67d9f8b9e - Exact-head CI: https://github.com/faustbrian/go-filesystem/actions/runs/32907572275
- Release dry-run: urn:sha256:ba9f5b3a27349e3703a698feca8d0b15400364f9d981912773a62a8c00eca781
- Assets include a CycloneDX SBOM, SLSA v1 in-toto provenance, and SSH-signed checksums.
Verify the checksum attestation with:
ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS