OpenPlugin Changelog                                    http://openthought.net
                                                        eric at openthought.net

Key:
* An internal code change or bugfix, this shouldn't affect existing code
** An optional feature has been added that is probably worth checking out
*** This is a new feature that will likely require a change in your code

Changes since 0.08
------------------

* Fixed a problem where using the CGI driver together with
OpenPlugin::Application caused an infinite loop.  Yikes.

* Fixed a problem with the return value of
OpenPlugin::CGI::HttpHeader::send_outgoing.  It should not return anything, but
had been returning true (1).

* There were some nasty problems with the CGI drivers that slipped through,
those should be fixed now.

* Fixed a problem in OpenPlugin::Upload::CGI where upload() was being called on
the wrong object.

** Provided aliases for some common functions in the
cookie/httpheader/param/upload plugins. The sub get() is now an alias for
get_incoming(), set() is an alias for set_outgoing(), and send() is an alias
for send_outgoing().

** Created an init parameter which can be used to override certain defaults


Changes since 0.06
------------------

* Refactored the entire OpenPlugin engine.  Theoretically, it should still work
the same, but it's much easier to read.

* The httpheader plugin was not properly checking to see if there are outgoing
cookies, and always thought there were.  That should be fixed now.

* There was a bug with passing in an existing CGI object, that should work now.

* Fixed directory creation problem with the OpenPlugin::Session::Apache module
running under taint mode.

* Moved some code in the main Apache Session driver module into the init
method, that should make sessions a bit faster.

* Changed the internal logging for OpenPlugin to utilize the improved logging
features (namely, Log4perl).

* Sessions weren't being properly instanciated, unless you explicitely called
create(), which should be unnecessary.

* Now untainting the session_id when calling delete().

* Numerous internal cleanups and improvements

** Created the Request plugin, which acts as a parent plugin to Cookie,
HttpHeader, Param, and Upload.

** Any plugin may now use multiple drivers.  Using
"$OP->authenticate->authenticate('user', 'pass')" implies usage of a default
driver (whatever you define 'default' as), and
"$OP->authenticate('DBI')->authenticate('user', 'pass')" would use the DBI
driver.

** Now works properly under Perl 5.005_03, it used to only work on versions
5.6.0 and above.

** Major renovations to the installation script.  It now allows you to pick and
choose which drivers to install.

** Significant documentation updates.

** Update the code and docs for the Exception module.  All the functions
available in it should now work as advertised.

*** Expanded the capabilities of the logging facility, and added a new log
driver called 'Log4perl'.  This driver, as you might expect, uses
Log::Log4perl.  In doing so, OpenPlugin's log interface has changed to be more
like Log4perl's.  The old 'log' function will continue to work for this
release, but is deprecated.

*** Changed the name of the Apache::Session driver from Apache to ApacheSession.
I don't want anyone to think that the driver is mod_perl only.

*** Improved the namespace of parameters passed to OpenPlugin's new() method.
This makes a lot of things better, but unfortunatly breaks existing
applications.  For example, when being used under mod_perl, instead of saying
something like $OP = OpenPlugin->new( $config_src, { apache_req => $r }, you
will now say $OP = OpenPlugin->new( config => { src => $src }, request =>
{ apache => $r } );

*** The OpenPlugin::Application plugin now makes proper use of
CGI::Application.  In doing so, the method of passing in parameters has changed
slightly.  Instanciating an OpenPlugin::Application object will now look
something like:  my $app = MyApp->new( PARAMS => { config => { src =>
/path/to/OpenPlugin.conf } } );.  The difference is the use of the PARAMS key.


Changes since 0.05
------------------

* Moved duplicate functionality from the config drivers to the config plugin

* Moved duplicate functionality from the log drivers to the log plugin

* Fixed bug in cookie where the domain was not being set

* Fixed bug where an id would sometimes not be generated for the cache plugin

** Created an OpenPlugin.conf file for OpenPlugin related configuration data

** Added a 'conf' driver to the Config plugin, using the Config::General
module (which does Apache style configs)

** Added 24 new tests to the test suite

** Added a delete() method to cache and session


Changes since 0.04
------------------

* More fixes to the exception handling

** Huge additions to the documentation (but there still isn't enough!)

*** Reworked the API for sessions and caching, the two are now uniform, and
they make much more sense.


Changes since 0.03
------------------

* When a driver is loaded, it's init() function is called if it has one

* Fixed up the exception handling plugin, it now works as it should

** Many additions to the documentation

** Created a module called OpenPlugin::Application, modeled after CGI::App

** Implemented Upload plugin

** Implemented Apache driver for Upload plugin

** Implemented DBI authentication driver

*** Major restructuring and bugfixes to Param, Httpheader, and Cookie

*** Datasource no longer returns a status, but instead throws an exception if
there is a problem


Changes since 0.02
------------------

* Fixed a bunch of bugs

** Created a working implementation for all base plugins

** Added to documentation


Changes since 0.01
------------------

** Have a working implementation of most desired plugins.

** Created at least one driver for every plugin


0.01  Sun Oct 28 21:59:30 EST 2001
----------------------------------

* Testing version, not much to see here.