Revision history for Perl extension Remedy::ARSTools.

1.18	Mon Sep 29 10:23:48 CDT 2014
	    * fixed bug in ConvertFieldsToHumanReadable causing null enum field values to evaluate "0"

1.17    Wed Aug 20 13:30:15 CDT 2014
            * fixed bug in ConvertFieldsToHumanReadable causing null datetime, time_of_day and date values to be interpreted as "0"

1.16    Tue Jul  1 14:48:35 CDT 2014
            * fixed sort-order issue on CreateTicket where multiple results match the post-submit query for a 
              join form (previous to 1.16 the sort order was not consistent).

1.15    Fri May 30 11:41:50 CDT 2014
            
            * LoadARSConfig now captures "entry_mode" on field meta-data ("required", "optional", or "display-only")
            * LoadARSConfig now checks loaded cache files for missing schemas specified on object instantiation and refreshes config from server
            * CreateTicket (join form mode) now excludes display-only fields from post-submit query
            * CreateTicket (join form mode) now interpolates "" as $NULL$ in post-submit query
            * CreateTicket (join form mode) now allows override of auto-generated post-submit query qualification on JoinFormPostSubmitQuery option
		
1.14    Thu May 29 10:55:34 CDT 2014

            * bolted 'AlternateSortOrder' onto PushFields

1.13    Wed May 28 10:17:43 CDT 2014

            * fixed bug on CreateTicket, obscuring ARS::ars_errstr on submit to join form where 
              OverrideJoinSubmitQuery is set
			  
1.12    Tue May 27 10:04:08 CDT 2014

            * added MatchAction => "Nothing" to PushFields

1.11    Fri May 16 14:28:08 CDT 2014

            * added PushFields function
            * modified CreateTicket to deal with join forms
            * TO-DO: update the test suite for these two thangs ...

1.1     Mon May  5 11:18:28 CDT 2014

            * fixed typo in CreateTicket sub causing misleading errstr when required options missing

1.09    Tue Apr  8 08:31:29 CDT 2014

            * fixed regex on line 512, preventing CheckFields properly dealing with already-epoch-encoded datetime values

1.08    Wed Feb 26 13:45:57 CST 2014

            * fixed inverted logic in CheckFields / TruncateOK, prevented field lengths from being truncated
            * fixed error in CreateTicket causing CheckFields output to be returned instead of undef when CheckFields fails
            * fixed CheckFields date & time_of_day conversions to not die on NULL field values
                
            adding this to the to-do list
            
            * CoalesceRecords  -> add two records together, spit out complete record with updates
            * IntersectRecords -> take two records, spit out only the fields they have in common
            * SubtractRecords  -> take two records, spit out only the fields that are different
            * CompareRecord	   -> take two records, compare them. spit out a 1 if they're the same 0 if they're different

1.07    Mon Jan 27 16:49:06 CST 2014
            forgot to update dependencies in Makefile.PL to include Date::Parse and Time::Interval

1.06    Mon Jan 27 11:23:05 CST 2014

            * added automatic date, datetime & time_of_day string<->integer conversions on 
              CreateTicket, ModifyTicket, MergeTicket and Query
            * added ImportDefinition
            * added 'dataType' to cache field datastructure
            * added '__Remedy_ARSTools_Version' to cache datastructure
            * added automatic rebuild of cache for upgraded Remedy::ARSTools version
            * enhanced non-sequential custom enum decoding / encoding
            * added user-definable GMT offset for date/time conversions
            * enhanced ParseDBDiary to use datetime conversions
            * added EncodeDBDiary
            * added automatic diary datastructure -> string encoding for MergeTickets
            * added ExportDefinition
            * added TunnelSQL
            * added DeleteObjectFromServer
            * added more complete test suite w/optional test form import
            
            some things on my to-do list:
                  
            * FindFilterInGuides
              find all the filter guides containing the specified filter name
              
            * FindActiveLinkInGuides
              find all the active link guides containing the specified active link name
              
            * some kinda hack to make CreateTicket not return undef every time you create a ticket on a join form
              though presently I'm stumped. Querying by $LASTID$ in that scenario actually core dumped my 8.1 test arserver.
              suggestions welcome.
			  
