Changed one error_log() to echo().
Added missing newline to one particular debugging output.
Enhanced logic for authorized forwarders mapping.
Scope stripTags() with self::stripTags()
Change terminology from Sender to Forwarder.
Fixed From header parsing.
Tons of redistricting work.
Fix a bit of Redistricting SQL.
mysql_escape_string is deprecated and does not accept 2 arguments
Added error handling to inform what address range failed to get processed if SAGE fails a batch lookup.
Added purgenotes option to remove all notes without having to redistrict anything. Moved note deletion so that out of state notes don't get deleted when just doing instate
Added startfrom ADDRESS_ID option
Fix in-state note removal to work with the 'startfrom' option.
In-state notes are removed per batch to allow the script to be run multiple times starting from different address ids
No need to delete on per row basis
Improve logging when doing tasks
Tons of assorted changes.
Fix a batch memory leak, likely cause of out of memory errors.
Basic BCC cleanup script.

Takes care not to screw up the existing databases in both content
and presentation. Has options for both import and export of data
through the target instance.
Add change tracking to the import script.