What's new: ----------- - New getconf tool for querying confstr(3), pathconf(3), sysconf(3), and limits.h configuration. - The passwd tool now allows an administrator to use the -R command for other user accounts: passwd -R username. - Experimental: Change the way sockets are created so that Cygwin always circumvents so-called "layered service providers" (LSPs) starting with Windows Vista. - signal handler functions are now dispatched in threads other than the main thread. - Support NcFsd filesystem. - clock_gettime(3) and clock_getres(3) accept per-process and per-thread CPU-time clocks, including CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. - New pthread functions: - Spin Locks: pthread_spin_destroy, pthread_spin_init, pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock. - Stack management: pthread_attr_getstack, pthread_attr_getstackaddr, pthread_attr_getguardsize, pthread_attr_setstack, pthread_attr_setstackaddr, pthread_attr_setguardsize, pthread_getattr_np. - Clock Selection: pthread_getcpuclockid, pthread_condattr_getclock, pthread_condattr_setclock. - Scheduling: pthread_setschedprio. - Add /proc/devices, /proc/misc, /proc/sysvipc, /proc/swaps. - Make various system functions thread cancelation points per POSIX. - Add ioctl FIONREAD handling for non-sockets. - dlopen now supports the Glibc-specific RTLD_NODELETE and RTLD_NOOPEN flags. - Execed processes now inherit the children of their predecessor. - Fifos have been rewritten and should now be more reliable. - GNU/glibc error.h error reporting functions: error, error_at_line, error_message_count, error_one_per_line, error_print_progname. - Other new API: clock_getcpuclockid, clock_nanosleep, clock_settime, __fpurge, getgrouplist, ppoll, psiginfo, psignal, ptsname_r, sys_siglist, sysinfo. - cygwin_conv_path_list finally supports CCP_WIN_W_TO_POSIX and CCP_POSIX_TO_WIN_W conversions. What changed: ------------- - Drop support for Windows NT4. - The CYGWIN environment variable options "envcache", "strip_title", "title", "tty", and "upcaseenv" have been removed. - Revamp console and pseudo tty handling. Rename /dev/ttyX to /dev/consX, /dev/ttyX to /dev/ptyX. - The CYGWIN=tty mode using pipes to communicate with the console in a pseudo tty-like mode has been removed. Either just use the normal Windows console as is, or use a terminal application like mintty. - Improve fork/exec performance on 64 bit systems. - Improve Ctrl-C handling in console. - Try harder to let fork not fail if DLLs are moved in memory which should, in some cases, minimize the need for rebaseall. - Try harder to send SIGHUP to children when process group leader fails. - New heap management. Drop registry setting "heap_chunk_in_mb" in favor of a new per-executable setting in the executable file header which can be set using the peflags tool. Drop registry setting "heap_slop_in_mb" entirely. - dlopen can now find "cygFOO.dll", even if the caller specified "libFOO.so". This is supposed to support applications which are no aware of Windows DLLs. - Make accept(2), poll(2) and shutdown(2) behave more like on Linux. - Raise max number of mount points from 30 to 64. - Output of /proc/maps is closer to what Linux prints and much more useful to examine process VM layout. - /proc/loadavg now shows the number of currently running processes and the total number of processes. - /proc/version now shows the username of whomever compiled the Cygwin DLL as well as the version of GCC used when compiling. - cygwin_conv_path and cygwin_conv_path_list: In CCP_WIN_A_TO_POSIX and CCP_POSIX_TO_WIN_A conversions, use the current Windows ANSI or OEM charset, depending on the return value of AreFileApisANSI. Up to Cygwin 1.7.9, both conversions used the current Cygwin charset for the conversion. - Various assorted bugfixes and improvements. - Preliminary, no guarantee, may be broken in subtle ways, Windows 8 support.