
CHANGELOG
==========

2003-11-12  0.5.6 (public release)

2003-11-09  0.5.5-7
       * moved foreign code from inputhandler.c to
	 new module_system.c
       * man pages updated
       * german language files updated

2003-11-08  0.5.5-6
       * Added filter reset in module_pmac to prevent
	 errornous battery warning due to transient
    	 oscillation ot the filtered time remaining.
       * added function to unregister inputhandler again.
       * extend keyboard event device scanning so that
         it becomes able to rescan the devices to get
	  changes.
       * connect rescan of event devices to the HUP signal.
       * add option for enabling automatic rescan every
	 5 seconds.

2003-11-04  0.5.5-5
       * warnlevel 0 wasn't send if woke up with
         recharged battery - fixed.
       * add error message E_NOSUPPORT for requested
         but not supported functions. module_peep.c
    	 and pbbcmd updated.
       * setting EMA_SLEEP with no sleep support will
         cause an error message now.
       * TAG_DIMFULLYDARK in module_display added.
       * module_powersave: screen off instead of sleep
         didn't work correctly because a broken keyboard
    	 handler - fixed.
       * TAG_ONACCOVERSLEEP and TAG_ONBATTERYCOVERSLEEP
         added to make behaviour after cover closed
    	 independently configurable.
       * TAG_ONACBLANK and TAG_ONBATTERYBLANK removed.
       * play a beep every 30 seconds when the screen is
         dark so the user knows the machine is still alive.
       * allow sleepkey also if sleep is not supported
         (dsplay will switch off in this case).

2003-11-01  0.5.5-4
       * update battery status and warnlevel in module
         poversave after wakeup.
       * Send battery warnlevel 0 to clients after we
         had a warnlevel greater than zero and the
    	 AC connecter was plugged in.

2003-10-31  0.5.5-3
       * insert 1s delay between sending 'going to sleep'
	 signal and entering sleep mode to give clients
	 enough time to process the signal. This delay only
	 occur at sleep requests comming from the sleepkey.

2003-10-30  0.5.5-2
       * New option 'FadingSpeed' and new Tag TAG_FADINGSPEED
	 added for module_display.
       * added 10ms timer callback for module_display.
       * brightness could be faded up and down smoothly now.
         the timer callback is in control for that.

2003-10-29  0.5.5-1
       * collect all keyboard event devices now not only
	 the internal keyboard and the button device.
       * openeventdev() removed
       * moved open event devices to inputhandler.c
       * MAXINPUTS increased from 4 to 8

2003-10-06  0.5.5 (public release)
       * fix ipc_exit() to hande parent and child correctly

2003-10-02  0.5.4d
       * unused include file pbblib.h removed
       * artefacs from init.c removed
       * added optional pidfile argument for command
         line switch '-d'
       * ordered help text a little bit
       * rewrite the daemonise code. A welcome message will
         always be printed to console now and additionally
         written to the log file if running as daemon.
       * the pid of the daemon will be written to /var/run/.
       * updated debian startscript for server.

2003-10-01  0.5.4c
       * added two functions in libpbb: find_tagitem() and
         taglist_count()
       * update key & modifier functions in configfile.c
       * empty filename will be accepted now. Empty names
         for devices and symlinks are still not allowed.
       * implemented support for ejecting a CDROM. The external
         program 'eject' isn't necessary anymore.
       * trap empty script names in call_script() in support.c

2003-09-24  0.5.4b
       * processing the configuration at startup launches some
         empty scripts - fixed
       * lauching the power changed script at startup broken
         - fixed.
       * got rid of system() call, replaced by more secure
         launch_program() in pbb_misc.c.
       * ordered some mess with fixed buffer length
       * use geteuid() for security checks instead of getuid()
       * remove TAG_SLEEPINSECONDS from pbbcmd.c

2003-09-23  0.5.4a
       * power profile did not change after changing powersource
         during sleep. Thanks to Stephan Helma
       * fix for Makefile.am. Thanks to Stephan Helma
       * preparations to handle more than Apple Laptops
       * strcmp_nocase() in pbb_misc.c replaced by strcasecmp()
         in libc. code cleanup in pbbcmd and pbbuttonsd.

2003-09-13  0.5.4 (public release)
       * some internationalising in module_peep
       * package pbbcmd integrated in pbbuttonsd. Pbbcmd makes
         no sense as independent package.
       * config.h missing in some sourcefiles - fixed
       * problems with translating comment for configfile - fixed

