=head1 NAME

Uttu::Changes - Change Log

=head1 DESCRIPTION

This document lists the changes to Uttu introduced with each release.  This
list should not be considered exhaustive.  Major bug fixes and API changes
should be here.

=head1 VERSION 0.06

=head2 Bug Fixes

=over 4

=item Host availability functions removed

Since we are now using L<ResourcePool|ResourcePool>, much of the 
fail-over code in Uttu has been removed.
L<ResourcePool|ResourcePool> handles fail-over as well as other means 
of using multiple servers for a resource.

=item Database definition functions

All the database definition functions are removed or deprecated.
L<ResourcePool|ResourcePool> now manages database configurations based 
on an XML configuration file loaded with the C<global_resources> Uttu 
configuration option.

=item ResourcePool configuration fixed

The Uttu modules used to configure L<ResourcePool|ResourcePool> objects 
was using L<XML::XPath|XML::XPath> incorrectly (not stringifying strings).  
It now is.  Configurations should work.

=back 4

=head1 VERSION 0.05

=head2 New Features

=over 4

=item Uttu->query_dbh_database

This method will return the database being used, given the same 
arguments as C<query_dbh>.

=item $u -> query_host_available

=item $u -> set_host_available

=item $u -> set_host_unavailable

These can be used to track available hosts.  The database support 
in Uttu can use this to avoid connection attempts to machines 
known to be unavailable.

=item $u -> resource

This method will return the L<ResourcePool|ResourcePool> object 
for a given resource.  The resource pools are configured via the 
C<global_resources> configuration file option.

Resources can be shared across sites.

Eventually, Uttu may use this to manage DBI connections (in which 
case the above host-availability functions will be deprecated).

=item Error Messages

Added more thorough error reporting when there is a server error.

=back 4

=head2 Bug Fixes

=over 4

=item memory leak

Requesting the cache object created a new cache object each time.  
We now cache the cache objects across requests.

=item AxKit invocation

Previous versions of Uttu used code copied from AxKit.  We now call 
the AxKit handler directly and use the proper API for managing the 
AxKit configuration.  Uttu should be able to withstand AxKit upgrades 
more easily.

=back 4

=head1 VERSION 0.04

=head2 New Features

=over 4

=item Apache::Template

L<Apache::Template|Apache::Template> is now required to use the template 
content handler.

=item AxKit Document Roots

Added support for multiple document roots similar to that in 
HTML::Mason and Template Toolkit.

=item Tests

Added tests.  These require L<Apache::Test|Apache::Test>, L<DBI|DBI>, 
and L<DBD::CSV|DBD::CSV> since the tests need to be run in a web
server and the database connection code can't be tested without a 
database to connect to (in this case, CSV files).

=back 4

=head1 VERSION 0.03

=head2 New Features

=over 4

=item AxKit

Added support for AxKit as a content handler (see L<Uttu::Handler::axkit>).  
AxKit allows using any of the other content handlers as XML sources.

=back 4

=head2 Bug Fixes

=over 4

=item Uttu is more robust

Put in several checks for certain conditions that could cause an 
error.  We try to avoid them now.

=back 4

=head2 Modified Behavior

=over 4

=item Database Connections

We now use multiple host specifications instead of multiple 
database specifications to allow failover.

=item Secondary Content Provision

The Template and Mason handlers have been modified to work as XML 
sources for AxKit.

=back 4

=head1 VERSION 0.02

=head2 New Features

=over 4

=item DBIx::Abstract

Instead of using DBI directly, we now use DBIx::Abstract.  Allows us more
configurability.  As a result, code can be specified in the configuration
that produces a WHERE clause for use in mapping uris to filenames (and
filenames to uris).  If a WHERE statement is created, it is used as part of
the key for cacheing.

=item Apache Configuration Directives

Added C<UttuDefine>, C<UttuDefineList>, C<UttuDefineMap> to allow partial
configuration in the Apache configuration files.  Allowed C<UttuConf> to
accept multiple file names.

=item mod_perl 2.0 

Added detection of mod_perl 2.0 (or 1.99 for beta 2.0 releases).  For now,
Uttu will issue a warning, but this will be used in the future for mod_perl
2.0 compatability.

=item Command line use

Uttu should be usable from a command-line program (Apache not required).
This is handy for using the session, authentication, or authorization code
in a framework.  Allows the command-line program to use the same Uttu
configuration file as the Apache server.

=item [global] configuration variables

Added 
C<db_uri_map_table>,
C<db_uri_map_field_file>,
C<db_uri_map_field_uri>,
C<db_uri_map_where>,
C<hostname>,
C<index>,
C<port>,
C<translate_uri>.

Removed
C<db_uri_map_select_comp>,
C<db_uri_map_select_uri>,
C<fallback_language>.

=item Uttu methods

Added C<comp_to_rel_uri>.

=item Framework methods

Added C<init_config>.

=item Support for Template Toolkit

Initial support added for using TT2 templates instead of HTML::Mason
components (see L<Uttu::Handler::template>).

=item MakeMaker support for function sets

Uttu::MakeMaker should be able to build and install function sets in
addition to frameworks.

=back

=head2 Bug Fixes

=over 4

=item Uttu::MakeMaker support for function sets

Uttu::MakeMaker should be able to install function sets.

Uttu::MakeMaker does not yet support installation of uri-to-filename mappings.

=back

=head1 VERSION 0.01

Released 20 Mar 2002.

This is the initial release of Uttu.

=head1 AUTHOR

James Smith <jsmith@cpan.org>

=head1 COPYRIGHT

Copyright (C) 2002 Texas A&M University.  All Rights Reserved.

This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
