This release brings significant security and stability fixes. Updating to this version is strongly recomended:
- On Linux systems, file descriptor limit is always raised to the set hard value. This increases the maximum allowed connections.
- Clients which stay connected without SSL negotiation will be kicked after a timeout. Set this timeout with the timeout parameter.
- Clients which successfully connect via SSL and don't exchange data will be kicked every ping_time interval, which is a new parameter you can configure.
- Clients will be disconnected after completing requests other than joining a channel.
- Handled potential KeyErrors and RuntimeErrors caused by dictionaries changing their size during an iteration.
- Removed a lot of legacy code, since Python 2.x is nolonger supported.
- Configured all possible protection and isolation settings on Systemd units. Support for these settings depend on Systemd version installed on your distro, but won't cause problems beyond some warnings. As a consequence, pidfile and log path have changed their default values. Sysusers and tmpfiles config files are nolonger required and have been removed.
- When running as a Systemd service, user and group are dinamically allocated. Some scripts which handled user account management have been removed from the Archlinux, deb and rpm packages. They are nolonger required.
NVDARemoteServer statuswill report memory, network, disk and CPU usage on Linux running Systemd.- Bytecode is nolonger generated when running in debug mode. Goodbye, pycache folder.
- Optimized Docker image, which should be smaller and include less layers than before. It nolonger depends on external downloads on the build process. Thanks @jpavonabian for the suggestions.
- Docker compose file can now build the Docker image, and includes limits for file descriptors.
- On Windows, the latest versions of Python, OpenSSL, Pywin32, Pyinstaller, setuptools and other packages, and C runtime have been included.
- On RHEL9-based distros, Python 3.13 is required.
- Settings with integer or float values will fall back to defaults if wrong values are provided.
- Other small tweaks, optimizations and documentation updates.
Enjoy.