Mail Archives: cygwin/2025/02/18/04:38:26
[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 AT cygwin DOT 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
- Raw text -