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)
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
33 3.14.9 -- 22 July 2011 (Maintenance Release)
38 - Autodetection of MIB and community if they are not specified in
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
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
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
73 * usb: Add support for DALARM
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
87 3.14.8 -- 16 January 2010 (Maintenance Release)
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
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.
110 * Add missing NOMINV, NOMOUTV, and NOMPOWER to net clients
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"
126 * Use /kill switch from the installer to shut down running instances
127 of apcupsd and apctray. This will provide more reliable termination
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)
141 * Multimon CGI programs are included with the Windows binary package
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)
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
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>.
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
190 * Fix build with gcc-4.4. Contributed by Michal Hlavinka <mhlavink@redhat.com>
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)
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)
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.
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
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
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
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.
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.
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)
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.
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)
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
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
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:
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.
365 - Remove all monitors.
368 - Configure apctray to start automatically.
371 - Do not start automatically.
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.
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>
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
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
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)
426 * MacOS X GUI installer
428 * PCNET driver supports remote shutdown request from UPS web interface
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)
463 * USB support for 3 new platforms:
465 - Windows (Win98SE, WinME, Win2000, Win2003 Server, WinXP)
467 - Solaris 10 (x86 and SPARC)
469 Please see the Apcupsd manual for details on USB configuration for the
472 * Native Windows port
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
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
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
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
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.