2024-04-01  Jim Klimov <jimklimov+nut@gmail.com>

	* configure.ac: mark exact NUT v2.8.2 release  Happy Fools' Day!
	* docs/maintainer-guide.txt: update instruction
	* Makefile.am: avoid parallelizing "doc" and "all-recursive" just in
	  case (only follow up by "make doc")  Maybe this is behind duplicate
	  man page builds which tend to step on each other's toes.
	* docs/maintainer-guide.txt: example command for tag remake
	* docs/maintainer-guide.txt: example command fix
	* .github/workflows/PyNUTClient.yml, NEWS.adoc, appveyor.yml,
	  configure.ac, docs/docinfo.xml.in,
	  scripts/Windows/build-mingw-nut.sh: Update versions for release of
	  NUT v2.8.2
	* drivers/adelsystem_cbi.c, drivers/al175.c, drivers/apcsmart.c,
	  drivers/apcupsd-ups.c, drivers/asem.c, drivers/bcmxcp.c,
	  drivers/belkin.c, drivers/belkinunv.c, drivers/bestfcom.c,
	  drivers/bestfortress.c, drivers/bestuferrups.c, drivers/bestups.c,
	  drivers/blazer_ser.c, drivers/blazer_usb.c, drivers/clone-outlet.c,
	  drivers/clone.c, drivers/dummy-ups.c, drivers/etapro.c,
	  drivers/everups.c, drivers/gamatronic.c,
	  drivers/generic_gpio_libgpiod.c, drivers/generic_modbus.c,
	  drivers/genericups.c, drivers/huawei-ups2000.c, drivers/isbmex.c,
	  drivers/ivtscd.c, drivers/liebert-esp2.c, drivers/liebert.c,
	  drivers/macosx-ups.c, drivers/masterguard.c, drivers/metasys.c,
	  drivers/mge-utalk.c, drivers/microdowell.c, drivers/microsol-apc.c,
	  drivers/netxml-ups.c, drivers/nut-ipmipsu.c,
	  drivers/nutdrv_atcl_usb.c, drivers/nutdrv_siemens_sitop.c,
	  drivers/oneac.c, drivers/optiups.c,
	  drivers/phoenixcontact_modbus.c, drivers/pijuice.c,
	  drivers/powercom.c, drivers/powerman-pdu.c, drivers/powerpanel.c,
	  drivers/rhino.c, drivers/richcomm_usb.c, drivers/riello_ser.c,
	  drivers/safenet.c, drivers/skel.c, drivers/sms_ser.c,
	  drivers/snmp-ups.c, drivers/socomec_jbus.c, drivers/solis.c,
	  drivers/tripplite.c, drivers/tripplite_usb.c,
	  drivers/tripplitesu.c, drivers/upscode2.c, drivers/usbhid-ups.c,
	  drivers/victronups.c: drivers/*.c: mass-bump DRIVER_VERSION values
	  due to changes in main.c since NUT v2.8.1 release
	* NEWS.adoc, UPGRADING.adoc, docs/docinfo.xml.in: finalize text
	  before NUT v2.8.2 release
	* docs/maintainer-guide.txt: top note about (not-)spellchecking this
	  doc
	* docs/maintainer-guide.txt: update release instructions, fix typos

2024-03-31  Jim Klimov <jimklimov+nut@gmail.com>

	* NEWS.adoc: mention belkin-hid fix as also a regression fix [#2371]
	* drivers/riello_usb.c: upsdrv_initinfo(): set batt_volt_* limit vars
	  from nominal voltage alignment, then apply from settings or initial
	  reading [#1692]
	* drivers/riello_usb.c: upsdrv_initinfo(): set batt_volt_* limit vars
	  from settings or initial reading [#1692]

2024-03-26  Jim Klimov <jimklimov+nut@gmail.com>

	* tests/Makefile.am: EXTRA_DIST the test mock "program" source
	* NEWS.adoc: document fixes for Belkin/Liebert readings
	* tests/getexponenttest-belkin-hid.c, drivers/belkin-hid.c: absorb
	  liebert_psi5_line_voltage_fun() into common
	  liebert_line_voltage_fun()  Hopefully should help more devices than
	  those which serve this or that HID subtree only. Follows up from PR
	  #2369

2024-03-25  Jim Klimov <jimklimov+nut@gmail.com>

	* drivers/belkin-hid.c: fix liebert_line_voltage_fun() and friends
	  for 0..500V range (cover 3-pole while we are at it)  Not touching
	  liebert_config_voltage_fun() at the moment as have no non-integer
	  examples under hand to test against.
	* tests/getexponenttest-belkin-hid.c: add tests for larger value
	  ranges (over 200V)
	* drivers/belkin-hid.c: comment expectations for
	  liebert_line_voltage_fun() and friends
	* tests/.gitignore, tests/Makefile.am: tests: no longer need a
	  replica of belkin-hid.c in tests/ to build
	  getexponenttest-belkin-hid  Suffices that we #include it in the
	  test source, and drivers/ are among include dirs
	* tests/.gitignore, tests/Makefile.am, tests/driver-stub-usb.c,
	  tests/{getexponenttest.c => getexponenttest-belkin-hid.c}: tests:
	  rename getexponenttest => getexponenttest-belkin-hid since it
	  became quite specific to that subdriver source  Still, can serve as
	  an example/blueprint for other drivers' tests.
	* tests/getexponenttest.c: use our macros to avoid "comparing
	  floating point with == or != is unsafe [-Werror,-Wfloat-equal]"
	  [#2371]
	* drivers/belkin-hid.c, tests/Makefile.am, tests/driver-stub-usb.c,
	  tests/getexponenttest.c: drivers/belkin-hid.c: Revert modifications
	  for unit-testing, arrange its build differently [#2371]
	* drivers/belkin-hid.c, tests/.gitignore, tests/Makefile.am,
	  tests/driver-stub-usb.c, tests/getexponenttest.c: Add unit tests
	  for belkin-hid liebert_line_voltage_fun() and related methods
	  [#2370]
	* drivers/belkin-hid.c: whitespace fix
	* drivers/belkin-hid.c: update (C) heading [#2369 follow-up]

2024-03-24  Jim Klimov <jimklimov+nut@gmail.com>

	* drivers/riello_usb.c: extend built-in default battery low/high
	  range to match nutdrv_qx data for PbAc batteries [#1692]
	* drivers/riello_usb.c, docs/man/riello_usb.txt: pick battery
	  low/high range via known or configured battery.voltage.nominal
	  [#1692]
	* drivers/riello_usb.c, docs/man/riello_usb.txt: allow configurable
	  battery.voltage.low/.high for localcalculation guesstimates [#1692]
	* drivers/riello_usb.c: bump (C) and DRIVER_VERSION for
	  "localcalculation" related support [#1692]
	* drivers/riello_usb.c: comment the meaning of logical blocks changed
	  by PR #1692

2024-03-23  Jim Klimov <jimklimov+nut@gmail.com>

	* UPGRADING.adoc, NEWS.adoc: mention changes in
	  tools/gitlog2changelog.py.in [#2360, #2366]
	* tools/gitlog2changelog.py.in: when authorMustBeASCII, only parse
	  str via unicode() if we did not shortcut it earlier, and fix a typo
	  in encoding value
	* tools/gitlog2changelog.py.in: trace absence of "unicode" type in
	  some python bundles

2024-03-22  Jim Klimov <jimklimov+nut@gmail.com>

	* Makefile.am, docs/Makefile.am: use abs_top_builddir for wrapper
	  rules
	* docs/Makefile.am, docs/man/Makefile.am: clarify default "all"
	  target variants as requiring a prep
	* Makefile.am: be sure to prep before the many docs-related targets
	* Makefile.am: fix typo for "docs/man" prep for spellcheck target
	* Makefile.am: clarify default "all" target variants

2024-03-23  Jim Klimov <jimklimov+nut@gmail.com>

	* NEWS.adoc: Add Liebert PSI5 [#2369]

2024-03-22  James R. Parks <jrjparks@zathera.com>

	* drivers/belkin-hid.c, drivers/usbhid-ups.c, drivers/usbhid-ups.h:
	  feat: Add support for Liebert PSI5  Adding support for the Liebert
	  PSI5 model of UPS.

2024-03-22  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/man/Makefile.am: typo fix in comments
	* docs/man/apc_modbus.txt: update comments for libmodbus+rtu_usb
	  builds - with a static library suggestion [#2063]
	* Jenkinsfile-dynamatrix: enable "autotools driven build with default
	  configuration ... with fatal warnings" for all branch types
	  Earlier enabled for fightwarn and PRs against stable branches, but
	  not for master-branch builds themselves.
	* tools/nut-scanner/scan_xml_http.c, tools/nut-scanner/scan_snmp.c:
	  ignore potentially unreachable code in platforms-dependent range
	  checks  Same as 34056dd43261c92e9230e2d18ddf5e8f498d98e9 earlier.

2024-03-21  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/man/apc_modbus.txt, docs/nut.dict: update manpage with
	  instructions for USB-capable builds [#2063]
	* m4/nut_check_libmodbus.m4: make it visible when some libmodbus is
	  found, but does not support libusb while we want it (and will fail
	  NUT configure later) [#2063]

2024-03-19  Jim Klimov <jimklimov+nut@gmail.com>

	* scripts/installer/make_package.sh: update comments
	* scripts/installer/README.adoc, docs/nut.dict: update about
	  directory layout and contents expected by make_package.sh
	* scripts/installer/Makefile.am, scripts/installer/README.adoc,
	  scripts/installer/nut: scripts/installer: avoid SCM-tracking a
	  symlink to NUT source root

2024-03-18  Jim Klimov <jimklimov+nut@gmail.com>

	* Jenkinsfile-dynamatrix: for autotools-only builds, select by
	  OS_DISTRO (avoide duplicates with OS_FAMILY)
	* Jenkinsfile-dynamatrix: exclude GCC on OpenBSD 6.5 from autotools
	  CI builds  Old compiler that won't hush about warnings, pollutes CI
	  dashboard. Equivalent builds handled by `ci_build.sh` are in quiet
	  mode for the first compilation attempt (usually the only one, if
	  all is OK) so these warnings are just not seen by build-log
	  analysis parser.
	* configure.ac, Makefile.am, docs/Makefile.am,
	  tools/gitlog2changelog.py.in: detect if we should mangle
	  ChangeLog.pdf section titles with non-ASCII contributor names
	* docs/Makefile.am: hint to asciidoc/dblatex to trivialize section
	  names into ASCII themselves  Inspired by
	  http://aerostitch.github.io/misc/asciidoc/asciidoc-title_uft8.html
	  but did not directly help at least for Ubuntu 14.04 worker  NOTE:
	  Fallback suggestion to add
	  --dblatex-opts="--param=latex.encoding=utf8" actually broke the PDF
	  doc builds, not only for ChangeLog.
	* tools/gitlog2changelog.py.in: trivialize author names into plain
	  ASCII  Older asciidoc/a2x/dblatex stack fails with non-ASCII
	  characters in section titles (date and commit author become
	  ChangeLog sections).  Inspired by:  *
	  http://aerostitch.github.io/misc/asciidoc/asciidoc-title_uft8.html
	  *
	  https://stackoverflow.com/questions/51710082/what-does-unicodedata-normalize-do-in-python
	  *
	  https://stackoverflow.com/questions/38697037/how-to-convert-python-2-unicode-function-into-correct-python-3-x-syntax
	* Makefile.am: make sure that "make all" ends up making all types of
	  docs
	* common/nutconf.cpp, common/nutwriter.cpp, include/nutconf.hpp,
	  tests/nutconf_ut.cpp, tools/nutconf/nutconf-cli.cpp:
	  nutconf-related C++ sources: deprecate certain terminology and
	  keywords [#840]

2024-03-14  Jim Klimov <jimklimov+nut@gmail.com>

	* Jenkinsfile-dynamatrix: rectify passing of CONFIG_OPTS [relies on
	  nut/jenkins-dynamatrix#34]

2024-03-18  Jim Klimov <jimklimov+nut@gmail.com>

	* common/nutconf.cpp, common/nutwriter.cpp, include/nutconf.hpp,
	  tests/nutconf_parser_ut.cpp: nutconf-related C++ sources: fix typo
	  in source var names: hotSync => hostSync
	* common/nutconf.cpp, common/nutwriter.cpp, include/nutconf.hpp,
	  tools/nutconf/nutconf-cli.cpp: nutconf-related C++ sources: add new
	  UPSMON-style notification keywords to vocabulary

2024-03-14  Jim Klimov <jimklimov+nut@gmail.com>

	* Jenkinsfile-dynamatrix: wrap unstashing of sources into their own
	  pipeline sub-stage
	* Jenkinsfile-dynamatrix: fix passing of (multi-token)
	  DISTCHECK_FLAGS to autotools build/test variants
	* Jenkinsfile-dynamatrix: add a section for direct use of autotools
	  (once per platform) in all stable-branch builds  In fallout of PR
	  #2256 we had situations "caused" by tighter integration for NUT CI
	  builds (and developer convenience via ./ci_build.sh) which were not
	  seen on the NUT CI farm but could bite the common approach of
	  `./autogen.sh && ./configure && make` on some (not all) platforms.
	* common/nutstream.cpp: avoid pedantic warning about a const/static
	  variable
	* tools/nutconf/Makefile.am: apply convenience CCACHE exports like
	  for other compiled sources [#2256]
	* Makefile.am, clients/Makefile.am, common/Makefile.am, configure.ac,
	  drivers/Makefile.am, include/Makefile.am, lib/Makefile.am,
	  server/Makefile.am, tests/Makefile.am, tests/NIT/Makefile.am,
	  tools/Makefile.am, tools/nut-scanner/Makefile.am: configure.ac,
	  *.am: wherever we export CCACHE_* envvars for convenience - avoid
	  doing so if they were not set at configure time [#2256]

2024-03-07  Jim Klimov <jimklimov+nut@gmail.com>

	* .github/workflows/codeql.yml: revise APT preinstallation  * clang
	  or gcc/g++ depending on matrix.compiler * collapse other pkgs into
	  one call * add libneon*-dev
	* .github/workflows/codeql.yml: use C/C++ buids with "native"
	  autogen+configure (and a single run for each config combo)
	* .github/workflows/codeql.yml: exile "python" analysis into one
	  "included" matrix cell

2024-03-06  Jim Klimov <jimklimov+nut@gmail.com>

	* .github/workflows/codeql.yml: add ./ci_build.sh options to
	  constrain build/check scenario workload sprawl
	* .github/workflows/codeql.yml: make a CodeQL matrix of
	  compiler/NUT_SSL_VARIANTS/NUT_USB_VARIANTS instead of single
	  fightwarn-all
	* .github/workflows/codeql.yml: fix stringification of
	  "ubuntu-latest"
	* .github/workflows/codeql.yml: make "ubuntu-latest" formally a part
	  of "matrix.os" for "if" clause
	* .github/workflows/codeql.yml: install prerequisite packages and
	  ensure a "BUILD_TYPE=fightwarn-all ./ci_build.sh" loop for C/C++
	  "Autobuild" implementation
	* .github/workflows/codeql.yml: non-default C/C++ "Autobuild"
	  implementation
	* .github/workflows/codeql.yml, .github/codeql/codeql-config.yml: add
	  "paths" for Python scripts
	* Jenkinsfile-dynamatrix: fiddle with BUILD_WARNFATAL settings

2024-03-04  Jim Klimov <jimklimov+nut@gmail.com>

	* Jenkinsfile-dynamatrix: fix naming for cross-Windows builds
	  ("Strict C" part is optional)
	* Jenkinsfile-dynamatrix: add a TODO about "completely out-of-tree"
	  builds

2024-03-06  Jim Klimov <jimklimov+nut@gmail.com>

	* .github/workflows/codeql.yml: extend with python

2024-03-04  Jim Klimov <jimklimov+nut@gmail.com>

	* autogen.sh: in the end of successful execution, lead interactive
	  users to running the ./configure script

2024-03-03  Jim Klimov <jimklimov+nut@gmail.com>

	* scripts/systemd/nut-driver-enumerator-daemon-activator.path.in:
	  clarify the unit description (it does not strictly restart the
	  daemon, can reload if running too)
	* docs/config-prereqs.txt: clarify that FreeBSD likely does not want
	  to "pkg add openssl" in fact [#2275]
	* README.adoc: update phrasing on DigitalOcean and NUT CI farm

2020-04-29  Jim Klimov <jim@jimklimov.com>

	* scripts/systemd/nut-driver-enumerator-daemon-activator.service.in:
	  nut-driver-enumerator-daemon-activator.service : use older
	  Service/StartLimitInterval for broader compatibility  Should help
	  avoid this warning and unachieved functionality on systemd-229 and
	  older: * systemd[1]:
	  [/lib/systemd/system/nut-driver-enumerator-daemon-activator.service:30]
	  Unknown lvalue 'StartLimitIntervalSec' in section 'Service'

2024-03-02  Jim Klimov <jimklimov+nut@gmail.com>

	* scripts/systemd/nut-server.service.in: summarize LimitNOFILE
	  increase and ExecStartPost to monitor that it was applied, from FTY
	  branch  Originates from FTY commits:  * 062d1868fa (Jim Klimov
	  2018-01-16 13:11:08 +0100) * 0e28cc865c (Jim Klimov    2018-01-16
	  13:37:39 +0100) * e9a67100a0 (Jim Klimov    2018-01-16 13:41:52
	  +0100)

2020-04-20  Jim Klimov <jim@jimklimov.com>

	* scripts/systemd/nut-driver-enumerator-daemon-activator.service.in:
	  nut-driver-enumerator-daemon-activator.service.in : disable
	  quick-start throttling

2024-03-02  Jim Klimov <jimklimov+nut@gmail.com>

	* tools/nut-scanner/scan_snmp.c: apply comments from FTY branch
	* tools/nut-usbinfo.pl: quietly skip editor backup files, and those
	  prepared by "git difftool" for comparisons
	* scripts/systemd/.gitignore: do not GitIgnore nut-driver.target, it
	  lives in SCM now

2024-03-01  Jim Klimov <jimklimov+nut@gmail.com>

	* m4/ax_c_pragmas.m4: comment where "-Wcast-function-type-strict"
	  comes from

2024-03-02  Jim Klimov <jimklimov+nut@gmail.com>

	* drivers/snmp-ups.c: apply comments and formatting from FTY branch

2017-01-14  Jim Klimov <jim@jimklimov.com>

	* drivers/nut-libfreeipmi.c: drivers/nut-libfreeipmi.c : set the 4
	  voltage_range variable to unsigned ints

2024-03-02  Jim Klimov <jimklimov+nut@gmail.com>

	* drivers/dstate.c: apply comments from FTY branch  Originally from
	  commits 9723e08096 and 6909e965a9 (Jan 2017)

2016-09-07  Jim Klimov <jim@jimklimov.com>

	* drivers/dstate.c: dstate.c : a pedantic compiler warning fix

2016-07-04     Arnaud Quette <arnaud.quette@free.fr>

	* docs/man/nut-scanner.txt: comment about debugging level for
	  troubleshooting  Originates from commit 951f8f8b3 by  Date:
	  Mon Jul 4 16:27:29 2016 +0200

2024-03-02  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/man/nut-scanner.txt: reconcile asciidoc markup with FTY branch
	* docs/config-prereqs.txt: reconcile markup with FTY branch
	* docs/config-notes.txt: reconcile markup with FTY branch
	* common/common.c: reconcile markup with FTY branch
	* autogen.sh: reconcile markup with FTY branch
	* UPGRADING.adoc: fix basic asciidoc list markup for releases v2.6.x
	  and older
	* NEWS.adoc, UPGRADING.adoc: clarify drop of oldmge-shut from NUT
	  codebase
	* NEWS.adoc: rephrase the text about Eaton-contributed installer from
	  news prepared in FTY branch
	* tools/nut-scanner/nut-scanner.c: bump (C) years, reconcile with
	  master branch

2024-03-01  Jim Klimov <jimklimov+nut@gmail.com>

	* tools/nut-scanner/nut-scanner.c: use same conservative base level
	  of USB scan verbosity when scanning all media types (-C) [#2334]
	* tools/nut-scanner/scan_nut_simulation.c: do not abort if CONFPATH
	  is missing [#2235]
	* NEWS.adoc, conf/ups.conf.sample, docs/man/nut_usb_addvars.txt,
	  docs/man/ups.conf.txt, docs/nut.dict, drivers/arduino-hid.c,
	  drivers/libshut.c, drivers/libusb0.c, drivers/libusb1.c,
	  drivers/main.c, drivers/powervar-hid.c,
	  tools/nut-scanner/scan_usb.c: Multiple USB-capable drivers: add
	  ways to tune USB HID config, report, descriptor indexes and in/out
	  endpoints [#2149]

2024-03-01  Yifeng Li <tomli@tomli.me>

	* docs/nut.dict: nut.dict: add model "KRTL" to dictionary.
	* docs/man/huawei-ups2000.txt: huawei-ups2000.txt: add
	  UPS2000-G-3KRTL to the confirmed list  A user has reported that
	  UPS2000-G-3KRTL is confirmed working, thus this commit adds it to
	  the list of known-working models. A remark about standard and long
	  runtime variants has also been added.

2024-03-01  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/Makefile.am: comment typo fix

2024-03-01  Yifeng Li <tomli@tomli.me>

	* docs/Makefile.am: reminder about missing dictionary when aspell is
	  unavailable  When aspell is not unavailable, the cause can either
	  be that aspell itself is not installed, or it has no English
	  dictionary (aspell-en). I've wasted several minutes due to this
	  oversight. Add this reminder in the error message to give clue to
	  future developers.

2024-03-01  Jim Klimov <jimklimov+nut@gmail.com>

	* drivers/usb-common.c: free() USB matcher structures if called again
	  [#2309]  e.g. when reconnecting after link loss

2024-02-29  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/config-prereqs.txt: clarify libneon.so symlink on OpenBSD
	* common/common.c: get_libname_in_dir(): report first found "related"
	  name (if any), if got no hits
	* docs/config-prereqs.txt: document hacks to get pip for Python 2.7
	  ...on systems that only support it partially  Courtesy of
	  https://stackoverflow.com/a/65125295/4715872
	* conf/Makefile.am, data/Makefile.am, data/html/Makefile.am,
	  docs/man/Makefile.am, scripts/Makefile.am,
	  scripts/Solaris/Makefile.am, scripts/Windows/Makefile.am,
	  scripts/devd/Makefile.am, scripts/hotplug/Makefile.am,
	  scripts/installer/Makefile.am, scripts/python/Makefile.am,
	  scripts/systemd/Makefile.am, scripts/udev/Makefile.am,
	  scripts/upsdrvsvcctl/Makefile.am, tests/NIT/Makefile.am:
	  */Makefile.am: fix comment referring to
	  "$(top_builddir)/install-sh"
	* drivers/hidparser.h, drivers/libhid.h, drivers/nutdrv_qx.h,
	  drivers/serial.h, drivers/snmp-ups.h, drivers/usb-common.h,
	  drivers/usbhid-ups.h, include/common.h, include/nut_float.h,
	  include/nut_stdint.h, include/proto.h: */*.h: use NUT_NETVERSION as
	  a header guard for #include "config.h"
	* NEWS.adoc: fix for battery_voltage_reports_one_pack flag handling
	  [#2324]

2024-02-28  Jim Klimov <jimklimov+nut@gmail.com>

	* m4/nut_check_libltdl.m4: fix detection on OpenBSD
	* docs/config-prereqs.txt: clarify how to get pip on OpenBSD
	* indent.sh, scripts/HP-UX/makedepot.sh,
	  scripts/Windows/build-mingw-nut.sh,
	  scripts/installer/make_package.sh,
	  scripts/subdriver/gen-snmp-subdriver.sh,
	  scripts/subdriver/gen-usbhid-subdriver.sh: NUT shell scripts: use a
	  better portable shebang for bash interpreter discovery  NOTE: Some
	  scripts require BASH syntax; maybe not all of them do (did not
	  revise at this time)
	* scripts/HP-UX/makedepot.sh: fix whitespace

2024-02-27  Denny Page <dennypage@me.com>

	* drivers/nutdrv_qx.c: Correct access method used for flag
	  battery_voltage_reports_one_pack

2024-02-27  Jim Klimov <jimklimov+nut@gmail.com>

	* include/state.h: include time headers (we use timespec/timeval
	  here)

2024-02-27  Jim Klimov <jimklimov@gmail.com>

	* Makefile.am: ChangeLog: fix shell-scripting typo

2024-02-27  Jim Klimov <jimklimov+nut@gmail.com>

	* configure.ac: report if deliberately avoiding hardlinks for LN_S_R
	  implementation
	* ci_build.sh: support CI_FAILFAST also to bail out from
	  parallel/sequential build_to_only_catch_errors_target() logic -
	  ensure parallel builds succeed "as is"
	* configure.ac: revise detection of LN_S_R
	* Makefile.am: avoid what some makes see as a loop for ChangeLog
	* Makefile.am: make sure "make ChangeLog" does some work  ...even
	  with OpenBSD make implementation
	* docs/Makefile.am: produce proper asciidoc markup for ChangeLog.adoc
	  if "FAILED to resolve input or output filename with this make
	  implementation..."
	* Makefile.am: fix out-of-tree build of ChangeLog file

2024-02-26  Jim Klimov <jimklimov+nut@gmail.com>

	* common/Makefile.am: define libnutwincompat.la recipe
	* common/Makefile.am: annotate automake if/else/endif with the
	  appropriate macro name, and indent  Should help with
	  navigation/maintenance of the code base
	* common/Makefile.am: pre-define CLEANFILES along with other vars of
	  that sort
	* tools/nut-scanner/Makefile.am: annotate automake if/else/endif with
	  the appropriate macro name  Should help with navigation/maintenance
	  of the code base
	* tools/nut-scanner/scan_eaton_serial.c,
	  tools/nut-scanner/scan_ipmi.c, tools/nut-scanner/scan_xml_http.c:
	  nut-scanner sources : fix leading indentation (SPACEs to TABs) to
	  be consistent in the same file
	* tools/nut-scanner/Makefile.am: rearrange and deduplicate lines for
	  $(top_builddir)/include/nut_version.h target

2024-02-22  Jim Klimov <jimklimov+nut@gmail.com>

	* NEWS.adoc: note revised recipes [#2318]
	* Makefile.am, clients/Makefile.am, common/Makefile.am,
	  conf/Makefile.am, data/Makefile.am, data/html/Makefile.am,
	  docs/Makefile.am, drivers/Makefile.am, scripts/Makefile.am,
	  scripts/Solaris/Makefile.am, scripts/Windows/Makefile.am,
	  scripts/devd/Makefile.am, scripts/hotplug/Makefile.am,
	  scripts/installer/Makefile.am, scripts/python/Makefile.am,
	  scripts/python/module/Makefile.am, scripts/systemd/Makefile.am,
	  scripts/udev/Makefile.am, scripts/upsdrvsvcctl/Makefile.am,
	  server/Makefile.am, tests/Makefile.am, tests/NIT/Makefile.am,
	  tools/nut-scanner/Makefile.am, tools/nutconf/Makefile.am:
	  */Makefile.am: be sure to use AM_MAKEFLAGS and invoke jobserver (+)
	  everywhere we call another $(MAKE)
	* docs/Makefile.am: fix AM_FLAGS => AM_MAKEFLAGS
	* scripts/python/module/Makefile.am: fix AM_FLAGS => AM_MAKEFLAGS
	* conf/Makefile.am, data/Makefile.am, data/html/Makefile.am,
	  docs/man/Makefile.am, scripts/Makefile.am,
	  scripts/Solaris/Makefile.am, scripts/Windows/Makefile.am,
	  scripts/devd/Makefile.am, scripts/hotplug/Makefile.am,
	  scripts/installer/Makefile.am, scripts/python/Makefile.am,
	  scripts/systemd/Makefile.am, scripts/udev/Makefile.am,
	  scripts/upsdrvsvcctl/Makefile.am, tests/NIT/Makefile.am:
	  */Makefile.am: pass (top_)(src|build)dir, MKDIR_P and AM_MAKEFLAGS
	  of caller into docs/Makefile parsing
	* Makefile.am: comment how to maintain list of subdirs for
	  spellchecking  TOTHINK: Do we want to just automate this discovery?
	* Makefile.am: use jobserver for spellcheck* callouts; ensure
	  .prep-src-docs are pre-generated
	* Makefile.am, docs/nut.dict,
	  scripts/installer/common/README_ipp-os-shutdown.adoc: Makefile.am:
	  spellcheck "scripts/installer" too [#2288]
	* README.adoc, docs/Makefile.am, ...g_Host_Dark_56px.png =>
	  fosshost_org_Host_Dark_56px.png}, ...st_Light_309px.png =>
	  fosshost_org_Host_Light_309px.png}, ...Host_Light_38px.png =>
	  fosshost_org_Host_Light_38px.png}, docs/images/ci/jenkins-nut.css,
	  docs/images/ci/jenkins-nut.txt, docs/nut.dict: docs: rename
	  FossHost logo files to not include a dot in the name  ...it upsets
	  some versions of `dblatex` (used in PDF generation) which treat
	  everything after the *first* dot as a file extension.
	* ci_build.sh: do not claim "Could not query git repo" if it was just
	  clean
	* docs/Makefile.am, docs/man/Makefile.am, .gitignore: fix back the
	  "-prepped" suffix (with a dash)
	* docs/Makefile.am, docs/man/Makefile.am: fix clean-up of *_prepped
	  files
	* scripts/installer/common/README_ipp-os-shutdown.adoc:
	  scripts/installer/README_ipp-os-shutdown.adoc: fix asciidoc list
	  style
	* docs/nut.dict, scripts/python/module/README.adoc:
	  scripts/python/module/README.adoc: fix spelling error
	* docs/Makefile.am: when touching a *-spellchecked file, ensure its
	  dir exists  This file may be the only (or first) build product, so
	  nobody else made that dir for us!

