Skip to content

Releases: mojatter/wfs

v0.5.1

Choose a tag to compare

@mojatter mojatter released this 18 Jun 15:49
1b323a5

Highlights

Bug fix: memfs directory enumeration and RemoveAll mishandled prefix-named siblings. A sibling such as dir0-tmp shares the string prefix dir0 and can sort between a directory key and its children (- (0x2d) sorts before / (0x2f)). The previous code matched on the bare string prefix, so enumeration could stop short and RemoveAll("dir0") could delete the unrelated dir0-tmp. This is the primary reason to upgrade.

Changes

Fixed

  • memfs: match the full path segment (dir0/) instead of the bare string prefix in ReadDir, glob, and RemoveAll (#17)

Internal

  • Modernize interface{}any and b.Nb.Loop() (#18)
  • Harden memfs tests: avoid reflect.DeepEqual on errors, use range-over-int in the Sub concurrency smoke test (#19, #20)

Upgrading

  • wfs is a single module: run go get github.com/mojatter/wfs@v0.5.1.
  • No public API changes and no behavior changes outside the memfs fix above — no migration needed.

Full Changelog

v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@mojatter mojatter released this 07 Apr 11:22
897084f

[0.5.0]

A documentation, tooling, and compatibility release. No public API
changes; the code-level features (RenameFS, SyncWriterFile, the
memfs Sub mutex fix, the memfs store performance work) all shipped
in v0.4.1 and are now properly documented.

Added

  • README sections covering capability layers, an atomicWrite example
    built on RenameFS + SyncWriterFile, and the memfs limitations
    callers should know about (Close-publishes-writes, Sync-is-a-noop,
    file-only Rename) (#12).
  • CHANGELOG.md, starting with this entry (#13).
  • CI: Go version matrix (1.24, stable) so regressions against the
    lowest supported toolchain are caught (#11).
  • CI: go test -race is now run on every PR (#15).
  • CI: aggregator job named tests so the branch protection required
    check stays stable across future matrix changes (#11 follow-up).

Changed

  • Minimum Go version is now 1.24 (was 1.26) so projects on older
    toolchains can consume wfs (#11).

Deprecated

  • osfs.NewOSFS is now documented as scheduled for removal in v0.6.0.
    Use osfs.New instead (#14).

v0.4.1

Choose a tag to compare

@mojatter mojatter released this 06 Apr 05:04
1cf2c86

What's Changed

  • Add Rename and Sync capabilities for atomic writes by @mojatter in #6
  • CI: add staticcheck and gosec, rename workflow to tests.yaml by @mojatter in #7
  • memfs: Share mutex between parent and Sub-derived filesystems by @mojatter in #8
  • memfs: Speed up store.put and removeAll by @mojatter in #9
  • memfs: Document MemFile write/close/sync semantics by @mojatter in #10

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@mojatter mojatter released this 02 Apr 02:06

Full Changelog: v0.3.2...v0.4.0

v0.3.2

Choose a tag to compare

@mojatter mojatter released this 01 Sep 07:09

What's Changed

Full Changelog: v0.3.1...v0.3.2

v0.3.1

Choose a tag to compare

@mojatter mojatter released this 02 Dec 06:38

What's Changed

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@mojatter mojatter released this 26 Nov 01:39
1e16095

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@mojatter mojatter released this 26 Nov 01:27
6857893

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@mojatter mojatter released this 18 Nov 02:44