
====== version history of POSIX::1003

All changes are made by Mark Overmeer, unless stated otherwise.
# TODO:
# . ::FS manual needs cleanup, f.i. split lists of constants
# . the main component of exporter in POSIX::1003 useful enough to become
#   a separate module.
# . add epoll/epoll_ctl ?  Sys::Syscall
# . add sendfile?  Sys::Sendfile
# . add ioctl?
# . add glob, fnmatch, wordexp  WDRE_ constants are enums
# . add POSIX::RT::Semaphore logic?
# . cleanup exampleValue(), probably doing too much
# . charset of $!  strerror()  perl#119499
# . linux: CAP_* capset etc
# . linux: _LINUX_ properties
# . *bsd: _BSD_ properties
# . hpux: PRIV_*, pstat, priv_add_effective, priv_remove, privgrp
# . aix: PV_*
# . linux memfd* and F_*SEAL*
# . *at() commands for FdIO
# . proc  get/setpriority  (see BSD::Resource)

# . implementation of nl_langinfo
# . change in ::Module of detection of constants which need autogeneration
# . charset of locale only via nl_langinfo(CODESET)

version 1.02: Tue 10 Nov 16:45:33 CET 2020

	Fixes:
	- glob test fails when run as root. Patched by [Felipe Gasper]

version 1.01: Tue 10 Nov 13:38:16 CET 2020

	Improvements:
	- more float constants treated as strings [cpantesters]
	- apparently strptime not supported on FreeBSD [cpantesters]
	  (although manual page exists)
	- also on netbsd only one confstr

	Fixes:
	- version confusion between 1.00 as tagged on GitHUB and the
	  1.00 released via CPAN.

version 1.00: Tue  5 May 14:49:33 CEST 2020

FreeBSD has no _PC_LINK_MAX (t/62pathconf.t)
http://www.cpantesters.org/cpan/report/153c7110-1a79-11e8-92d0-ae77c247440e
Use _PC_FILESIZEBITS ?

	Fixes:
	- SETLK was missing
	- The manual-page POSIX::1003::Fcntl was messed-up
	- Use XPUSHs, not PUSHs [Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯]

	Improvements
	- add AT_ constants for dirfd *at commands
	- converted to GitHub

version 0.99_08: Thu 17 Mar 12:10:13 CET 2016

	Fixes:
	- glob may return undef which is an SV*
	- windows: no mknod
	- cygwin glob test fails
	- rlimit show example values of RLIM_

	Improvements:
	- rlimit display large contants as 2**
	- added ::Time::strptime()
	- use own ::Time::strftime() and ::mktime() with a simple hash
	- added ::Proc::getpid() and ::getppid()
	- add EPOLLEXCLUSIVE (Linux 4.5) EPOLLWAKEUP, and EPOLL_CLOEXEC

version 0.99_07: Wed Apr  8 15:12:20 CEST 2015

	Fixes:
	- no glob() on Windows [cpantesters]
	- freebsd glob error callback already shows trailing '/'
	- export tags of some modules

	Improvements:
	- provide ::FS::fnmatch()
	- remove preparations for unimplemented wordexp()
	- start system/solaris.c [Abeltje]
	- internally rename poll_table into events_table, to contain more
	  collections.

version 0.99_06: Tue Apr  7 09:51:30 CEST 2015

	Fixes:
	- openbsd has only one confstr.  Fix test [yary]
	- windows major/minor/makedev/confstr/lockf missing [cpantesters]
	- *posix_names failed for AF_DECnet, because of lowercase

	Improvements:
	- glob constants available everywhere (it seems)
	- implementation of glob() interface and t/50glob.t
	- document availability of ::FS::stat() and ::lstat()

version 0.99_05: Wed Mar 18 11:44:50 CET 2015

	Fixes:
	- windows has other function with name strsignal

	Improvements:
	- extra LC_ constants
	- locale POSIX or C fallback in manual.pl

version 0.99_04: Wed Mar 11 23:10:22 CET 2015

	Changes:
	- removed ::FS export tag :perm (merged with :stat) because its
	  role was too confusing.

	Fixes:
	- keep openbsd from testing ulimit
	- keep systems from do not support ulimit from the attempt to
	  test it.
	- disable a few more things for Windows
	- enforce locale en_US to produce (errno) tables

	Improvements:
	- separate table columns with '#'
	- add SO_INCOMING_CPU, Linux 3.19
	- add WRDE_* for wordexp to lists/glob.txt

version 0.99_03: Fri Feb  6 22:28:40 CET 2015

	Improvements:
	- system/cygwin.c was missing from MANIFEST
	- use diag to dump tables when AUTOMATED_TESTING
	- do not use IO::File->close (breaks Perl 5.12)

