I.1. Changes from 2.8.2 to 2.8.3
-
PLANNED: Keep track of any further API clean-up?
-
usbhid-ups
subdriver PowerCOM HID
subdriver sent UPS shutdown
and
stayoff
commands in wrong byte order, at least for devices currently
in the field. Driver now sends the commands in a way that satisfies new
devices; just in case a flag toggle powercom_sdcmd_byte_order_fallback
was added to set the old behavior (if some devices do need it). [PR #2480]
-
Enabled installation of built PDF and HTML (including man page renditions)
files under the configured
docdir
. It seems previously they were only
built (if requested) but not installed via make
, unlike the common man
pages which are delivered automatically. Packaging recipes can likely
be simplified now. [#2445]
-
A
NUT_DEBUG_SYSLOG
environment variable was introduced to tweak activation
of syslog message emission (and related detachment of stderr
when daemons
are backgrounding), which can be useful for systemd service units. It can be
set via nut.conf
file for all standard consumers, or patched/dropped-in to
systemd unit definitions specifically (less recommended, but may be easier
to package). The positive effect would be avoiding duplicate logging as both
syslog
and stderr
ending up in the same journal. [#2394]
-
A
CHANGELOG_REQUIRE_GROUP_BY_DATE_AUTHOR
setting was added (for make
calls and used by tools/gitlog2changelog.py.in
script), and it defaults
to true
allowing for better ordered documents at the cost of some memory
during document generation. Resource-constrained builders (working from
a Git workspace, not tarball archives) may have to set it to false
when
calling make
for NUT. [#2510]
-
NUT products like
nut-scanner
, which dynamically load shared libraries
at run-time without persistent pre-linking, should now know the library
file names that were present during build (likely encumbered with version
suffixes), and prefer them over plain libname.so
patterns used previously
(which on some platforms are only delivered by development packages as
symlinks). Packaging recipes can likely be simplified now: some distros
certainly did patch NUT source to similar effect). [#2431]
-
Numerous changes to
nut-scanner
and symbols that its libnutscan.so
delivers have caused a library version bump. New methods have been added
and one structure (nutscan_ipmi_t
) updated in a (hopefully) backwards
compatible manner. [PR #2523, issue #2244 and numerous PRs for it]
-
Internal API change for
sendsignalpid()
and sendsignalfn()
methods,
which can impact NUT forks which build using libcommon.la
and similar
libraries. Added new last argument with const char *progname
(may be
NULL
) to check that we are signalling an expected program name when we
work with a PID. With the same effort, NUT programs which deal with PID
files to send signals (upsd
, upsmon
, drivers and upsdrvctl
) would
now default to a safety precaution — checking that the running process
with that PID has the expected program name (on platforms where we can
determine one). This might introduce regressions for heavily customized
NUT builds (e.g. embedded in NAS or similar devices) whose binary file
names differ significantly from a progname
defined in the respective
NUT source file, so a boolean NUT_IGNORE_CHECKPROCNAME
environment
variable support was added to optionally disable this verification.
Also the NUT daemons should request to double-check against their
run-time process name (if it can be detected). [issue #2463]