Release 2.8.0.0 Notable changes: * Use ByteString for GroupEntry/UserEntry * Fix `semTrywait` on darwin * Fix vanishing environment variables in `System.Posix.Env.ByteString.putEnv`/`System.Posix.Env.ByteString.getEnv` * Add missing `setEnvironment` and `clearEnv` to `System.Posix.Env.ByteString` * Add support for filepath-1.4.100.0 with `PosixString` variants * Expose `DirStream`, `CDir`, `CDirent` and `DirStreamOffset` (internal API) * Add `fdRead`/`fdWrite` with ByteString payload and deprecate String based `fdRead` * Add `clocksPerSec` * Support wasm32-wasi * Implement BaudRate as an `Int` newtype and allow matching via extensible PatternSynonyms * Added `readDirStreamMaybe` * Warn when functions are used on unsupported platforms * Fix the error handling of `posix_fallocate` * Export `FileStatus` constructor * Various documentation and error message improvements * Add openDirStreamFd, openFileAt and createFileAt * Add accessors for st_blocks and st_blksize * Deal with FreeBSD getpwnam_r(3), ... thread safety. On FreeBSD these are not in fact safe for overlapped execution with a sequence of getpwent(3) or getgrent(3) calls when multiple "green" threads share the same underlying OS thread. The *ent(3) calls now run in bound threads or else locks are used to avoid overlapped execution. * Make passwd/group FFI functions "safe", these are not low-latency APIs. * Drop support for non-thread-safe getpwnam(3) and getpwuid(3). All supported platforms have getpwnam_r(3) and getpwuid_r(3). This was already the case for the getgr(nam|gid) calls. * Added terminal output flags to `System.Posix.Terminal.Common.TerminalMode` IXANY, ONLCR, OCRNL, ONOCR, ONLRET, OFDEL, OFILL, NLDLY(NL0,NL1), CRDLY(CR0,CR1,CR2,CR2), TABDLY(TAB0,TAB1,TAB2,TAB3) BSDLY(BS0,BS1), VTDLY(VT0,VT1), FFDLY(FF0,FF1) * Add support for `O_NOFOLLOW`, `O_CLOEXEC`, `O_DIRECTORY` and `O_SYNC` (#6, #57) * Refactor API of `openFd` removing `Maybe FileMode` argument, which now must be passed as part of `OpenFileFlags` (e.g. `defaultFileFlags { creat = Just mode }`) (#58) * Remove deprecated `execvpe(3)` legacy-emulation CPP macro * Generalise return type of `exitImmediately` from `ExitCode -> IO ()` to `∀a. ExitCode -> IO a` (#130) * Add `Read`, `Show`, `Eq`, and `Ord` typeclass instances to `OpenFileFlags` and `OpenMode`. (#75, #141)