2014-06-04    <a.nelson@prometheuscomputing.com>

	* hash_sectors.py: Add optional tail padding.

2014-05-07    <a.nelson@prometheuscomputing.com>

	* Objects.py: Corrected buffering return rate for "fill" byte runs.

2014-04-17    <a.nelson@prometheuscomputing.com>

	* Demos: Added a new demonstration program showing construction of a MACCr timeline with the Objects interface.  Unit tests updated.
	* Objects.py: Updated documentation.

2014-03-07    <a.nelson@prometheuscomputing.com>

	* Objects.py: API change - switched "meta" byte run facet to "inode", keeping in line with "alloc_inode".  Unit tests updated.

2014-03-06    <a.nelson@prometheuscomputing.com>

	* Objects.py: Created.  New object-oriented bindings for DFXML.  Primary usage difference is better in-memory manipulation, including entire DFXML document creation without using a DFXML file; property getters and setters, instead of function calls; and a different approach to serializers and de-serializers from DFXML files.
	* make_differential_dfxml.py: Created.  Revised approach to taking differences of disk images.  Creates a differential DFXML file, or an in-memory DFXML Object if imported as a library.
	* summarize_differential_dfxml.py: Created.  Reports on disk image differences, as previously done by idifference.py.
	* idifference2.py: Created.  A re-implementation of idifference.py, using the new Object bindings, make_differential_dfxml.py, and summarize_differential_dfxml.py.
	* Differential analysis scripts: Created allocation_counter.py, break_out_diffs_by_anno.py, report_silent_changes.py
	* cat_partitions.py: Created.  Concatenates single-partition DFXML files into one DFXML file.
	* hash_sectors.py: Created.  Hashes sectors of files, storing output in a SQLite database.
	* Extractor.py: Created.  Library for general file extraction from a disk image.  A more modular iextract.py.
	* Makefile: Unit tests added.
	* test_Objects: Created.  Unit test directory for new Object bindings.
	* samples: More DFXML samples added for differencing tests.
	* Logging: Modules using the logging module now report the file that contained the call to each log message.  Previously, all calls were done with the 'root' logger.
	* dfxml_tool.py: Unit test now runs on a smaller directory tree.
	* idifference.py: Corrected a counting bug.
	* dfxml.py: Time objects can now be instantiated from floats.
	* dfxml.py: Allocation can now be parsed at a more granular level - inode and name, instead of simply "allocated."
	* dfxml.py: DFXML files with "original_fileobject" elements attached to fileobject elements can now be parsed.

2013-11-02    <a.nelson@prometheuscomputing.com>

	* idifference.py: Imported null-variable tests, and corrected a variable reference, to help idifference to be used as a module
	* idifference.py: Imported extra, granular counters on disk state changes

2013-11-01    <a.nelson@prometheuscomputing.com>

	* cat_fileobjects.py: Allow for differential DFXML repeating
	* Unit tests: Adjusted cleanup, and tested differential DFXML repeating

2013-10-24    <a.nelson@prometheuscomputing.com>

	* dfxml.py: Add null-argument test on content_for_run
	* dfxml.py: Add image reference to iterative reader
	* idifference.py: Promote delta namespace to DFXML library

2013-09-19    <a.nelson@prometheuscomputing.com>

	* idifference: Remove redundant, faulty annotation attempt

2013-09-18    <a.nelson@prometheuscomputing.com>

	* Python: Run timeline test on differencing input XML; add hand-validated line count check
	* fiwalk.py: Correct Fiwalk fallback call

2013-09-17    <a.nelson@prometheuscomputing.com>

	* dfxml: Add an ElementTree tostring() function wrapper that removes redundant namespace declarations, with unit tests for new regular expression
	* idifference: Update unit tests to include vetted count of fileobjects generated
	* idifference: Correct a fileobject counting bug (where a counter reset was forgotten)
	* idifference, icat: Add some XML namespace handling logic, found necessary but missed until the last unit test updates
	* cat_fileobjects.py: Add debug flag

2013-09-13    <a.nelson@prometheuscomputing.com>

	* idifference.py: Switch XML namespace for differencing to forensicswiki page

2013-09-12    <a.nelson@prometheuscomputing.com>

	* idifference.py: Adjust XML output, along with sample data, to validate against DFXML schema (v1.1.0rfc0; at least, everything except the differential annotations not yet in the schema validates)

2013-08-15    <a.nelson@prometheuscomputing.com>

	* Regression testing: Make demo_mac_timeline.py into regression check
	* dfxml.py: Add iterative interface for fileobjects
	* Regression testing: Add iterative version of demo_mac_timeline.py
	* Python: Add demo program for repeating fileobject with XML Python objects
	* idifference.py: Have idifference.py --xml generate DFXML with differential annotations
	* idifference.py: Add test for XML output of idifference

2013-08-13    <a.nelson@prometheuscomputing.com>

	* idifference.py: Remove requirement for a fileobject's partition to be defined

2013-06-24    <a.nelson@prometheuscomputing.com>

	* fiwalk.py: Give standalone usage slightly nicer error handling

2013-06-21    <a.nelson@prometheuscomputing.com>

	* dfxml_tool.py: Assign a version to this script (as it works pretty well now, I chose "1.0.0") - necessary for some provenance information
	* dfxml_tool.py: Optionally include provenance information (similar to Fiwalk)
	* dfxml_tool.py: Clean file-not-found error output (found on broken symlinks)
	* Python: Add 'make check' invocation for unit tests

2013-06-12    <a.nelson@prometheuscomputing.com>

	* dfxml_tool.py: Report file creation and metadata-change time, when available
	* dfxml_tool.py: Optionally output file system timestamps in ISO-8601
	* dfxml_tool.py: Optionally include directories in output listing
	* dfxml_tool.py: Include additional file metadata (partition and inode numbers)
	* dfxml_tool.py: Add alternative filename simplifier

2013-06-11    <a.nelson@prometheuscomputing.com>

	* dfxml_tool.py: Report file read failures

2013-05-28    <a.nelson@prometheuscomputing.com>

	* python: Integrated three changesets from end of 2012
	* dfxml.py, rdifference.py: Change interface of RegXML cell type
	* dfxml.py: Revise method of hashing data of Registry "value" cells
	* dfxml.py: Trim superfluous code

2013-04-23    <a.nelson@prometheuscomputing.com>

	* idifference.py: Relax input name requirements; passing a ".dfxml" file silently failed.

2013-04-08    <a.nelson@prometheuscomputing.com>

	* dfxml_tool.py (class fileobject): add filename simplifier

2012-12-18    <ajnelson@cs.ucsc.edu>

	* dfxml.py (class fileobject): correct file extraction in Python 3

2012-12-17    <ajnelson@cs.ucsc.edu>

	* dfxml.py (class dftime): add parser and tests for email timestamp format
	* dfxml.py (class fileobject): correct 'allocation' interpretation

2012-11-24    <ajnelson@cs.ucsc.edu>

	* dfxml.py (class byte_runs): change comparator methods (Python 3 doesn't use __cmp__)

2012-10-31    <simsong@ncr.nps.edu>

	* deidentify_xml.py (xml_sanitizer._start_element): fixed problem quoting attributes

2012-04-03  Simson Garfinkel  <simsong@mncrnpsedu.local>

	* dfxml.py: globally changed .data to .cdata for consistency.

2012-02-23  Simson Garfinkel  <simsong@Mucha.local>

	* dfxml.py (fileobject_reader._start_element): claned up handling of byte runs within fileobjects

