Skip to content

Releases: faustbrian/go-filesystem

github.com/faustbrian/go-filesystem v1.0.0

Choose a tag to compare

@faustbrian faustbrian released this 26 Aug 05:47

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
    concurrent IfNoneMatch writers 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/fs interoperability.
  • 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-filesystem identity 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

Verify the checksum attestation with:

ssh-keygen -Y verify -f ALLOWED_SIGNERS -I brian@cline.sh -n golib-release -s SHA256SUMS.sig < SHA256SUMS