2003-09-10  0.5.3g
       * after awake from sleep some data in module_poversave
         wasn't immediately updated. It operates up to 100ms
 	 with old data. This could have caused different strange
	 behaviour like shutdown or sleep immediately after
	 the machine has awaken or shutdown after last battery
	 warning even though the AC connector has been plugged
	 in recently (debian bug #183614) - fixed.
       * script arguments for SCRIPT_PROFCHANGED changed:
         the arguments 'ac' and 'battery' were replaced by
	 'profile'. A second argument containing the powersource
 	 was added.
       * TAG_TIMEREMAINING and TAG_POWERSOURCE distangled,
         because config and query operations with this tags were
 	 done by two different modules, which causes responsibility
 	 problems. To keep compatibility to existing clients,
 	 the tag values weren't changed. But this have to be done
 	 in an later restructuring of the interfaces.

2003-09-09  0.5.3f
       * mark TAG_BRIGHTNESSOP and TAG_COVERSTATUS as private
       * some code cleanup in display module   (5 to go)
       * some code cleanup in input manager    (4 to go)
       * some code cleanup in module ossmixer  (3 to go)
       * some code cleanup in module cdrom     (2 to go)
       * some code cleanup in module pmac      (1 to go)
       * some code cleanup in module poversave ( done  )
       * preventing TAG_TIMEREMAINING from sending if AC power
         is connected. In conjunction with changing default
 	 low battery emergency behaviour the 'laptop halted'
 	 problem (debian bug #183614) should be solved.

2003-09-08  0.5.3e
       * empty strings in configfile causes segfault - fixed.
       * typo in framebuffer device default setting - fixed
       * configfile could be saved now (/var/lib/pbbuttons/).

2003-09-07  0.5.3d
       * some code restructuring in input manager. moved some code
         from pbbuttonsd.c to input_manager.c to make custom
 	 input managers possible.
       * moved the timer code from pbbuttonsd.c to input_manager.c
       * some general code cleanup
       * work around for kernel problem: booting without batteries
         connected in module_pmac.c#pmac_update_batteryinfo()
 	 implemented.

2003-09-06  0.5.3c
       * bug in warning level calculation makes it impossible
         to step a warninglevel up again - fixed.
       * powerwait and powerokwait implemented. SIGPWR to the
         init process works.
       * IPC signals routed through the module_peep for debugging
         This is only active if compiled with DEBUG.
       * TAG_IDENTITY added. The identity string is printed to
         console at pbbuttonsd startup.
       * The profile-changed-script and HDSetup-script will now
         be started at pbbuttonsd startup to do initial settings.
       * removed default settings for script_batcritical. Default
         emergency behaviour is now sleep. No shutdown anymore
	 unless it's explicit configured.
       * scripts were now checked for permissions and owner to
         improve security.

2003-09-05  0.5.3b
       * TAG_ONBATTERYCRITICALSLEEP removed and replaced by
         TAG_EMERGENCYACTION with four commands: EMA_SLEEP,
         EMA_SIGNAL and EMA_COMMAND.
       * Signal to INIT process integrated. It uses first the new
         method via /dev/initctl and second if that failed the old
         method via /etc/powerstatus.
       * Module_peep writes a battery profile in
         /var/lib/pbbuttons/xxx_battery.log. This is only active
	 if compiled with DEBUG.

2003-09-04  0.5.3a
       * ToDo List updated
       * Changed to new Version of autoconf/automake. The header
         acconfig.h was removed

2003-04-13  0.5.3a
       * The CDROM device could be missing now. The check at
         startup has been adjusted.

2003-03-16  0.5.3
       * sleepkeydelay works again
       * sleepkeydelay and ejectcdkeydelay changed to use
         time periods in miliseconds instead of counting
         repeating keys. (debian bug #164882).
       * typo in option EjectCDKeyDelay in configfile - fixed
         (debian bug #184323)
       * option MixerChannels added to control which channels
         should be controlled by the volume keys (debian bug
         #176000).
       * pbbuttonsd failed if the mixer device didn't exist
         even if mixer_delayed was set. This problem occured
         with devfs. Now, if mixer_delayed was set, a missing
         mixer device wouldn't cause an error messages or
         hinder pbbuttonsd to startup (debian bug #182218).
       * EjectCDKey in default config file set again to 161.
         This is the correct value for iBooks.
       * option 'userallowed' added to imrove security of the
         ipc-interface (debian bug #164881). First step done.
         maybe further steps will follow.

2002-12-22  0.5.2b
       * config file option 'replace_pmud' did nothing, fixed.

2002-10-13  0.5.2a
       * new include file pbbinput.h to add brightness keys
         to make compiling with older kernels possible.

2002-10-03  0.5.2
       * documentation updated
       * catalogs updated

2002-08-24  0.5.1a
       * code changed to use the new library libpbb
       * code cleanup regarding error messages
       * TAG_SLEEPINSECONDS was mistakenly marked as private
         -> fixed
       * Sleepmessages were sent to clients even though the
         machine doesn't support sleep mode -> fixed

2002-07-22  0.5.0p
       * powersave: changed 10ms functions to 100ms interval
         10ms timer removed
       * effect of sleeplocks reorganised, priority reduced
       * display: added framebuffer blank and the Tags
       * TAG_FRAMEBUFFERDEVICE and TAG_BLANKFRAMEBUFFER to
         control this function.

2002-07-10  0.5.0p
       * implemented sleeplocks for cpuload and netload

2002-07-07  0.5.0p
       * implement new improved error management for Tags
       * the exitcode gives detailed information about the
         malfunction.

2002-07-05  0.5.0p
       * security improvement: scripts are only changable by
         the effective process owner of pbbuttonsd.

2002-07-03  0.5.0p
       * pmac: fixed cover status and OHARE button level
         evaluation.

2002-07-02  0.5.0p
       * powersave: script for profile change implemented
       * powersave: script for HD setup implemented
       * powersave, pmac: TAG_PREPAREFORSLEEP and
         TAG_WAKEUPFROMSLEEP added
       * peep: TAG_PREPAREFORSLEEP, TAG_WAKEUPFROMSLEEP,
         TAG_SCRIPT_PROFCHANGED and TAG_SCRIPT_HDSETUP added

2002-06-30  0.5.0p
       * module test renamed to peep and bound to compile
         option DEBUG.
       * added TAG_SKIP to list in module_peep.

2002-06-25  0.5.0p
       * main loop changed. return code <0 from select()
         won't abort the program anymore. Signal handling is
         done instead.
       * SIGHUP implemented.
       * config table in read_configfile() set to static due
         to a segfault on receiving SIGHUP.
       * added filter for internal private tags in
         IPC-receive()

2002-05-06  0.5.0p
       * start of pbbuttonsd restructuring.

2002-05-05  0.4.9
       * new IPC commands to support new PowerPrefs features

2002-05-01  0.4.8p
       * added check if sleep is supported
       * added option 'blank_screen' as alternative to sleep
       * cleanup sleep code

2002-04-28  0.4.8p
       * added feature to save the configuration via
         PowerPrefs
       * mouse input was ignored if started with sleep
         disabled and would be enabled later on.
       * added italian translation file, Thanks to Gioele
         Barabucci <dev@gioelebarabucci.com>

2002-04-20  0.4.8
       * public release

2002-04-17  0.4.7p
       * fixed a bad behaviour with manually set backlight
         level of zero.
       * fixed another problem in battery status routines
         and warning level calculation.

2002-04-14  0.4.7p
       * fixed a bug in time remaining calculation with more
         than one battery. Implemented an work-around for a
         kernel problem. Thanks to Michael G Schwern
         <schwern@pobox.com>

2002-04-09  0.4.7
       * another bugfix in calculation of battery warnlevels
         thanks to Vincent Katz <vincent.katz@laposte.net>
       * warning added if kernel doesn't support /proc/pmu
       * configfile will now be read from sysconfdir defined
         by ./configure rather than hard-coded from /etc
       * Makefile adapted to adjustable config file location
         thanks to Uwe Steinmann <uwe.steinmann@fernuni-hagen.de>
         and to Ralf Ertzinger <ralf@camperquake.de>

2002-04-07  0.4.7
       * added commands to get and set trackpad, keyboard
         and pbbuttonsd configuration. Preparation for new
         client PowerPrefs.

2002-04-03  0.4.6
       * bugfix in calculation of battery warnlevels

2002-03-31  0.4.5
       * swaped the configuration from command line to a
         configuration file.
       * tpmode and snooze keys are now configurable
       * the delay of the snooze key could be disabled now

2002-03-24  0.4.5
       * some code cleanup in event.c
       * Test added in do_delayed_jobs() if user released
         any keys before perform trackpad configuration or
         trigger sleep mode.

2002-03-23  0.4.5
       * If battery is critically low, the machine will be
         shut down.
       * The keyboard settings are now kept during sleep
         (only Powerbooks G3/G4 that support this)
       * The trackpad mode could now be toogled with
         alt+brightnesskeys (up/down).
       * with alt+mute the sleep mode could be triggered
         (delayed key, press 3-4 seconds).
       * problem with delayed keys fixed

2002-03-17  0.4.4
       * If the machine is idle first the display will be
         dimmed and after some additional idle time it will
         go to sleep
       * add command line switch '-n (nosleep)' to disable
         the dim/sleep feature on user demand.

2002-03-15  0.4.3
       * add the command line switch '-e' which causes that
         the eject key has to be constantly pressed for 3-4
         seconds to react.
       * put some flags into an bitfield.

2002-03-08  0.4.3
       * program returns now positive error codes
       * if started as daemon, error messages would be
         redirected to SYSLOG
       * pbbuttonsd reads battery states now from /proc/pmu.
         this should work on every supported machine.

2002-03-07  0.4.2a
       * fixed a problem with the exit code.
       * fixed serious bug that caused a segfault when the
         program exited (Thanks to Geof)

2002-03-06  0.4.2
       * The server was put to a separate package.
       * removed package name from package data directory
       * adapt some texts to the new package name
       * update the documentation
       * open mixer device only if needed. Calculate
         hardware independent volume values by myself.

------------------------------------------------------------------------

2002-03-03
       * Server calculates battery warnlevels and sends
         alarm messages to clients.
       * little sequencing problem with detach option in
         client and server fixed.
       * Client displays battery warnings now.
       * Client got the option to play a sound during volume
         adjustment or play alarm sound at battery warnings.

2002-02-28  0.4.1
       * Server sends exit-message to clients, when it exits.
       * Client exited, if it receives the exit-message.
       * Server polls the pmu and collects data about the
         cover, the states of the batteries, the volume and
         brightness buttons and pmu version. Pollcycle was
         reduced from 100ms to 10ms.

2002-02-26  0.4
       * package divided into client and server. The server
         could run as root and the client could run as user.
         The communication is done via SystemV IPC messages.
       * low level IPC functions were exported to a static
         library.
       * the directory structure was reorganized
       * newly created and updated man pages for client and
         server

2002-02-22  0.3.3
       * mixer code reworked to fix some problems with newer
         PowerMac sound hardware, especially iBook2 and new
         TiBooks.
       * changed lockfile name to a more conventional one.
       * backlight control adapted to new kernel features.
         Since 2.4.18-rc2-benh the PPC branch of the kernel
         allow backlight control trough user space programs.
         In this context the default keycodes for brightness
         control changed to new kernel defined values. Thanks
         to Ben Herrenschmidt <benh@kernel.crashing.org>

2002-02-21  0.3.2
       * changed mixer code for verification trough beta
         testers.

2002-02-20  0.3.1
       * added new comand line switch 'd --detach', so
         PBButtons could be started now as background
         process.
       * running PBButtons as daemon causes high CPU time
         consuming - fixed. Thanks to Uwe Steinmann
         <steinm@majestix.fernuni-hagen.de>.
       * PBButtons now would use alternative PMU and Mixer
         devices, if specified. exchanged hard wired device
         names with dynamic ones.
       * fixed some problems, if compiled with optimization
         switched on.

2002-02-18  0.3
       * added I18N support with GNU gettext
       * added setup-script to check and setup used devices
         and directories with suitable user permissions.

2002-02-16  0.2.1
       * PBButtons works now with ALSA 0.9.x via OSS
         emulation. The mixer device must not to be closed
         after each adjustment. If so the ALSA OSS-emu mixer
         would forget the device independent volume levels.
         The mixer device will now be kept open while the
         program is running.

2002-02-14  0.2
       * program take care about multiply instances.
       * defined exit procedure via sighandlers.
       * improved error handling.
       * general code cleanup
       * work with ALSA stable (0.5.x) via OSS emulation
       * devices, keycodes and lockfile are now configurable
         via comand line

2002-02-06  0.1
       * inital release
       
