CHANGELOG

Version 0.81, released 22-Oct-2005
    
    Fixed stoopid mistake ( missing bracket close ) in previous release
    
Version 0.8, released 22-Oct-2005
    
    Added page headers and footers, dealt with in same style as data ( ie an array of cells )
    Added special tags %PAGE%, %PAGES%, and %TIME% for page headers and footers
    Added cell-level control of cell borders, including colour support
    Added legacy page footers ( default if no page footer specified )
    Added support for setting PDF info
    Don't create a new page in the constuctor - wait until we get passed some data
    Added setup_cell_definitions() to generically fill out details of all different types of cells
    Broke out calculation of Y needed into calculate_y_needed()
    Fixed typo in paper setup ( 'portait' should be 'portrait' ) - thanks to Bill Hess for spotting this one
    Added 'bsize' and 'legal' paper sizes - thanks to Bill Hess for these additions
    Removed all global variables
    Updated documentation & cleaned up POD somewhat
    
Version 0.7, released 22-Aug-2005
    
    Move down before rendering instead of after in group_header ( and not in GrandTotals header )
    Fixed small bug in calculation of Y-space needed for current data block
        ( take into account whitespace between previous row and group header )
    
Version 0.6, released 02-Aug-2005
    
    Major, major rewrite. Many new features. Squashed all bugs I know of.
    Fixed bug in resetting aggregate fields when entering a new group
    Fixed bug in colour_func when called on non-data stuff ( eg headers, footers, etc )
    Better comments in source, use constants for TRUE / FALSE
    Replaced $field->{picture} with $field->{image} hash
    Set $self->{default_font_size} to 12 if one isn't supplied
    Renamed internal variables for more consistancy
    Replaced $cell_spacing with dynamic calculation of $field->{text_whitespace} ( user can define own values )
    Replaced user-defined $self->{data}->{max_font_size} with calculated value - any max_font_size value you set will be overriden
    Added far more robust calculation of Y-space needed for current block of data
    Keep group headings with data ( ie don't print a group header at the bottom of a page ) ... FIGJAM
    Move down the page immediately *before* rendering each line, instead of after
    Added image scaling ... that actually works ( added dependancy on Image::Size )
    Added image alignment
    Recognise "center" as well as "centre" in alignment definition
    Get rid of warnings about unintialised variables ( 'no warnings' directive )
    Added support for colour background setting for cells - current options are 'box' or 'ellipse'
    Separated demo app from main package
    
Version 0.5, released 15-Jun-2005
    
    Added support for images - scaled to fit to the current cell ( not finalised - comments welcome )
    Support multiple 'render_data' operations - you can keep passing new data ( or new groups / fields / data )
    Added support for colour
    Added support colour_func - a user-defined function to set the colour based on the current data
    
Version 0.4, released 09-May-2005
    
    Check for group footer definitions in final run before actually calling group_footer() on them
    Added currency:no_fill field type ... if you don't want your amounts filled out to 2 decimal places
    Remove requirement of setting the 'text' key to the group name for aggregate results in group footers
    
Version 0.3, released 08-May-2005
    
    Bold & Centre field headers
    Fixed bug in page counting that would 'remember' ( somehow ) the page count from previous reports
    Do page footers in a separate pass when saving so we can write 'Page N of M' instead of just 'Page N'

Version 0.2, released 27-Apr-2005
    
    Fixed bug in group handling that was preventing the special 'GrandTotal' group header from being rendered
    Added a much-requested demo application
    
Version 0.1, released 26-Apr-2005

    First Version :)
    Table-based text layout engine with cell borders
    Text alignment inside cells
    Basic aggregate commands ( sum, count )
    Page headers / footers
    Group headers / footers ( unlimited )
    POD documentation
