2006-04-15  Matt Giuca  <mattgiuca@users.sourceforge.net>

== Version 0.3.2 ==

    * global.h: Updated version number to 0.3.2.

    * chunk.c, global.h, output.c:
    Changed output HTML's use of CSS so that changed words now have a
    different style depending on whether they're on the deleted or added side.
    ("diff-d" and "diff-a" instead of "diffchange").
    Note that the program currently sets both styles to the same, but the user
    can now easily change this in the style section.

    * input.c: Updated "updated" date.

    * global.h:
    Changed TABLE_CELL_DELETED from using &ndash; to a '-' (which is actually
    a minus sign, so is more appropriate).

    * input.c:
    (Bugfix) Fixed segmentation fault for large files with many hunks.
        (Bad arguments were passed to realloc)
    Now allows any number of blank lines at the end of the input file (whereas
        previously any more than 1 would give an error).

2006-04-14  Matt Giuca  <mattgiuca@users.sourceforge.net>

    * input.c:
    Now ignores input lines beginning with '\' instead of making an error.
        (This is for lines that say "\ No newline at end of file")
    Now allows hunk headers with no comma (of the form "x" as well as "x,y")
        Makes no difference to output since we're ignoring y anyway.
        (This often occurs in output for diff -U0)

2006-02-13  Matt Giuca  <mattgiuca@users.sourceforge.net>

    * chunk.c:
    Bugfix: lines_to_chunk now uses IS_ALPHANUM macro when starting a new
    word, rather than making manual comparisons (leaving out '\'').
    Added function: get_unicode.
    lines_to_chunk now uses get_unicode to make sure multi-byte UTF-8
    characters have all their bytes put in the same word.
    IS_ALPHANUM: Expanded range of values which return true to include all
    letter-like characters. (Note: This now accepts Unicode values).

2006-02-10  Matt Giuca  <mattgiuca@users.sourceforge.net>

== Version 0.3.1 ==

    * global.h: Changed PROGRAM_WEBSITE to diffh.sourceforge.net.

2006-02-08  Matt Giuca  <mattgiuca@users.sourceforge.net>

    * Makefile.am, Makefile.in: Initial revision - Automake files.

    * chunk.c, input.c, output.c:
    Made some vars unsigned, and added some casts, to fix Visual C++ warnings.

    * global.h: Changed version number to 0.3.1.

    * chunk.c, chunk.h, global.h, input.c, input.h, main.c, output.c,
        output.h:
    Header comment: Changed codestar URL to SourceForge email address.

    * input.c:
    Bugfix: Added switch break to print_error (previously ERR_INVALID_UDIFF
    would print two error messages).

2006-02-07  Matt Giuca  <mattgiuca@users.sourceforge.net>

== Version 0.3 ==

    * global.h: Updated program version to 0.3.

    * global.h:
    Moved PROGRAM_NAME and PROGRAM_WEBSITE to new Program information
    constants section. Added new constants relating to the program version,
    for use with --help and --version.
    Added Command-line arguments section, containing strings of valid
    arguments.

    * input.c:
    Code now checks if the input file is empty (besides newlines). If so, a
    different error is reported.
    Added error: ERR_EMPTY_FILE.

    * main.c: Added command-line parsing to main.
    Added functions: usage, version.

2006-02-06  Matt Giuca  <mattgiuca@users.sourceforge.net>

    * input.c: Added main code for read_diff_file.
    Split free_udiff into free_hunk.
    Added functions: get_file_info, parse_hunk_header, print_error.
    Input now complete.

    * input.h: Minor (comment).

    * output.c:
    Fixed overflow bug in convert_to_valid_html where odd-numbered spaces
    would write too many &nbsp;s.
    Fixed over-malloc bug in convert_to_valid_html, realloc would allocate
    room for char*s instead of chars.
    Added an &nbsp; to column 1 of blank unchanged lines so agent displays the
    row.

    * chunk.c:
    Fixed overflow bug in chunk_to_html where odd-numbered spaces would write
    too many &nbsp;s.

    * global.h: Added new constant TABLE_CELL_UNCHANGED_EMPTY.

    * main.c: Completely removed scaffold.
    Now calls diff_process with the diff read by the input.

    * chunk.c:
    Bugfix: chunk_to_html, fixed looking 1 line too far (garbage).
        (causing erroneous extra lines to be added).

    * input.c, input.h: Initial revision.
    Added functions: read_diff_file, free_udiff and read_input_line.
    read_diff_file is a scaffold currently which prints out each line.

    * main.c: Commented out old scaffold.
    Added new scaffold which calls read_diff_file.

