TEST: Cygwin 3.0.0-0.8

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Feb 11 14:31:00 GMT 2019

Hi folks,

I uploaded a new Cygwin test release 3.0.0-0.8

This release comes with a couple of new features and some interesting
bug fixes.

It also changes the output of uname(2) for newly built applications.
Applications built so far (that includes uname(1) from coreutils)
will still print the old uname output.  The new format allows for longer
strings.  Compare:

Old uname content:

  sysname:  CYGWIN_NT-10.0     or  CYGWIN_NT-10.0-WOW   on WOW64
  release:  3.0.0(0.335/5/3)   or  3.0.0s(0.335/5/3)    for snapshots
  version:  2019-01-29 19:23   Local build time 

Upcoming new uname content:

  sysname:  CYGWIN_NT-10.0-17763   or  CYGWIN_NT-10.0-17763-WOW64
  release:  3.0.0-335.x86_64       or  3.0.0-335.x86_64.snap
  version:  2019-01-29 19:23 UTC   Build time in UTC

Changes from 3.0.0-0.7:

- Add the opt-in code to recover a fork running deleted executables.

- Fix O_APPEND handling on files when calling non-Cygwin applications

Please test.


What's new:


- Support for case sensitive directories.  mkdir(2) automatically
  creates directories within the Cygwin installation dir as case
  sensitive now.

  This feature requires Windows 10 1803 or later and WSL installed!

- New file ioctls's FS_IOC_GETFLAGS and FS_IOC_SETFLAGS.  The actual
  inode flags are Cygwin-specific.  This allows to set or reset
  DOS attributes, file sparseness, FS level encryption and compression,
  as well as directory case sensitivity programatically.

- New tools chattr(1) and lsattr(1) to utilize setting and viewing the
  aforementioned new ioctl's on the command line.

- Support for exFAT.

- Support Linux-specific open(2) flag O_PATH.

- Support Linux-specific linkat(2) flag AT_EMPTY_PATH.

- Support overrun counter for posix timers (via timer_getoverrun() or

- New APIs: signalfd, timerfd_create, timerfd_gettime, timerfd_settime,

- fork(2) now is able to recover from when an in-use executable/dll is
  removed or replaced during process runtime.  This feature is disabled by
  default and limited to exes/dlls on the same NTFS partition as the Cygwin
  installation.  For more information and how to enable, please refer to

What changed:

- clock_nanosleep, pthread_condattr_setclock and timer_create now support

- clock_setres is a no-op now.

- Use the new POSIX unlink semantics on NTFS starting with Windows 10 1709.
  Deleting an in-use file now actually removes the file, rather than moving
  it to the recycler bin.

- Use the new POSIX rename semantics on NTFS starting with Windows 10 1809.
  Renaming a file to another in-use file now actually removes the other file,
  rather than moving it to the recycler bin.

- open(..., O_TMPFILE) now moves the file to the trash bin immediately,
  to free the parent directory.

- Wctype functions updated to Unicode 11.0.

- Remove matherr, and SVID and X/Open math library configurations.
  Default math library configuration is now IEEE.

- Improve uname(2) for newly built applications.

- Kerberos/MSV1_0 S4U authentication replaces two old methods:
  Creating a token from scratch and Cygwin LSA authentication package.

- Cygwin PIDs have been decoupled from Windows PID.  Cygwin PIDs are
  now incrementally dealt in the range from 2 up to 65535, POSIX-like.
  Native Windows processes not started by Cygwin processes are mapped
  into the range beyond 65535.

Bug Fixes

- Fix a thread race when initializing CLOCK_MONOTONIC.
  Addresses: https://cygwin.com/ml/cygwin/2018-11/msg00017.html

- Fix early timeout from pthread_cond_timedwait.
  Addresses: https://cygwin.com/ml/cygwin/2018-11/msg00171.html

- Fix a bug in recognizing remote FAT/FAT32/exFAT correctly.

- Allow open(2)/stat(2)/linkat(2) of a file via /proc/PID/fd/DESCRIPTOR
  even if file has been deleted.
  Addresses: https://cygwin.com/ml/cygwin/2018-12/msg00125.html

- Fix a bug in select(2) when polling HANDLE-less descriptors.

- Fix WEOF handling in wctype functions.
  Addresses: https://cygwin.com/ml/cygwin/2018-12/msg00173.html

- Fix thread names in GDB when cygthreads get reused.

- Fix return value of gethostname in a border case.

- Disallow seteuid on disabled or locked out accounts.
  Addresses: https://cygwin.com/ml/cygwin/2019-01/msg00197.html

- Fix raise to work as required by POSIX.
  Addresses: https://cygwin.com/ml/cygwin/2019-01/msg00149.html

- Fix exception handling in pthreads.
  Addresses: https://cygwin.com/ml/cygwin/2019-01/msg00149.html

- Fix O_APPEND handling on files when calling non-Cygwin applications
  Addresses: https://cygwin.com/ml/cygwin/2019-02/msg00081.html


Have fun,

Corinna Vinschen
Cygwin Maintainer

More information about the Cygwin-announce mailing list