[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] luaposix 34.0.1 released
- From: "Gary V. Vaughan" <gary@...>
- Date: Sun, 9 Jul 2017 17:55:30 -0700
A library binding various POSIX APIs. POSIX is the IEEE Portable
Operating System Interface standard. luaposix is based on lposix.
I am happy to announce release 34.0.1 of luaposix. In addition to the
usual bug fixes, this release uses the latest development version of
luke, which fixes all of the known problems that caused luaposix-34.0 to
be pulled down from luarocks.org.
luaposix's home page is at https://github.com/luaposix/luaposix/, with
documentation at https://luaposix.github.io/luaposix.
## Noteworthy changes in release 34.0.1 (2017-07-09) [stable]
### Bugs Fixed
- `posix.sys.socket` works correctly on macOS again.
- `posix.sys.socket` abstract namespaces work correctly on Linux.
- `posix.syslog.openlog` keeps a copy of its ident parameter string
in the Lua registry to ensure we don't hang on to a dangling pointer.
- latest `build-aux/luke` and upgraded lukefile work correctly on
macOS now.
## Noteworthy changes in release 34.0.1 (2017-07-09) [stable]
### Bugs Fixed
- `posix.sys.socket` works correctly on macOS again.
- `posix.sys.socket` abstract namespaces work correctly on Linux.
- `posix.syslog.openlog` keeps a copy of it's ident parameter string
in the Lua registry to ensure we don't hang on to a dangling
pointer.
- latest `build-aux/luke` and upgraded lukefile work correctly on
macOS now.
## Noteworthy changes in release 34.0 (2017-05-06) [stable]
### Incompatible Changes
- `posix.syslog` constants `LOG_AUTHPRIV`, `LOG_FTP` and `LOG_SYSLOG`
are no longer documented, and only defined when supported by the
host C library. They are not part of the POSIX API, and prevented
compilation of luaposix on AIX and Solaris.
- `getopt.getopt` was a binding to the GNU `getopt_long` extension,
which is not a POSIX API, and prevents luaposix from compiling on
hosts that do not provide the extended API. Instead we now correctly
bind POSIX getopt(3) in `posix.unistd`.
If you still have code that uses the old non-POSIX binding, then
LuaRocks has the Lua only `alt-getopt` module which is very similar,
and works even when the host C library has no `getopt_long` API;
alternatively, you should consider migrating to the far more
powerful Lua-only `optparse` library, also available from LuaRocks.
### New Features
- Replaced all Autotools and supporting Slingshot code with new Lua-
based `build-aux/luke` and `lukefile` describing how to compile and
install everything. Building with LuaRocks now leverages this too.
- New `posix.sys.socket.getsockopt` and `posix.sys.socket.getpeername`
bindings.
- New `posix.sys.msg.msgctl` binding, and `posix.sys.msg.IPC_RMID`,
`posix.sys.msg.IPC_SET` and `posix.sys.msg.IPC_STAT` constants to
use with it.
- New `posix.unistd.ftruncate` and `posix.unistd.truncate` bindings.
- `posix.fcntl.fcntl` now accepts undocumented `posix.fcntl.O_TMPFILE`
value where supported by the host C library.
### Bugs Fixed
- `posix.unistd.ttyname` now returns an error message in addition to
`nil` when it fails.
Install it with LuaRocks, using:
luarocks install luaposix 34.0.1