2024-02-21  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/Makefile.am: abolish dependency from spellcheck on
	  .prep-src-docs
	* docs/Makefile.am: spellcheck recipes: pass an explicitly empty
	  SPELLCHECK_SRC list to sub-makes (do not confuse .prep-src-docs
	  dependency)
	* docs/Makefile.am: spellcheck recipes: report "pwd" when complaining
	  about bogus paths
	* docs/Makefile.am: do not hard-code running dpkg (for diags)
	  everywhere
	* docs/Makefile.am, docs/man/Makefile.am: use full path relative to
	  abs_top_builddir for .prep-src-docs  Facilitate running the
	  docs/Makefile from other dirs (to spell-check their docs)
	* docs/nut.dict: learn about "wildcard" (singular)
	* docs/Makefile.am, docs/man/Makefile.am: do not "ls" files for
	  PREP_SRC, suffices to sort|uniq the names in a diferent manner
	* docs/Makefile.am, docs/man/Makefile.am: drop shell debug tracing
	  from .prep-src-docs rules
	* docs/Makefile.am, docs/man/Makefile.am: chop non-trivial "srcdir"
	  from PREP_SRC pathnames, if present
	* docs/Makefile.am, docs/man/Makefile.am: list PREP_SRC pathnames
	  starting from builddir as "make" crafts them, not from srcdir
	* docs/Makefile.am, docs/man/Makefile.am: try to accomodate different
	  "make" implementations for .prep-src-docs file discovery

