Changelog for fs-api-0.4.0.0
Revision history for fs-api
?.?.?.? -- ????-??-??
0.4.0.0 -- 2025-05-30
Breaking
- Add a new
MustExistoption toAllowExisting.
Non-breaking
- Make the orphan
Condenseinstance forSystem.IO.SeekModeinto a non-orphan instance. The instance is still exported from the same modules it was exported from previously,System.FS.API.Typesin particular.
Patch
- Make it build with
ghc-9.12. - Support
io-classes-1.8.0.1. - Drop support for
ghc-8.10. - Bugfix: opening a file in read mode now expects the file to exist already.
This was already the semantics when using
hOpenfrom theioHasFSinstance, but it was not reflected in theallowExistingfunction.allowExisting Readmodenow returnsMustExistinstead ofAllowExisting. - Bugfix:
hGetBufExactlyandhGetBufExactlyAtwould previously try to read too many bytes in the presence of partial reads. These functions now properly count the number of remaining bytes that have to be read.
0.3.0.1 -- 2024-10-02
Patch
- Support
io-classes-1.6andio-classes-1.7. Older versions ofio-classesare no longer supported.
0.3.0.0 -- 2024-08-26
Breaking
- Remove orphan
Showinstance forForeign.C.Error.Errno. - Provide implementations for the new primitives in the
IOimplementation ofHasFS. As a result,ioHasFSnow requires thatPrimState IO ~ PrimState m. - Rename
Util.CallStackandUtil.CondensetoSystem.FS.CallStackandSystem.FS.Condenserespectively. - Make modules in the
System.FS.IO.Internalhierarchy public, inspired by "Internal convention is a mistake". The following modules are moved/renamed:System.FS.IO.Internalis moved toSystem.FS.IO.Unixon Linux and MacOS systems, and moved toSystem.FS.IO.Windowson Windows systems.System.FS.IO.Internal.Handleis moved toSystem.FS.IO.Handle.
Non-breaking
- Add new primitives to the
HasFSinterface for performing file I/O with user-supplied buffers:hGetBufSome,hGetBufSomeAt,hPutBufSome, andhPutBufSomeAt. - Add compound functions, built from the new primitives in
HasFS:hGetBufExactly,hGetBufExactlyAt,hPutBufExactly, andhPutBufExactlyAt. NFDatainstances forFsPath,HasFSandHandle.- Add
FsPathcombinators:(<.>)andaddExtension,(</>)andcombine.
Patch
- Add a clarification in the documentation of
FsPaththat the user is responsible for picking sensible directory/file names. - Bump upper version bounds for
io-classesto1.6 - Make it build with
ghc-9.10. - New
primitive ^>=0.9dependency - 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
ioHasFSshould never be used by client code. For this reason, we move the relevant modules into anInternalhierarchy.- Move the
System.IO.FSmodule toSystem.FS.IO.Internal. - Move the
System.FS.Handlemodule toSystem.FS.IO.Internal.Handle.
- Move the
- Move strict and lazy compound definitions for reading/writing bytes into
separate modules
System.FS.API.StrictandSystem.FS.API.Lazy. Both modules re-exportSystem.FS.API.
Non-breaking
- Re-export
System.FS.API.TypesfromSystem.FS.API.
Patch
- Bump upper version bounds for
io-classesto1.3
0.1.0.3 -- 2023-06-2
Patch
- Enable building with
ghc-9.4. - Remove
assertspackage 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.