new upstream 2.8.0

This commit is contained in:
lagertonne 2022-06-29 12:37:36 +02:00
parent fc7f4b43c1
commit b2b0c9995a
836 changed files with 137090 additions and 30018 deletions

542
NEWS
View file

@ -1,7 +1,413 @@
If you're upgrading from an earlier version, see the UPGRADING file.
For a complete and more detailed list of changes, please refer to the
ChangeLog file.
ChangeLog file (generated for release archives), or to the Git version
control history for "live" codebase.
---------------------------------------------------------------------------
Release notes for NUT 2.8.0 - what's new since 2.7.4:
NOTE: Earlier discussions (mailing list threads, GitHub issues, etc.) could
refer to this change set (too long in the making) as NUT 2.7.5.
- New (optional) keywords for configuration files were added,
so existing NUT 2.7.x builds would not accept them if some
deployments switch versions back and forth -- due to this,
semantically the version was bumped to NUT 2.8.x.
- Add support for openssl-1.1.0 (Arjen de Korte)
- libusb-1.0 API support in addition to libusb-0.1 API [#300]
- Add support for `DISABLE_WEAK_SSL=true` in upsd.conf to disable older/weaker
SSL/TLS protocols and ciphers: when NUT is built against relatively recent
versions of OpenSSL or NSS it will be restricted to TLSv1.2 or better.
For least-surprise, currently defaults to `false` and complains in log
[PR #1043]
- Add support for `ALLOW_NO_DEVICE=true` (as an upsd.conf flag or environment
variable passed from caller of the program), to allow starting the data
server initially without any device configurations and reloading it later
to apply config changes on the fly [PR #766]
- Add support for `debug_min=NUM` setting (ups.conf, upsd.conf, upsmon.conf)
to specify the minimum debug verbosity for daemons. This allows "in-vivo"
troubleshooting of service daemons without editing init scripts or service
unit definitions.
- Improve support for upsdrvctl for managing of numerous device configs,
including default "maxretry=3" and a "nowait" option to complete the
"start of everything" mode after triggering the drivers and not waiting
for them to complete initializing. This matters on systems that monitor
from dozens to hundreds of devices.
- Drivers support a new value for `synchronous` setting, which is the
new default now: `auto`. Initially after driver start-up this mode
acts as the older default `off`, but would fall back to `on` in case
the driver fails to send reports to `upsd` by overflowing the socket
buffer in async mode -- so the next connections of this driver uptime
would be synchronized (potentially slower, but safer -- blocking on
writes to the data server). This adaptation would primarily impact
and benefit devices with many (hundreds of) data points, such as
ePDUs and daisy chains. [issue #1309, PR #1315]
- Daemons such as upsd, upsmon, upslog, and device drivers previously
implied that enabled debugging (or upslog to stdout) means foreground
running, otherwise the daemon was always sent to the background.
Now there are explicit options for this (`-F`/`-B`), although default
behavior is retained. This change is used for simplified service unit
definitions.
- Improvements for device discovery or driver "lock-picking", including
general support for:
* "Standalone" mode (`-s` option), to monitor a device which is not
detailed or mentioned in ups.conf
* `NUT_ALTPIDPATH` and `NUT_STATEPATH` environment variables to override
the paths built into the driver binary [PR #473 and #507]
* "Driver data dump" mode (`-d` option), to poll a device for one or
few ('update_count' ) loops, report discovered values (dump the data
tree in upsc-like format), and exit. This complements the `nut-scanner`
for finding and identifying devices.
- support for new devices:
* IBM 6000 VA LCD 4U Rack UPS; 5396-1Kx (USB)
* Phoenix Contact QUINT-UPS model 2320461 (Modbus)
* Tripp-Lite SU3000LCD2UHV (USB; protocol 1330)
* Emerson Avocent PM3000 PDU (SNMP)
* HPE ePDU (SNMP)
- nutdrv_qx: enhanced estimation of remaining battery runtime based
on speed of voltage drop, which varies as they age [PR #1027]
- nutdrv_qx: several subdrivers added or improved, including:
* "snr" subdriver with USB connection, for SNR-UPS-LID-XXXX [PR #1008].
Note that end-users should reference explicitly the `snr` subdriver
in their `ups.conf` settings because of USB chip using the same
values of VendorID/ProductID as fabula_subdriver, fuji_subdriver,
and krauler_subdriver.
* "hunnox" subdriver, as a dialect of earlier "fabula" [PR #638]
adds support for Hunnox HNX-850 with USB connection and reported to work
for Powercool, Iron Guardian, ARES devices and possibly many others from
discussions linking to the pull request which introduced the driver.
* "phoenixtec" subdriver for Masterguard A and E series, device series
A700/1000/2000/3000(-19) and E40/60/100(-19). [PR #975]
* "ablerex" subdriver provided by the OEM vendor, note that it replaces
"krauler_subdriver" as default handler for VID:PID 0xffff:0x0000
[PR #1135]
* Legrand HID defined and handled by "krauler_subdriver" by default
[PR #1075, issue #616]
* add new "armac" subdriver, tested with Armac R/2000I/PSW, but should
support other UPSes that work with "PowerManagerII" software from
Richcomm Technologies from around 2004-2005 [PR #1239, issue #1238]
- microsol-apc (starting at version 0.68 as derived from solis 0.67):
adding support for newer APC Back-UPS BR hardware, such as
APC Back-UPS BZ1500, BZ2200BI and BZ2200I [PR #994]
- pijuice: added new i2c bus driver for PiJuice HAT, a battery UPS module
for the Raspberry Pi systems [PR #730]
- huawei-ups2000: added new driver for USB (Linux 5.12+ so far) and Serial
RS-232 Modbus device support of Huawei UPS2000/2000A (1kVA-3kVA) series,
and possibly some related FSP UPS models. [PR #954]
- socomec_jbus: added new driver for modbus-based JBUS protocol over serial
RS-232 for Socomec UPS (tested with a DIGYS 3/3 15kVA model, working
on Linux x86-64 and Raspberry Pi 3 ARM). [PR #1313]
- adelsystem_cbi: added new driver for ADELSYSTEM CBI2801224A, an all-in-one
12/24Vdc DC-UPS, which supports the modbus RTU communication protocol
[PR #1282]
- generic_modbus: added new driver for TCP and Serial Modbus device support.
The driver has been tested against PULS UPS (model UB40.241) via
MOXA ioLogikR1212 (RS485) and ioLogikE1212 (TCP/IP), and configuration
allows to map custom registers and addresses to NUT events [PR #1052]
- genericups: added support for FTTx battery backup devices, and new signal
type mappings for the contact closure pins interpretation (RB for replace
battery, BYPASS for disconnected battery, and "none" or NULL for signals
to ignore) [PR #1061]
- add devices to HCL/DDL:
* APC Back-UPS CS (USB)
* CPS CP1500EPFCLCD (USB)
* CPS EC350G, EC750G (USB)
* CPS PR2200LCDRT2U (SNMP)
* Eaton ATS 16 and 30 (SNMP)
* Eaton 5E2200VA (USB)
* Eaton 9PX Split Phase 6/8/10 kVA (XML/USB/SHUT)
* Eaton 9PX (XML/USB/SHUT)
* Eaton Ellipse PRO 650 VA (USB)
* Ippon Back Comfo Pro II 650/850/1050 (USB)
* Numeric Digital 800 (USB)
* Opti-UPS PS1500E (USB)
* Powercool 350VA to 1600VA (USB)
- C++11 support in nutclient library and cppunit tests
- Added C++ testing mock for TcpClient class (nutclientmem/MemClientStub:
data stored in local memory) [PR #1034]
- Dual Python 2 and 3 compatibility in development scripts; ability to
run build activities and resulting built NUT programs on systems that
do not have a binary named "python" [PR #1115 and some before it]
- Added Russian translation for NUT-Monitor GUI client [PR #806]
- Separated NUT-Monitor UI into two applications, NUT-Monitor-py2gtk2 and
NUT-Monitor-py3qt5, suitable for two generations of Python ecosystem
with their great differences; `NUT-Monitor` name is retained for wrapper
script which calls one of these, such that the current system can execute
[PRs #1310, #1354]
- Various USB driver families: expanded device-matching with "device" in
addition to "bus" and generic USB fields. This is needed to support
multiple attached devices that seem identical by other fields (e.g.
same vendor, same model, same USB bus, and no serial number) [PR #974]
- Various USB driver families: Improved HID parsing for byte-stream to
number conversions on different CPU architectures [PR #1024]
- Various USB HID driver families: added support for composite devices
utilizing interface greater than 0 for the UPS interface [PR #1044]
- usbhid-ups:
* added generic framework for fixing Report Descriptors which can be
used for different manufacturers by adding code to the appropriate
subdriver rather than polluting the main code with UPS specific
exceptions, and applied fixes for known mistakes in (some releases
of firmware for) CyberPower CPS*EPFCLCD [issue #439, PR #1245]
* added `onlinedischarge` option for UPSes that report `OL+DISCHRG`
when wall power is lost [PR #811]
* changed detection of VendorID 0x06da handling of which is claimed
by Liebert/Phoenixtec HID historically, and MGE HID (for AEG PROTECT
NAS UPSes) since NUT 2.7.4, so that the higher-priority MGE subdriver
would not grab each and all of the devices exposing that ID [PR #1357]
* CPS HID: add input.frequency and output.frequency
* OpenUPS2: only check OEM Information string once (fewer log messages)
* Liebert GXT4 USB VID:PID [10AF:0000]
* add battery voltage and input/output transfer voltage and frequency
in Liebert/Phoenixtec HID mapping, to support PowerWalker VFI 2000 TGS
better [PR #564, issue #560]
* add a little delay between multicommands [PR #1228]
* fix Eaton/MGE mapping for beeper handling
* add IBM USB VID
* add deep battery test for CyberPower OL3000RMXL2U
* report the libusb version used
* fixed CPU architecture dependent bitmask math issues, causing wrong
numbers interpreted from wire protocol data in Big-Endian LP64 builds
(SPARC64, s390x, etc.) [issue #1023, PRs #1024, #1040, #1055, #1226]
* add Delta UPS Amplon R Series, tested on R1K and R3K model [PR #987]
* add Delta Minuteman UPS VID/PID [PR #1230, issues #555 and #1227]
* add AMETEK Powervar UPM [PR #733]
* add Tripplite AVR750U (ProductID 0x3024) [PR #963]
* add Arduino HID device support with new arduino-hid subdriver [PR #1044]
* add new salicru-hid subdriver, tested with Salicru SPS Home 850 VA
[PR #1199, issue #732]
* add new ever-hid subdriver to support EVER UPS devices (Sinline RT Series,
Sinline RT XL Series, ECO PRO AVR CDS Series) [PR #431]
* add ability to set `battery.mfr.date` for APC HID UPS [PR #1318]
- usbhid-ups / mge-shut: compute a realpower output load approximation for
Eaton UPS when the needed data is not present
- snmp-ups:
* APC ePDU MIB support
* add `input.phase.shift` variable
* add configurable write-able `ondelay` (`ups.delay.start`) and `offdelay`
(`ups.delay.shutdown`) as timeticks support [PR #276]
* outlet groups
* fix the rounding / truncation of some values
* add outlet.N.name for Eaton ePDU
* add input.bypass.frequency for Eaton 3ph
* fix support for Eaton 2-phase ("split phase") UPS
* add flag to list currently loaded MIB-to-NUT mappings
* fix input.L2.voltage on Eaton G2/G3 PDU
* update Eaton Aphel Revelation MIB
* support Raritan Dominion PX2 PDU
* support Emerson Avocent PM3000 PDU
* improve ALARM flag handling
* add firmware version for new HPE Network card
* add ups.load, battery.charge, input.{voltage,frequency} and output.voltage
for CyberPower, as well as shutdown and other instant commands
* several rounds of updates for Eaton devices, including new ATS and ePDU
hardware families
* fixed bit mask values for flags to surely use different numbers behind
logical items (inevitably changing some of those macro symbols) [PR #1180]
- snmp-ups and nut-scanner should now support more SNMPv3 Auth and Priv
protocols, as available at NUT build time [PRs #1165, #1172]
- nut-scanner: various improvements, including:
* detection of libraries at runtime
* tracing information
* limiting parallelism (thread count) [PRs #1158, #1164]
- nut-ipmipsu: improve FreeIPMI support to build cleanly against older and
newer FreeIPMI versions [PR #1179]
- the powerpanel driver now also supports CyberPower OR1500LCDRTXL2U with
serial cable [PR #538]
- powercom driver: implement `nobt` config parameter to skip battery check
on initialization/startup [PR #1256]
- netxml-ups:
* Report calibration status
* Fix for erroneous battery info (MGEXML/0.30) [PR #1069]
- solis: various improvements and fixes
- liebert-esp2: Correct battery V scaling, update docs, implement split-phase
unit support [PR #412]
- tripplite: the "Tripp-Lite SmartUPS driver" as tested with SMART2200NET
learned to discover the firmware generation and some device features,
and in particular to manage power separately on one or two outlet groups
[PR #1048]
- tripplite_usb: updated to recognize the "3005" protocol [PR #584]
- libnutclient: introduce getDevicesVariableValues() to improve performances
when querying many devices (up to 15 times faster)
- nut-driver-enumerator: introduced a script for Linux systemd and
Solaris/illumos SMF to inspect current NUT configuration in ups.conf
file and generate service management instances for each currently
tracked power device. Also introduced services to monitor the NUT
configuration and react to editions of this file, mostly intended
for deployments that do massive monitoring of dynamically changing
farms of power devices.
- Fix File descriptors leaks by upsmon and upssched (SELinux errors)
- systemd support improvements:
* POWEROFF_WAIT
* reload support for upsd
* Deliver systemd-tmpfiles config to pre-create runtime locations
[PR #1037 for Issue #1030]
* Update units with SyslogIdentifier=%N for better logging [PR #1054]
- upsrw: display the variable type beside ENUM / RANGE
- Added `PROTVER` as alias to `NETVER` to report the protocol version in use.
Note that NUT codebase itself does not use this value and handles commands
and reported errors individually [issue #1347]
- Implement status tracking for instant commands (instcmd) and variables
settings (setvar): this allows to get the actual execution status from the
driver, and is available in libraries and upscmd / upsrw [PR #659]
- Add support for extra parameter for instant commands, both in library and
in upscmd
- dummy-ups can now specify `mode` as a driver argument, and separates the
notion of `dummy-once` (new default for `*.dev` files that do not change)
vs. `dummy-loop` (legacy default for `*.seq` and others) [issue #1385]
- new protocol variables:
* `input.phase.shift`
* `outlet.N.name`
* `outlet.N.type`
* `battery.voltage.cell.max`, `battery.voltage.cell.min`
* `battery.temperature.cell.max`, `battery.temperature.cell.min`
* `battery.status`
* `battery.capacity.nominal`
* `battery.date.maintenance` (and clarified purpose of `battery.date`)
* `battery.packs.external` (and clarified purpose of `battery.packs`)
* `experimental.*` namespace introduced [PR #1046] to facilitate
introduction of NUT drivers and their data points for which we do
not yet have concepts, or which the original driver contributors
did not map well per suitable NUT standards: this allows to balance
having those drivers available in the project vs. least surprise
for when the explicitly experimental names are changed to something
stable and standardized.
* Proposed to track Date and Time values (still as "opaque strings")
preferably in representations compatible to ISO-8601/RFC-3339 [PR #1076]
(standards update; changes to actual codebase to be applied in the future)
** New routine to convert a US formatted date string "MM/DD/YYYY" to an
ISO 8601 Calendar date "YYYY-MM-DD" was added to snmp-ups.c [PR #1078]
- Master/Slave terminology was deprecated in favor of Primary/Secondary
modes of `upsmon` client:
* Respective keywords in the configuration files (`upsd.users` and
`upsmon.conf`) are supported as backwards-compatible settings,
but the obsoleted values are no longer documented.
* Protocol keyword support was similarly updated, with `upsmon` now
first trying to elevate privileges with `PRIMARY <ups>` request,
and falling back to `MASTER <ups>` just in case it talks to an
older build of an `upsd` server.
* For the principle of least surprise, NUT codebase still exposes the
`net_master()` (as handler for `MASTER` net command) in header and
C code for the sake of existing linked binaries, and returns the
`OK MASTER-GRANTED` line to the older client that invoked it.
* Newly introduced `net_primary()` (as handler for `PRIMARY` net command)
calls the exact same application logic, but returns `OK PRIMARY-GRANTED`
line to the client.
* Python binding updated to handle both cases, as the only found in-tree
protocol consumer of the full-line text.
* For more details see issue #840 and several pull requests referenced
from it, and discussions on NUT mailing lists.
- Build fixes:
* In general, numerous fixes were applied to ensure portability and avoid
warnings (fixing a number of real bugs that caused them); CI was extended
to keep the codebase free of those types of warnings which we have got
rid of, requiring builds to succeed cleanly in several dozen combinations
of compiler versions, C standard revisions (C99 upwards, though on many
OSes with GNU99+ extensions), operating systems and CPU architectures.
* Public CI introduced to automatically test every contribution (PR) and
resulting increment of main NUT codebase, including Travis CI and LGTM.com
services, and a Jenkins farm on virtual hardware donated by Fosshost.org;
this augments testing earlier provided for some branches by Buildbot.
* Added cppunit testing with valgrind for the C++ client library
* Make targets added for shell script syntax checks for helper and service
scripts
* Make targets added for spellcheck and for maintenance of the dictionary,
including incremental spellcheck to only parse recently edited text files
* The AsciiDoc detection has been reworked to allow NUT to be built from
source without requiring asciidoc/a2x (using pre-built man pages from
the distribution tarball, for instance)
* Makefile contents rearranged for more resilient out-of-tree and in-tree
builds beside those made from the root workspace directory
* Makefiles are tested with GNU Make and BSD Make to ensure portable recipes
* More use of `pkg-config` to detect dependencies at configure time, as
well as fail-safe detection of presence of pkg-config (and its macros)
to survive and build without it too
* "slibtool" pedantic nuances now supported, allowing an alternative to
GNU libtool
* Build scripts updated to remove obsoleted calls to cleanly work with
autoconf-2.70 releases in 2020 (also works with 2.69 which was the
earlier release since 2012)
* Dynamic library loading used in certain programs and use-cases improved,
especially for 64-bit vs 32-bit builds on multiple-bitness OSes
* Logging routines like `upsdebugx()` were refactored as macros so there
is slightly less overhead when logging is disabled [PRs #685 and #1100]
* Numerous classes of compilation warnings eradicated, many of those being
potential issues with implicit data type conversions and varied numeric
type width, signedness, string buffer size, uninitialized variables or
structure fields; some more in progress
* Several logical errors found and fixed during this walk over codebase.
* Cases where compilers were overly zealous and particular code was written
the way wit was intentionally, including some comparisons that help with
different-bitness builds but indeed seem superfluous in a certain single
bitness, were commented and encased in pragmas to disable the warnings
* Basic coding style (indentations, lack of trailing white space) applied
per developer guide, but not automatically enforced/checked yet.
- Due to changes needed to resolve build warnings, mostly about mismatching
data types for some variables, some structure definitions and API signatures
of several routines had to be changed for argument types, return types,
or both. Primarily this change concerns internal implementation details
(may impact update of NUT forks with custom drivers using those), but a
few changes also happened in header files installed for builds configured
`--with-dev` and so may impact `upsclient` and `nutclient` (C++) consumers.
At the very least, binaries for those consumers should be rebuilt to remain
stable with NUT 2.8.0 and not mismatch int-type sizes and other arguments.
- As usual, more bugfixes, cleanup and improvements, on both source code
and documentation.
---------------------------------------------------------------------------
Release notes for NUT 2.7.4 - what's new since 2.7.3:
@ -164,7 +570,7 @@ Release notes for NUT 2.7.3 - what's new since 2.7.2:
- all drivers: a new 'synchronous' driver flag is available for very verbose
units, such as some ePDUs
- Eaton:
- Eaton:
* Add support for EnergySaving features for Eaton UPSs (HID USB/SHUT and
XCP USB/serial)
* Fix and complete Eaton ePDUs G2/G3 support
@ -188,7 +594,7 @@ Release notes for NUT 2.7.3 - what's new since 2.7.2:
NHS Sistemas de Energia Expert S Online 6000/8000/10000
Powercom BNT-xxxAP (USB product id: 0001)
Rucelf UPOII-3000-96-EL
Tripp Lite OMNIVSINT800
Tripp Lite OMNIVSINT800
Voltronic Power Apex 1KVA and Imperial 1KVA
---------------------------------------------------------------------------
@ -218,7 +624,7 @@ Release notes for NUT 2.7.2 - what's new since 2.7.1:
- snmp-ups: add support for XPPC-MIB and Tripp Lite SU10KRT3/1X.
Also fix erroneous status in HP/Compaq SNMP MIB (with the most recent HP
firmware (1.76) ; improved various MIBs (APC, HP/Compaq, ...)
firmware (1.76) ; improved various MIBs (APC, HP/Compaq, ...)
- nutdrv_qx: add new 'fallback' Q1 subdriver, with minimal 'Q1' support.
General improvements on all subdrivers.
@ -285,7 +691,7 @@ Release notes for NUT 2.7.1 - what's new since 2.6.5:
- libnutclient has been added as a C++ alternative to libupsclient.
- Packaging files for Solaris and HP-UX (sponsored by Eaton)
- Fix shutdown of Eaton HID, using usbhid-ups and mge-shut
- usbhid-ups: final fix for APC Back UPS ES. APC Back UPS ES devices have
@ -308,11 +714,11 @@ Release notes for NUT 2.7.1 - what's new since 2.6.5:
related to power devices and management
- Improve systemd integration
- snmp-ups: Fixed a crash on outlet management, and added delta_ups MIB
support. Also fixed mappings for upsBypassVoltage, upsBypassCurrent, and
upsBypassPower in three-phase IETF MIB.
---------------------------------------------------------------------------
Release notes for NUT 2.6.5 - what's new since 2.6.4:
@ -349,7 +755,7 @@ Release notes for NUT 2.6.5 - what's new since 2.6.4:
VMware ESXI 5.0, through a native VIB package. This is, for the time
being, an external effort from René Garcia (refer to the Download section
on NUT website). But work is underway to improve this integration, and
include it in the NUT source tree
include it in the NUT source tree
- IPMI support (nut-ipmipsu driver and nut-scanner): prepare for supporting
API changes in upcoming FreeIPMI versions 1.1.x and 1.2.x.
@ -374,7 +780,7 @@ Release notes for NUT 2.6.4 - what's new since 2.6.3:
especially from the network. Non printable characters were missed
from strings operation (such as strlen), but still copied to the
buffer, causing an overflow.
Thus, fix NUT parser, to only allow the subset Ascii charset from
Thus, fix NUT parser, to only allow the subset of ASCII charset from
Space to ~
(Reported by Sebastian Pohle, Alioth bug #313636, CVE-2012-2944)
@ -424,7 +830,7 @@ Release notes for NUT 2.6.4 - what's new since 2.6.3:
PowerShield Defender 1200VA
PowerWalker Online VFI LCD, Line-Interactive VI LCD and Line-Interactive VI
Riello Netman Plus 102 SNMP Card
Tripp-Lite OMNISMART500
Tripp-Lite OMNISMART500
- apcsmart has received some fixes to work better on Mac OS X, and in general
@ -436,7 +842,7 @@ Release notes for NUT 2.6.4 - what's new since 2.6.3:
- blazer_ser and blazer_usb now try to automatically estimate high and low
voltages, to be able to calculate battery charge ; support for online
Innova UPS (T, RT and 3/1 T) has been added ; Best UPS support has been
improved, to prepare for superseeding bestups driver
improved, to prepare for superseding bestups driver
- bestups has also received some care, though users are encouraged to switch
to blazer_ser, since bestups will soon be deprecated.
@ -468,19 +874,19 @@ Release notes for NUT 2.6.4 - what's new since 2.6.3:
- Riello protocols have been officially published in NUT protocols library:
http://www.networkupstools.org/ups-protocols.html#_riello
- Duplicate instances of upsd / upsmon are now detected upon startup
- NUT variables namespace has been completed with missing variables and
commands that are already known and standard
- upslog now comes with a companion file, for logrotate configuration
- upslog now comes with a companion file, for logrotate configuration
- more devices embed NUT for power protection, now including Thecus NAS range
- more bugfixes, cleanup and improvements, on both source code and
documentation, with a good bunch from Greg A. Woods.
---------------------------------------------------------------------------
Release notes for NUT 2.6.3 - what's new since 2.6.2:
@ -527,7 +933,7 @@ Release notes for NUT 2.6.3 - what's new since 2.6.2:
- Base files for HPUX packaging have been added. This is still a work in
progress.
- Compilation on IBM Aix has been fixed (namespace conflict with ctypes).
- Compilation on IBM AIX has been fixed (namespace conflict with ctypes).
- more bugfixes, cleanup and improvements, on both source code and
documentation.
@ -550,7 +956,7 @@ Release notes for NUT 2.6.2 - what's new since 2.6.1:
* SNMP,
* XML/HTTP (from Eaton),
* NUT servers, using the classic connect or Avahi / mDNS methods.
IPMI support will be added in the next release.
A separate library, called 'libnutscan', is also available to provide these
feature. Future NUT releases will provides binding for the supported
@ -562,10 +968,10 @@ Release notes for NUT 2.6.2 - what's new since 2.6.1:
the future.
For more info, refer to nut/scripts/java/README, or the developer guide
(chapter 'Creating new client'). Javadoc documentation is also provided,
along with Java archives (.jar) in the Download section.
along with Java archives (.jar) in the Download section.
- support for new devices: Eaton 3S ; Cyber Power Systems CP1000AVRLCD ;
various APC models equiped with APC AP9618 management card, including APC
- support for new devices: Eaton 3S ; Cyber Power Systems CP1000AVRLCD ;
various APC models equipped with APC AP9618 management card, including APC
Smart-UPS RT XL ; Orvaldi 750 / 900SP ; POWEREX VI 1000 LED ; PowerWalker
VI 850 LCD ; SVEN Power Pro+ series (USB ID ffff:0000).
@ -590,9 +996,9 @@ Release notes for NUT 2.6.2 - what's new since 2.6.1:
the default 3 seconds.
- snmp-ups.c has a new initialization method, that uses sysObjectID, which is
a pointer to the prefered MIB of the device, to detect supported devices.
a pointer to the preferred MIB of the device, to detect supported devices.
This speeds up even more init stage and should render void the use of 'mib'
option. SNMP v3 session initialisation has also been fixed, and Eaton PDU
option. SNMP v3 session initialization has also been fixed, and Eaton PDU
support has been completed.
- Initial support has been added for systemd, the System and Service Manager
@ -604,7 +1010,7 @@ Release notes for NUT 2.6.2 - what's new since 2.6.1:
- Finally, after years of dedication to NUT, Arjen de Korte is now retired.
Sincere thanks to you Arjen from us all.
---------------------------------------------------------------------------
Release notes for NUT 2.6.1 - what's new since 2.6.0:
@ -635,9 +1041,9 @@ Release notes for NUT 2.6.1 - what's new since 2.6.0:
- usbhid-ups has completed a bit supported variables for APC and Eaton / MGE.
- on the quality assurance side, Eaton has worked on fixing a few non
conformances, like C++ style comments and warnings, using a newly developed
verification tool (Prachi Gandhi).
- on the quality assurance side, Eaton has worked on fixing a few
non-conformance issues, like C++ style comments and warnings, using
a newly developed verification tool (Prachi Gandhi).
- fix remaining references to LIBSSL_LDFLAGS, instead of LIBSSL_LIBS,
which cause unresolved symbol on libupsclient users (Fabrice Coutadeur).
@ -696,7 +1102,7 @@ Release notes for NUT 2.6.0 - what's new since 2.4.3:
- improve configure time dependencies checking and processing.
- improve older Unix systems support (HP-UX, Aix, ...) for missing functions.
- improve older Unix systems support (HP-UX, AIX, ...) for missing functions.
- refresh and improve USB helper files (udev and UPower).
@ -767,8 +1173,8 @@ Release notes for NUT 2.4.1 - what's new since 2.4.0:
version 1.1.
- the situation of the build toolchain has been fixed, with regard to the
"make clean" target and the wrongly removed generated USB files. This brokes
further configure call.
"make clean" target and the wrongly removed generated USB files. This broke
further configure call.
---------------------------------------------------------------------------
Release notes for NUT 2.4.0 - what's new since 2.2.2:
@ -779,7 +1185,7 @@ Release notes for NUT 2.4.0 - what's new since 2.2.2:
including: Eaton ePDUs (Managed and Monitored), some Aphel models, some
Raritan PDUs, and the whole list of Powerman supported devices:
http://powerman.sourceforge.net/supported.html
- support for new devices: the various PDUs cited above, Chloride Desk Power
650, Cyber Power Systems Value 400E/600E/800E (USB models), Delta GES602N,
Digitus DN-170020, the whole Eaton ranges (mostly composed of MGE Office
@ -809,8 +1215,8 @@ Release notes for NUT 2.4.0 - what's new since 2.2.2:
- NUT now ships a bash completion function for 'upsc' command
(scripts/misc/nut.bash_completion). Simply copy it to /etc/bash_completion.d
- many internal changes to improve maintenability, while lowering the
- many internal changes to improve maintainability, while lowering the
maintenance cost (thus allowing developers to focus on what matters: the
code!). Examples of this are:
- the USB information automatic extraction to generate the various USB helper
@ -827,7 +1233,7 @@ Release notes for NUT 2.2.2 - what's new since 2.2.1:
- support for new devices: APC BACK-UPS XS LCD, Atlantis Land,
Mustek Powermust Office 650, Oneac XAU models, Powerware PW5115 and
PW9120 (USB), Nitram Elite 2005
- Integrated Power Management (NUT HAL integration) has reached a
major milestone: it is now the most advanced UPS integration into
Power Management layer known in existing OSs. It has received many
@ -846,15 +1252,15 @@ Release notes for NUT 2.2.2 - what's new since 2.2.1:
- the netxml-ups driver has appeared to support MGE* network HTTP/XML
cards.
- NUT now distributes by default the shared version of libupsclient
(version 1.0.0), and use this for the provided clients (upsmon, upsc,
upsrw, upscmd). This is part of an effort to reduce NUT's footprint,
both on disk and in memory.
- powerpanel has reach a new step toward the replacement of nitram and
cpsups drivers. The final step is scheduled for NUT 2.4.
- many changes, cleanup and fixes to the NUT core and various drivers.
---------------------------------------------------------------------------
@ -874,7 +1280,7 @@ Release notes for NUT 2.2.1 - what's new since 2.2.0:
- the megatec and megatec_usb drivers have also been backported from the
development (trunk) version.
- the client development files have also received some care:
the upsclient pkg-config file has been fixed, and the upsclient.h
file allows older NUT clients to continue using the UPSCONN structure.
@ -926,7 +1332,7 @@ Release notes for NUT 2.0.5 - what's new since 2.0.4:
This release is a backport of the development version. Many changes
have already been backported previously. Thus it is more a
synchronisation release, though it includes many bugfixes and support
synchronization release, though it includes many bugfixes and support
for new models.
- support for new devices: APC Smart-UPS with 6TI firmware; Belkin
@ -949,7 +1355,7 @@ Release notes for NUT 2.0.5 - what's new since 2.0.4:
- solis: shutdown programming, support new cables, Solaris support
- tripplite_usb: updated SMARTPRO support, fixed OL/OB reporting,
- tripplite_usb: updated SMARTPRO support, fixed OL/OB reporting,
better error handling, some memory bugs
- new dummy-ups driver simulator
@ -960,12 +1366,12 @@ Release notes for NUT 2.0.5 - what's new since 2.0.4:
Release notes for NUT 2.0.4 - what's new since 2.0.3:
- The newhidups critical bug (segmentation fault) has been fixed. It has
also received some more care, like buxfixes and new models support and
also received some more care, like bugfixes and new models support and
enhancement for Solaris.
[Peter Selinger and Arnaud Quette]
- A bug has been fixed in NUT core to support resuming from suspend-to-disk.
This should also fix other similar issues, like time synchronisation
This should also fix other similar issues, like time synchronization
through the NTP - Network Time Protocol.
[Arjen de Korte]
@ -988,7 +1394,7 @@ Release notes for NUT 2.0.4 - what's new since 2.0.3:
[Carlos Rodrigues]
- The new rhino driver was added to support Microsol Rhino UPS hardware
The solis has also been improved for solaris compatibility, and
The solis has also been improved for Solaris compatibility, and
internal / external shutdown programming. solis can now save external
shutdown programming to ups, and support new cables for solis 3
[Silvino B. Magalhães]
@ -1028,7 +1434,7 @@ Release notes for NUT 2.0.3 - what's new since 2.0.2:
ups.model retrieval for some specific case (release 0.65)
- The drivers don't change to the "statepath" directory anymore at
initialisation time if called using -k. This avoid unneeded
initialization time if called using -k. This avoid unneeded
failure to poweroff the UPS if /var is already unmounted.
[Gaspar Bakos]
@ -1048,7 +1454,7 @@ Release notes for NUT 2.0.3 - what's new since 2.0.2:
- The packaging files for Red Hat have received various fixes
[Thomas Jarosch]
- The solis driver has been fixed to avoid a naming colision and
- The solis driver has been fixed to avoid a naming collision and
compile on Solaris
[Paweł Kierdelewicz]
@ -1090,7 +1496,7 @@ Release notes for NUT 2.0.2 - what's new since 2.0.1:
[Thanos Chatziathanassiou, Olli Salvia]
- The bcmxcp driver is back with support for Powerware UPSs.
[Tore Øpetveit, Kjell Claesson]
[Tore Ørpetveit, Kjell Claesson]
- The cyberpower driver now supports CyberPower 1000AVR.
[Dave Huang]
@ -1101,7 +1507,7 @@ Release notes for NUT 2.0.2 - what's new since 2.0.1:
- The apcsmart driver has fixed APC600 support.
- The etapro driver fixes brokeness due to ser_get_line use
- The etapro driver fixes brokenness due to ser_get_line use
[Marek Michalkiewicz]
- The new upscode2 driver supports Fiskars, Compaq and Powerware
@ -1140,7 +1546,7 @@ Release notes for NUT 2.0.1 - what's new since 2.0.0:
- The everups driver now supports types 73-76 (NET 700/1000/1400/500-DPC)
[hunter]
- The new metasys driver supports Meta System models: Line,
- The new metasys driver supports Meta System models: Line,
HF Millennium, HF Top Line, ECO Network, ECO, Ally HF, Megaline
[BlaXwan]
@ -1153,7 +1559,7 @@ Release notes for NUT 2.0.1 - what's new since 2.0.0:
and bypass control.
[Gert Lynge]
- The tripplite driver has recieved a major overhaul to bring it up to
- The tripplite driver has received a major overhaul to bring it up to
working condition for the 2.0 tree, including code cleanups, several
new variables, commands, and user-definable parameters. See
ChangeLog for more.
@ -1192,7 +1598,7 @@ Release notes for NUT 2.0.1 - what's new since 2.0.0:
[Arnaud Quette]
- The fentonups driver now recognizes several more Megatec protocol
units:
units:
SuperPower HP360, Hope-550 [Denis Zaika]
Unitek Alpha 1000is [Antoine Cuvellard]
@ -1206,7 +1612,7 @@ Release notes for NUT 2.0.1 - what's new since 2.0.0:
- upssched's CANCEL events were broken following the change to
text-based socket messages in 1.5 and have been fixed.
[Steven Schoch]
[Steven Schoch]
- Calls to varargs functions with raw strings from the config files
without an intervening "%s" have been fixed in upsmon, upssched,
@ -1225,8 +1631,8 @@ Release notes for NUT 2.0.0 - what's new since 1.4.x:
interim compatibility hacks have been removed.
- New serial handling code has been added, with greatly simplified
operations. The old mess involving repeated calls to sigaction,
alarm, and read has been condensed to a select-read loop.
operations. The old mess involving repeated calls to sigaction,
alarm, and read has been condensed to a select-read loop.
This change allows drivers which don't do any serial communications
at all (hidups, snmp-ups) to drop that baggage, so they are a bit
@ -1277,13 +1683,13 @@ Release notes for NUT 2.0.0 - what's new since 1.4.x:
[Viktor T. Toth]
- The newhidups driver has been merged as the first step towards
portable USB UPS support. This will eventually replace the old
portable USB UPS support. This will eventually replace the old
Linux-only hidups driver. The newhidups driver is tagged
experimental since it is under active development.
[Arnaud Quette, Charles Lepple]
- The newapc driver has been renamed to apcsmart, replacing the old
driver with that name. If you used the newapc driver, be sure to
driver with that name. If you used the newapc driver, be sure to
delete the old binary and fix your ups.conf.
- The apcsmart driver now supports asynchronous notification data
@ -1312,7 +1718,7 @@ Release notes for NUT 2.0.0 - what's new since 1.4.x:
instcmds.
- Effekta MT 2000 RM hardware is now supported by the fentonups driver.
[christoph moar]
[Christoph Moar]
- The new safenet driver supports UPS hardware that uses the protocol
of the same name. This includes models from many manufacturers,
@ -1376,20 +1782,20 @@ Release notes for NUT 1.4.0 - what's new since 1.2.x:
- upssched now explicitly confirms reception of timer commands before
exiting. This was done to avoid a race where one process would
exit right when another one was starting. The second one would
believe its command had been handled when it had been lost.
exit right when another one was starting. The second one would
believe its command had been handled when it had been lost.
- upslog has been reworked to use standard getopt parsing to provide
the monitoring settings. The old way of specifying arguments is
still supported for backwards compatibility.
upslog has also been changed to only parse the format string once,
rather than doing it every time through the loop. This should
provide a minuscule drop in CPU utilization.
rather than doing it every time through the loop. This should
provide a minuscule drop in CPU utilization.
- Usernames are now required in upsmon and upsd. This means that you
must add a username to your MONITOR lines in upsmon.conf and then
create a matching user in upsd.users.
create a matching user in upsd.users.
Installations from the 1.2 era probably already use usernames, so
this mostly affects those from 1.0 and before.
@ -1426,14 +1832,14 @@ Release notes for NUT 1.4.0 - what's new since 1.2.x:
- Signal handlers no longer do any significant amount of work. Some of
the programs used to do numerous things in there, raising concerns
about reentrancy. They now set flags and allow the main loop to do
about reentrancy. They now set flags and allow the main loop to do
the actual work from there.
- A bug in upsmon where NOTIFYFLAG settings could be ignored was fixed.
- Group handling has been changed. configure no longer accepts
--with-group, and the programs no longer setgid() to a hardcoded
value. They now setgid() to the primary group of whatever the
value. They now setgid() to the primary group of whatever the
user value may be.
This may be compiled in with --with-user as before, and many programs
@ -1460,7 +1866,7 @@ Release notes for NUT 1.4.0 - what's new since 1.2.x:
battery tests were also added.
- The dummyups testing driver has been removed. The dummycons testing
driver can do everything that dummyups once did and much more.
driver can do everything that dummyups once did and much more.
dummycons is also now built by default for easier testing.
- The newapc driver has been reworked to take advantage of the new
@ -1475,7 +1881,7 @@ Release notes for NUT 1.4.0 - what's new since 1.2.x:
a shutdown sequence, and more.
[Arnaud Quette]
- The mge-utalk driver had trouble establishing communications in
- The mge-utalk driver had trouble establishing communications in
some cases due to the RTS line being set. This has been fixed.
The mge-shut driver has been added to the tree, and has replaced
@ -1491,7 +1897,7 @@ Release notes for NUT 1.4.0 - what's new since 1.2.x:
others before long.
[Arnaud Quette]
- KIN-2200AP hardware is now recognized by the powercom driver.
- KIN-2200AP hardware is now recognized by the powercom driver.
This change may also support other KIN-xxxxAP equipment.
[Preston A. Elder]
@ -1569,7 +1975,7 @@ Release notes for NUT 1.4.0 - what's new since 1.2.x:
- The inline keyword is now handled properly on systems which do not
support it or have it specified as another name. This was breaking
compiles on some systems.
[Petter Reinholdtsen]
[Petter Reinholdtsen]
---------------------------------------------------------------------------
Release notes for NUT 1.2.2 - what's new since 1.2.1:
@ -1607,7 +2013,7 @@ Release notes for NUT 1.2.2 - what's new since 1.2.1:
[Alex Cichowski]
- The liebert driver also now uses debouncing logic on the status
lines. It was possible to get false readings that would start a
lines. It was possible to get false readings that would start a
shutdown or just annoy users with excessive onbatt/online notify
messages. The new code forces the status to settle down for 3 polls
before accepting the new value.
@ -1654,7 +2060,7 @@ Release notes for NUT 1.2.2 - what's new since 1.2.1:
- upsd no longer tries to reference a deleted client structure if the
client disconnects at the wrong time. Previously, it tried to use
that pointer after the sendback() function had already failed on
that pointer after the sendback() function had already failed on
write and deleted the client. This could cause upsd to segfault
depending on what areas were accessed.
[Patrik Schindler]
@ -1676,7 +2082,7 @@ Release notes for NUT 1.2.1 - what's new since 1.2.0:
- The old multilink driver is back with a new name: liebert. It
supports Liebert UPStation GXE hardware with the contact-closure
cable. This is currently an experimental driver as there is no
way to power down the load.
way to power down the load.
- configure now picks up the right flags for gd automatically if gd
2.0.8 or higher is installed. This greatly simplifies the CGI build