2024-02-20  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/Makefile.am, docs/man/Makefile.am: only the paths deal in
	  absolutes!
	* docs/Makefile.am: depend spellcheck on .prep-src-docs too, for
	  completeness
	* docs/Makefile.am, docs/man/Makefile.am: .prep-src-docs: for in-tree
	  builds, cover all PREP_SRC names even if they do not yet exist
	* docs/Makefile.am, docs/man/Makefile.am: revise calling the prep vs.
	  document products again
	* .gitignore, docs/Makefile.am, docs/man/Makefile.am:
	  docs/man/Makefile.am, docs/Makefile.am, Makefile.am: use
	  *.txt_prepped (with underscore) for suffix rules
	* docs/man/Makefile.am, docs/Makefile.am: insist on having a
	  "$(builddir)/.prep-src-docs"  ...do not get distracted by one
	  in-tree, if any, when doing out-of-tree builds
	* docs/.gitignore: GitIgnore .prep-src-docs* touch-files
	* .gitignore, Makefile.am, docs/Makefile.am, docs/man/Makefile.am:
	  docs/man/Makefile.am, docs/Makefile.am, Makefile.am: avoid hacky
	  rules to pre-call .prep-src-docs; use hacky touch-files instead
	* Makefile.am: try to be sure to use the job server for docs-related
	  sub-makes  ...when using custom make targets to build specific docs
	  or checks
	* docs/man/Makefile.am: enable the opportunistic suffix rule for
	  build products to depend on .prep-src-docs  Hopefully avoids
	  duplicate parallel runs of the helper where the make implementation
	  would support it (courtesy above standard requirements).
	* docs/Makefile.am, docs/man/Makefile.am: play with VPATH to help
	  prefer PREP_SRC symlinks
	* docs/Makefile.am, docs/man/Makefile.am: when creating PREP_SRC
	  symlinks, report current workdir (help with relative src/build
	  dirs)
	* docs/Makefile.am, docs/man/Makefile.am: when cleaning PREP_SRC
	  symlinks, be sure to only hit symlinks
	* docs/man/Makefile.am: be sure to include LINKMAN_INCLUDE_GENERATED
	  into PREP_SRC
	* docs/man/Makefile.am: simplify clean-up
	* docs/man/Makefile.am, docs/Makefile.am: rearrange dependencies on
	  .prep-src-docs, avoid sub-makes where we can
	* docs/man/Makefile.am, docs/Makefile.am: make sure that "all" target
	  is first

