
CHANGELOG
==========

2004-01-18  0.5.8   (public release)

2004-01-17  0.5.7-4
	* check for root added in module loader code in
	  input_manager.c.
	* autogen.sh modified to cope with gettext 0.11.3 and
	  above and also with its predecessors. First update
	  had problems.
	* Add new option 'HeartbeatBeep' in module powersave.c.
	  Configfile and man-page updated.
	* New option also added to pbbcmd.
	* moved to gettext 0.13.1

2004-01-08  0.5.7-3
	* added code to input_manager.c to load the kernel module
	  evdev if neseccary. Thanks to Wolfram Quester
	  <wolfi@mittelerde.physik.uni-konstanz.de> for the patch.
	* updated german language file

2003-12-29  0.5.7-2
	* configure.in and /po changed to work also if GNU gettext
	  version >0.11.3 is installed. New version of autogen.sh

2003-12-27  0.5.7-1
	* After wake up with closed cover the machine didn't go
	  to sleep again - fixed. This happens for eg. when USB
	  devices are connected/disconnected during sleep.

2003-12-19  0.5.7  (public release)

2003-12-11  0.5.6-4
	* libmisc.c uses C++ keywords that causes a compile
	  conflict with C++ compilers - fixed.

2003-12-05  0.5.6-3
	* the new options onXX_coversleep weren't read
	  from configfile - fixed
	* timout for scripts was to short - extended to four
	  seconds.
	* scan_for_kbdevdevs() did't close all file
	  handles - fixed.

2003-11-17  0.5.6-2
	* module_pmac.c reads flags from /proc/pmu/battery_%
	  as decimal instead of hexadecimal. This could lead
	  to wrong charging detection - fixed.

2003-11-13  0.5.6-1
	* configure flag --with-pmud added to decide
	  at compile time to use pmud or not.
	* option 'replace_pmud' removed. pmud support
	  have to compiled in now. Default is compiling
	  without pmud support.

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
	
