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