# Revision history for fs-api ## 0.3.0.0 -- 2024-08-26 ### Breaking * Remove orphan `Show` instance for `Foreign.C.Error.Errno`. * Provide implementations for the new primitives in the `IO` implementation of `HasFS`. As a result, `ioHasFS` now requires that `PrimState IO ~ PrimState m`. * Rename `Util.CallStack` and `Util.Condense` to `System.FS.CallStack` and `System.FS.Condense` respectively. * Make modules in the `System.FS.IO.Internal` hierarchy public, inspired by "Internal convention is a mistake". The following modules are moved/renamed: * `System.FS.IO.Internal` is moved to `System.FS.IO.Unix` on Linux and MacOS systems, and moved to `System.FS.IO.Windows` on Windows systems. * `System.FS.IO.Internal.Handle` is moved to `System.FS.IO.Handle`. ### Non-breaking * Add new primitives to the `HasFS` interface for performing file I/O with user-supplied buffers: `hGetBufSome`, `hGetBufSomeAt`, `hPutBufSome`, and `hPutBufSomeAt`. * Add compound functions, built from the new primitives in `HasFS`: `hGetBufExactly`, `hGetBufExactlyAt`, `hPutBufExactly`, and `hPutBufExactlyAt`. * `NFData` instances for `FsPath`, `HasFS` and `Handle`. * Add `FsPath` combinators: `(<.>)` and `addExtension`, `()` and `combine`. ### Patch * Add a clarification in the documentation of `FsPath` that the user is responsible for picking sensible directory/file names. * Bump upper version bounds for `io-classes` to `1.6` * Make it build with `ghc-9.10`. * New `primitive ^>=0.9` dependency * Tight dependency bounds. ## 0.2.0.1 -- 2023-10-30 ### Patch * Make it build with `ghc-9.8`. ## 0.2.0.0 -- 2023-08-01 ### Breaking * Modules that are required for `ioHasFS` should never be used by client code. For this reason, we move the relevant modules into an `Internal` hierarchy. * Move the `System.IO.FS` module to `System.FS.IO.Internal`. * Move the `System.FS.Handle` module to `System.FS.IO.Internal.Handle`. * Move strict and lazy compound definitions for reading/writing bytes into separate modules `System.FS.API.Strict` and `System.FS.API.Lazy`. Both modules re-export `System.FS.API`. ### Non-breaking * Re-export `System.FS.API.Types` from `System.FS.API`. ### Patch * Bump upper version bounds for `io-classes` to `1.3` ## 0.1.0.3 -- 2023-06-2 ### Patch * Enable building with `ghc-9.4`. * Remove `asserts` package flag. ## 0.1.0.2 -- 2023-05-25 * Enable building with ghc-9.6 ## 0.1.0.1 -- 2023-04-24 ### Non-breaking Update the code to compile with `io-sim-1.0.0.1`. ## 0.1.0.0 -- 2023-03-27 * First version. Released on an unsuspecting world.