The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Blosxom::Plugin.

0.02004  Nov 27th, 2012
  - component_base_class() defaults to 'Blosxom::Plugin'
  - mk_accessors() takes the same argument
    as Class::Accessors::mk_accessors() does:

      __PACKAGE__->mk_accessors(qw/foo bar car/);

    When you specify the default value of the field,
    you must pass a hash reference explicitly:

      __PACKAGE__->mk_accessors( 'foo' => \&default );
      # become
      __PACKAGE__->mk_accessors({ 'foo' => \&default });

  - Add add_component() which can be used to load additional components
    while loading components. If the added component has been loaded
    already, that component will not be loaded again to avoid loading
    components recursively.
  - Blosxom::Plugin::Web* will be removed in 0.03
    because you can "use CGI;" simply in your plugins ;)

0.02003  Nov 24th, 2012
  - Requires CGI.pm 3.51 or higher. Thanks to CPAN testers :)
  - Components don't need to inherit from Blosxom::Component any more.
    Blosxom::Plugin exports init(), requires() and mk_accessors():

      package MyComponent;
      use Blosxom::Plugin;
      # init(), requires() and mk_accessors() are available

    and so Blosxom::Component is obsolete and will be removed in 0.03.
  - In addition, Blosxom::Component::DataSection will be renamed to
    Blosxom::Plugin::DataSection again. Sorry for confusing changes :(

0.02002  Nov 3rd, 2012
  - [Component] add requires()

0.02001  Oct 31st, 2012
  - Must pass a code reference to add_method
  - [Blosxom::Component] add mk_accessors()

0.02000  Oct 27th, 2012
  - Rename Blosxom::Plugin::DataSection to Blosxom::Component::DataSection
    (sorry for the incovenience)
    Components doesn't need to call add_method() explicitly
    if they inherit from Blosxom::Component
  - Add component_base_class()

0.01004  Oct 23rd, 2012
  - initial release
  - [DataSection] add data_section_names()

0.01003  Oct 22nd, 2012
  - add add_attribute()
  - [Web::Response] removed

0.01002  Oct 19th, 2012
  - add mk_accessors()

0.01001  Oct 17th, 2012
  - [DataSection] add merge_data_section_into()

0.01000  Oct 14th, 2012
  - load_components() doesn't add_method() when the named method is defined
    by the context class, and also throws an exception
    when a method name conflicts with each other
  - [DataSection] rename data_section() to get_data_section()
  - [Core] renamed to Web.pm
  - [Util] removed

0.00010  Aug 27th, 2012
  - Blosxom::Plugin should be orthogonal to blosxom.cgi.
    Methods which depend on $blosxom::* will be removed gradually
  - Localize add_method()
  - load_components() calls init() instead of begin()
    when loads components
  - [DataSection] Doesn't merge __DATA__ into Blosxom default templates
    any more
  - [Request] Remove date() and flavour(). path_info() and base() haven't
    been implemented yet
  - [Core] render() and get_template() are deprecated

0.00009  Aug 18th, 2012
  - Remove load_plugin(). Rename load_plugins() to load_components()
  - Add Blosxom::Plugin::Core and Blosxom::Plugin::DataSection
  - render() receives basename, not raw template

0.00008  Aug 13th, 2012
  - Add file() to Fh (See CGI.pm)
  - Rename interpolate() to render() because 'interpolate'
    is one of reserved methods 
  - [Response] Capture cgi_error()

0.00007  Aug 8th, 2012
  - Add interpolate() and get_template()
  - [Request]
        * Add date()
        * path_info() returns a value of $blosxom::path_info
  - [Request::Upload]
        * fh() returns a raw file handle
        * Add header()

0.00006  Aug 6th, 2012
  - [Response]
        * Rename cookies() to cookie()
  - [Request]
        * Rename server_protocol() to protocol()
        * Rename cookies() to cookie()
        * Add base(), is_secure(), header()
  - [Request::Upload]
        * fh() returns an IO::File object
  - [Util] Add encode_html()

0.00005  Jul 14th, 2012
  - Add Blosxom::Plugin::Request::Upload

0.00004  Jul 14th, 2012
  - [Request] Add user(), server_protocol() and uploads()
  - [Response] body() become mutable
  - tests requires Data::Section::Simple

0.00002  Jul 11th, 2012
  - Add load_plugin(), load_plugins() and add_method().
    load_plugin() calls begin() method of each plugin
  - Add Blosxom::Plugin::Response, Request and Util.
    Blosxom::Plugin loads them when loaded
  - A namespace Blosxom::Plugin::* will be open to those who want to
    register Blosxom metaplugins, though I'm not sure about
    what a metaplugin is :-) At least, metaplugins will abstract
    routines from ordinary plugins

0.00001  Jul 8th, 2012
  - First version