version 0.99_02: Tue Feb  3 11:44:33 CET 2015

	Fixes:
	- fix compilation for many platforms rt.cpan.org#101866 [Slaven Rezic]

	Improvements:
	- add system/cygwin.c
	- other way to show defined constants in cpan-testers environment.
	  Added t/99constindex.t

version 0.99_01: Sat Jan 31 00:39:54 CET 2015

	Fixes:
	- openbsd build: skip ulimit
	- add system/netbsd.c
	- use in combinations with modules which use (old) POSIX

	Improvements:
	- added ::Socket
	- change documentation style
	- POLLRDHUP (linux 2.6.17)
	- support linux >=3.15 file-private locks
	- do not hack constants in Fcntl
	- add GLOB_ and FMN_ constants
	- math constants not from POSIX, to have them behave as
	  all other constants.
	- keep table of all missing labels, so we can warn for accidental
	  typo's in constants.  ::Module::is_missing()
	- include lists/locale.txt, lists/procs.txt, lists/os.txt,
	  lists/math.txt, lists/time.txt, lists/user.txt
	  do not use constants from POSIX:: anymore because they 'die'
	  when missing.
	- prefer core methods over POSIX versions.


version 0.98: Tue Dec  3 08:31:16 CET 2013
	Fixes:
	- start config for openbsd and gnukfreebsd [cpantesters]
	- include of limit.h where the platform does not support it.

version 0.97: Sat Nov 30 20:45:44 CET 2013
	Fixes:
	- build fixes for FreeBSD
	  rt.cpan.org#91076 [Slaven Rezic]

version 0.96: Thu Nov 28 14:47:55 CET 2013
	Fixes:
	- LOCK_* did not get defined.

	Improvements:
	- add ::FdIO::truncfd()
	- POSIX::1003 now also knows the EXPORT_TAGS of each of the
	  packages, like :stat and :perms
	- add ::FS::S_ISUID, S_ISGID, S_ISVTX
	- add ::FS export tag :perms

version 0.95.1: Mon Aug 26 13:16:28 CEST 2013
	Fixes:
	- t/28user.t when group is '0' (root)  [cpantesters]
	  this is an installation blocker

version 0.95: Fri Aug 23 16:49:07 CEST 2013
	Fixes:
	- ::Proc  WNOHANG and WUNTRACED are constants, not functions.
	- ::Proc  W*() functions had wrong prototype

	Improvements:
	- add ::FdIO::fdopen()

version 0.94_5: Wed Aug 21 13:05:52 CEST 2013
	Changes:
	- ::Time::strftime() is now charset aware.

	Fixes:
	- some makes do not work correctly without existing system.c

	Improvements:
	- add warning about possible overflow of times()
	- auto-detect SA_ constants, do not take them from POSIX.pm
	- added O_TMPFILE (new in Linux kernel 3.11)

version 0.94_4: Wed Jun 12 15:16:33 CEST 2013
	Improvements:
	- add ::Fcntl::flock() and ::lockf
	- add system/freebsd.c
	- the 'return' in "return XSRETURN_UNDEF" is too much [NormW]
	- t/32fcntl.t dup test sometimes produces a fh which is >4.
	  test now more relaxed.
	- use "blib" in *.PL
	- use FULLPERL, not FULLPERLRUNINST, in Makefile.PL

version 0.94_3: Mon Jun 10 10:00:29 CEST 2013
	Improvements:
	- add ::Fcntl
	- system/mswin32.c
	- add EPOLL constants
	- add O_ACCMODE
	- add "-I." to compile to CC search path
	- cpantesters now will show all constants while creating
	  manual-pages.

version 0.94_2: Fri May 17 10:25:38 CEST 2013
	Fixes:
	- make setgroups() support optional
	- un-trick setre[gu]id confusion caused by CORE/perl.h

	Improvements:
	- believe CORE/config.h for some settings

version 0.94_1: Thu May 16 14:14:33 CEST 2013
	Fixes:
	- more carefully return ENOSYS when a function is not supported
	  by a platform.
	- HP-UX compilation improvements [H.Merijn Brand]

	Improvements:
	- added accidentally missing t/27signals.t
	- added POSIX::1003::User and t/28user.t
	- added POSIX::1003::Errno and t/29errno.t

version 0.93: Tue Apr 23 09:00:47 CEST 2013
	Fixes:
	- Netware has no strsignal() [NormW]
	- Windows does not unlink existing $dest at rename(), manual.PL [NormW]
	- added POSIX::1003::Symbols back to MANIFEST

	Improvements:
	- Export rename() via ::FS, to document non-compliant behavior on
	  Windows.

version 0.92: Mon Feb 25 10:50:47 CET 2013
	Improvements:
	- support strsignal()
	  rt.cpan.org#72602 [Roger Leigh]
	- support for NetWare [NormW]
	- add libs to PL scripts to simplify debugging [NormW]

