[I sent this on 2024-02-14 to the cygwin-announce mailing list,
 but forgot to CC the cygwin mailing list. Doing it now...]


Hi folks,

we're planning the next major release in the next few (hopefully
not more than two) weeks.

We're looking forward to more people giving the latest test release
of Cygwin a try!

The most recent test release, which you can easily install from Cygwin
Setup, is cygwin-3.6.0-0.374.g4dd859d01c22.  Of course, as time goes by,
there may be more 3.6.0 test release prior to the official release.

If you're unsure how to install a test release, please have a look
at https://cygwin.com/faq.html#faq.setup.testrels

At this point, we're most interested if the test release introduces
regressions compared to 3.5.7!

There's a whole bunch of new features and a few behavioral changes
compared to 3.5, but it's not so much testing the new functionality
we're after, but to test if everything still runs as in 3.5.7 or
even... better!

If you see a change in the test release which breaks something for
you running fine in 3.5.7, please send a mail, ideally with a short
and simple testcase, to the cygwin@cygwin.com mailing list.

Below you'll find a list of changes compared to the 3.5 series.


Thanks a lot,
Corinna


What's new:
-----------

- New API call: getlocalename_l.

- New API calls: fdclosedir, posix_getdents.

- New API call: setproctitle.

- New API call: timespec_get.

- New API calls: tcgetwinsize, tcsetwinsize.

- New POSIX-defined entry points posix_spawn_file_actions_addchdir and
  posix_spawn_file_actions_addfchdir.  These are the same as the already
  exported posix_spawn_file_actions_addchdir_np and
  posix_spawn_file_actions_addfchdir_np.

- Add FS_IOC_[GS]ETFLAGS FS_PINNED_FL and FS_UNPINNED_FL flags to handle
  Windows attributes FILE_ATTRIBUTE_PINNED and FILE_ATTRIBUTE_UNPINNED.
  Add matching 'p' and 'u' mode bits in chattr(1) and lsattr(1).

- New libaio.a provided for projects checking for POSIX aio support
  by looking for this library at configure time.

- cygpath -r option allows to generate all Windows paths with root-local
  path prefix \\?\.


What changed:
-------------

- ps -f now prints the commandline rather than the full path to the
  executable.

- Drop support for NT4 and Samba < 3.0.22.

- Now that SMBv1 is ultimately deprecated and not installed by default
  on latest Windows versions, use Network Discovery (i. e. WSD, "Web
  Service Discovery") for enumerating network servers in //, just like
  Windows Explorer.

- If "server" is given as FQDN, and if "server" is an NFS server,
  ls //server now also enumerates NFS shares.  If "server" is given
  as a flat name, only SMB shares are enumerated.

- Expose //tsclient (Microsoft Terminal Services) shares as well as
  //wsl$ (Plan 9 Network Provider) shares, i. e., WSL installation
  root dirs.

- Redesign pipe handling to minimize toggling blocking mode.
  The query_hdl stuff is no longer needed in new implementation.

- Now using AVX/AVX2/AVX-512 instructions in signal handler does not
  break their context.

- nice(2), setpriority(2) and sched_setparam(2) now fail with EACCES
  or EPERM if Windows would silently set a lower priority
  (HIGH_PRIORITY_CLASS instead of REALTIME_PRIORITY_CLASS) due to
  missing administrator privileges.

- nice(2) now returns the new nice value instead of 0 on success
  and sets errno to EPERM instead of EACCES on failure.  This confirms
  to POSIX and Linux (glibc >= 2.2.4) behavior.

- sched_setscheduler(2) now emulates changes between SCHED_OTHER,
  SCHED_BATCH, SCHED_IDLE, SCHED_FIFO and SCHED_RR.  If SCHED_OTHER or
  SCHED_BATCH is selected, the Windows priority is set according to the
  nice value where SCHED_BATCH sets a one step lower priority.  If
  SCHED_IDLE is selected, the nice value is preserved and the Windows
  priority is set to IDLE_PRIORITY_CLASS.  If SCHED_FIFO or SCHED_RR is
  selected, the nice value is preserved and the Windows priority is set
  according to the realtime priority.
  If the SCHED_RESET_ON_FORK flag is set, SCHED_FIFO and SCHED_RR are
  reset to SCHED_OTHER and negative nice values are reset to zero in
  each child process created with fork(2).
  Note: Windows does not offer alternative scheduling policies so
  this could only emulate API behavior.

- If SCHED_FIFO or SCHED_RR is selected, the /proc/<PID>/stat field
  '(18) priority' is now set to the negated sched_policy minus one.
  If SCHED_IDLE is selected, this field is set to 39.  The '(19) nice'
  field is now set to the originally requested nice value.

- Raise maximum pid from 65536 to 4194304 to account for scenarios
  with lots of CPUs and lots of tasks.
  Addresses: https://cygwin.com/pipermail/cygwin/2024-December/256927.html

- Allow mmap with MAP_FIXED to succeed on an address range contained
  in the chunk of an existing anonymous mapping, provided the
  MAP_SHARED/MAP_PRIVATE flags agree and MAP_NORESERVE is not set for
  either mapping.
  Addresses: https://cygwin.com/pipermail/cygwin/2024-December/256901.html

- Fix a long-standing hang issue when running on ARM64 under emulation.
  This was due to a thread being terminated while the emulation was
  holding an internal lock.
  Addresses: https://cygwin.com/pipermail/cygwin-developers/2024-May/012694.html

- Add a host machine tag to uname(2)'s sysname field.  This echoes what
  used to be done with -WOW64 (when that was supported), but now with
  -ARM64 when running on an ARM64 host under emulation.  The Cygwin DLL's
  own architecture continues to be reported in the machine field.

- Escape special characters in /proc/<PID>/mount*.  This allows the
  contents to be parsed consistently, and matches what is done on Linux.
  Addresses: https://cygwin.com/pipermail/cygwin/2024-June/256082.html

- Expose all Windows volume mount points via getmntent(3).  This also
  exposes them via /proc/<PID>/mount*.  A change in behavior from
  previous Cygwin versions is that volumes whose root is mounted
  explicitly in Cygwin will now also show up as mounted under the
  cygdrive prefix, whereas before that entry would have been suppressed.
  Addresses: https://cygwin.com/pipermail/cygwin/2024-June/256081.html


Fixes:
------

- Fix an off-by-one bug in lseek(2)'s SEEK_DATA/SEEK_HOLE handling on
  filesystem-compressed files, potentially triggering a hang in cp(1).
  Addresses: https://sourceware.org/pipermail/cygwin/2025-January/257082.html
             https://cygwin.com/pipermail/cygwin/2025-February/257326.html
-- 
              *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

The easiest way to unsubscribe is to visit 
<https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.

If you need more information on unsubscribing, start reading here: 
<https://sourceware.org/lists.html#unsubscribe>.

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to