This library is versioned based on Semantic Versioning (SemVer).
The scope of what is covered by the version number excludes:
- error messages; the text of the messages can change, unless specifically documented.
- create a release branch
- update the changelog below
- update version and copyright-years in
./LICENSE.md
and./src/core.c
(in module constants) - create a new rockspec and update the version inside the new rockspec:
cp luasystem-scm-0.rockspec ./rockspecs/luasystem-X.Y.Z-1.rockspec
- clean and render the docs: run
ldoc .
- commit the changes as
Release vX.Y.Z
- push the commit, and create a release PR
- after merging tag the release commit with
vX.Y.Z
- upload to LuaRocks will be automatic by the CI runners
- test the newly created rock:
luarocks install luasystem
- Fix: maximum key-delay, reduced from 0.2 to 0.1 seconds to reduce slugginess feel on some key presses.
- Fix: autotermrestore didn't work because its metatable was overwritten.
- Docs: document readansi internal buffer for incomplete sequences.
- Fix: ensure to properly parse
<alt>+key
key presses
- Fix: when sleep returns an error, pass that on in
readkey
. - Feat: added
detachfds
which will create separate file descriptions forstdout
andstderr
to ensure that related settings (eg. non-blocking flag) will not be shared amongst those streams andstdin
.
- Fix: on older unixes with glibc < 2.25, fall back to
/dev/urandom
- Feat: when detecting character display width, also accept unicode codepoints (integers), since the Lua utf8 library returns codepoints, not strings
- Feat: allow passing in a sleep function to
readkey
andreadansi
- Fix: NetBSD fix compilation, undeclared directives
- Refactor: random bytes; remove deprecated API usage on Windows, move to
binary api instead of
/dev/urandom
file on linux and bsd
- Fix: suppress a warning when building with clang
- Fix: do not rely on
luaconf.h
to includelimits.h
, fixes builds with latest LuaJIT (#38).
- Fix: include all objects in Makefile
- Chore: add compiler error on Windows if Virtual Terminal Processing is unavailable.
- Fix: fix the freebsd build
- Fix: include additional headers for some MinGW installations
- Fix: when compiling with
msys2
theconio.h
header is required
- Feat:
getconsoleflags
andsetconsoleflags
for getting/setting the current console configuration flags on Windows - Feat:
getconsolecp
andsetconsolecp
for getting/setting the console codepage on Windows - Feat:
getconsoleoutputcp
andsetconsoleoutputcp
for getting/setting the console output codepage on Windows - Feat:
tcgetattr
andtcsetattr
for getting/setting the current console configuration flags on Posix - Feat:
getnonblock
andsetnonblock
for getting/setting the non-blocking flag on Posix - Feat:
bitflags
: a support feature for the above flag type controls to facilitate bit manipulation without resorting to binary operations (to also support PuC Lua 5.1) - Feat:
readkey
reads a keyboard input fromstdin
in a non-blocking way (utf8, also on Windows) - Feat:
readansi
reads a keyboard input fromstdin
in a non-blocking way, parses ansi and utf8 sequences - Feat:
termsize
gets the current terminal size in rows and columns - Feat:
utf8cwidth
andutf8swidth
for getting the display width (in columns) of respectively a single utf8 character, or a utf8 string - Feat: helpers;
termbackup
,termrestore
,autotermrestore
, andtermwrap
for managing the many terminal settings on all platforms.
- Feat: on Windows
sleep
now has a precision parameter - Feat:
setenv
added to set environment variables. - Feat:
getenvs
added to list environment variables. - Feat:
getenv
added to get environment variable previously set (Windows). - Feat:
random
added to return high-quality random bytes - Feat:
isatty
added to check if a file-handle is a tty
- initial release