version 0.91: Fri Jan  4 10:26:29 CET 2013
	Fixes:
	- t/62pathconf.t reduce number of constants expected from at least
	  10 to at least 5 (Darwin has 9)
	  reported by [James Keenan]
	- Darwin use rlimit64 [James Keenan]
	- Old Linux does not support ulimit(setfsize) [James Keenan]
	- t/64pathconf.t now uses _PC_LINK_MAX, because _PC_PATH_MAX is
	  undef on many platforms [H.Merijn Brand]
	- t/63properties.t now uses _POSIX_VERSION, because _POSIX_NO_TRUNC
	  is not defined on HP-UX [H.Merijn Brand]
	- t/70lazy.t still used POSIX::3
	- POSIX/3* files got accidentally packaged as well

version 0.90: Wed Aug  8 10:10:46 CEST 2012
	After advice from the Dutch Perl Mongers, the following major changes:
	- renames:
	  POSIX::1003		-> POSIX::1003::Module
	  POSIX::3		-> POSIX::1003
	  POSIX::3::Symbols	-> POSIX::1003::Symbols
	- remove POSIX::1003::Symbols from MANIFEST

version 0.13: Thu Jul 26 13:37:37 CEST 2012
	- export tag ':table' became ':tables'
	- dynamically detect constants for FdIO, adding SEEK_HOLE and
	  SEEK_DATA when availale.
	- dynamically detect S_* and *_OK constants for ::FS, removes
	  the need for Fcntl
	- moved ::FdIO::readfd_all and ::writefd_all into separate module
	  POSIX::Util.
	- add pod tester
	- add ::FdIO::rewindfd

version 0.12: Fri May 18 14:05:11 CEST 2012
	- indent manual text about missing configuration.
	- setrlimit and ulimit do not always have rights on Linux.
	  Changed in tests t/64ulimit.t and t/65rlimit.t  [cpantesters]

version 0.11: Wed Jan  4 13:56:04 CET 2012
	- POSIX::1003::exampleValue($name) as generic way to demonstrate
	  values for constants
	- generate signal names via auto-detection, not a static list
	- POSIX::3::show_posix_names() also show their example values
	- manuals.PL uses new exampleValue() interface
	- ::Limit did not define export tag :constants
	- export problem with _POSIX2 properties
	- minor tweeks to output of parameter tables

version 0.10: Wed Jan  4 11:26:12 CET 2012
	- ::Signals split export tag :signals into :signals and :states
	- let signal names be auto-detected as well.

version 0.09: Wed Jan  4 10:14:57 CET 2012
	- ::Overview: Signal::More absorbed by POSIX::RT::Signal
	  [Leon Timmermans]
	- rewrite manual.PL to be more flexible.
	- use '_' prototype on math functions [Abeltje]
	- do re-export each symbol on each request, not lazy
	  [John van Krieken]
	- fix processing of poll constants into a manpage.

version 0.08: Thu Dec 29 03:52:09 CET 2011
	- fix poll_table and related manual
	- fix exporting of UL_, RLIMIT_ and POLL
	- include table in ::Properties
	- store generated constant functions in the namespace for reuse

version 0.07: Wed Dec 28 12:16:03 CET 2011
	- serious manual-page documentation order problem repaired
	- manuals.PL had an ^=comment in a here-document, which
	  caused it to produce a manual-page in metacpan/search.cpan
	- add ::Events ... poll() needs testing!

version 0.06: Sun Dec 25 23:52:57 CET 2011
	- getrlimit and setrlimit code was missing from 1003.xs as
	  fallback when missing from the OS.
	- variable info insertion in manual page seems only to work
	  when both lib and blib version of the page get modified.
	- use variable tables also for the other manuals
	- implement mknod, major, minor, makedev
	- enable prototypes on XS functions

version 0.05: Fri Dec 23 23:06:27 CET 2011
	- implemented POSIX::3 and tables.PL
	- detected constant names are filled-in in the man-pages.
	- ::Overview  stdin/stdout/stderr only in POSIX.pm
	- ::Overview  setpgid also via ::Proc
	- more consistency in ::Overview
	- renamed gen.PL into lists.PL

version 0.04: Thu Dec 22 12:22:14 CET 2011
	- many doc fixed in POSIX::Overview
	- document %rlimit and other minor mistakes in ::Limit
	- add utime() to ::FileSystem

version 0.03: Thu Dec 22 10:20:29 CET 2011
	- fixed formatting of some manual pages, based in search.cpan.org
	  presentation.
	- fixed some obvious usage mistakes.
	- document some ::Termios functions
	- added ::Limit with ulimit and rlimit functions
	- added system/ structure for os-dependent work-arounds
	- added predefined lists of constant names, to remove the need
	  to scan the header files.
	- fix and test SigAction and ::Termios

version 0.02: Mon Dec 19 15:57:15 CET 2011
	- initial implementation.
