mod_bmx 1.0.0 STATUS:                                          -*-text-*-

Releases:

* 0.9.5 - Tagged RC6 2012-06-30
* 0.9.4 - Tagged RC5 2012-06-25
* 0.9.3 - Tagged RC4 2012-03-14
* 0.9.2 - Tagged RC3 2012-03-01
* 0.9.1 - Tagged RC2 2007-11-05
* 0.9.0 - Tagged RC1 2007-10-29
* 0.4.2 - Tagged Beta 2007-10-26
* 0.4.1 - Tagged Beta 2007-09-21
* 0.4.0 - Tagged Beta 2007-09-21
* 0.3.4 - Tagged Beta 2007-09-10
* 0.3.3 - Tagged Beta 2007-09-05
* 0.3.2 - Tagged Beta 2007-08-29
* 0.3.1 - Tagged Beta 2007-08-28
* 0.3.0 - Tagged Alpha 2007-08-22
* 0.2.1 - Not Tagged or Released.
* 0.2.0 - Tagged Alpha 2007-07-30
* 0.1.0 - Tagged Alpha 2007-07-23
* 0.1.0 - Tagged Alpha 2007-07-21


Release Showstoppers:

Wishlist for 1.0.0 release:

* Drop duplicate 'global' record keeping; either the caller or bmx/status
  reporting sections should sum that tally, reducing the lock hold time.

* Format mod_status html output to represent mod_bmx_vhost data within
  the server-status generator.  Perhaps allow query of named host/port
  from mod_status query args, much as the bmx handler provides.

* Better data collection by request method and response types, quite limited
  today in recognized buckets.

* Correct request data collection; missing HTTP request/header byte counts. 

* Adopt socache APIs for storing persistent data, such as selection between
  a DBM or SHM, for httpd 2.4 and beyond.  Use this as well in 2.2 if the
  user toggles the option (as socache modules have been backported).

* Adopt ap_mutex management for transparent selection of locking mechanics
  for httpd 2.4 and beyond.  Use this as well in 2.2 if user toggles the
  option (as the mod_mutex backport provides this option).

Wishlist:

* Add support for disabling/enabling for particular VHosts in mod_bmx_vhost.

* Figure out a way to improve efficiency of bmx_vhost recorder so it doesn't
  serialize all requests (since now they all depend on the same lock).
  Solving this will improve overall server scalability.

* Server generation logic may require more thought for Event and other new
  asynchronous MPMs; c.f. the current state of mod_status for validation.

* Implement plugin interface to allow new response syntaxes, such as XML.
  (Currently it only supports a text/plain properties-style response.

* Implement XML response type?

DONE:

* Implement mod_bmx_vhost, a replacement for the per-server information
  provided by mod_snmp.

* Added mod_bmx_status to report on mod_status-like information.

* Added mod_bmx_example example BMX plugin that demonstrates proper
  implementation of an BMX plugin.

* Added mod_bmx.c core module that supports basic query syntax, provides
  an bmx hook for query processing in plugins, and other utility routines.

* Implement mod_bmx_vhost parameters needed by Hyperic.

* Avoid using '*' to mean ANY, as in mod_bmx_vhost:Port=*, since '*' is
  a reserved character in Java's JMX (which we try to emulate).

* Made DBM filenames and DBM Lock filenames in mod_bmx_vhost relative to
  the server root directory.

Version 0.3.3:

* Fixed portability problem with mod_bmx_status where it was using
  the symbol ap_get_server_description that is only available in Apache 2.4.

Version 0.3.4:

* Added a bean property for mod_bmx_status when ExtendedStatus is enabled
  in the server config. It will now add the Type=Extended or Type=Normal
  as needed.

* Fixed config.nice to work with autoconf, so that it now properly preserves
  the configure parameters.

Version 0.4.0:

* Get rid of non-portable primitive bean property types and start using
  APR's portable types (int and uint for 16/32/64). Also add a "byte" type
  that prints as an unsigned char (0-255).

* Add StartDate, StartTime and StartElapsed to mod_bmx_vhost output that
  show when the record was originally created and how much time has passed
  since then.

* Added an BMX_NULL bean property type to allow for value-less properties.

* Added a new type of mod_bmx_vhost:Type=info bean for each vhost that
  contains the vhost's ServerName (including port), any ServerAliases
  and the applicable Listen addresses. The global vhost does not have
  a Type=info bean.

* Changed the mod_bmx_vhost bean attribute "ServerName" to "Host" to
  avoid confusion with the slightly different ServerName Apache config
  directive.

Version 0.4.1:

* Use "1" instead of "true" in mod_bmx_example's boolean bean property
  for portability.

Version 0.4.2:

* Added BMXVHostDBMFilename and BMXVHostLockFilename configuration directives
  to allow the user to control where the data and lock file resources are
  placed.

* Added doxygen support, and a new "make docs" target.

* Added INSTALL.txt to describe installation and configuration, and
  some typical usage examples.

* Added detailed documentation to the README.txt to describe the
  project and the various components, as well as terminology. Also
  included an API description, and the Query Syntax details.

Version 0.9.0:

* Added a lot of new source code comments in various places, an in particular
  to the mod_bmx_vhost and mod_bmx_example modules.

* Added notes about building PDF documentation.

* Changed Doxygen config to include all sources for better API documentation
  information.

Version 0.9.1:

* Renamed from XMX to BMX (Basic Management Extensions).

* Changed Copyright for "Hyperic, LLC" to "Hyperic, Inc."

Version 0.9.3:

* Register mod_bmx in the Server tokens

* Report server_description as ServerVersion from 2.2.4 onwards.

* Add httpd 2.4 logging control

* Support httpd 2.4 server generation logic

* Refactor unix build for ./configure.apxs or in-tree as part of httpd

* Introduce windows build schema, mod_bmx BMX_DECLARE exports

Version 0.9.4:

* Correct ownership of dbm files and mutex for access by the worker processes

* Test-access the mutex in addition to the dbm during config preflight

* Avoid resetting data during a configtest or failed preflight

* Modified 2.4 test for server startup, since scoreboard didn't exist yet
  (corrects a regression in 0.9.3 for all httpd versions)

* Introduced mod_status output hook facilities (emits no output, yet).

Version 0.9.5:

* Refactored startup hook code for legibility, and to hunt for a crash-bug
  startup regression in the post-config 0.9.4 code at optimization level -O3.