1.05    Tue Jun 12 23:30:02 GMT 2012
            fixed bug in CheckFields causing enums to return null value match
                
1.04    Sat Apr 28 00:46:04 GMT 2012
            fixed CheckFields bug preventing ModifyTicket from setting a null value on an enum field.
            fixed the hacky duct-tape that was the 1.03 implementation of custom enum value lists with 
            the help mister John Zhang <jzhang@silverspringnet.com>. Thanks, man!

1.031   Sat Apr 28 00:46:04 GMT 2012
                fixed CheckFields bug preventing ModifyTicket from setting a null value on an enum field.

1.03            Fri Mar 23 16:49:48 EDT 2012
                LoadARSConfig now supports enums with custom value lists

1.02            Mon Nov 14 18:19:17 EST 2011
                added Merge function

1.01		Mon Jul 20 20:12:36 CDT 2009
		fixed problem with matching ARSPerl version number

1.0		Mon Nov 13 20:59:52 GMT 2006
		complete re-write. should work for all versions of ARSperl.
		a lot of things changed, a lot of things stayed the same.
		
			- now works without a config file (but faster WITH one)
			- reloads field definition data when missing config data
			- automatically reconnects on ARERR161 type errors
			- converts strings to integers for enum fields
			- removed snarky comments
			- rewrote documentation, removed even more snarky comments
			- removed 'timeout' option
			
0.92		Tue Oct 17 21:45:35 GMT 2006
		added 'timeout' option. If set, the control structure is reloaded if last access 
		was more than that long ago
		goddam this module needs a rewrite like a new set of drawers. it's FUNKY in there! ;-)

0.91		Tue Mar 21 16:16:25 GMT 2006	
		modified checkFieldLengths to accept blessed references on the Fields argument.

0.9		Fri Jul  9 09:46:50 EDT 2004
		well crap! 0.6 sais I added truncate, but damn if I can find it in the code
		now ... added the TruncateOK => 1 option to CheckFieldLengths that will 
		truncate long fields. CreateTicket and ModifyTicket will pass this option
		allong to CheckFieldLengths.

0.8		01/30/04 16:12:02
		still carrying all the "things to do"
		CreateTicket now spews field value submissions in Debug mode

0.7 		05/12/03 21:50:47
		now exports procedural methods to calling namespace
		nothing else added/changed, so considder all the "things to do" 
		from .06 be the things to do for .08
		procrastination is the mother of intervention.

0.6		05/05/03 21:50:35
		added TruncateFieldLengths, and Truncate support to CreateTicket and ModifyTicket.
		Pod updated to reflect new options to CreateTicket and ModifyTicket.
		-Things To Do for 0.7:
		add docs to pod for actual TruncateFieldLengths method
		add better port switching via: ars_SetServerPort(ctrl, serverName, TCPport, RPCnumber)
		add the self-healing config
		legit test suite
		switch GenerateARSConfig to _GenerateARSConfig (fix autosplit problem)
	
0.5 		Wed 10/30/02 11:27:02
		initial release to CPAN under Remedy::ARSTools namespace
		added ParseDiay
   	 	added ParseDBDiary
		added support for auto-generating config files at object creation
		added support for auto-regenerating config files when fields not found
		modified RefreshConfig
		added GenerateConfig
		added GenerateARSConfig
		added GetFieldData
		-Still To Do:
		'AutoConfig' automatically refresh ConfigFile upon field data exceptions
		Write Test Suite.
		Make complains about GenerateConfig and GenerateARSConfig: that they are
		not unique when truncated to 8 chars. Fix in next release.