2024-02-19  Jim Klimov <jimklimov+nut@gmail.com>

	* tools/nut-scanner/nutscan-display.c: revise use of nutdev_num in
	  nutscan_display_sanity_check_serial()  Actually rewind it back to
	  the number which the first entry for this device type had in the
	  "continuous numbering" we track for this scan report.
	* docs/man/Makefile.am: fix out-of-tree build check for
	  linkman-driver{,tool}-names.txt recipes
	* docs/Makefile.am, docs/man/Makefile.am: touch .prep-src-docs if
	  called for in-tree builds too
	* docs/Makefile.am, docs/man/Makefile.am: do not hard-depend common
	  targets on .prep-src-docs
	* tools/nut-scanner/nutscan-display.c: convert nutdev_num and
	  last_nutdev_num to size_t
	* tools/nut-scanner/nutscan-display.c: update comments about methods
	  iterating WHOLE lists, not just parsing one "device"
	* tools/nut-scanner/nutscan-display.c: fix nutdev_name rendition (it
	  is NOT always a "nut-serialX"!)
	* docs/Makefile.am, docs/man/Makefile.am: PREP_SRC: symlink from
	  abs_srcdir to avoid the mess with relative paths and ".." offsets
	* docs/Makefile.am, docs/man/Makefile.am: prefix sub-make calls with
	  "+" to invoke jobserver
	* docs/Makefile.am, Makefile.am: explicitly "make .prep-src-docs"
	  before calling (possibly parallel) sub-make for docs or docs/man
	* docs/Makefile.am, docs/man/Makefile.am: report "Preparing to
	  generate" separately from actually "Generating"
	* docs/Makefile.am, docs/man/Makefile.am: augment with .prep-src-docs
	  target for building out-of-tree
	* docs/Makefile.am: do not make a "NOTE:..." line into a heading
	* Makefile.am: ChangeLog: re-use one from tarball when not building
	  from git
	* Makefile.am: call tools/gitlog2changelog.py in SOURCE dir (where
	  git repo is) and use CHANGELOG_FILE to store the result in BUILD
	  dir
	* Makefile.am: add a shortcut to "make ChangeLog.adoc"; fix formal
	  markup if we "failed to generate the ChangeLog" to produce a sane
	  adoc=>pdf note anyway
	* tools/gitlog2changelog.py.in: allow to use CHANGELOG_FILE="-" for
	  redirect to stdout
	* tools/gitlog2changelog.py.in: allow to customize CHANGELOG_FILE
	* tools/nut-scanner/nutscan-display.c: update comments about
	  last_nutdev_num