== Version 0.2 ==

    * global.h: Changed and altered HTML output constants.
    Added CSS variables and default constants.

    * main.c: Added css-related parameter variables.

    * chunk.c: Bugfix: Turned off highlight_on at the start of lines.
    Renamed some macros.

    * output.c:
    Added functions: print_html_prologue and print_html_epilogue.

    * main.c: Added second hunk to scaffold.
    Scaffold now creates a UDiff structure and passes it to diff_process.

    * global.h: Added more HTML strings to write table and headings.
    Added more fields to UDiff structure and made hunk into a Hunk**.

    * output.c, output.h: Made hunk_process a private function.
    Added functions: diff_process (public) and print_headers.

    * chunk.c:
    find_changes is no longer called for one-sided chunks (they should not
    be highlighted).

    * output.c:
    Added functionality: convert_to_valid_html. Hunk printing is complete.

    * main.c:
    Changed "unchanged" text to include test HTML-conversion characters.

    * chunk.c: Bugfix: chunk_to_html now allocates enough space for /0.

    * main.c, output.c, output.h: Renamed module hunk to output.

2006-02-05  Matt Giuca  <mattgiuca@users.sourceforge.net>

    * output.c, output.h: Initial revision.
    Full module code, except convert_to_valid_html which is just scaffolded.

    * main.c: Replaced chunk dummy scaffold with hunk scaffold.
    The data is similar but it is now passed to hunk_process.

    * global.h: Added new constants: NL and more HTML code.
    Added to UDiff and Hunk data types count fields.

    * chunk.c: Replaced tab-conversion code with using multiple-space code.
        - Tabs now only make every second space a &nbsp;
    Replaced use of fprintf with fputs.

    * chunk.c: Added function: interlace_and_print_html.
    chunk module now complete.

    * global.h: Added a wide range of HTML code macros.

    * chunk.c: Added full function: chunk_to_html.

    * global.h: Changed DEFAULT_MALLOC and added DEFAULT_MALLOC_BIG.
    Added numerous HTML code constants.

    * main.c:
    Altered sample text with extra tests for HTML code conversion.

    * chunk.c:
    Added function: free_lines, and called it from chunk_process at end.
    Expanded scaffolding in lines_to_html to allocate and print lines.

    * global.h, main.c:
    Added variable tabwidth and constant DEFAULT_TABWIDTH.

    * chunk.c:
    Formalised debug-printing with a defined macro controlling whether it is
    printed out.
    Rewrote lines_to_chunk to fix bugs involved with empty lines.
            - Now adds a blank word for each empty line.
    Wrote find_changes_ recursive function.

2006-02-04  Matt Giuca  <mattgiuca@users.sourceforge.net>

    * chunk.c: Completed function list_to_chunk.
    Scaffold in chunk_to_html now prints out the full Chunk structure.

    * global.h: Added global constants TRUE and FALSE.

    * global.h: Added constant DEFAULT_MALLOC.

    * main.c: Changed scaffold text to have some extra spaces.

    * chunk.c: Added remainder of functions, scaffolds only.
    Finished chunk_process, which now calls all the new scaffold functions.

== Version 0.1 ==

    * main.c: Initial revision.
    Defined variable: outstream.
    Setup main function with temp scaffold to call chunk_process.

    * global.h: Initial revision.
    Declared variable: outstream
    Declared types: LineType, Hunk and UDiff.

    * chunk.c, chunk.h: Initial revision.
    Setup chunk_process with temp scaffold.
    Setup Chunk data type.
