1If you're upgrading from an earlier version, see the UPGRADING file.
2
3For a complete and more detailed list of changes, please refer to the
4ChangeLog file.
5
6---------------------------------------------------------------------------
7Release notes for NUT 2.7.5 (brewing) - what's new since 2.7.4:
8
9 - Master/Slave terminology was deprecated in favor of Primary/Secondary
10   modes of upsmon client. Respective keywords in the configuration are
11   supported as backwards-compatible settings, but obsoleted values are
12   no longer documented.
13
14---------------------------------------------------------------------------
15Release notes for NUT 2.7.4 - what's new since 2.7.3:
16
17 - New class of device supported: ATS - Automatic Transfer Switch are now
18   supported in NUT. Eaton ATS are supported, and APC ones should be too. Users
19   are welcomed to test and provide feedback
20
21 - NUT command and variable naming scheme:
22   * Document battery.charger.status, which will in time replace the historic
23     CHRG and DISCHRG flags published in ups.status
24   * Many extensions to support outlets groups, thresholds / alarms (ambient,
25     input, output, outlet and outlet.group)
26
27 - support for new devices:
28   AEG PROTECT B / NAS
29   APC ATS AP7724 (should be supported)
30   Asium P700
31   Eaton ATS
32   Eaton 5E 1100iUSB
33   Eaton E Series DX UPS 1-20 kVA
34   Eaton Powerware 9125-5000g
35   Electrys UPS 2500
36   Fideltronic INIGO Viper 1200
37   Legrand Keor Multiplug
38   LYONN CTB-800V
39   Micropower LCD 1000
40   NHS Laser Senoidal 5000VA
41   Sweex model P220
42   TS Shara
43   Various APCUPSD-controlled APC devices
44
45 - snmp-ups:
46   * Improve automatic detection algorithm
47   * Provide access to Net-SNMP timeout and retries
48   * Proper handling of integer RW variables
49   * Implement support for alarms, through ups.alarm and outlet.n.alarm
50   * Improve log/debug output trace
51   * Fix loss of precision when setting values, using upsrw
52   * Support for outlets group management
53   * Many improvements and simplification
54   * Add support for Tripplite units using IETF mib
55   * Improve communication staleness detection and recovery
56   * Add devices MAC address publication
57   * Register values enumerations, when available
58   * Many improvements and fixes to the SNMP subdriver creation script
59
60 - Eaton:
61   * 3ph SNMP:
62     Many improvements to Powerware / XUPS MIB, for data and commands
63     Add support for Eaton Power Xpert Gateway UPS Card
64     Improve support for temperature and humidity, including low / high values
65     Alarms handling
66   * ePDU (G2 and G3):
67     Improve support for ambient sensor, including thresholds and dry contacts
68     Outlet groups handling, including data, thresholds, settings and commands
69     Alarms handling
70   * XML/PDC (netxml-ups):
71     Fix Eaton XML published data
72     Add some settings (R/W flags) on ambient thresholds
73
74 - bcmxcp_usb: improvements for device claiming and multi-packets responses
75
76 - dummy-ups: allow any variable to be modified
77
78 - libnutclient: Fix for reads when the socket was closed by NUT server
79
80 - macosx-ups:
81   * fix for 10.10 (Yosemite), v1.1
82   * gracefully handle disconnection of UPS (return "data stale")
83
84 - nutdrv_atcl_usb: point to nutdrv_qx (fuji) for 0001:0000
85
86 - nutdrv_qx:
87   * Add new 'sgs' USB subdriver to support TS Shara units
88   * various improvements and simplification, to the code and documentation
89
90 - nut-ipmipsu: improve FreeIPMI support
91
92 - nut-scanner:
93   * Don't depend on development libraries, by looking at some known paths,
94     including the one provided through --libdir, to find the correct libraries
95   * Fix a crash on a 2nd call to libnutscan with SNMP method
96
97 - powercom: fix the processing of input and output voltage for KIN units
98
99 - solis:
100   * many improvements and cleanup
101   * resync with end-of-packet character
102   * fixes for Microsol Back-Ups BZ1200-BR
103
104 - tripplitesu: Fix initialization when tripplite firmware is buggy (for
105   Tripplite SU1000RT2U and possibly more)
106
107 - usbhid-ups:
108   * various minor improvements
109   * support for Eaton UPS with dual HID report descriptor in HID Parser
110   * handle missing USB strings in APC code
111
112 - SSL support through Mozilla NSS: Rework the NSS tests to ensure that NSS is
113   actually installed and usable for enabling SSL support in NUT
114
115 - Augeas support: Augeas lens for ups.conf was updated to add various missing
116   global directives and ups fields
117
118 - scripts/systemd/nut-server.service.in: Restore systemd relationship since it
119   was preventing upsd from starting whenever one or more drivers, among several,
120   was failing to start
121
122 - Fix UPower device matching for recent kernels, since hiddev* devices now have
123   class "usbmisc", rather than "usb"
124
125 - Network protocol information: default to type NUMBER for variables that are
126   not flagged as STRING . This point is subject to improvements or change in
127   the next release 2.7.5.  Refer to docs/net-protocol.txt for more information
128
129 - As usual, more bugfixes, cleanup and improvements, on both source code
130   and documentation.
131
132---------------------------------------------------------------------------
133Release notes for NUT 2.7.3 - what's new since 2.7.2:
134
135 - reverted POWERDOWNFLAG to /etc/killpower as in 2.6.5 (packagers may want to
136   put this in another filesystem, though)
137
138 - configure/make fixes for ${systemdsystemunitdir}
139
140 - apcsmart: fix command set parsing for protocol version 4 (e.g. Smart-UPS
141   RT 10000 XL)
142
143 - upslog: SIGUSR1 forces an immediate log entry
144
145 - riello_usb/_ser: USB interface claim fix; improved error handling
146
147 - usbhid-ups: add support for OpenUPS2 (PID: D005), Liebert GXT3 (PID: 0008)
148   APC AP9584 Serial->USB kit (PID: 0000), and some Powercom models
149   (PID: 0001). Fixed scaling for Cyberpower 0764:0501.
150
151 - USB core: do not call usb_set_altinterface(0) by default
152
153 - nutdrv_qx: added fabula, fuji USB and Voltronic-QS-HEX subdrivers; add
154   bestups subdriver to supersede the old standalone bestups driver
155
156 - NUT Monitor: added FreeDesktop AppData file (including screenshots)
157
158 - renamed udev rules file to 62-nut-usbups.rules (permissions fix)
159
160 - added AIX packaging
161
162 - asem: added a driver for the UPS in ASEM PB1300 embedded PCs
163
164 - solis: updated to support APC Microsol units sold in Brazil
165
166 - tripplite_usb: updated to use dv/dq charge calculation for all models (also
167   exposes battery_min and battery max as configuration variables); added
168   binary 3005 protocol support (such as for SMART500RT1U)
169
170 - genericups: better debugging while parsing the cable description flags
171
172 - all drivers: a new 'synchronous' driver flag is available for very verbose
173   units, such as some ePDUs
174
175 - Eaton:
176   * Add support for EnergySaving features for Eaton UPSs (HID USB/SHUT and
177     XCP USB/serial)
178   * Fix and complete Eaton ePDUs G2/G3 support
179   * ABM (Advanced Battery Monitoring) support through battery.charger.status
180     in HID (USB and SHUT), XCP (USB and serial) and SNMP (Powerware XUPS
181     MIB)
182
183 - support for new devices:
184   APC Back-UPS 1200BR and Back-UPS BZ2200BI-BR (Microsol)
185   ASEM SPA PB1300 UPS
186   Belkin Regulator PRO-USB
187   Cyber Power Systems Value 1500ELCD-RU
188   EUROCASE EA200N 2000VA
189   Fideltronik LUPUS 500
190   Flight Technic & International (FTUPS) FT-1000BS and FT-1000BS(T)
191   Grafenthal PR-3000-HS
192   JAWAN JW-UPSLC02
193   Lacerda New Orion 800VA
194   Mecer ME-1000-WTU
195   NHS Sistemas de Energia Expert C Online 6000/8000/10000
196   NHS Sistemas de Energia Expert S Online 6000/8000/10000
197   Powercom BNT-xxxAP (USB product id: 0001)
198   Rucelf UPOII-3000-96-EL
199   Tripp Lite OMNIVSINT800
200   Voltronic Power Apex 1KVA and Imperial 1KVA
201
202---------------------------------------------------------------------------
203Release notes for NUT 2.7.2 - what's new since 2.7.1:
204
205 - This release is the second interim release of the 2.7 testing series.
206
207 - libupsclient had undefined references related to functions of libcommon.
208   This issue was reported on Debian (bug #731156) and is now fixed
209
210 - support for new devices:
211   CABAC UPS-1700DV2
212   Eaton Powerware 3105
213   Emerson Network Power Liebert PSI 1440
214   MicroDowell B.Box LP 500
215   Numeric Digital 800 plus
216   OptiUPS VS 575C
217   Tripp Lite SU10KRT3/1X
218
219 - FreeDesktop Hardware Abstraction Layer (HAL) support was removed.
220
221 - nutdrv_atcl_usb: new driver for 'ATCL FOR UPS'
222
223 - al175: re-introduced this driver (actually, it was in 2.7.1)
224
225 - upsdrvctl now provides retry options for upsdrvctl and driver(s)
226
227 - snmp-ups: add support for XPPC-MIB and Tripp Lite SU10KRT3/1X.
228   Also fix erroneous status in HP/Compaq SNMP MIB (with the most recent HP
229   firmware (1.76) ; improved various MIBs (APC, HP/Compaq, ...)
230
231 - nutdrv_qx: add new 'fallback' Q1 subdriver, with minimal 'Q1' support.
232   General improvements on all subdrivers.
233
234 - mge-shut: partially revert PnP/RTS change, for initializing the
235   communication with the UPS. Note that nut-scanner similar function was
236   not modified however.
237
238 - FreeBSD DEVD support: generate devd.conf files for USB UPSes
239   This adds a --with-devd-dir=PATH option to ./configure
240
241 - The NUT website was moved to a standalone website. A separate code
242   repository and source archive are now available.
243
244 - As usual, more bugfixes, cleanup and improvements, on both source code
245   and documentation.
246
247---------------------------------------------------------------------------
248Release notes for NUT 2.7.1 - what's new since 2.6.5:
249
250 - This release is an interim release, part of the testing series, and the
251   first release after the transition from Subversion to Git.
252   The last release (2.6.5) is almost a year old. A lot of work has
253   been done, but a good amount remains to achieve 2.8.0 goals.
254   Please read the UPGRADING notes.
255
256 - Added support for SSL via the Mozilla NSS library, in addition to the
257   existing OpenSSL support.
258
259 - Added a new driver, nutdrv_qx, for Megatec/Qx devices. This driver will
260   eventually replace the blazer_ser and blazer_usb drivers. In particular, it
261   adds support for Voltronic Power devices.
262
263 - Increased USB_TIMEOUT to standards-compliant 5.000 seconds in most drivers.
264   This should reduce the number of timeouts on low-speed USB 1.1 devices.
265
266 - The jNut Java source has been split into a separate GitHub repository.
267
268 - Added many devices to the HCL. Of particular note are many Tripp Lite USB
269   HID PDC models which were tested against NUT by Tripp Lite.
270
271 - Reworked some visual elements of the HCL. The output is better tailored for
272   graphical and text-only browsers, but suggestions are welcome for additional
273   accessibility enhancements.
274
275 - Also increased timeouts and added redundant commands to improve reliability
276   of mge-utalk driver.
277
278 - Added the apcupsd-ups driver to interoperate with apcupsd installations.
279
280 - Added documentation on creating subdrivers for snmp-ups and nutdrv_qx.
281
282 - Added new drivers for the Riello UPS product line (riello_ser/riello_usb).
283
284 - Many improvements to the BCM/XCP drivers have been merged in. This includes
285   an improved data reception loop, and additional mappings.
286
287 - Added a few variables to the Powercom HID mappings.
288
289 - Updated the apcsmart driver, and renamed the previous driver to apcsmart-old.
290
291 - Fixed the battery percentage calculation in the bestfcom driver.
292
293 - libnutclient has been added as a C++ alternative to libupsclient.
294
295 - Packaging files for Solaris and HP-UX (sponsored by Eaton)
296
297 - Fix shutdown of Eaton HID, using usbhid-ups and mge-shut
298
299 - usbhid-ups: final fix for APC Back UPS ES.  APC Back UPS ES devices have
300   buggy firmware, and this version does not cause a regression. The max_report
301   variable should be set automatically based on the USB identification values.
302
303 - nut-scanner: fix crash
304
305 - IPMI support can handle more different versions of FreeIPMI
306
307 - Support power supplies scan over the network
308   nut-scanner can now scan for power supplies with IPMI over LAN.
309   This is currently limited to IPMI 1.5 only
310
311 - Implement a framework to spell check documentation source files,
312   using Aspell. This includes an interactive build target (make
313   spellcheck-interactive), and an automated one (make spellcheck),
314   mainly for QA / Buildbot purpose. Note that a base NUT dictionary
315   is also available (docs/nut.dict), providing a glossary of terms
316   related to power devices and management
317
318 - Improve systemd integration
319
320 - snmp-ups: Fixed a crash on outlet management, and added delta_ups MIB
321   support. Also fixed mappings for upsBypassVoltage, upsBypassCurrent, and
322   upsBypassPower in three-phase IETF MIB.
323
324---------------------------------------------------------------------------
325Release notes for NUT 2.6.5 - what's new since 2.6.4:
326
327 - This release fixes an important regression in upssched:
328   any upssched.conf command that takes a second argument resulted in
329   a defective frame sent to the parent process. Thus, the command was
330   not executed (report and patch from Oliver Schonefeld)
331
332 - Website hosting: free NUT from Eaton website hosting
333   NUT website (http://www.networkupstools.org) is no longer hosted by Eaton.
334   Arnaud Quette (NUT project leader) has taken over NUT hosting on his own,
335   to give NUT back some independence.
336   This effort is also part of a logic to stop crediting Eaton for
337   contributions from others (especially Arnaud Quette, as an individual).
338   The new hosting service is located, as for Arnaud's blog
339   (http://arnaud.quette.fr) on Gandi servers, using PaaS. This will allow
340   more flexibility and automation of the release process
341
342 - macosx-ups: new OS X Power Sources meta-driver
343   Mac OS X provides UPS status information in a format similar to
344   what is shown for laptop batteries. This driver will convert that
345   information into a format compatible with NUT (Charles Lepple).
346
347 - support for new devices:
348   Eaton ePDU Switched
349   Online Zinto A (USB ID 0x06da:0x0601)
350   REDi Blazer 400VA / 600VA / 800VA
351   UNITEK Alpha650ipF and Alpha650ipE (USB ID 0x0f03:0x0001)
352
353 - mge-shut driver has been replaced by a new implementation (newmge-shut).
354   In case of issue with this new version, users can revert to oldmge-shut.
355
356 - First NUT virtualization package: NUT now supports integration with
357   VMware ESXI 5.0, through a native VIB package. This is, for the time
358   being, an external effort from René Garcia (refer to the Download section
359   on NUT website). But work is underway to improve this integration, and
360   include it in the NUT source tree
361
362 - IPMI support (nut-ipmipsu driver and nut-scanner): prepare for supporting
363   API changes in upcoming FreeIPMI versions 1.1.x and 1.2.x.
364
365 - snmp-ups now supports high precision values for APC, and more variables
366
367 - the NUT variables and commands namespace has been fixed and
368   completed, with the known and used variables that were missing.
369
370 - more bugfixes, cleanup and improvements, on both source code and
371   documentation.
372
373---------------------------------------------------------------------------
374Release notes for NUT 2.6.4 - what's new since 2.6.3:
375
376 - This release Fix an important vulnerability in upsd
377   (CVE-2012-2944: upsd can be remotely crashed)
378
379   NUT server (upsd), from versions 2.4.0 to 2.6.3, are exposed to
380   crashes when receiving random data from the network.
381   This issue is related to the way NUT parses characters,
382   especially from the network. Non printable characters were missed
383   from strings operation (such as strlen), but still copied to the
384   buffer, causing an overflow.
385   Thus, fix NUT parser, to only allow the subset of ASCII charset from
386   Space to ~
387   (Reported by Sebastian Pohle, Alioth bug #313636, CVE-2012-2944)
388
389   A separate patch, which applies to any faulty version, is also available:
390   http://trac.networkupstools.org/projects/nut/changeset/3633
391
392   For more information, refer to the Common Vulnerabilities and Exposures:
393   http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2944
394
395 - A static source code analysis has been done by Michal Hlavinka from RedHat,
396   using Coverity (12 issues fixed).
397
398 - Add new "LIST CLIENTS" and "NETVER" commands to NUT network protocol.
399   "NETVER" allows to retrieve the Network protocol version, while
400   "LIST CLIENTS" provides the list of clients connected to a device.
401   Refer to the developer guide, "Network protocol information" section for
402   more information.
403
404 - Support of ranges of values for writable variables has been added, to
405   complete the existing enumerated values mechanism. This will start to
406   appear in some drivers soon, beginning with Eaton. Refer to the developer
407   guide, "Creating a new driver..." section for more information.
408
409 - PyNUT.py has been updated to version 1.2.2, adding support for
410   LIST CLIENTS, FSD, HELP and VER (Rene Martín Rodríguez)
411
412 - support for new devices:
413   AEG Power Solutions PROTECT HOME
414   more APC SNMP cards
415   ATEK Defensor range
416   all Borri models
417   all COVER ENERGY SA
418   CyberPower OR700LCDRM1U, PR6000LCDRTXL5U and CP1000PFCLCD
419   Dell UPS Network Management Card
420   Dynamix 1000VA USB
421   Eaton Management Card Contact (ref 66104)
422   EVER POWERLINE RT / 11 / 31 and DUO II Pro
423   GE Digital Energy GT Series 1000-3000 VA
424   Gtec models
425   all recent HP serial / USB UPS (G2, G3 and R/T models, ) and HP UPS
426    Management Module
427   Ippon INNOVA RT
428   KOLFF BLACK NOVA
429   Lexis X-power Tigra 1kVA
430   Microline C-Lion Innova
431   Online Yunto YQ450
432   PowerShield Defender 1200VA
433   PowerWalker Online VFI LCD, Line-Interactive VI LCD and Line-Interactive VI
434   Riello Netman Plus 102 SNMP Card
435   Tripp-Lite OMNISMART500
436
437 - apcsmart has received some fixes to work better on Mac OS X, and in general
438
439 - bcmxcp has improved support for battery status, and better supports
440   PW9120 units
441
442 - bestfortress has improved Best Fortress LI675VA support
443
444 - blazer_ser and blazer_usb now try to automatically estimate high and low
445   voltages, to be able to calculate battery charge ; support for online
446   Innova UPS (T, RT and 3/1 T) has been added ; Best UPS support has been
447   improved, to prepare for superseding bestups driver
448
449 - bestups has also received some care, though users are encouraged to switch
450   to blazer_ser, since bestups will soon be deprecated.
451
452 - newmge-shut has been heavily improved.  However, replacement of the
453   current mge-shut has been postponed to the next release, due to the CVE
454   issue.
455
456 - oneac 0.80 improves support for all families of Oneac (EG, ON, OZ and OB),
457   including more data and instant commands (Bill Elliot).
458
459 - usbhid-ups: for Eaton devices, ups.start.auto is now automatically adjusted
460   for shutdown.{return,stayoff} to behave as expected ; Liebert firmwares with
461   incorrect exponents have also been addressed.
462
463 - snmp-ups now provides support for UPS shutdown, based on usbhid-ups
464   mechanisms (composite commands and fallback). Composite commands are also
465   supported now. This means, for example, that if 'shutdown.return' is not
466   supported, a combination of 'load.off' + 'load.on' may be used ;
467   Actual validity of instant commands is now tested before commands addition ;
468   Eaton/MGE MIB has been cleaned and completed ; 3-phases support has been
469   added to Socomec Netvision MIB ; HP/Compaq MIB has been completed, with
470   thresholds, nominal values and more commands.
471
472 - nut-scanner now also has libupsclient has a weak runtime dependency ; more
473   docs and bugfixes have also happened.
474
475 - Provide an Uncomplicated Firewall (UFW) profile (nut.ufw.profile)
476
477 - Riello protocols have been officially published in NUT protocols library:
478   http://www.networkupstools.org/ups-protocols.html#_riello
479
480 - Duplicate instances of upsd / upsmon are now detected upon startup
481
482 - NUT variables namespace has been completed with missing variables and
483   commands that are already known and standard
484
485 - upslog now comes with a companion file, for logrotate configuration
486
487 - more devices embed NUT for power protection, now including Thecus NAS range
488
489 - more bugfixes, cleanup and improvements, on both source code and
490   documentation, with a good bunch from Greg A. Woods.
491
492---------------------------------------------------------------------------
493Release notes for NUT 2.6.3 - what's new since 2.6.2:
494
495 - nut-scanner is now more portable, and provides more coherent option names.
496   IPMI support has also been added, to discover local power supplies.
497   This version brings weak runtime dependencies in libnutscan, which allows to
498   compile nut-scanner with all options and to run according to the available
499   dependencies (USB, SNMP, IPMI, ...).
500
501 - libnutscan now provides pkg-config support and the needed header files are
502   distributed. Some documentation is also available in the developer guide and
503   manual pages have been updated and completed.
504
505 - support for new devices: Cyber Power Systems with SNMP RMCARD (100, 201,
506   202 and 301) ; Dynamix 650VA USB ; LDLC UPS-1200D ; Tecnoware UPS ERA LCD
507   0.65 ; Powercom BNT-xxxAP (USB ID 0d9f:0004) ; Various USB devices using
508   UPSilon 2000 software.
509
510 - apcsmart has received minor correction.
511
512 - bcmxcp_usb now handles disconnection issues and reconnection mechanism.
513
514 - blazer_usb enables again inclusion of buggy USB Device and Vendor IDs in
515   udev rules file ; language ID support has been added for USB units from
516   LDLC, Dynamix and other no names.
517
518 - nut-ipmipsu has also received some improvements.
519
520 - snmp-ups has fixed outlets reported current in aphel_genesisII MIB ;
521   MGE 3 phases handles better low battery condition ; support for Cyber Power
522   Systems with SNMP RMCARD has been added ; support of the newer Eaton ePDUs
523   has been improved.
524
525 - upsd doesn't anymore fail to start if at least one of the listening
526   interface is available. This is needed on systems where either IPv4 or IPv6
527   is disabled, and no explicit LISTEN directive has been specified.
528
529 - Avahi support is now automatically enabled, upon detection
530
531 - jNut (NUT Java interface) adds device discovery support, through a
532   nut-scanner wrapper ; jNutWebAPI, a HTTP/JSON web service interface, has
533   also been added to interact with upsd and nut-scanner.
534
535 - Base files for HPUX packaging have been added. This is still a work in
536   progress.
537
538 - Compilation on IBM AIX has been fixed (namespace conflict with ctypes).
539
540 - more bugfixes, cleanup and improvements, on both source code and
541   documentation.
542
543---------------------------------------------------------------------------
544Release notes for NUT 2.6.2 - what's new since 2.6.1:
545
546 - NUT can now monitor power supply units (PSU) in servers, through IPMI, using
547   the new experimental 'nut-ipmipsu' driver. Users are encouraged to test it,
548   and send feedback and debug output to the development mailing list.
549   This requires GNU FreeIPMI (0.8.5 or higher) development package or files.
550   Thanks goes to Al Chu, FreeIPMI project leader, for his help during this
551   development.
552
553 - NUT now provides a tool, called 'nut-scanner', to discover supported devices,
554   both local and remote. nut-scanner will help to ease the configuration step,
555   and power infrastructure discovery.
556   This development, sponsored by Eaton, supports the following methods:
557   * USB,
558   * SNMP,
559   * XML/HTTP (from Eaton),
560   * NUT servers, using the classic connect or Avahi / mDNS methods.
561
562   IPMI support will be added in the next release.
563   A separate library, called 'libnutscan', is also available to provide these
564   feature. Future NUT releases will provides binding for the supported
565   languages (Perl, Python and Java).
566
567 - NUT now provides a Java interface called 'jNut'.
568   This development, sponsored by Eaton, is currently limited to the client
569   interface. But it will be broaden to device discovery and configuration in
570   the future.
571   For more info, refer to nut/scripts/java/README, or the developer guide
572   (chapter 'Creating new client'). Javadoc documentation is also provided,
573   along with Java archives (.jar) in the Download section.
574
575 - support for new devices: Eaton 3S ; Cyber Power Systems CP1000AVRLCD ;
576   various APC models equipped with APC AP9618 management card, including APC
577   Smart-UPS RT XL ;  Orvaldi 750 / 900SP ; POWEREX VI 1000 LED ; PowerWalker
578   VI 850 LCD ; SVEN Power Pro+ series (USB ID ffff:0000).
579
580 - A regression has been fixed in udev rules file. This previously caused
581   permission issues to owners of some USB devices.
582
583 - Avahi support has been added, for NUT mDNS publication, through a static
584   service file (nut/scripts/avahi/nut.service).
585
586 - usbhid-ups has had Eaton completion: some features have been improved, such
587   as 'output.voltage.nominal' ; 3S Eco control support has been added, along
588   with battery.runtime.low and end of battery life (life cycle monitoring)
589   support ; new measurements for 5 PX are also supported now (outlet power
590   factor, power, real power and current).
591
592 - apcsmart has been updated to support more variables and features ; the
593   previous driver is however still available as 'apcsmart-old', in case of
594   issues.
595
596 - bcmxcp now supports per outlet startup and shutdown delays setting ; shutdown
597   delay is also used, when available, for outlet.n.shutdown.return instead of
598   the default 3 seconds.
599
600 - snmp-ups.c has a new initialization method, that uses sysObjectID, which is
601   a pointer to the preferred MIB of the device, to detect supported devices.
602   This speeds up even more init stage and should render void the use of 'mib'
603   option. SNMP v3 session initialization has also been fixed, and Eaton PDU
604   support has been completed.
605
606 - Initial support has been added for systemd, the System and Service Manager
607   from RedHat.
608
609 - The chapter 'NUT configuration management with Augeas' of the developer guide
610   has received some completion: a complete Python Augeas example code is now
611   provided.
612
613 - Finally, after years of dedication to NUT, Arjen de Korte is now retired.
614   Sincere thanks to you Arjen from us all.
615
616---------------------------------------------------------------------------
617Release notes for NUT 2.6.1 - what's new since 2.6.0:
618
619 - the various recent USB regressions have been definitely fixed.
620
621 - NUT now propose a variable to expose UPS efficiency (ups.efficiency).
622   Eaton 5 PX already uses it.
623
624 - the Perl module from Gabor Kiss (rewritten from Kit Peters') is now
625   distributed with NUT source code.
626
627 - support for new devices: Eaton Ellipse ECO, Powerware 9140, Eaton 5 PX, and
628   ambient sensor on Eaton ePDU managed ; GE EP series ; Inform Sinus SS 210 ;
629   IPAR Mini Energy ME 800 ; Mustek Yukai PowerMust 1000 USB ; Numeric 3000 SW ;
630   SVEN Power Pro+ series (recent models) ; Vivaldi EA200 LED.
631
632 - liebert-esp2: Improved Liebert ESP II support, including UPS shutdown
633   (poweroff), 1 and 3-phase input and output variables, and most
634   input / output / bypass / nominal variables. There is also a fix for the
635   USB to serial cable (Farkas Levente and Spiros Ioannou).
636
637 - powercom has improved PowerCom BNT 1500A and BNT-other support, along with
638   driver documentation and code conformance to the NUT rules (Keven L. Ates).
639
640 - apcsmart has more improved UPS poweroff support and options (Michal Soltys).
641
642 - blazer has also seen some improvements.
643
644 - usbhid-ups has completed a bit supported variables for APC and Eaton / MGE.
645
646 - on the quality assurance side, Eaton has worked on fixing a few
647   non-conformance issues, like C++ style comments and warnings, using
648   a newly developed verification tool (Prachi Gandhi).
649
650 - fix remaining references to LIBSSL_LDFLAGS, instead of LIBSSL_LIBS,
651   which cause unresolved symbol on libupsclient users (Fabrice Coutadeur).
652
653 - the website has now a better support for Internet Explorer 6.
654
655 - graphic illustrations, used for the Features page on the website Features
656   and chapter of the user manual, have been refreshed (courtesy of Eaton).
657
658 - more bugfixes, cleanup and improvements, on both source code and
659   documentation.
660
661---------------------------------------------------------------------------
662Release notes for NUT 2.6.0 - what's new since 2.4.3:
663
664 - the main focus of this release is the complete documentation revamping,
665   using AsciiDoc. This includes a new website, user manual, developer guide,
666   packager guide and manual pages, available in various formats (single and
667   multiple pages HTML, and PDF at the moment).
668   Be sure to check the --with-doc configure option help, and
669   docs/configure.txt for more information.
670
671 - Add Augeas support, to provide easy NUT configuration management, through
672   tools and development APIs. For more information, refer to the developer
673   guide, or scripts/augeas/README in the source directory.
674
675 - support for new devices: APC 5G; Eaton PowerWare 5119 RM (smart mode using
676   upscode2 driver), Eaton Best Ferrups (using older ConnectUPS card),
677   Eaton 9395 (serial interface), Eaton ConnectUPS X / BD / E Slot;
678   HP T1000 INTL, HP T1500 INTL, HP T750 G2, HP R1500 G2 INTL; iDowell iBox UPS;
679   Tripp Lite SmartOnline SU1000XLA, Tripp Lite Smart1000LCD, and some
680   more USB/HID devices IDs; CyberPower CP1500AVRLCD and CP1350AVRLCD;
681   PowerWalker Line-Interactive VI 1400 ; Rocketfish RF-1000VA / RF-1025VA.
682
683 - usbhid-ups has better support for shutting down APC SmartUPS RM series,
684   and finally fix the "buffer size" issue, which was breaking some
685   devices data retrieval, or truncating some data on others.
686
687 - snmp-ups now support SNMP v3 and its security parameters. IETF MIB support
688   has also been extended.
689
690 - fix dummy-ups simulation driver status handling bug, and add the
691   capability to remove exposed variables on the fly.
692
693 - the belkin driver now support control commands and status reporting
694   for beeper and battery test.
695
696 - the powerpanel driver supports more older CyberPower units.
697
698 - mge-utalk, upscode2, blazer and liebert-esp2 have also received some
699   care, and been improved.
700
701 - NUT-Monitor and the PyNUT client module have been updated to 1.3,
702   adding more features like automatic connection to the first local device
703   and i18n support.
704
705 - improve configure time dependencies checking and processing.
706
707 - improve older Unix systems support (HP-UX, AIX, ...) for missing functions.
708
709 - refresh and improve USB helper files (udev and UPower).
710
711 - more generation automation: the ChangeLog file is now generated
712   automatically at distribution time, along with the files needed for
713   the website hardware compatibility list.
714
715 - SSL support has also received some improvements.
716
717 - tcp-wrapper now allows hostnames in /etc/hosts.allow too (not only IPv4
718   and/or IPv6 addresses).
719
720 - many bugfixes, cleanup and improvements.
721
722---------------------------------------------------------------------------
723Release notes for NUT 2.4.3 - what's new since 2.4.2:
724
725 - this is a bugfix release that only solves the regression on IPv6 activation.
726
727---------------------------------------------------------------------------
728Release notes for NUT 2.4.2 - what's new since 2.4.1:
729
730 - the general USB support has been vastly improved, including many bug
731   fixes, better OS support, new features and devices.
732
733 - NUT now talks to Solar Controller Devices with the new ivtscd driver.
734
735 - the snmp-ups driver supports more PDU, with a smaller disk footprint.
736
737 - apcsmart supports more older SmartUPS and Matrix units.
738
739 - the bestfortress driver is resurrected.
740
741 - the virtual driver has been renamed to 'clone'.
742
743 - the netxml-ups driver has received some care.
744
745 - various debugging and development improvements have been done, around
746   driver output; dummy-ups with more interaction and scripting and the
747   device-recorder.sh script.
748
749 - the build system has received many bugfixes and improvements.
750
751 - the UPower (previously known as DeviceKit-power) rules file is now
752   generated by NUT.
753
754 - support for new devices: Apollo 1000A and 1000F; various Baytech RPC; old
755   Best Power Fortress; Cyber Power Systems PR3000E, CP 1500C and OR2200LCDRM2U;
756   all the new Dell UPS range (serial, USB and network); Eaton E Series NV and
757   DX UPS, and Powerware 9130; older HP T500 and T750, newer T750 INTL (USB) and
758   R1500 G2 (serial); Inform Informer Compact 1000VA; many serial and USB
759   devices from Ippon, like Back Comfo Pro, Smart Power Pro and Smart Winner;
760   IVT SCD series; Liebert GXT2-3000RT230 and PowerSure PSA; Mustek PowerMust
761   424 / 636 / 848 USB; all new PowerCOM USB devices with HID PDC interface;
762   Tripp-Lite INTERNETOFFICE700, SMART700USB and ECO550UPS; UPSonic DS-800
763   (USB).
764
765---------------------------------------------------------------------------
766Release notes for NUT 2.4.1 - what's new since 2.4.0:
767
768 - the microdowell driver has appeared to support various MicroDowell Enterprise
769   units (see the "new devices" list below).
770
771 - support for new devices: MicroDowell Enterprise B8, B10, N8, N11, N15, N20,
772   N22, N30, N40, N50, N60 and HiBox ST.
773
774 - NUT-Monitor now better handles the ups.status field, and has switched to
775   version 1.1.
776
777 - the situation of the build toolchain has been fixed, with regard to the
778   "make clean" target and the wrongly removed generated USB files. This broke
779   further configure call.
780
781---------------------------------------------------------------------------
782Release notes for NUT 2.4.0 - what's new since 2.2.2:
783
784 - preliminary support for Power Distribution Units (PDUs): NUT now support
785   PDUs, either natively (ie using NUT snmp-ups driver), or through a binding to
786   the Powerman daemon. The list of supported PDUs is already quite long,
787   including: Eaton ePDUs (Managed and Monitored), some Aphel models, some
788   Raritan PDUs, and the whole list of Powerman supported devices:
789   http://powerman.sourceforge.net/supported.html
790
791 - support for new devices: the various PDUs cited above, Chloride Desk Power
792   650, Cyber Power Systems Value 400E/600E/800E (USB models), Delta GES602N,
793   Digitus DN-170020, the whole Eaton ranges (mostly composed of MGE Office
794   Protection Systems and Powerware units) including BladeUPS, Forza Power
795   Technologies SL-1001, HP PowerTrust 2997A, HP R/T 2200 G2, Infosec XP 1000
796   and XP 500, Ippon Back Power Pro (serial and USB), Kebo 1200D/D Series,
797   Liebert PowerSure Personal XT, MGE Office Protection Systems Protection
798   Station, Neus 400va and 600va, Phasak 400VA and 600VA, Plexus 500VA, Powercom
799   Black Knight PRO / King PRO and Imperial, PowerKinetics BlackOut Buster,
800   Sweex 1000 USB, UNITEK Alpha 500, WinPower CPM-800.
801
802 - NUT now embeds Python client support through the PyNUTClient module and the
803   NUT-Monitor application. Both are from David Goncalves, and are still
804   available from http://www.lestat.st.
805   For more information, refer to scripts/python/README.
806
807 - the dummy-ups driver now support a "repeater" mode. This allows it to act as
808   a NUT client, and to forward data. This can be useful for supervision and
809   load sharing purposes.
810
811 - tcp-wrappers support has been added to the upsd server, to grant users access
812   by source IP for commands that require to be logged into the server. This
813   replaces the previous internal implementation (ACL in upsd.conf).
814
815 - the nut.conf file has been introduced to standardize startup configuration
816   across the various systems.
817
818 - NUT now ships a bash completion function for 'upsc' command
819   (scripts/misc/nut.bash_completion). Simply copy it to /etc/bash_completion.d
820
821 - many internal changes to improve maintainability, while lowering the
822   maintenance cost (thus allowing developers to focus on what matters: the
823   code!). Examples of this are:
824   - the USB information automatic extraction to generate the various USB helper
825     files,
826   - the upsdrv_info_t structure to track more driver information, and remove
827     the need for the upsdrv_banner() function
828   - common USB code refactoring, as it is done for the serial functions.
829
830 - tons of bugfixes, cleanup and improvements to make NUT stronger than ever!
831
832---------------------------------------------------------------------------
833Release notes for NUT 2.2.2 - what's new since 2.2.1:
834
835 - support for new devices: APC BACK-UPS XS LCD, Atlantis Land,
836   Mustek Powermust Office 650, Oneac XAU models, Powerware PW5115 and
837   PW9120 (USB), Nitram Elite 2005
838
839 - Integrated Power Management (NUT HAL integration) has reached a
840   major milestone: it is now the most advanced UPS integration into
841   Power Management layer known in existing OSs. It has received many
842   corrections and improvements, and allows to PowerOff the UPS at the
843   end of a power cycle (which is the most important feature, not
844   supported on other systems).
845   The various files are now installed into the correct location.
846
847 - the usbhid-ups driver has received attention. Most notably, the
848   shutdown handling has been reworked, and support for MGE UPS SYSTEMS
849   3 phases units has been added.
850
851 - snmp-ups now supports MGE* Environment Sensor (ref 66 846).
852   The ambient.temperature reporting has also been fixed for units
853   other than APC.
854
855 - the netxml-ups driver has appeared to support MGE* network HTTP/XML
856   cards.
857
858 - NUT now distributes by default the shared version of libupsclient
859   (version 1.0.0), and use this for the provided clients (upsmon, upsc,
860   upsrw, upscmd). This is part of an effort to reduce NUT's footprint,
861   both on disk and in memory.
862
863 - powerpanel has reach a new step toward the replacement of nitram and
864   cpsups drivers. The final step is scheduled for NUT 2.4.
865
866 - many changes, cleanup and fixes to the NUT core and various drivers.
867
868---------------------------------------------------------------------------
869Release notes for NUT 2.2.1 - what's new since 2.2.0:
870
871 - support for new devices: all MGE Office Protection Systems units,
872   Advice TopGuard 2000, Belkin F6H375-USB, Dynamix UPS1700D, Effekta RM2000MH,
873   Jageson Technology Jasuny USPS, Powercom SMK-1500A and SXL-1500A,
874   PowerWalker Line-Interactive VI 400/800 and 600, Powerware 9110,
875   UNITEK Alpha 2600, UPSonic CXR1000, some vintage serial APC UPSs.
876
877 - the usbhid-ups driver has been improved, and fixed in many areas, through
878   a backport of the development (trunk) version.
879
880 - the udev rules, for Linux hotplug support of the USB UPSs, has been
881   updated to support kernel newer than 2.6.22.
882
883 - the megatec and megatec_usb drivers have also been backported from the
884   development (trunk) version.
885
886 - the client development files have also received some care:
887   the upsclient pkg-config file has been fixed, and the upsclient.h
888   file allows older NUT clients to continue using the UPSCONN structure.
889
890---------------------------------------------------------------------------
891Release notes for NUT 2.2.0 - what's new since 2.0.5:
892
893 - The new build infrastructure, using automake, is now used.
894   This has major impact on the compilation and installation procedures,
895   and thus on the NUT packaging.
896   For more information, refer to UPGRADING and packaging/debian/ for
897   an example of migration.
898
899 - NUT now provides support for FreeDesktop Hardware Abstraction Layer
900   (HAL) which brings full Plug And Play experience to USB UPS owners.
901   For more information, refer to docs/nut-hal.txt.
902
903 - support for new devices: Ablerex 625L, ActivePower 400VA, 2000VA;
904   Belkin Home Office F6H350-SER, F6H500-SER, F6H650-SER; Belkin Office
905   Series F6C550-AVR; Belkin Universal UPS F6C100-UNV (USB), F6C1100-UNV
906   (USB), F6C1200-UNV (USB), F6H350deUNV (serial), F6H350ukUNV (serial),
907   F6H650ukUNV (serial); Compaq R3000h; Cyber Power Systems PR2200;
908   Dynex DX-800U; Geek Squad GS1285U; Krauler UP-M500VA; Mecer ME-2000;
909   MGE UPS SYSTEMS Ellipse MAX; Online Zinto D; PowerTech SMK-800; SVEN
910   Power Pro+ series, Power Smart RM 2000; Tripp-Lite SmartOnline
911   SU1500RTXL2ua, smart2200RMXL2U.
912
913 - added IPv6 support,
914
915 - the newmge-shut driver has appeared. This one uses the same HID core
916   as usbhid-ups, but communicate over a serial link. It will eventually
917   replace the current mge-shut driver.
918
919 - client commands (upsc, upsrw and upscmd): hostname is now optional,
920   and defaults to "localhost"
921
922 - many drivers have been improved and have received bug fixes:
923   powerpanel, megatec, megatec_usb, safenet, tripplite_usb, gamatronic,
924
925 - the hotplug and udev scripts, in charge of setting the right
926   permissions on the USB devices, are now installed automatically
927   when appropriate.
928
929 - more generally, the NUT core and documentation, including the manpages,
930   have been improved and updated.
931
932---------------------------------------------------------------------------
933Release notes for NUT 2.0.5 - what's new since 2.0.4:
934
935 This release is a backport of the development version.  Many changes
936 have already been backported previously.  Thus it is more a
937 synchronization release, though it includes many bugfixes and support
938 for new models.
939
940 - support for new devices: APC Smart-UPS with 6TI firmware; Belkin
941   Small Enterprise F6C1500-TW-RK; Compaq R3000 XR, R5500 XR; Cyber
942   Power 550SL, 725SL, 685AVR, 800AVR, 1200AVR, AE550; Eltek; Inform
943   GUARD; Microsol Rhino; Opti-UPS PowerES 420E; PowerMan RealSmart,
944   BackPro; Powerware PW9315 3-phase; SOLA 305; Tripp-Lite
945   SMART550USB, SMART2200RMXL2U, OMNI1000LCD, OMNI900LCD, OMNI650LCD,
946   1500 LCD, AVR550U; Viewsonic PowerES 420E.
947
948 - bcmxcp: added 3-phase support
949
950 - megatec: better hardware support, more instant commands
951
952 - mge-hid: support more instant commands
953
954 - newhidups: fixed APC and Tripp Lite bugs, various memory bugs,
955   improved report buffering, improved Solaris support, added
956   '-x explore' option for easy diagnosis of new devices
957
958 - solis: shutdown programming, support new cables, Solaris support
959
960 - tripplite_usb: updated SMARTPRO support, fixed OL/OB reporting,
961   better error handling, some memory bugs
962
963 - new dummy-ups driver simulator
964
965 - added HTML interface for access to CGI scripts
966
967---------------------------------------------------------------------------
968Release notes for NUT 2.0.4 - what's new since 2.0.3:
969
970 - The newhidups critical bug (segmentation fault) has been fixed. It has
971   also received some more care, like bugfixes and new models support and
972   enhancement for Solaris.
973   [Peter Selinger and Arnaud Quette]
974
975 - A bug has been fixed in NUT core to support resuming from suspend-to-disk.
976   This should also fix other similar issues, like time synchronization
977   through the NTP - Network Time Protocol.
978   [Arjen de Korte]
979
980 - The mge-shut driver now better detects the Low Battery status, support
981   new models and fixes some wrong status and data. It also fixes some
982   issue where the UPS wasn't restarting (refer to mge-shut manpage).
983   [Arnaud Quette]
984
985 - The genericups custom configuration through ups.conf is working again
986   [Arjen de Korte]
987
988 - The genericups driver type 22 also support CyberPower 725SL
989   (and maybe others SL models)
990   [David Kaufman]
991
992 - The new megatec driver, which will replace a bunch of drivers by nut 2.2
993   (refer to docs/megatec.txt and UPGRADING) has been backported from the
994   trunk (Development tree). The powermust driver has also received some
995   attention.
996   [Carlos Rodrigues]
997
998 - The new rhino driver was added to support Microsol Rhino UPS hardware
999   The solis has also been improved for Solaris compatibility, and
1000   internal / external shutdown programming. solis can now save external
1001   shutdown programming to ups, and support new cables for solis 3
1002   [Silvino B. Magalhães]
1003
1004 - Several fixes and improvements have been made to upsrw, upsset,
1005   cpsups, tripplite_usb and the FAQ.
1006   [Arjen de Korte and Charles Lepple]
1007
1008---------------------------------------------------------------------------
1009Release notes for NUT 2.0.3 - what's new since 2.0.2:
1010
1011 - The recent and major newhidups changes have been backported from the
1012   Development tree. It now:
1013   - supports models from MGE UPS SYSTEMS, APC and Belkin. Mustek and Unitek
1014     units are also recognized for development purpose,
1015   - handles better device reopening, after a disconnection,
1016   - handles multiple devices, with several parameters to find the right UPS.
1017   [Peter Selinger, Charles Lepple and Arnaud Quette]
1018
1019 - The bcmxcp_usb driver has been added to support Powerware USB units.
1020   [Wolfgang Ocker and Kjell Claesson]
1021
1022 - The tripplite_usb driver has been added to support Tripp Lite USB units.
1023   [Charles Lepple]
1024
1025 - The sec driver is back as gamatronic
1026   [Gamatronic, Nadav Moskovitch]
1027
1028 - The genericups driver has received official care from Gamatronic
1029   to add support for the Gamatronic UPS with alarm interface.
1030   [Gamatronic, Nadav Moskovitch]
1031
1032 - The powermust driver now supports Soyntec Sekury C 500 and C 800 units.
1033   [Hanno Borns]
1034
1035 - The mge-shut driver has received a bit of attention too, and enhance
1036   ups.model retrieval for some specific case (release 0.65)
1037
1038 - The drivers don't change to the "statepath" directory anymore at
1039   initialization time if called using -k. This avoid unneeded
1040   failure to poweroff the UPS if /var is already unmounted.
1041   [Gaspar Bakos]
1042
1043 - The belkinunv driver now supports Belkin F6C1100-UNV
1044   [Dave Breiland]
1045
1046 - The isbmex driver has been upgraded to version 0.05, which fixes
1047   various errors in formulas, add shutdown capability and revert
1048   back baudrate to B9600 (instead of B2400), as it broke the
1049   communication
1050   [Ricardo Martinezgarza]
1051
1052 - The support of Sysgration UPGUARDS Pro650 in fentonups has
1053   been fixed
1054   [Simon J. Rowe]
1055
1056 - The packaging files for Red Hat have received various fixes
1057   [Thomas Jarosch]
1058
1059 - The solis driver has been fixed to avoid a naming collision and
1060   compile on Solaris
1061   [Paweł Kierdelewicz]
1062
1063 - The snmp-ups driver has corrected the problem when exposing
1064   certain time data.
1065
1066---------------------------------------------------------------------------
1067Release notes for NUT 2.0.2 - what's new since 2.0.1:
1068
1069 - the newhidups USB driver has been improved a lot and is no more
1070   experimental. It also now has a basic APC support, which will
1071   soon replace the legacy hidups driver.
1072
1073 - The mge-utalk driver has improved its support for old units.
1074
1075 - The mge-shut driver has been improved for restart/shutdown
1076   sequences which was previously blocking the serial port.
1077
1078 - The general MGE support has been added Pulsar EXtreme C / EX RT,
1079   Comet EX RT, Pulsar SV, Pulsar PSX, Ellipse Office and NOVA AVR USB.
1080
1081 - The genericups driver now supports Generic RUPS 2000, AEC MiniGuard
1082   UPS 700 (using Megatec M2501 cable), and Powerware 3110.
1083   [Nick Barnes, Paul Andreassen]
1084
1085 - The powermust driver now supports SquareOne Power QP1000, Mustek
1086   PowerMust 1400VA Plus and 2000VA USB.
1087   [Carlos Rodrigues]
1088
1089 - The fentonups driver has been enhanced and now supports Sysgration
1090   UPGUARDS Pro650.
1091   [Michel Bouissou, Simon J. Rowe]
1092
1093 - The cpsups driver now supports MicroDowell B.Box BP 500/750/1000/1500.
1094   [Armin Diehl]
1095
1096 - The snmp-ups driver now supports Socomec SNMP devices (Netvision MIB),
1097   and Powerware ConnectUPS SNMP cards.
1098   [Thanos Chatziathanassiou, Olli Salvia]
1099
1100 - The bcmxcp driver is back with support for Powerware UPSs.
1101   [Tore Ørpetveit, Kjell Claesson]
1102
1103 - The cyberpower driver now supports CyberPower 1000AVR.
1104   [Dave Huang]
1105
1106 - The new solis driver supports Microsol units: Solis 1.0, 1.5,
1107   2.0 and 3.0.
1108   [Silvino B. Magalhaes]
1109
1110 - The apcsmart driver has fixed APC600 support.
1111
1112 - The etapro driver fixes brokenness due to ser_get_line use
1113   [Marek Michalkiewicz]
1114
1115 - The new upscode2 driver supports Fiskars, Compaq and Powerware
1116   devices.
1117   [Niels Baggesen, Havard Lygre]
1118
1119 - The tripplite driver has fixed a battery charge bug
1120   [Cedric Tefft]
1121
1122---------------------------------------------------------------------------
1123Release notes for NUT 2.0.1 - what's new since 2.0.0:
1124
1125 - The bestuferrups driver has been forked into the new bestfcom driver
1126   which has better handling of the inverter status alarm messages and
1127   more.
1128   [Kent Hill]
1129
1130 - Mustek UPS support returns with two drivers which have overlapping
1131   coverage: mustek and powermust.
1132   [powermust: Carlos Rodrigues, mustek: Martin Hajduch]
1133
1134 - Additional CyberPower Systems hardware is supported with the new
1135   cpsups driver.  Three recognized models are the CPS1500AVR,
1136   CPS1100VA, and OP500TE.
1137   [Walt Holman, Brad Sawatzky]
1138
1139 - The genericups driver can now generate staleness warnings in
1140   specific cases where the UPS provides a way to test for its
1141   presence.  See the "CON" setting in ups.conf for more details.
1142   [stan / saticed.me.uk]
1143
1144 - Documentation for monitoring a Back-UPS RS 500 on a system without
1145   USB ports has been added to the cables directory.
1146   [Martin Edlman]
1147
1148 - The everups driver now supports types 73-76 (NET 700/1000/1400/500-DPC)
1149   [hunter]
1150
1151 - The new metasys driver supports Meta System models: Line,
1152   HF Millennium, HF Top Line, ECO Network, ECO, Ally HF, Megaline
1153   [BlaXwan]
1154
1155 - The ippon driver now allows user-defined settings for the delay
1156   before switching off, and the delay before powering on.
1157   [Yuri Elizarov]
1158
1159 - The victronups driver is now at version 0.1.9, which adds many
1160   instant commands: calibration control, battery and front panel tests,
1161   and bypass control.
1162   [Gert Lynge]
1163
1164 - The tripplite driver has received a major overhaul to bring it up to
1165   working condition for the 2.0 tree, including code cleanups, several
1166   new variables, commands, and user-definable parameters.  See
1167   ChangeLog for more.
1168   [Nicholas J Kain]
1169
1170 - The mge-utalk driver has been upgraded to version 0.81, which fixes
1171   the lack of read-write variables and loss of sync on models which
1172   don't support restoring settings.
1173   [Arnaud Quette]
1174
1175 - The Micro Ferrups model RE is now supported by the bestuferrups
1176   driver.  The driver will also now read the ambient temperature and
1177   will no longer constantly report the data as stale.
1178   [Tim Thompson]
1179
1180 - The fentonups driver's init sequence has been reworked to work better
1181   with some hardware, including a fix to the parser code.
1182   [MLH]
1183
1184 - A workaround has been added to the hidups driver to avoid variables
1185   which are stuck by calling HIDIOCINITREPORT in every poll.
1186   [Stuart D. Gathman]
1187
1188 - SOLA 610 UPS hardware and others which do not support the ID command
1189   may now be monitored by the bestups driver after forcing ID= in
1190   ups.conf.
1191   [Jason White]
1192
1193 - "pollinterval" is now available via driver.parameter for consistency.
1194   [Arnaud Quette]
1195
1196 - The mge-shut and newhidups drivers, along with the supporting
1197   hidparser/libhid code have received many updates, including lowering
1198   USB bandwidth consumption, driver unbinding (only in Linux), code
1199   cleanups, and more which can be seen in the ChangeLog file.
1200   [Arnaud Quette]
1201
1202 - The fentonups driver now recognizes several more Megatec protocol
1203   units:
1204
1205   SuperPower HP360, Hope-550	[Denis Zaika]
1206   Unitek Alpha 1000is		[Antoine Cuvellard]
1207
1208 - Some variables like uc_sigmask were renamed to avoid clashes with
1209   symbols on systems like HP/UX.
1210
1211 - All man pages have been reworked to switch literal "-" characters to
1212   hyphens or "\-" as appropriate.
1213   [Shaul Karl]
1214
1215 - upssched's CANCEL events were broken following the change to
1216   text-based socket messages in 1.5 and have been fixed.
1217   [Steven Schoch]
1218
1219 - Calls to varargs functions with raw strings from the config files
1220   without an intervening "%s" have been fixed in upsmon, upssched,
1221   snmp-ups and upsd.
1222   [Ulf Harnhammar]
1223
1224---------------------------------------------------------------------------
1225Release notes for NUT 2.0.0 - what's new since 1.4.x:
1226
1227 - The new naming scheme for variables and commands (introduced in 1.4)
1228   is now mandatory.  The 1.4 tree supported both the old (STATUS) and
1229   the new (ups.status) as a transitional release, and now that time is
1230   over.
1231
1232   This means that 2.0 is generally smaller than 1.4 code, since the
1233   interim compatibility hacks have been removed.
1234
1235 - New serial handling code has been added, with greatly simplified
1236   operations.  The old mess involving repeated calls to sigaction,
1237   alarm, and read has been condensed to a select-read loop.
1238
1239   This change allows drivers which don't do any serial communications
1240   at all (hidups, snmp-ups) to drop that baggage, so they are a bit
1241   smaller when compiled.
1242
1243 - The drivers now recognize "chroot=' and 'user=' in the global section
1244   of ups.conf.  This means you don't have to use -r and -u when
1245   starting upsdrvctl.
1246
1247 - upsmon now supports the -K argument to check for the presence of the
1248   POWERDOWNFLAG file.  If it exists and contains the magic string, then
1249   upsmon will exit(EXIT_SUCCESS).  Otherwise, it will
1250   exit(EXIT_FAILURE).
1251
1252   This feature can be used to simplify shutdown scripts, since now you
1253   don't have to keep the script in sync with the upsmon.conf.
1254
1255 - Many small things like signed value comparisons, int vs. size_t and
1256   proper use of const/struct were fixed throughout the source.  These
1257   were mostly for correctness, but a few potential bugs involving very
1258   big or very small numbers were fixed at the same time.
1259
1260 - The access control system in upsd.conf has been reworked and
1261   simplified.  Since access levels have become meaningless in recent
1262   releases, the new system is just ACCEPT <acl> or REJECT <acl>.
1263
1264   If you are upgrading from a previous version of the software, you
1265   will have to edit your upsd.conf to use this method.  See
1266   the UPGRADING file for more details.
1267
1268 - The build process now halts when make fails in one of the
1269   subdirectories.
1270   [Petter Reinholdtsen, Charles Lepple]
1271
1272 - Helper data for using upsclient via pkgconfig is now created if
1273   pkgconfig is detected when configure runs.
1274   [Arnaud Quette]
1275
1276 - The polling interval in drivers may now be set with 'pollinterval'
1277   in ups.conf.
1278   [Gabriel Faber]
1279
1280 - Blazer UPS equipment is now supported with the blazer driver.
1281   [Phil Hutton]
1282
1283 - Energizer USB UPS hardware is now supported on Linux with a new
1284   experimental driver.
1285   [Viktor T. Toth]
1286
1287 - The newhidups driver has been merged as the first step towards
1288   portable USB UPS support.  This will eventually replace the old
1289   Linux-only hidups driver.  The newhidups driver is tagged
1290   experimental since it is under active development.
1291   [Arnaud Quette, Charles Lepple]
1292
1293 - The newapc driver has been renamed to apcsmart, replacing the old
1294   driver with that name. If you used the newapc driver, be sure to
1295   delete the old binary and fix your ups.conf.
1296
1297 - The apcsmart driver now supports asynchronous notification data
1298   from the hardware, which means it can wake up as soon as something
1299   happens.  This affects the OL/OB/LB/RB data in ups.status, and
1300   generally reduces the latency in dispatching status changes by a few
1301   seconds.
1302
1303 - The apcsmart driver can now support quirky hardware which does not
1304   provide the usual listing of valid command characters.  This feature
1305   is necessary to monitor new models like the APC CS 350 and old ones
1306   like the Matrix 5000.  It also now has sdtype=4 to handle the strange
1307   shutdown behavior on the CS series.
1308
1309 - The belkin driver now works around broken firmware version 001,
1310   avoiding a lengthy delay at startup.  It also implements the shutdown
1311   sequence differently, and should actually work on more hardware now.
1312
1313 - The bestups driver has been slowed down to play nicer with the
1314   hardware, and is much more reliable as a result.  Among other things,
1315   it should always detect the UPS on the first try, meaning no more
1316   "dot dot dot" when it starts.
1317
1318 - The cyberpower driver is no longer tagged experimental, and now
1319   supports powering off the load.  It also supports battery tests via
1320   instcmds.
1321
1322 - Effekta MT 2000 RM hardware is now supported by the fentonups driver.
1323   [Christoph Moar]
1324
1325 - The new safenet driver supports UPS hardware that uses the protocol
1326   of the same name.  This includes models from many manufacturers,
1327   including Fairstone, Fenton, Gemini, Powerwell, Repotec, Soltec and
1328   Sweex.  See the README or driver.list for the full details.
1329   [Arjen de Korte]
1330
1331 - The genericups driver now has type 20 to monitor the Powerware 5119
1332   RM.  See http://lists.exploits.org/ups/Oct2003/00052.html.
1333   [Daniel Thompson]
1334
1335 - The belkinunv driver has been added to allow monitoring Belkin
1336   Universal UPS hardware.
1337   [Peter Selinger]
1338
1339 - Cyber Power Systems 1100AVR hardware which has a different protocol
1340   than the existing binary type (supported by 'cyberpower') is now
1341   supported by the experimental cyberpower1100 driver.
1342   [Walt Holman]
1343
1344 - upsdrvctl now returns success or failure information in the exit
1345   code.  Any failure during a requested operation will result in a
1346   nonzero value (specifically EXIT_FAILURE).
1347
1348---------------------------------------------------------------------------
1349Release notes for NUT 1.4.0 - what's new since 1.2.x:
1350
1351 - The drivers and upsd now communicate over Unix domain sockets instead
1352   of state files, shared memory, or state files with mmap.  This change
1353   makes many things possible, including the new dynamic variable and
1354   command naming scheme described below.
1355
1356   There is a new development tool called sockdebug in the server
1357   directory for debugging driver-server communications on the sockets.
1358
1359 - The old static variable scheme has been replaced by a new dynamic
1360   implementation.  Vague names have been turned into meaningful names
1361   that fit into an organized system.  UTILITY is now input.voltage.
1362   OUTVOLT is now output.voltage.
1363
1364   This also applies to the names of instant commands.  BTEST1 is
1365   test.battery.start, and BTEST0 is test.battery.stop.
1366
1367   The old names are still supported for compatibility with older
1368   clients.  This compatibility mode will be maintained throughout
1369   the 1.4 series, and will be gone by the release of 2.0.  Users
1370   with older clients are encouraged to upgrade their software
1371   during this time.
1372
1373 - The network protocol has been expanded to handle these new names.
1374   Older functions which only apply to the old names will continue to
1375   be supported through the 1.4 series.
1376
1377 - The drivers and server (upsd) can now change their user ids and
1378   chroot themselves with the new -u and -r arguments.  This lets you
1379   create a "chroot jail" with the bare minimum components.
1380
1381   This technique is used to provide a higher degree of security.  If
1382   someone exploited upsd to get a shell somehow, they would be stuck
1383   in the jail.
1384
1385 - upssched now explicitly confirms reception of timer commands before
1386   exiting.  This was done to avoid a race where one process would
1387   exit right when another one was starting.  The second one would
1388   believe its command had been handled when it had been lost.
1389
1390 - upslog has been reworked to use standard getopt parsing to provide
1391   the monitoring settings.  The old way of specifying arguments is
1392   still supported for backwards compatibility.
1393
1394   upslog has also been changed to only parse the format string once,
1395   rather than doing it every time through the loop.  This should
1396   provide a minuscule drop in CPU utilization.
1397
1398 - Usernames are now required in upsmon and upsd.  This means that you
1399   must add a username to your MONITOR lines in upsmon.conf and then
1400   create a matching user in upsd.users.
1401
1402   Installations from the 1.2 era probably already use usernames, so
1403   this mostly affects those from 1.0 and before.
1404
1405 - Drivers are now pinged regularly by upsd when they aren't posting
1406   updates about the UPS status.  This provides another check in the
1407   data validation process.  If upsd fails to get a response within
1408   a few seconds, the UPS will be marked stale.
1409
1410 - A few minor memory leaks were discovered with valgrind and squashed.
1411
1412 - upsstats now reuses connections to upsd when cycling through multiple
1413   entries in the hosts.conf.  This makes things a bit faster and
1414   avoids some of the noise in the syslog.
1415
1416   This only applies to entries that are adjacent.  To take advantage
1417   of this feature, you may have to rearrange them.
1418
1419	MONITOR ups-1@host-1 ...
1420	MONITOR ups-1@host-2 ...
1421	MONITOR ups-2@host-2 ...
1422	MONITOR ups-3@host-3 ...
1423
1424   Connection reuse for nonadjacent entries may be considered in the
1425   future.
1426
1427 - upsd now warns about insecure configuration files at startup.
1428   These files (upsd.conf, upsd.users, and the certfile) should
1429   only be readable by upsd.  Never make them world-readable.
1430
1431 - The programs no longer print "shutting down" when they are just
1432   exiting.  This was changed to avoid confusion about the term, since
1433   "shutting down" has a special meaning in UPS software.
1434
1435 - Signal handlers no longer do any significant amount of work.  Some of
1436   the programs used to do numerous things in there, raising concerns
1437   about reentrancy.  They now set flags and allow the main loop to do
1438   the actual work from there.
1439
1440 - A bug in upsmon where NOTIFYFLAG settings could be ignored was fixed.
1441
1442 - Group handling has been changed.  configure no longer accepts
1443   --with-group, and the programs no longer setgid() to a hardcoded
1444   value.  They now setgid() to the primary group of whatever the
1445   user value may be.
1446
1447   This may be compiled in with --with-user as before, and many programs
1448   accept -u to override it at runtime.
1449
1450 - The state path is no longer created during 'make install'.  Users
1451   are now expected to create it themselves.  This removes a lot of
1452   evil complexity from the build and install sequences.
1453
1454 - upsd no longer implements the DROP access command, as it
1455   could confuse the clients by getting them out of sync.  DROP is now
1456   implemented as DENY, which sends an error message.  If you use DROP,
1457   you should change it to DENY rather than relying on this
1458   compatibility measure.
1459
1460 - The belkin driver no longer reports OFF and OL at the same time.
1461
1462 - The bestups driver no longer sleeps during polls, which makes it
1463   more responsive to things like instant commands.
1464
1465 - The cyberpower driver now has much better hardware detection code
1466   and no longer freezes at startup under some conditions.  It also now
1467   supports the shutdown function.  Instant commands for shutdowns and
1468   battery tests were also added.
1469
1470 - The dummyups testing driver has been removed.  The dummycons testing
1471   driver can do everything that dummyups once did and much more.
1472   dummycons is also now built by default for easier testing.
1473
1474 - The newapc driver has been reworked to take advantage of the new
1475   internal driver state functions.  Some variables without an obvious
1476   purpose were dropped.
1477
1478 - The newapc driver now sends all five bytes when using sdtype 1.
1479   Previously it didn't send the entire string, and it didn't work.
1480   [Don Lewis]
1481
1482 - The hidups driver has been expanded to allow for setting variables,
1483   a shutdown sequence, and more.
1484   [Arnaud Quette]
1485
1486 - The mge-utalk driver had trouble establishing communications in
1487   some cases due to the RTS line being set.  This has been fixed.
1488
1489   The mge-shut driver has been added to the tree, and has replaced
1490   the older mge-ellipse driver.
1491   [Arnaud Quette, Philippe Marzouk]
1492
1493 - Outlet-level control has been defined in the variable tree, and will
1494   be added to drivers where the hardware supports it.  This can be
1495   used to shut down some components earlier than others to prolong
1496   your runtime on battery.
1497
1498   This is supported in the mge-shut driver now, and may show up in
1499   others before long.
1500   [Arnaud Quette]
1501
1502 - KIN-2200AP hardware is now recognized by the powercom driver.
1503   This change may also support other KIN-xxxxAP equipment.
1504   [Preston A. Elder]
1505
1506 - The 1.1kVA UPS is now supported by the bestuferrups driver.  This
1507   driver was also changed to allow easy addition of more models
1508   in the future.
1509   [Bob Apodaca]
1510
1511 - The fentonups driver can now handle devices which implement the
1512   "I" detection differently, and now supports the Giant/WELI 500
1513   as a result.
1514   [Joon Guillen]
1515
1516 - The serial number of the UPS being monitored can now be specified
1517   with serial= in ups.conf in the genericups driver.
1518   [Shaul Karl]
1519
1520 - The newapc driver now sends ESC to break out of menus when the
1521   initial detection fails.  Some new APC models have interactive menus
1522   on the serial port, and the driver couldn't handle them before.
1523
1524 - The snmp-ups driver now reports ambient temperature and humidity
1525   data for APC equipment.  It also now supports the shutdown.reboot and
1526   shutdown.reboot.graceful commands.
1527   [Dmitry Frolov]
1528
1529 - The list of supported variables and commands in the snmp-ups driver
1530   has been expanded.
1531   [Arnaud Quette, J.W. Hoogervorst]
1532
1533 - Various drivers now report bypass mode with the BYP status word.
1534   [Arnaud Quette]
1535
1536 - Energy Sistem equipment is now supported with the esupssmart driver.
1537   [Antonio Trujillo Coronado]
1538
1539 - The Tripp-Lite SU series (SmartOnline) is supported with the new
1540   tripplitesu driver.
1541   [Allan Hessenflow]
1542
1543 - The HP PowerTrust A2994A is now recognized by the hp driver.
1544   [Jan Sporbeck]
1545
1546 - Many drivers were cleaned up to perform basic sanity checks on the
1547   status data before using it.
1548
1549 - An explicit cleanup function has been added to the driver core to
1550   ensure that all dynamic resources are freed before exiting.  This
1551   is part of the larger process to check for memory leaks and other
1552   bad things.
1553   [Arnaud Quette]
1554
1555 - upsd now provides variable descriptions from an auxiliary file.
1556   This file is optional, which allows for a smaller memory footprint.
1557   It can also be edited for localization or other customizations.
1558
1559 - upsimage and upsstats can now render BATTVOLT data.
1560   [Andrew R. Ghali]
1561
1562 - String handling has been cleaned up throughout the tree.  Calls to
1563   functions like strcpy and strcat were either replaced with other
1564   (range-checking) functions or were rewritten to avoid it.
1565
1566 - Many compile-time defaults may now be overridden at runtime.  In
1567   the environment NUT_CONFPATH and NUT_STATEPATH may be used.
1568   upsdrvctl has been changed to execve to pass these along to the
1569   drivers.  ups.conf now supports driverpath=, and upsd.conf supports
1570   DATAPATH.
1571   [Bryan Henderson]
1572
1573 - The configure --with-gd switches now actually do something useful
1574   when gd has been installed outside the default search directories.
1575   [Patrik Schindler]
1576
1577 - The inline keyword is now handled properly on systems which do not
1578   support it or have it specified as another name.  This was breaking
1579   compiles on some systems.
1580   [Petter Reinholdtsen]
1581
1582---------------------------------------------------------------------------
1583Release notes for NUT 1.2.2 - what's new since 1.2.1:
1584
1585 - The snmp-ups driver has been upgraded and expanded.  It now supports
1586   multiple MIBs, meaning it can handle RFC 1628, APCC, and MGE
1587   equipment.  You can pick the right one with "mibs=" in ups.conf.
1588
1589   Support for setting variable and instant commands is also available.
1590   [Arnaud Quette and Dmitry Frolov]
1591
1592 - The powernet driver has been upgraded.  It now supports more
1593   variables, has cleaner logging, and may now be considered stable.
1594   [Dmitry Frolov]
1595
1596 - The hidups driver now supports physical port IDs.  This avoids most
1597   of the problems where the hiddev* names can jump around too easily.
1598   It will now stay in the same place as long as you keep it plugged
1599   into the same physical port.  See the ChangeLog file for more details.
1600   [David Brownell]
1601
1602 - The hidups driver now also supports the MFR variable on APC
1603   Back-UPS ES equipment.
1604   [Jonathan A. Davis]
1605
1606 - The sms driver has been updated to version 0.70.
1607   [Marcio Gomes]
1608
1609 - The bestups driver now recognizes Best Power Axxium Rackmount
1610   equipment.
1611   [Ales Casar]
1612
1613 - The liebert driver now uses O_NONBLOCK, and should now work
1614   consistently on OpenBSD as a result.
1615   [Alex Cichowski]
1616
1617 - The liebert driver also now uses debouncing logic on the status
1618   lines.  It was possible to get false readings that would start a
1619   shutdown or just annoy users with excessive onbatt/online notify
1620   messages.  The new code forces the status to settle down for 3 polls
1621   before accepting the new value.
1622
1623   This means that very short power events may not be detected.  The
1624   alternative is having your machine shut down just because it decided
1625   to wiggle over to OB LB for a few seconds.
1626
1627 - upsmon has had the disconnect logic fixed so the "communications
1628   lost" (COMMBAD) notify will actually go out when the connection
1629   fails.
1630   [Steve Monett]
1631
1632 - upssched now uses a lock file to prevent a race where two could
1633   start at the same time.  The second upssched would "win", and the
1634   first one would be unreachable.  This had the side-effect of not
1635   being able to cancel timers on the first one.
1636
1637   If you use upssched, you must define the LOCKFN directive when
1638   upgrading to this version, or it will not work.
1639   [Gaspar Bakos]
1640
1641 - The packaging and scripts for Red Hat systems have been updated.
1642   [Antonino Albanese]
1643
1644 - upsd is now a bit more lenient about access levels in the
1645   'numlogins' check, which is what caused the problem in upsmon
1646   (next item).
1647
1648 - upsmon no longer gets stuck in slavesync() when upsd is configured
1649   to drop certain queries.  This usually happened at the worst
1650   possible time: in the middle of a shutdown.
1651   [John David Garza]
1652
1653 - The upsclient functions now do more sanity checking on data from
1654   upsd so a short read won't return garbage to the callers.
1655
1656 - upsset now works properly with ENUM/VARTYPE values for multiple
1657   UPSes on a single upsd.
1658   [Dmitry Frolov]
1659
1660 - Various portability fixes for building on SGI were applied.
1661   [Andrea Suatoni]
1662
1663 - upsd no longer tries to reference a deleted client structure if the
1664   client disconnects at the wrong time.  Previously, it tried to use
1665   that pointer after the sendback() function had already failed on
1666   write and deleted the client.  This could cause upsd to segfault
1667   depending on what areas were accessed.
1668   [Patrik Schindler]
1669
1670---------------------------------------------------------------------------
1671
1672Release notes for NUT 1.2.1 - what's new since 1.2.0:
1673
1674 - The sms driver is back, with support for Microlink Manager III
1675   hardware. [Marcio Gomes]
1676
1677 - Fideltronik Ares Series hardware is now supported as genericups type
1678   19.  [Tomek Orzechowski and Arkadiusz Mikiewicz]
1679
1680 - The drivers no longer silently drop instant commands or set commands
1681   from upsd that happen to get fragmented in transit.
1682   [linux@horizon.com]
1683
1684 - The old multilink driver is back with a new name: liebert.  It
1685   supports Liebert UPStation GXE hardware with the contact-closure
1686   cable.  This is currently an experimental driver as there is no
1687   way to power down the load.
1688
1689 - configure now picks up the right flags for gd automatically if gd
1690   2.0.8 or higher is installed.  This greatly simplifies the CGI build
1691   process for most users.
1692
1693 - Shutdowns on FreeBSD using the genericups driver should work again.
1694   [Petri Riihikallio]
1695
1696---------------------------------------------------------------------------
1697