2024-02-17  Jim Klimov <jimklimov+nut@gmail.com>

	* docs/config-prereqs.txt: update for LUA pacakge naming on new
	  Ubuntu/Debian distros
	* drivers/eaton-ups-pwnm2-mib.c: bump version after edit in be29b to
	  drop values not needed in this fork of the mapping

2024-02-16  Jim Klimov <jimklimov+nut@gmail.com>

	* tests/nutipc_ut.cpp: use NutFile::tmp_dir() and NutFile::path_sep()
	  for temporary PID file path construction [#2314]
	* include/nutstream.hpp: expose NutFile::tmp_dir() and
	  NutFile::path_sep() for good measure
	* tests/nutipc_ut.cpp: NutIPCUnitTest::testSignalSend(): report PID
	  file name and contents when in verbose mode
	* tests/nutipc_ut.cpp: use unique PID filenames for each test run
	  Closes: #2314

2024-02-15  Jim Klimov <jimklimov+nut@gmail.com>

	* tests/NIT/nit.sh: introduce upsd_start_loop()  Improve chances of
	  passing the test suite even on congested CI farm agents
	* tests/nutconf_ut.cpp: with fixed ABS_TOP_SRCDIR for WIN32, un-block
	  config file parsing tests
	* configure.ac: The more slashes - the better! One can never fully
	  escape them!
	* .github/workflows/codeql.yml: update to v3  Due to
	  https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/
	* docs/config-prereqs.txt: fix Windows sub-section heading levels
	* drivers/ever-hid.c: clarify a comment about USB VID 0x0483
	* NEWS.adoc, data/driver.list.in, drivers/cps-hid.c,
	  scripts/upower/95-upower-hid.hwdb: drivers/cps-hid.c et al: add
	  support for Cyber Energy branded devices [#2312]
	* common/nutstream.cpp: NutFile::open(): add a big comment about
	  POSIX/WIN32 (absolute) path concerns  Copied from tests, but would
	  hopefully evaporate there eventually as that particular acute issue
	  gets resolved.
	* tests/nutconf_ut.cpp: add a big comment about POSIX/WIN32
	  (absolute) path concerns
	* common/nutstream.cpp: checkExistsWritableDir(): add debuggging, fix
	  use of access() check
	* configure.ac: fix WIN32 resolution of build/src paths for tests

2024-02-14  Jim Klimov <jimklimov+nut@gmail.com>

	* configure.ac: fix up ABS_TOP_SRCDIR/ABS_TOP_BUILDDIR for builds of
	  NUT directly on Windows agents
	* common/nutstream.cpp: NutFile::open(): try to report the filename
	  which was problematic
	* appveyor.yml: be sure to have a NUT_STATEPATH spelled in a way that
	  is writeable by WIN32 system methods (e.g. not mangled by
	  mingw/msys)
	* common/nutstream.cpp: try more locations for getTmpDirPath(),
	  particularly on WIN32
	* tests/nutstream_ut.cpp: improve chances on parallel CI testing:
	  retry listen_sock.bind() a few times; freeze/thaw the writer PID
	* common/nutstream.cpp: neuter fallback localtime_r(), gmtime_r() on
	  mingw builds
	* configure.ac: fix nut_with_debuginfo*="legacy" to consider flag
	  list snapshots made just after autoconf might have mangled them
	* configure.ac: to not change nut_with_debuginfo* from "no" to
	  "legacy", leave it strictly as caller asked  Recent changes are
	  more careful about the "LEGACY FALLBACK" application. Let users ask
	  for it explicitly though.
	* common/nutstream.cpp: NutFile(anonymous_t): trace the attempted
	  m_tmp_dir and filename (if known) in theexception (so far WIN32
	  code path)
	* common/nutstream.cpp: NutFile(anonymous_t): use tmp file as binary
	  in both POSIX and WIN32 code
	* common/nutstream.cpp: NutFile(anonymous_t): pre-zero filename
	  buffer
	* common/nutstream.cpp: getTmpDirPath(): return "/tmp" not "/var/tmp"
	  by default
	* common/nutstream.cpp: getTmpDirPath(): comment about a C++17
	  equivalent to maybe call later
	* common/nutstream.cpp: :NutFile(anonymous_t), getTmpDirPath(): use
	  ASCII char variants of Windows path related methods
	* configure.ac: typo fix (--with-cppunit => --enable-cppunit) in
	  messages
	* NEWS.adoc, docs/nut.dict: NEWS.adoc: document "configure
	  --with-debuginfo" possibility [#2310]
	* m4/nut_report_feature.m4: adjust NUT_REPORT_COMPILERS to note about
	  debug optimizations
	* configure.ac: move CONFIG_C(XX)FLAGS definition back down to where
	  we check AC_PROG_C* macros
	* configure.ac: rename C(XX)FLAGS_ORIG to CONFIG_C(XX)FLAGS to avoid
	  conflict with m4 scripts and to maintain similarly to CONFIG_FLAGS
	* configure.ac: move stashing of CFLAGS_ORIG/CXXFLAGS_ORIG higher in
	  the script; only do it if they are not yet set (and do set them if
	  re-entering for an in-place build)
	* configure.ac: add C(XX)FLAGS_ORIG tracing printouts to where we
	  check nut_with_debuginfo
	* configure.ac: hide C(XX)FLAGS_(BEFORE|AFTER)_ACPROG tracing
	  printouts; move "LEGACY DEFAULT FALLBACK" CFLAGS to the same block
	  where we check AC_PROG_C*
	* configure.ac: fix typo in shell test
	* configure.ac: avoid needless quoting in AC_MSG_RESULT() printouts
	* configure.ac: do not mangle C(XX)FLAGS added by autotools; just
	  stash and consult original values when deciding --with-debuginfo
	  behavior
	* configure.ac: rearrange mangling of CFLAGS and CXXFLAGS by
	  autotools defaults (optimizations/debug barged in) and our script

2024-02-13  Jim Klimov <jimklimov+nut@gmail.com>

	* configure.ac: avoid autoconf-added debug/optimization settings
	* configure.ac: allow to --enable-cppunit=force for dev-testing

2024-02-12  Jim Klimov <jimklimov+nut@gmail.com>

	* configure.ac, tests/Makefile.am: define CPPUNIT_NUT_CXXFLAGS
	  properly
	* configure.ac: if we apply nut_with_debuginfo_CXX, avoid separate
	  settings for CPPUNIT_NUT_CXXFLAGS debugging
	* configure.ac: separate internally nut_with_debuginfo into
	  nut_with_debuginfo_C vs. nut_with_debuginfo_CXX
	* configure.ac, ci_build.sh: introduce --with-debuginfo
	  (BUILD_DEBUGINFO) setting
	* ci_build.sh: empty BUILD_TYPE is not an "error", fix the warning
	  message
	* ci_build.sh: add "TAKING SHORTCUT" to re-generate if current
	  configure script syntax is broken

2024-02-14  Jim Klimov <jimklimov+nut@gmail.com>

	* m4/nut_report_feature.m4: adjust NUT_REPORT_COMPILERS to note about
	  debug optimizations
	* configure.ac: move CONFIG_C(XX)FLAGS definition back down to where
	  we check AC_PROG_C* macros
	* configure.ac: rename C(XX)FLAGS_ORIG to CONFIG_C(XX)FLAGS to avoid
	  conflict with m4 scripts and to maintain similarly to CONFIG_FLAGS
	* configure.ac: move stashing of CFLAGS_ORIG/CXXFLAGS_ORIG higher in
	  the script; only do it if they are not yet set (and do set them if
	  re-entering for an in-place build)
	* configure.ac: add C(XX)FLAGS_ORIG tracing printouts to where we
	  check nut_with_debuginfo
	* configure.ac: hide C(XX)FLAGS_(BEFORE|AFTER)_ACPROG tracing
	  printouts; move "LEGACY DEFAULT FALLBACK" CFLAGS to the same block
	  where we check AC_PROG_C*
	* NEWS.adoc, docs/nut.dict: NEWS.adoc: document "configure
	  --with-debuginfo" possibility [#2290]
	* configure.ac: fix typo in shell test
	* configure.ac: avoid needless quoting in AC_MSG_RESULT() printouts
	* configure.ac: do not mangle C(XX)FLAGS added by autotools; just
	  stash and consult original values when deciding --with-debuginfo
	  behavior
	* configure.ac: rearrange mangling of CFLAGS and CXXFLAGS by
	  autotools defaults (optimizations/debug barged in) and our script

2024-02-13  Jim Klimov <jimklimov+nut@gmail.com>

	* common/nutstream.cpp, common/Makefile.am: augment getTmpDirPath()
	  with NUT altpidpath() support
	* common/nutstream.cpp: drop fflush() for sockets, not applicable
	  type
	* common/nutstream.cpp: refactor getTmpDirPath() with
	  checkExistsWritableDir() helper
	* configure.ac: avoid autoconf-added debug/optimization settings
	* include/nutstream.hpp: make flush() methods in the NutStream
	  classes part of the interface API
	* common/nutstream.cpp, include/nutstream.hpp,
	  tests/nutstream_ut.cpp: introduce flush() methods in the classes;
	  use in NutFile stream tests between write() and read() parts
	  [#2293]  WIN32 builds failed due to lack of flush() and read an
	  empty temporary file. Apparently the OS does not read() from a
	  queued write() buffer/FS cache for a file.
	* common/nutstream.cpp, include/nutstream.hpp: track NutSocket domain
	  and type (e.g. AF_INET and SOCK_STREAM)  Also sanity-check if they
	  fit when used.
	* common/nutstream.cpp: avoid use of hard-coded temporary path; fix
	  WIN32 use-case [#2293]  In WIN32 builds, ::tmpfile() tries to write
	  to C:\ root dir and usually has no permissions to do so. Here we
	  actively probe common envvars for temporary directories (or also
	  use a WIN32 syscall for the effect) to try and get a realistic
	  TMPDIR.  TODO: Consider NUT statepath/(alt)pidpath... maybe not
	  available in tests though. Probe if the chosen dir actually exists?
	* tests/nutstream_ut.cpp: use global "verbose" setting to trace
	  readTestData()/writeTestData() helpers
	* tests/cpputest.cpp, tests/nutstream_ut.cpp: let individual tests
	  see the global "verbose" setting from CLI
	* tests/nutstream_ut.cpp: Revert "tests/nutstream_ut.cpp: let the
	  destructor alone close() the bound socket"  This reverts commit
	  f93c31fa9a5804d8aadbefb0cfb98e0cc03b6e7d.
	* configure.ac: allow to --enable-cppunit=force for dev-testing
	* common/nutstream.cpp: fix NutSocket calls to
	  read/write/close/connect methods to use our WIN32/POSIX friendly
	  wrappers
	* tests/nutstream_ut.cpp: let the destructor alone close() the bound
	  socket
	* tests/nutstream_ut.cpp: getFreePort(): use sock.closex() with
	  exceptions on errors right away

2024-02-12  Jim Klimov <jimklimov+nut@gmail.com>

	* appveyor.yml: try to print "make check" post-mortem details with a
	  subshell  It is surprisingly difficult to do in-line scripts for
	  Windows via YAML
	* configure.ac, tests/Makefile.am: define CPPUNIT_NUT_CXXFLAGS
	  properly
	* configure.ac: if we apply nut_with_debuginfo_CXX, avoid separate
	  settings for CPPUNIT_NUT_CXXFLAGS debugging
	* appveyor.yml: Revert "appveyor.yml: use double-quotes to wrap bash
	  calls (windows shell is quirky with single quotes)"  This reverts
	  commit abf2a9e24e2d122f10c6b74121439f88a43f1d57.
	* tests/nutstream_ut.cpp: on IWN32, use WSAStartup() before socket
	  methods
	* include/nutipc.hpp, tests/nutipc_ut.cpp: accomodate the likes of
	  OSX where sigemptyset() is a macro
	* appveyor.yml: use double-quotes to wrap bash calls (windows shell
	  is quirky with single quotes)
	* ci_build.sh: empty BUILD_TYPE is not an "error", fix the warning
	  message
	* tests/nutipc_ut.cpp: testSignalRecvQuick(): avoid switch/case over
	  an enum  Avoids warning about "enumeration values not explicitly
	  handled in switch: ..."
	* appveyor.yml: print trace files if "make check" failed
	* tests/cpputest.cpp: avoid segfault with debug-trace progress
	  printer and certain compiler optimizations
	* tests/cpputest.cpp: be sure to avoid debug-trace segfaults if
	  "test" is NULL
	* tests/nutstream_ut.cpp: avoid forked helper continuing with another
	  copy of tests
	* configure.ac: separate internally nut_with_debuginfo into
	  nut_with_debuginfo_C vs. nut_with_debuginfo_CXX
	* ci_build.sh: add "TAKING SHORTCUT" to re-generate if current
	  configure script syntax is broken
	* configure.ac, ci_build.sh: introduce --with-debuginfo
	  (BUILD_DEBUGINFO) setting
	* tests/nutipc_ut.cpp: be sure to caught_signals.clear() early in
	  testSignalRecv*()
	* tests/nutipc_ut.cpp, tests/nutconf_ut.cpp: register each test
	  separately to trace them better
	* tests/cpputest.cpp: be sure to flush the printout of starting test
	  name before churning CPU on it
	* tests/nutstream_ut.cpp: try to actively probe an available port
	  number for the test
	* tests/nutipc_ut.cpp: separate tests about received signal count
	  (rapid-fire) and order (staggered)

2024-02-10  Jim Klimov <jimklimov+nut@gmail.com>

	* configure.ac: warn early if building with mingw and strict/ansi
	  C/C++ mode
	* drivers/mge-hid.c: fix includes and defines for WIN32 build with
	  strict C89
	* common/common.c: avoid "FOR loop initial declarations" (are only
	  allowed in C99 or C11 mode) for a WIN32 codepath
	* server/netssl.c: include common.h=>config.h first
	* drivers/riello_ser.c: include common.h=>config.h first
	* drivers/riello.c: include common.h=>config.h first
	* server/sockdebug.c: include common.h=>config.h first
	* drivers/snmp-ups.h: rearrange commented-away code
	* drivers/riello_ser.c: rearrange commented-away code
	* clients/upsmon.c, drivers/dstate.c, drivers/eaton-pdu-marlin-mib.c,
	  drivers/main.c, drivers/nutdrv_qx.c, drivers/snmp-ups.c,
	  drivers/tripplite_usb.c, drivers/upsdrvctl.c,
	  drivers/upsdrvquery.c,
	  scripts/Windows/DriverInstaller/wdi-simple.c, server/conf.c,
	  server/pipedebug.c, server/sstate.c: Fix comment style from
	  double-slash to C89 compatible
	* common/strptime.c: fix indentations and comment style
	* drivers/nutdrv_qx_ablerex.c: rearrange commented-away code
	* common/strptime.c: use NUT config.h
	* drivers/pijuice.c: indent nested #if/#endif macros for readability
	* clients/cgilib.c: include common.h=>config.h first; be sure to have
	  stdio.h for snprintf()
	* docs/developers.txt: extend notes about NUT CI farm hosting (with
	  DigitalOcean) [#2192]
	* docs/developers.txt, docs/nut.dict: docs/developers.txt: extend
	  notes about baseline supported C/C++ standards
	* UPGRADING.adoc, NEWS.adoc: mention fixed C/C++ standard support in
	  builds
	* tests/generic_gpio_utest.c: "int main()" requires a return value
	* tests/generic_gpio_utest.c, tests/generic_gpio_liblocal.c: avoid
	  "FOR loop initial declarations" (are only allowed in C99 or C11
	  mode)  A little fallout for recent fix of actually doing C89 bulids
	  via ci_build.sh
	* configure.ac, m4/nut_compiler_family.m4: extend sensitivity for
	  "-std=..." to also cover "-ansi" option
	* ci_build.sh: update comment for "ignored" BUILD_WARNOPT and
	  BUILD_WARNFATAL settings when BUILD_TYPE is empty
	* Jenkinsfile-dynamatrix: constrain cross-mingw builds to GNU C
	  standard by default (Strict C seems broken on OS side)

2024-02-09  Jim Klimov <jimklimov+nut@gmail.com>

	* drivers/sms_ser.c, clients/upssched.c: avoid "FOR loop initial
	  declarations" (are only allowed in C99 or C11 mode)  A little
	  fallout for recent fix of actually doing C89 bulids via ci_build.sh
	* m4/nut_compiler_family.m4: fix detection of a compiler standard
	  already requested by caller
	* tests/NIT/nit.sh: support NIT_CASE=isBusy_NUT_PORT for
	  troubleshooting
	* tests/NIT/nit.sh: isBusy_NUT_PORT(): check known sockets also with
	  "ss" tool
	* tests/NIT/nit.sh: isBusy_NUT_PORT(): do not test for non-emptiness
	  of /proc/net/tcp* (they have contents AND are reported empty on
	  some distros)
	* tests/NIT/nit.sh: isBusy_NUT_PORT(): add log_debug() tracing about
	  detected or not detected information
	* tests/NIT/nit.sh: make sure log_debug() never errors out

2024-02-10  Jim Klimov <jimklimov+nut@gmail.com>

	* drivers/raritan-px2-mib.c: fix NULL from string to pointer
	  (raritanpx2_outlet_status_info[] sentinel)  Closes: #2304
	* drivers/raritan-px2-mib.c: add a comment about daisy-chain features
	  anticipated by this vendor MIB
	* drivers/raritan-px2-mib.c: add more values to
	  raritanpx2_outlet_status_info[]  Found per
	  https://www.circitor.fr/Mibs/Html/P/PDU2-MIB.php#SensorStateEnumeration
	* drivers/delta_ups-mib.c: fix typo for "split-phase" UPS type
	  mapping  Closes: #2302
	* Jenkinsfile-dynamatrix: constrain cross-mingw builds to GNU C
	  standard by default (Strict C seems broken on OS side)

2024-02-09  Jim Klimov <jimklimov+nut@gmail.com>

	* tests/NIT/nit.sh: support NIT_CASE=isBusy_NUT_PORT for
	  troubleshooting
	* tests/NIT/nit.sh: isBusy_NUT_PORT(): check known sockets also with
	  "ss" tool
	* tests/NIT/nit.sh: isBusy_NUT_PORT(): do not test for non-emptiness
	  of /proc/net/tcp* (they have contents AND are reported empty on
	  some distros)
	* tests/NIT/nit.sh: isBusy_NUT_PORT(): add log_debug() tracing about
	  detected or not detected information
	* tests/NIT/nit.sh: make sure log_debug() never errors out
	* drivers/sms_ser.c, clients/upssched.c: avoid "FOR loop initial
	  declarations" (are only allowed in C99 or C11 mode)  A little
	  fallout for recent fix of actually doing C89 bulids via ci_build.sh
