Wrap posix_fadvise(2) and posix_fallocate(2)
[packages/unix.git] / changelog.md
1 # Changelog for [`unix` package](http://hackage.haskell.org/package/unix)
2
3 ## 2.7.1.0  *Dec 2014*
4
5   * Add support for `base-4.8.0.0`
6   * Tighten `SafeHaskell` bounds for GHC 7.10+
7   * Add haddock comments on `RTLD_NEXT` and `RTLD_DEFAULT`
8   * Deprecate function `haveRtldLocal`
9   * Fix `getGroupEntryForID/getGroupEntryForName' on Solaris. Solaris uses
10     CPP macros for required getgrgid_r and getgrnam_r functions definition
11     so the fix is to change from C ABI calling convention to C API calling
12     convention
13   * Fix potential type-mismatch in `telldir`/`seekdir` FFI imports
14
15   * Use CAPI FFI import for `truncate` to make sure the LFS-version is used.
16
17   * `executeFile`: Fix `ENOTDIR` error for entries with non-directory
18     components in `PATH` (and instead skip over non-directory `PATH`-elements)
19
20   * New functions in `System.Posix.Unistd`:
21      - `fileSynchronise` (aka `fsync(2)`), and
22      - `fileSynchroniseDataOnly` (aka `fdatasync(2)`)
23
24   * New module `System.Posix.Fcntl` providing
25      - `fileAdvise` (aka `posix_fadvise(2)`), and
26      - `fileAllocate` (aka `posix_fallocate(2)`)
27
28 ## 2.7.0.1  *Mar 2014*
29
30   * Bundled with GHC 7.8.1
31
32   * Handle `EROFS` and `ETXTBSY` as (non-exceptional) permission denied in
33     `fileAccess`
34
35   * Fix `getFileStatus` to retry `stat(2)` when it returns `EAGAIN`
36     (this can happen on Solaris)
37
38 ## 2.7.0.0  *Nov 2013*
39
40   * New `forkProcessWithUnmask` function in the style of `forkIOWithUnmask`
41
42   * Change `forkProcess` to inherit the exception masking state of its caller
43
44   * Add new `Bool` flag to `ProcessStatus(Terminated)` constructor
45     indicating whether a core dump occured
46
47   * New functions in `System.Posix.Files{,.ByteString}` for operating
48     on high resolution file timestamps:
49
50         setFdTimesHiRes :: Fd -> POSIXTime -> POSIXTime -> IO ()
51         setFileTimesHiRes :: FilePath -> POSIXTime -> POSIXTime -> IO ()
52         setSymbolicLinkTimesHiRes :: FilePath -> POSIXTime -> POSIXTime -> IO ()
53         touchFd :: Fd -> IO ()
54         touchSymbolicLink :: FilePath -> IO ()
55
56   * Export `SignalInfo(..)` and `SignalSpecificInfo(..)` as well as
57     the two `Handler` constructors `CatchInfo` and `CatchInfoOnce`
58     from `System.Posix.Signals`
59
60   * Don't export `seekDirStream` and `tellDirStream` if the underlying
61     `seekdir(3)`/`telldir(3)` system calls are not available (as on Android)
62
63   * Fix library detection of `shm*` on openSUSE (#8350)
64
65   * Minor documentation fixes/updates
66
67   * Update package to `cabal-version >= 1.10` format
68
69 ## 2.6.0.1  *Jan 2013*
70
71   * Bundled with GHC 7.6.2
72   * Fix memory corruption issue in `putEnv`
73   * Use `pthread_kill(3)` instead of `raise(2)` on OS X too
74
75 ## 2.6.0.0  *Sep 2012*
76
77   * Bundled with GHC 7.6.1
78   * New functions `mkdtemp` and `mkstemps` in `System.Posix.Temp`
79   * New functions `setEnvironment` and `cleanEnv`
80   * New functions `accessTimeHiRes`, `modificationTimeHiRes`, and
81     `statusChangeTimeHiRes` for accessing high resolution timestamps