Revision history for Perl extension Remedy::ARSTools.

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.