UPS: apcupsd clean sources
[tomato.git] / release / src / router / apcupsd / ReleaseNotes
blobb24254803c5ceccf93e570ec5887e9d36831b1cc
2              Release Notes for Apcupsd 3.14.x
4 Apcupsd 3.14.x is the latest STABLE release, containing many bug fixes and
5 new features over the previous 3.12.x stable series. Users of all previous
6 versions are encouraged to upgrade.
8 IF YOU USE THE OLD STYLE MASTER/SLAVE NETWORKING MODE, BE SURE TO READ THE
9 3.14.0 RELEASE NOTES BELOW.
12 3.14.10 -- 13 September 2011         (Maintenance Release)
14 BUG FIXES
16   * Fix missing status and spurrious incorrect status on newer BackUPS CS
17     models using USB interface.
19   * USB compatibility fixes for Mac OS X Lion
21   * USB driver support for newer Microlink models on Mac OS X Lion and Windows
23   * Ignore transitions to battery due to calibration (possible if user
24     initiates calibration, then exits apctest and starts apcupsd before 
25     calibration completes.
27   * Fix truncation of long UPS model names such as "Smart-UPS RT 5000 XL"
29   * Fix MODEL vs. APCMODEL confusion. Remove APCMODEL and rename old MODEL
30     aka 'mode' to DRIVER.
33 3.14.9 -- 22 July 2011               (Maintenance Release)
35 NEW FEATURES
37   * SNMP enhancements:
38     - Autodetection of MIB and community if they are not specified in
39       apcupsd.conf
40     - Support for RFC1628 MIB
41     - Support for MGE MIB (Contributed by       Lars Taeuber <taeuber@bbaw.de>)
43   * Windows USB support for 64-bit platforms
45   * USB support for latest APC models such as SMT* and SMX* series
46     - No support for Microlink, but basic USB interface should be
47       detected and provide status now.
49   * When using the generic USB driver (Windows, OS X, newer FreeBSD)
50     DEVICE string in apcupsd.conf can be set as serial number of UPS
51     to monitor. This is useful in order to "lock" apcupsd to a specific
52     UPS if you have more than one connected to the server.
54   * Ed Dondlinger's Windows email scripts are included in the Win32
55     install package now. Documentation includes information on how
56     to hook them in.
58 BUG FIXES
60   * general: Rework signal handling to eliminate crashes and hangs.
62   * general: Fix issue of overwriting pid file even when we failed
63     to acquire the lock file
65   * snmp: Add workaround for FreeBSD libsupc++.a issue (FreeBSD PR 
66     #99702) This will allow snmplite driver to compile/link on 
67     FreeBSD 5.x.
69   * usb: Automatically use generic_usb driver on FreeBSD 8.0 and 
70     newer. FreeBSD USB API was changed in 8.0, so from now on we will 
71     use libusb.
73   * usb: Add support for DALARM
74   
75   * usb: Fix BATTV and MANDATE on certain newer APC models
77   * win32: Honor INSTDIR specified on command line via /D
79   * win32: When running uninstaller in silent mode, always remove 
80     config and events files without prompting.
82   * win32: When logging events, convert LOG_CRIT to a WARNING rather
83          than an ERROR since apcupsd uses it for power events which aren't
84          really daemon errors.
87 3.14.8 -- 16 January 2010            (Maintenance Release)
89 NEW FEATURES
91   * Mac OS X version of apctray (apcagent) for monitoring apcupsd instances.
92     Same feature set as apctray on Windows (monitor multiple instances,
93     get detailed status and events logs). Popup notifications delivered via 
94     Growl, if available.
96   * Major update to win32 version of apctray. Includes many visual and 
97     usability improvements to match OS X version.
99   * apctest now supports battery calibration and self-test interval control
100     on USB models. Many thanks to James Belleau <james@belleau.net> for
101     contributing these features.
103   * New SNMP driver that does not require libsnmp.so, thus eliminating
104     issues with not finding the library during shutdown when /usr has
105     been unmounted. The new driver is the default for 'UPSTYPE snmp'.
106     The old driver is still available as "UPSTYPE netsnmp" if needed.
108 BUG FIXES
110    * Add missing NOMINV, NOMOUTV, and NOMPOWER to net clients
111    
112    * Fix missing WALL in apccontrol (debian bug #546019)
113      http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=546019
115    * Change all time/date strings to simplified ISO format: 
116      "YYYY-MM-DD HH:MM:SS +/-UTC"
118    * Fix battery voltage readout on "Back-UPS 500 FW: 6.3.I USB FW: c1"
120    * Remove obsolete image files from source tree
122    * Fix issues with popup.exe running when it shouldn't and sometimes
123      hanging and/or generating an "Interactive Services Dialog Detected"
124      error.
126    * Use /kill switch from the installer to shut down running instances
127      of apcupsd and apctray. This will provide more reliable termination
128      on Vista/Win7.
129      
130    * Update apctest to use 'Q' to exit any menu instead of a number that
131      is always changing. Contributed by James Belleau <jpbelleau@gmail.com>
133    * apctest:   Fix compiler warnings. Contributed by 
134      Andy O'Shaughnessy <andrewjoshaughnessy@gmail.com>
137 3.14.7 -- 31 July 2009               (Maintenance Release)
139 NEW FEATURES
141   * Multimon CGI programs are included with the Windows binary package
143 BUG FIXES
145   * Windows COM ports above COM9 now work without user needing to manually
146     add \\.\ UNC prefix in apcupsd.conf
148   * Fix configure script not noticing when C++ compiler is missing
150   * Fix for battery date (BATTDAT) displaying invalid values on USB models
152   * Fix version reporting in cgi and examples
154   * Misc documentation fixes for typos, etc.
157 3.14.6 -- 16 May 2009                (Maintenance Release)
159 NEW FEATURES
161   * Major updates to the User Manual. Rewritten battery maintenance section 
162     courtesy of Trevor Roydhouse <trev@sentry.org>. Many other updates
163     including the SmartUPS protocol and OS support sections. Furthermore,
164     the manual is now formatted in reStructuredText
165     (http://docutils.sourceforge.net/rst.html) and as a result is very 
166     easy to update. (The only down side is the multi-page HTML version is 
167     no longer available; the HTML version is all on a single page.)
169   * New manpages for apcupsd, apcupsd.conf, apctest, apcaccess, and 
170     apccontrol. Many thanks to Trevor Roydhouse <trev@sentry.org> for the
171     hard work!
173   * Support for QNX. Tested on QNX 6.3.2. Contributed by Mikhail
174     Gruzdev <michail.gruzdev@gmail.com>
176   * Add support for turning the UPS off completely. This complements 
177     existing hibernate (aka killpower) functionality. Turn-off is 
178     implemented for apcsmart and USB drivers, subject to support for the 
179     relevant commands in the UPS itself. Contributed by Keith Campbell 
180     <campbell@econnectix.com>.
182 BUG FIXES
184   * apcsmart: Deadlock fixes during comms failures. Contributed by Keith 
185     Campbell <campbell@econnectix.com>
187   * linux-usb: Fix out-of-bounds array access. Contributed by David Fries 
188     <david@fries.net>
190   * Fix build with gcc-4.4. Contributed by Michal Hlavinka <mhlavink@redhat.com>
191   
192   * apcsmart: Fix crash during process shutdown (SIGTERM). Contributed by 
193     Andrey Sharandakov <ash.ashway@gmail.com>
195   * Several other minor fixes and improvements. See ChangeLog for details.
198 3.14.5 -- 26 October 2008            (Maintenance Release)
200 BUG FIXES
202   * docs: Document the /refresh switch for apctray.
204   * apctest: Do not create pid file. There is little reason for it
205     since apctest is a command-line tool, not a daemon. Plus nothing
206     ever deletes the file so it interferes with apcupsd operation.
208   * gapcmon: Network connect timeout fix.
210   * Fix a few unsafe uses of sprintf and strcat.
212   * Makefile: Fix cgi build on OpenBSD. libgd on OpenBSD requires X_LIBS 
213     for libfreetype and libfontconfig.
215   * gapcmon: Iconify fixes for KDE
217   * Fix LOWBATT glitch handling bug that could cause us to act on a 
218     LOWBATT signal immediately instead of waiting for the debounce time.
220   * apctray: Improve multiple instance behavior for /add, /del, and
221     /kill on modern platforms (Win2K and newer).
223   * Support shutting down apcupsd instances running in other sessions
224     (such as terminal services or remote desktop sessions).
226   * Makefile: 'make install' fixes for first install on RedHat/SuSE.
228   * docs: PCNET minimum password length is 15 chars, default username 
229     is 'apc', no known way to change the username.
231   * Makefile: Fix dependency build errors on Darwin and other platforms.
232     ('echo -n' is not portable; use 'tr' to strip newline instead)
234   * RPMs: Automatically restart apcupsd when upgrading
237 3.14.4 -- 18 May 2008                (Maintenance Release)
239 MAJOR CHANGES
241   * Build system rewrite: All Makefiles have been rewritten from scratch.
242     Improvements include reliable dependencies, support for parallel make,
243     elimination of Makefile.in -> Makefile conversion, consistent use of
244     DESTDIR during 'make install', and pretty-printed output during builds.
245     
246     NEW BUILD SYSTEM NOTES
247       - GNU make is required. The configure script checks for this and tells
248         you how to invokve it (on some platforms it is 'gmake' instead of 
249         'make').
250       - Output during build is pretty-printed by default. To see more details,
251         use 'make VERBOSE=1' for output similar to the old build system. For
252         even more verbosity, use 'make VERBOSE=2'.
253       - Parallel builds work well. If you have a multiprocessor (or multicore)
254         system, try 'make -j<number-of-processors>' for the fastest possible
255         build.
257   * Built-in version of libgd for multimon cgi has been removed. The version
258     previously included in apcupsd was old and likely had security issues.
259     It is safer to use libgd from the target system. Therefore, your system
260     must provide libgd if you choose to build cgi now. Generally this is 
261     easy to achieve by installing a vendor-supplied package.
263   * Removal of NLS support: The NLS code was terribly bit-rotted with many
264     non-internationalized messages and almost every translated message was
265     incorrect. At this point the maintenance burden of keeping NLS support
266     building was deemed too high considering the small benefit it was able 
267     to provide.
269   * Powerflute has been disabled. It has been broken for the last several 
270     releases because it relied on an untrushworthy source of UPS status
271     (rawupsstats) which was itself removed. Powerflute could be converted to
272     use the standard NIS status mechanism and its source code remains in
273     the tree in case someone has the desire to contribute this code.
275 NEW FEATURES
277   * Add POLLTIME directive to control UPS polling interval. This directive
278     specifies the number of seconds to delay between polling the UPS for
279     status. Previously, NETTIME allowed this to be adjusted for network
280     connections only (snmp, pcnet, nis-net). POLLTIME configures the delay
281     for all connection types. NETTIME is accepted as a synonym for 
282     compatibility with old config files.
284 BUG FIXES
286   * gapcmon: Corrected the use of NOMPOWER and the calc of current usage
287     amount. Thanks to James Scott Jr <skoona@verizon.net>.
289   * Add a heuristic to fix up incorrect NOMINV or NOMOUTV. Some UPSes
290     (RS 500) report decivolts instead of volts. Reported by Kirill S.
291     Bychkov <yason@linklevel.net>.
293   * Various build fixes on Solaris and OpenSolaris. Thanks to James Dean
294     <jgmdean@gmail.com> for loaning me an ssh login on his OpenSolaris box.
296   * Fix hal policy file syntax. For some reason this blatantly  incorrect 
297     file actually works on RHEL5 (hal-0.5.8). Thanks to Andrew Telford 
298     <a.telford@ieee.org> for correcting it.
300   * Fix gapcmon build on OpenBSD.
302   * Fix BSD USB driver build.
304   * Fix default NIS port on Debian. Debian is now using the standard NIS 
305     port, 3551.  Contributed by imacat <imacat@mail.imacat.idv.tw>
308 3.14.3 -- 20 January 2008            (Maintenance Release)
310 NEW FEATURES
312   * A HAL policy file is automatically installed on Linux systems to disable
313     the hald-addon-hid-ups module which conflicts with apcupsd's control of
314     USB UPSes. The file is automatically removed when apcupsd is uninstalled.
316 BUG FIXES
318   * Add support for Nominal Power (aka Configured Active Power) reading.  
319     Credit to Lars Randers <lars@nstec.dk> for most of the code.
321   * Add units to NOMINV, NOMOUTV, and NOMBATTV stats.
323   * Eliminate "warning: deprecated conversion from string constant to
324     'char*'" warnings emitted from gcc-4.2.1 (earlier versions with
325     -Wwrite-strings). Contributed by Steve Yarmie <tribhuvanji@gmail.com>.
327   * Fix killpower and eeprom settings bug on USB models introduced when 
328     INPUT reports were prioritized over FEATURE reports.
330   * Fix bugs that could cause NIS-net driver to get stuck waiting for
331     comms to be restored instead of shutting down.
334 3.14.2 -- 15 September 2007          (Maintenance Release)
336 NEW FEATURES
338   * Tray icon support on Vista. Vista does not allow background services
339     to interact with the user's desktop, so winapcupsd's built-in tray
340     icon did not work.
342   * Tray icon is now a standalone application "apctray" which is capable of
343     monitoring multiple Apcupsd instances via Apcupsd's NIS. Any Apcupsd
344     running NIS can be monitored. By default the icon monitors a single
345     apcupsd at 127.0.0.1:3551. See command line options below for adding
346     additional monitors.
348   * Tray icon can be installed individually (disable other packages in the
349     installer) for users who want to use the icon only.
351   * Apctray command line options:
353        apctray.exe
354           - No parameters: Start any instances listed in registry. If no
355           instances in reg, start a default instance monitoring the local
356           machine (127.0.0.1:3551).
358        apctray.exe /host foo /port 3551 /add
359           - Add a monitor for the given host and port.
361        apctray.exe /host foo /port 3551 /del
362           - Remove the given monitor.
364        apctray.exe /del
365           - Remove all monitors.
367        apctray.exe /install
368           - Configure apctray to start automatically.
370        apctray.exe /remove
371           - Do not start automatically.
373        apctray.exe /kill
374           - Shut down apctray
376 BUG FIXES
378   * The win32 portions of winapcupsd have been almost entirely rewritten. 
379     The code is cleaner (mostly) and lots of unused baggage has been removed.
381   * USB fix for BackUPS LCD series. This fix carries a risk of breaking other
382     models, but test results are positive so far.
383   
384   * Fix linux-usb device detection bug when multiple hiddev nodes are
385     present.  Fixes Fedora Bugzilla #245864:
386     <https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=245864>
387   
388   * Fix SNMP port selection when using SNMP driver
390   * Add workaround for broken BackUPS Pro model that returns certain
391     reports encoded in ASCII. Based on a patch from David Fries
392     <David@Fries.net>.
394   * apcsmart: Wait 20 seconds before declaring COMMLOST. This is necessary
395     when using a smart serial cable on an UPS with an SNMP monitoring card
396     installed. The SNMP card appears to disrupt serial comms for several 
397     seconds when interesting events are in progress.
399   * Documentation updates: Fix up udev info for modern Linux distros.
400     Update Windows section for apctray.
402   * Don't leak unnecessary descriptors to child when execing apccontrol.
404   * Fix bug with multi-threaded net_open() calls. net_open() was using
405     a global buffer for the destination address. Yikes! Bug manifestied
406     itself in apctray with multiple monitors occasionally (and
407     timing-dependently) pointing to the wrong UPS.
409   * Correct multimon.conf humidity monitoring.  Problem fixed by
410     Patrick Frei.  Reference:
411     https://bugzilla.novell.com/show_bug.cgi?id=199834
413   * Fix race between attach_ups() and detach_ups() which could result
414     in the UPSINFO structure being freed prematurely. Thanks to James
415     Abbott <j.abbott@imperial.ac.uk> for running many tests to help me
416     find this bug.
418   * Remove dependency on libc++ (again). Must use gcc as linker when
419     using libsupc++ since g++ automatically links against full libc++.
422 3.14.1 -- 04 May 2007           (Maintenance Release)
424 NEW FEATURES
426   * MacOS X GUI installer
428   * PCNET driver supports remote shutdown request from UPS web interface
430 BUG FIXES
432   * (win32) Detect when balloon tips have been disabled via a group policy
433       and fall back on the standard popup message box.
435   * (win32) Fix typo: "%sbindir\%popup" -> "%sbindir%\popup" in apccontrol.bat
436       Discovered by Stefan.Hegnauer@elektrobit.com.
438   * (all) Fix potential NIS client lockup when server disappears. Many thanks
439       to Jan Ceuleers <jan.ceuleers@computer.org> for reporting the problem
440       and gathering data to track down the cause.
442   * (apctest) Fix link error after configuring with --disable-apcsmart.
444   * (doc) Document how to force ugen binding on NetBSD 4.x.
445       Contributed by Curt Sampson <cjs@starling-software.com>.
447   * (apctest) Fix crash when displaying EEPROM values more than once.
448       Contributed by Ivaylo Haratcherev <I.J.Haratcherev@tudelft.nl>.
450   * Increase self-test timeout to 40 seconds to accomodate the RS 800.
451       Contributed by Lars Randers <lars@nstec.dk>.
453   * (linux-usb) Rewrite device opening logic to be more reliable. See 
454       ChangeLog for details.
456   * (apcupsd) Do not attempt to cancel shutdowns.
459 3.14.0 -- 09 February 2007      (Feature Release)
461 NEW FEATURES
463   * USB support for 3 new platforms:
465         - Windows (Win98SE, WinME, Win2000, Win2003 Server, WinXP)
466         - Mac OS X (Darwin)
467         - Solaris 10 (x86 and SPARC)
469         Please see the Apcupsd manual for details on USB configuration for the
470         new platforms.
472   * Native Windows port
473   
474        The winapcupsd port has been completely rewritten to use native
475        Win32 libraries (based on MinGW32). It no longer relies on a Cygwin
476        translation layer, thus improving compatibility and performance.
478   * PowerChute Network Shutdown driver
479   
480        Apcupsd now supports the PowerChute Network Shutdown protocol (PCNET)
481        offered by the AP9617 family of smart slot modules. This protocol is
482        much lighter-weight than SNMP and offers better security. Please see 
483        the Apcupsd manual for details on PCNET configuration.
485   * GAPCMON GUI monitoring tool
486   
487        Apcupsd is now packaged with the GAPCMON GUI monitoring application
488        thanks to James Scott, Jr. This is a Gnome/GTK based application which
489        integrates into most desktop panels (not just Gnome). It monitors one or
490        more Apcupsd instances using Apcupsd's NIS networking server. The status
491        of each UPS is shown with a icon similar to the Win32 tray icon in 
492        winapcupsd. Enable building of gapcmon at compile time via 
493        --enable-gapcmon or install the apcupsd-gapcmon RPM.
495   * Unreliable MASTER/SLAVE networking mode is removed
496   
497        Yes, this is a feature. The old MASTER/SLAVE mode for shutting down
498        multiple servers from one UPS has historically been unreliable and prone
499        to loss of communications or lockups. Apcupsd has long had a replacement
500        networking mode using the NIS server (NIS stands for Network Information
501        Server, and has nothing to do with Sun's NIS/YP protocol). The NIS net
502        mode is very reliable and has none of the lockup bugs that have plagued 
503        MASTER/SLAVE mode.
504        
505        In 3.14.x, MASTER/SLAVE mode has been removed and the associated 
506        configuration directives are now obsolete. Please see the Apcupsd manual
507        for a very simple NIS networking configuration to replace MASTER/SLAVE.
509    * New configuration directives to set paths at runtime
511        Several new (optional) configuration directives have been added to 
512        allow overriding compiled-in paths at runtime. The directives are:
514           - SCRIPTDIR (sets location of apccontrol and event scripts)
515           - PWRFAILDIR (sets location where powerfail file will be written)
516           - NOLOGINDIR (set location where nologin file will be written)
518        These directives can be used to rearrange the Apcupsd installation
519        after compiling, or to run multiple Apcupsd instances on the
520        same machine without compiling separate copies.
522        See the Apcupsd manual for details on these new directives.