Change Log for Sharepoint Collector:

6.0.28 - Added Open Export Manager option in Launcher form
  - Added code to dispose data in GraphAPI main class object.
  - Added Dispose code for graph parameters to improve memory management
  - Added DownloadFileVersion code and all necessary setup for that.
  - Added exception handling for OutOfMemoryException
  - Added full support to get list attachments
  - Added just code to get list attachments using rest api (but not supported yet)
  - Added separate method to download attachments using sharepoint api endpoint.
  - Added support to list and itemize all hidden lists with system facet.
  - Changed pictureLibrary type to documentLibrary type instead of generic List
  - Fixed code to dispose Graph object safely without getting null reference.
  - Fixed encoded characters in Target file name of Export items.
  - Fixed Export Manager to use @microsoft.download.url value for downloading file.
  - Fixed GetFileVersions code by removing content from metadata and fixing error handling.
  - Fixed GetListContent code and exporting generic list items code.
  - Fixed GetListContents, GetSiteLists code.
  - Fixed GetSiteList code to get subsites
  - Fixed Item count for Document Libraries
  - Fixed Item count for List contents to zero after enumeration of List
  - Fixed Metadata xml by using System.text.Json instead of NewtonSoft.
  - Fixed MetaFileText creating code to properly reflect server templates and metadata information.
  - Fixed Set MAC time code for files and versions
  - Updated Authentication method to read/write/update credentials for two different source type [1 - Graph, 2 - SharepointAPI]
6.0.20 - Added code to minimize Menu bar automatically after clicking on any menu element.
  - Added error handling in code to get hostname and path for SP site.
  - Added help button to Launcher and referenced help files in SPC mainforms.
  - Added KeyDown event to perform click event on pressing enter key in Registration page
  - Added SPC icon to Resources folder and referenced from there.
  - Added tooltip text for menu icons in LauncherForm
  - Enhanced look of Launcher form(and all new forms) by adding icons instead of text in Menu bar,highlighting selected menu, icon update.
  - Expanded dateTime range fields to show entire data
  - Fixed deactivate license enable/disable code.
  - Fixed dialogopensite form in both SPC-Graph and WSS
  - Fixed issues in Launcher form, and changed code to set options everytime before running job.
  - Fixed load filters code and also pop up messsage box to open set options on Yes .
  - Fixed registration forms to fit the content.disabled credentials box for all other credential type except Sharepoint in Add/modify site in LauncherForm.
  - Fixed Registration page s colored link area which was off by certains characters
  - Fixed spelling mistakes in Launcher form
  - Fixed srcPath issue for Launcher when starting new job inside SPC.
  - Modified GetVersion method to create History XML using custom XMLBuilder method.
  - Removed auto sizing of labels and text boxes in Registration page which cut off logo
  - Removed set current directory code from Launcher
  - Uninstalled Sqlite completely and installed it separately for SPC_WSS and did a clean buildModified Launcher form to disable boxes to avoid user input.
  - Updated icons for SetOptions and all other forms.
  - Updated Sqlite package to v 7.0.1Updated Sqlite package to v 7.0.2Uninstalled Sqlite completely and installed it separately for SPC_WSS and did a clean build
6.0.4 - Added File versions code to SPC_Graph (still testing phase)
  - Added filter options to SPC_Graph
  - Added GraphAPI project to repo, updated site selection references in code to include proper sitelist.
  - Added missing dependency dlls for Microsoft.Data.Sqlite (for .net 4.2)
  - Changed Launcher form menu options and enabled credential groupbox.
  - Created new form for setOptions, site selection and deleted older unused forms.
  - Fixed click event for Site selection for scheduling in SPC_Graph set options.
  - Included pdb files in build which was causing exception.
  - Removed redudant checkbox in Automation settings.
  - Updated Sqlite dlls across project to reflect same version.
5.0.16 - Added a line to set default userOptions before first run, without which some of the settings were empty or seemed not working
  - Added code to get authorization url with tenant Id of the sharepoint site which is then used for authentication
  - Added code to handle authentication error and throw popup message
  - Added code to skip exporting folders which are empty/doesn t have any files to download
  - Added timeout of 2 minutes to hear back from browser to avoid indefinite waiting Changed authentication code to use embedded browser instead of default browser
  - Changed AutoScaleMode.Font to AutoSCaleMode.Dpi to avoid jumbling of form
  - Changed StartSPC project to be a self contained and single file to make exe outside bin folder work
  - Fixed code to not call default sharepoint site
  - Fixed open site form resizing issues
  - Fixed Process.Start method to resolve UHE (related to migration from .net 4.2 to .net 6)
  - Fixed refresh token code in Authentication method
  - Fixed return url in authentication method
  - Fixed target path of downloading files to decode special characters
  - Resized and adjusted forms to support high scale display settings
  - Resized DialogOptions form to show both OK and Cancel button
  - Reverted back to authentication using default browser
5.0.8 - Fixed a bug in the previous change made wrt enumeration of file
5.0.7 - Fixed enumeration of files to only include files that belong to parent list/folder
5.0.5 - Added sites.read.all authentication scopes to allow acess to all sites.
5.0.4 - Added runtime license to nsoftware.IPWorks.Cloud
  - Changed DPIAwareness mode to Unaware
5.0.3 - Set DevExpress DPIAwareness mode to PerMonitorV2 in app.config
5.0.2 - Disabled auto rescaling of windows forms
  - Fixed crypto method in GraphApi to properly encrpyt and decrpyt tokens
5.0.0 - Integrated SPC with Graph API calls (1.0.0.0)
  - Removed all references to wss 3.0 web services.
  - SPC from .net standard 4.2 framework to .net 6
4.0.213 - Added to code to wait 1minute and re attempt web service calls when you encounter HTTP 429 error.
4.0.212 - Changed Modified time fields order in setting MAC time for files.
4.0.210 - Added a toggle switch to turn of/on Automation.
  - Added Appearance option in tools to change the look and feel of WinForms.
  - Added better detection of file name that contain encoding syntax as part of the name
  - Added code to create a csv error report that has all the itemization and export errors
  - Added code to enhance the filter file parser
  - Added code to remove trailing or / characters from site name when adding to site list.
  - Added code to set a wait cursor at the start of the export and reset to cursor to normal at completion.
  - Added extra error handling if SQLite fails when adding a folder entry to the database.
  - Added files skipped by filters to summary at end of export
  - Added filter results to the filter report
  - Added Incremental backup option
  - Added internal error and request timeout to the list of errors that should be tried again
  - Added license expiration checks to Open site and Export Manager
  - Added loop termination logic to list container with no objects
  - Added md5 to concordance export
  - Added new command line parameter /mo or /moff to force all automation options to be ignored
  - Added new filter support
  - Added option to reschedule a backup collection if SPC is already running
  - Added Resume to itemization of a repository
  - Added Schedule option to settings for automated run of SPC.
  - Added target path to all object download requests
  - Added the support for auto retry for any error is marked as allow retry
  - Added Write Manifest File to automation options
  - Changed code to add name and title metadata instead of just title metadata
  - Changed code to detect the number of files returned by get file list
  - Changed code to log and display message if previous backup was unsuccessful or not completed.
  - Changed code to prompt users to adjust settings upon opening after activation
  - Changed code to set the content count in the tree to the item count for container templates marked as site-feed (micro-feed)
  - Changed database tables to contain the full URL to the object
  - Changed file version download to use the pre-generated paths for the first history element
  - Changed filter keyword strings to constants in the common data class
  - Changed long path UNC prefix to use upper case
  - Changed saving job settings to write the data as soon as the database is created
  - Changed the look and feel for Registration page
  - Data range filter added
  - Filter report updated to include filter details after filter is loaded and normalized
  - Filters now operate in two modes, include or exclude
  - Fixed an issue with itemization by clearing tree view of site content before updating it.
  - Fixed code for itemization of new job by removing contents from previous job
  - Fixed code to avoid timed out error
  - Fixed issue to not include unsuccessful job as previous job in backup collection
  - Fixed issue with automation shutdown when switch is off
  - Fixed issue with exception thrown while attempting to log
  - Fixed issue with frequency of collection option in Schedule tab
  - Fixed issue with start data and end date not parsing correctly if there are extra spaces
  - Job settings are now saved in database when an export is started
4.0.131 - Activated the file tab after a file list completes
  - Added a checkbox that will let the user use the source folder as the target folder.
  - Added a test for worker thread canceled before testing auto export option.
  - Added additional logging for versions
  - Added additonal calls to SP to get the list of attachments when building the tree and file list.
  - Added adjectives to summary tab label to help understanding of what they are showing.
  - Added automation setting information to startup log
  - Added code set a warning message in to status area if an error occurs in list processing.
  - Added code to detect in SPC is already running
  - Added code to not enable the OK button if both the source and target have not be filled in.
  - Added code to skip next step in automation if the site open is cancelled
  - Added code to terminate a list if any execption is raised while processing list.
  - Added code to the options dialog to remove any trailing from the output path
  - Added manifest complete status update.
  - Added message box in the exception handler instead of throwing error to caller.
  - Added message to itemization log that SPC shutdown was caused by automation setting. The export log will indicate export shutdown by automation (this happens if export automation is on)
  - Added new ribbon page with help and registration page groups
  - Added popup for lic data form
  - Added SPC shutdown option to automation dialog
  - Added trace code for the uri conversions steps in the download file methods
  - Added try-catch with message popup for bad log path
  - Added XMLForm to the library processing switch
  - Adjusted the length of the link to account for the shorter string
  - Changed all of the export file management routines to use a common method to set the appropriate long file path prefix for all Chain of Custody, folder existence and creation and writing methods
  - Changed registration dropdown text.
  - Changed the description in the settings ui for the SPC job output path selection.
  - Changed the export exception log to support UTF8 encodings.
  - Changed the MAC file time setting code to force a long path prefix for the file.settime commands
  - Fix an issue on the retry errors that was creating folders at the incorrect level
  - Fixed all long path issues and removed exp io from solution
  - Fixed an issue with long path that could cause a failure with some file downloads
  - Fixed an issue with the registration writing the new registration file. The file was being replaced, but the device_serial value was not updated to the current registration return value.
  - Fixed file list modified column to show modified if available the fallback to x200 last modified. if both are unavailable then the column is empty
  - Moved application menu items to help group
  - Moved buttons main->tools page group to tool page
  - Reformatted blog form to be wider and shorter.
  - Removed application menu
  - Removed debug registration popup
  - Removed main->tools page group
  - Set code to disable start and resume export buttons when an export is running
  - Switched the registration code to the cloud explorer code base.
  - The start collection and resume collection buttons are disabled unless there is an open manifest.
4.0.111 - Modified exception handler for registration connect to log the error message.
4.0.109 - Added code to prevent attempts to get sub sites when the child points back to the parent
  - Added code to write the name long file path that are created to Long Path Report.txt
  - Added XMLForm to the library processing switch
4.0.100 - Added code in the folder export path to always read the containing list record to insure the list data is always correct
  - Added code to ensure the browse export folder button is enabled once the output folder structure is complete and remains enabled
  - Added code to handle cases where a FSObyType was set to a folder but the ContentType was set to a name other than Folder
  - Added code to hide the deactivate license button unless it is a registered copy
  - Added debug code to show web service URL if site data web service fails
  - Added hints (tooltips) to export manager file group buttons
  - Added logic to handle a file list cancel inside the paging loop for an individual node as well as between nodes
  - Added the save file list to file button to the ribbon
  - Added tooltips to export manager file group buttons
  - Changed code that handles an exception while trying to get the list of sub-sites
  - Changed the text for Get Lists to Itemize Repository
  - Converted forms to DevExpress (UI update)
  - Converted the registration form to a devX skinable form
  - Fixed an issue with the open for the itemization error log
  - Removed Microsoft.Experimental.IO dependency
  - Resized the default Export Manager form size to be the same length as the main form
  - Updated required .NET framework to 4.6.2
  - Upgraded DevExpress to 18.2.7
4.0.84 - Added an extra test in GenericList retrival to skip processing if the query returned true but there were no items returned
  - Added audit log to help user verify that the correct number of sites, lists, and folders were enumerated, added to the manifest and scanned by export for content
  - Added code to accept both site and target on the command line for automation
  - Added code to support additional command line automation switches
  - Added code to test if the generic list return code was false
  - Added code to the list processor to allow soap exceptions to continue to next item
  - Added code to write the Concordance export settings to export log
  - Added header line to cross reference
  - Added the ability to add -ignorecase at the beginning of the filter file to have the filter compare set to StringComparison.CurrentCultureIgnoreCase
  - Added the new cross reference - created when the manifest is created cross reference contains all nodes in the tree. The selected nodes are identified. header added
  - Changed DAT file creation code to use UTF-8 internally and at the final DAT write allow the file to be either UTF-8 or UTF-16
  - Changed the cross reference encoding from ASCII to UNICODE
  - Fixed an issue when there are over 500 items in sites, list or folders tables the data is not retrieved correctly
  - Fixed an issue where the count on the tree only showed the first page value
  - Fixed an issue with the site list internal array not correctly removing an entry when an entry with the same name is added (via add or edit)
  - Fixed an issue with version history file not being written when recent and history option selected
  - Fixed issue with List entry in Chain of Custody file. This also impacted the Concordance DAT file creation
  - Fixed misspellings
  - Increased download buffer from 128k to 256k to try and reduce number of HTTP requests to server
  - Made a modification to the padding code
  - Sorted out the version file downloads and chain of custody issue when all versions selected
4.0.67 - Added a second end condition for finished processing
  - Added additional error handling and messages
  - Added additional log for enumeration complete before building tree
  - Added code to add the back ground worker handle to the web services call class
  - Added code to create a unique folder in the export path
  - Added code to skip filter confirmation dialog if export content automation is on
  - Added code to test return code from get folders for folders
  - Added code to test return code from get folders for folders database errors
  - Added environment header to itemization log
  - Added items to the list of items to treat as document libraries
  - Added report progress lines for all SharePoint request and response handling for folder for folders method
  - Added same change to Lists and Libraries being added to tree - Site list always retrieves the entire collection of sites
  - Added support for setting a Timeout value for web requests
  - Added support for UNC path to database
  - Changed all logs to use UTF-8 encoding
  - Changed Chain of Custody file to use UTF-8 with byte order marks disabled
  - Changed concordance reading of Chain of Custody to use UTF-8 and not automatically determine encoding
  - Changed some database calls that get itemization data to filter the select using the itemized flag instead of a stepping offset
  - Changed target folder of concordance export to use the logs folder locate in the manifest
  - Changed the database call to fetch the folders for folders to be more selective
  - Changed the format of the timestamp to XXX_yyyy-mm-dd_hh-mm-ss
  - Fixed an issue with reading folder lists that exceed the SharePoint database read limit.
  - Fixed the end condition tests for finished processing sub-folders
  - Removed dependencies on System.Web
  - Removed trace code - Add 1 second delay on folders for folders call
  - Renamed the dialog confirmation prefix label to Job Prefix. This field is the prefix entered on the Options Job Tab
4.0.47 - Added code the refresh site tree after nodes are cleared when opening new site
  - Added code to concordance export to log and error and continue when duplicate sequence numbers are found
  - Added code to convert % to %
  - Added code to convert %nn where nn is a hexstring between 00 and FF to %nn, immediately before WebRequest.Create(EncodedSourceURL);
  - Added code to convert any url encoding ( ) to the actual character
  - Added code to fix the metadata entry in the Chain of Custody so the order was target, source and not source, target.
  - Added code to include attachment counts when calculating total number of files to export
  - Added code to test all string indexing to insure index is within the string
  - Added code to use the extracted file name and UrlEncode the file name to create an encoded file name
  - Added code to use the list versioning enabled flag for files in document libraries and folders
  - Added link to xml file
  - Added metadata.xml to list xml regardless of copy target
  - Added note to dialog for job text box
  - Added setting concordance export options to the options menu, automation tab
  - Added text to blog source prompt to tell users using separate targets for data and non-data to use the non-data folder as the source to render a blog
  - Added UI element for email notification of completion events
  - Added warning at end of html to let users know this is only an approximation of the SharePoint page and that the full metadata output contains all the list elements
  - Added webpagelibrary server template to document library selection case
  - Automation for concordance dat file creation after successful export has been enabled
  - Change code to insure that the contents treeview was showing the first node after the tree is expanded
  - Changed about copyright to add a space before the company name
  - Changed automation code for auto-export to insure the top node is the node that is checked
  - Changed code to build the actual html text to use string builder for better performance
  - Changed code to skip version download in library does not support versions OR if versioning is set to only get most recent file.
  - Changed download complete code to always add files that download failures to error retry list
  - Changed export to copy html to export and xml to metadata folders
  - Changed metadata rendering to add the full xml at the end of the html - always generate an html file even if it is only the xml block
  - Changed the code to convert the SharePoint server template number to a template Enum
  - Changed the dialog option form to set the job text box to enabled for editing
  - Changed the help menu to remove the quick start menu item
  - Changed the order of type of credential to alphabetic in in the site dialog and site edit dialogs
  - Changed the site management dialog to clear the password and verify password when selecting any credential type other than SharePoint
  - Changed the site management dialogs
  - Corrected an issue with the way targets were build by List and Documents
  - Corrected the copying of version files
  - Credentials are now only able to be entered for credential type SharePoint
  - File download error handling changed
  - Finished the retry for error conversion
  - Fixed an error in the download failure error handler
  - Fixed an error is the check point restart
  - Fixed an error that would allow excessively long error message text to fill the status area
  - Fixed an issue for Generic list of type event
  - Fixed an issue where folder with special characters in the name would fail to retrieve the files
  - Fixed an issue where sites and sub sites with special characters would use xml replacements instead of creating a file system safe name
  - Fixed an issue where target file names were using the encoded format of the name
  - Fixed an issue with list attachments not building target correctly
  - Fixed an issue with sub-sites that would generate the incorrect location of the source
  - Fixed an issue with the blog
  - Fixed code to add attachments to Chain of Custody
  - Fixed issue with 0 length files causing 5004. Update of framework level caused a slight change in HttpRequest class
  - Fixed issue with delete empty site list entry
  - Fixed issue with deleting a site from site list
  - Fixed issue with failed download causing export to fail to terminate properly
  - Fixed issue with hidden items
  - Fixed issue with microfeed content
  - Fixed issue with site list always showing ignore certificate errors as checked
  - Fixed security settings for issue tracking content
  - Fixed several issues with the export path not creating the sub-folders
  - Fixed several issues with the open site dialog
  - Fixed spelling errors
  - Fixed the error handler that was improperly handling the web exception 404 error
  - Fixed the issue for existing site data saving un-encoded password where change credential types
  - Fixed threshold limit error on generic lists
  - Made the notification option check box hidden on the form
  - Removed mail notification tab and commented out the supporting code
  - Removed user list setting display from site itemization start confirmation form
  - Set path correctly for export manager viewers
  - Update version history error handling for web services web exception errors
  - Updated help file name
3.19.106 - Add code to try and handle a looping export when a download error is raised and the retry logic attempts to recover
  - Added code and additional debugging to try a access folders that have an '&' (and possibly other illegal characters) in the name
  - Added code in all loops of the export worker to yield the processor to any other thread in SPC
  - Added code the the site edit form to insure the radio buttons are read when OK is pressed
  - Added code to allow the HttpWebRequest/HttpWebResponse to handle a zero content length return and create an empty file in the target location
  - Added code to allow the user to request the concordence dat file rows have trailing empty metadata tags
  - Added code to claims authentication to ignore certificate errors
  - Added code to delete the restartcheckpoint file when the export completes
  - Added code to detect a possible string index issue when creating an HTML visualization of a List with an attachment
  - Added code to detect the difference between a full URI and a relative path in the copy file method
  - Added code to disable the chain of custody viewer when an export is in progress
  - Added code to every Export Manager substring operation to insure the sub string point is inside the source string
  - Added code to export manager to not download versions for libraries that are marked as WebPageLibrary
  - Added code to handle counting of restart items to be closer to the actual count
  - Added code to log additional information for claims based authentication logins
  - Added code to log the family number detected when a resume/restart is issued
  - Added code to retry download errors
  - Added code to the worker complete event to handle the index exception
  - Added code to the xml processor to look for ows_FSObjType to get content type when ows_ContentType is not present.
  - Added code to write the Concordance complete message to the export log when the creation of the file is complete
  - Added more retry code changes
  - Added retry code changes
  - Added support for '&' in site library and list names
  - Added the feature to allow a site URL to be provided on the command line
  - Added the option to surpress the prompt for a comment in the manifest
  - Added web exception catch for list folder in document library web query
  - Changed 'CoC' to 'Chain of Custody' in a couple of error messages
  - Changed code to attempt to bypass a malformed XML item in the response from SharePoint
  - Changed code to remove the filename before folder creation call
  - Changed file export code to report error to log and exception log and update the file failure count on errors
  - Changed help menu as requested
  - Changed one of the calls to write a chain of custody detail line to use an empty string instead of a null pointer
  - Changed the Chain of Custody code to open and close the file for each write
  - Changed the chain of custody file to be written using ASCII
  - Changed the code the combined to Uri's to use the utiltiy method instead of the .net URI class
  - Changed the code to determine the last family member in the Chain of Custody file so restarts/resumes do not create duplication numbers
  - Changed the download method call to use the teststring file name as the primary file with the alternate name being the path
  - Changed the edit menu for the site dialog
  - Changed the file list status message to include the final count of files in the file list
  - Changed the Main form's menu item 'Actions' selection item 'Export documents for selected items' to 'Export selected items'
  - Changed the progress report to not update text area when only the status line needed to be updated
  - Changed the text for the setting of the number of background download threads
  - Changed thread yield to thread sleep for 50ms to allow UI time to catch up with messages
  - Fixed an error in the Chain of Custody for attachments
  - Fixed an issue in the concordence dat file where a trailing field delimiter was added
  - Fixed an issue with folders with '&' in name
  - Fixed an issue with list item counting and threshold exceeded.
  - Fixed count estimate error
  - Fixed error on filter confirmation window so Yes button returns Yes instead of Cancel
  - Fixed issue with license date error
  - Fixed issue with site list no updating when a site is added
  - Fixed setting of the MAC times
  - Fixed several issues with the retry code
  - Fixed the count of items in a document library for SharePoint version that do not provide a separate count of file and folders
  - Fixed the filter display option dialog to erase the old filter data if the user selects different filters in the same option session
  - Fixed the warning message to include the type of filter i.e. [string]
  - Made a change the absolute URL method to convert the site string to lower case before attempting to locate the overlay match point
  - Made a change to the item counting code when getting file counts when itemizing folders under document libraries that exceed the threshold
  - Made changes to the querry code to get count of files in a document library to try and avoid raising a threshold exceeded error.
  - Modified the list item counting to account for folder objects
  - Removed code to force account to upper case
  - Replaced the .net path method with an internal SPC utility method to extract the directory from the URL when it contains 'Server|directory|file name'
  - Set the minimum window size on the open site dialog
3.19.56 - Added (attempting recovery) to soap error message for threshold errors
  - Added a dialog to allow the user to select the section of the export log to view
  - Added an additional check for the length of the field after the progid is removed
  - Added code to handle the condition when there is not a progID in the metadata
  - Added code to log details on item count < 1
  - Added code to produce a filter report for matching filters
  - Added code to produce a name cross reference in the export folder
  - Added code to start writting to a new log when the log file exceeds 10MB
  - Added code to support the new microsoft server template 544
  - Added code to the export log view function to handle target path names with or without the ending /
  - Added conditional logic around date time conversion from UTC to Local time
  - Added debugging code
  - Added general exception handlers within each HTTP (SOAP) error blocks
  - Added log message before attempting to get list of folders
  - Added logging of the path in the log block
  - Added loging of actual error message that triggers recovery of threshold errors
  - All errors are logged in the report progress event handler
  - Change the listitems methods to support server side paging
  - Changed code to not attempt to get version history if only the export version option of recent is selected
  - Changed compilers to vs 2015
  - Changed default selected item in the registration drop down to Online Activation
  - Changed the CoC numbering for attachments to use 2 decimal digits for attachment numbers
  - Changed the coc write methods to open a single stream writer to be used for all CoC writes
  - Changed the content type filter routine to skip content type check for the option - hidden content only
  - Changed the counting methods to use server side paging at the caller level so that feedback can be given at the end of each block of items
  - Changed the default rowlimit to 500 to improve recursive performance
  - Changed the error handling blocks in the main worker thread for export manager
  - Changed the getgenericlist web service call to use null for ndquery and ndview in cases where these options are not needed
  - Changed the html formating for server template 544 (site feeds) to a format that more closely displays the same elements as the default view
  - Changed the itemization retry code to limit the retry to 5 attempts
  - Changed the listfolderitems method to correctly identify additional pages
  - Changed the name of the CoC file to ChainOfCustody
  - Changed the options dialog to make the create user list item hidden
  - Changed the progress logging for all methods in the main worker thread of export manager to log in the report progress event
  - Changed the query options to force all mandatory fields to be included in the response
  - Changed the view options in the getlistitems to specify FSObgjType
  - Changed the way the List ID is determined in the getlistitemattachments web service call
  - Changed tree add event error logging to avoid the IO Exception
  - Corrected a spelling error in the CoC viewer, file menu. (records -> records)
  - Directory management method calls inside the error handling blocks
  - Disable the writing of the exception manifest
  - Enhanced substring error handling for progid removal
  - Fixed a credential error in the code to retrieve the file history
  - Fixed an error in export manager that was incorrectly setting the Prog ID length
  - Fixed an error in the hidden content itemization for items that have a default view of /
  - Fixed an error when extracting the relative path for a folder when the parent path ended with a /
  - Fixed an error where the name of the author in file list was not correctly removing the progid prefix
  - Fixed an issue with the link and calender entry formatting
  - Fixed an unhandled exception when restarting a manifest
  - Fixed export manager elapsed time to not reset hours to 0 at 25 hours
  - Logged a message indicating the reason for the retry
  - Modified the 0.1 fix to correctly catch system.web assembly not found exception
  - Re-enabled the SP 365 item count code to get item counts for folders
  - Removed all the progid length detection based on the ows_progid XML field
  - Removed the date limit on the due date for issue tracking
  - Renamed the error log view option to Export log
  - Rewrote the the threshold error recovery code for document libraries and generic lists
  - RowLimit can now be added to the configuration file
  - RowLimit Changes
  - Server Side Paging Changes
  - Set rowlimit to 0. This will use the SP default
3.19.1 - Added an exception handler in the registration method to catch bad framework conditions
  - Added code on document library web service calls during itemization to test for a web exception and try and get soap details
  - Added code to log the file list start and end
  - Added entry to app.conf to try to allow proxy use
  - Added expired claims handling
  - Added the ability to specify two file in the file copy to allow virtual IIS a fall back to try and get the actual path
  - Changed casing of hidden content group in options dialog
  - Changed code catch an error raise while trying to get version information
  - Changed code catch the condition when a license without a timeout is activated
  - Changed code to catch a long path error when testing the alternate path information for file downloading
  - Changed code to expand encoded HTML characters before using the URL in the GetFiles (HTML request to download files)
  - Changed expired claims handling to only test claim if using CBA
  - Changed instruction text is open site dialog
  - Changed log name to inculde a timestamp when the SPC was started
  - Changed method to replase illegal URL characters with &NAME; substitute to not replace the ' character
  - Changed reserved character substitution code to be more careful with XML reserve character replacement by adding length tests prior to substring commands
  - Changed text create at to created at
  - Changed the code that handles an '&' in the list or library name
  - Changed the code the creates attachment links for HTML output
  - Changed the HTTPWebRequest options to set allowredirect to false
  - Changed the logging to write all logs to a logs folder
  - Changed the setmactimecode to get the created time from the vti_history XML so the history files set the correct created time
  - Changed the site list to include the user name on the list display
  - Changed the trial mode from a time period to a limited file export
  - Changed UNC path detection to show an error message
  - Fixed a bug in new trial mode to only limite file export when actually in trial mode
  - Fixed an error when the file stream and the input stream both were closed since closing one closes the other
  - Modified the download code to close the file stream after each block is written
  - Modified the site list code to remove the (user) from the url before load the site url field on the form
  - Moved the directory creation calls to the methods that are trying to create the file to handle path changes set by the copy methods
  - Removed the change to web services so user information is collected
  - UI changes
2.19.1 - Added '< DateInUtc >TRUE< /DateInUtc >' query term to all web service queries to SharePoint
  - Added a serialization lock on the COC file to see if that was the issue with the message
  - Added a timeout to the final export loop that waits for all running threads to complete
  - Added additional feedback in document libray itemization to show current folder being processed
  - Added additional logging in main form
  - Added code to correctly look for URL parts instead of simple start of string matching
  - Added code to detect folders (summary tasks) under task and gantt server templates
  - Added code to force all URL strings to lower case to inconsistent casing of the APIs
  - Added code to handle a bad path in the user list display
  - Added code to the concordance export to allow the suppression of the ProgID prefix
  - Added got in the get files in folders method to strip of the active URL parts from the relative path of the folder
  - Added new option to set the download retry flag. This flag is now OFF by default and can be set in the export options tab
  - Added support for using default (currently signed on) credentials
  - Changed COC output for version from File to Version
  - Changed the assemply number and about dialog to match the numbering style used in Harvester
  - Changed the code to disable the content selection group box when the hidden content option is checked
  - Changed the filter open file dialog to insure file name is *.ini
  - Changed the hidden content selection label to be more obvious about the effect
  - Correct detail line in option confirmation summary regarding use of URL as root site
  - Corrected an error in the metadata order for concordance exports
  - Fix to handle remote (extranet) sites that have soap namespance name differences
  - Fixed a bug in concordance export that cause a one column offset in output file
  - Fixed an error in the CoC viewer caused by the image changes and a file png file
  - Fixed an error in the itemization of workflow task that treated task item like folders
  - Fixed an error in the resume collection logic that caused the family sequence number to not be set to the correct value in certain cases
  - Fixed an error that prevented a new export from writing a new CoC file
  - Fixed some text syntax errors
  - Fixed the file count discrepancy for multiple folders in document libraries
  - Fixed the icon not showing in windows explorer
  - Made several changes to handle data variations such as case, path format and missing date metadata
  - Made the First line is field name in the Concordance export, checked state as default
  - Modified the code the replace in the URL to a blank character when adding a URL to the site list
  - Modified the folder content counting method (changed in 2.0.1.10) to ignore case when stripping off the site URL for the query
  - Restored code from 2.0.1.4 for SP 2007 listing of sub folders in document libraries
  - Reworked the exception handling when try to open the site list
  - Updated the concordance export code to create an export file based on concordance 10 export output formats
  - Updated the concordance export to fully support attachments
2.0.1 - Added additional code to try and determine the content type when a custom content type is used
  - Added code it the get repository method to handle exceptions in the XML data return in the results of the SP query for contents of a folder
  - Added code to continue collection if library or list item gets a 404. These items are logged and added to the exception manifest
  - Added code to continue export if there is a 404 on a folder
  - Added code to handle 401 and 403 errors
  - Added code to removed the xxx.aspx from the site url before using it to access SharePoint
  - Added code to replace ~ in user generated XML metadata to .#126; to allow correct parsing
  - Added code to see if the last segment of the site url is sitepages
  - Added more details to the logs
  - Changed GetFolders for document library to used 'Folder' instead of base content to avoid issue with custom content folders
  - Changed the code to clear the summary list when opening a new repository
  - Changed the code to correctly add folders under list to appear in the tree
  - Changed the code to stop resetting the main log when export manager starts
  - Changed the export cancel message wording to be more clear
  - Changed the formatting of the URL for folder objects
  - Fixed the site selection to correctly set teh combobox to the site added or edited
  - Fixed the summary to list all sites
  - Made Enter the default accept and Esc the default cancel on the site dialogs and text boxs expandable with dialog window resize
  - Removed the use of the MS URI class and wrote an new method to get an absolute URL from a site and relative path
  - The absolute URL, from SharePoint, that was used to format the URL for fix 39 contains encoded XML elements
1.0.29 - Added a checkpoint restart option to allow a manifest to be restarted at the last successful repository object
  - Added a comment to the manifest. When a manifest is written the user is prompted to enter a comment
  - Added a confirmation dialog when a site is opened that will show the current options
  - Added a default list content type export section
  - Added a delete confirmation when deleting a site from the site list
  - Added a message box to confirm the user's request to run a manifest that has a restart point
  - Added a new field in the options->exports that allows a user to provided a prefix that will be used for the export folder and manifest file
  - Added a rudimentary filter capability
  - Added a viewer for the exception log. The viewer lists the errors and has an error summary at the end
  - Added a warning for active filters in the confirmation screen if a filter is on
  - Added additional lines to the start of the export file to display the version number and any active filters
  - Added an export exception log. This will only log the files (or lists) for which a write to the local disk fails
  - Added an option to bypass item counting when selecting content nodes
  - Added code expiration code
  - Added code to address timeout issues
  - Added code to clear all error settings in the download clients after an error condition is raised
  - Added code to handle a duplicate URL in the repository and flag that as an error instead of stopping the itemization
  - Added code to handle the XP error of raising an exception of successful completion on an good http file download
  - Added code to issue an http abort for a request that times out
  - Added code to set the URL of the open repository in the title bar of the main form
  - Added code to test for the app path before using the device serial for license validation
  - Added code to test that the site selected from sitelist.csv has a valid username and password
  - Added code to the export counts to add the count of any attachments of a failed export item
  - Added error handles in the main method of the download worker to trap any unhandled exceptions to insure proper worker cleanup
  - Added online license activation and de-activation functions
  - Added the ability to enable and disable filter and select a filter on the options page
  - Change the filename in the open file dialog when opening a manifest in export manager to *.man
  - Changed code to set mac time to handle bad time exceptions that will complete the file copy and display a yellow warning message at the end of the copy messages
  - Changed the concordance export filename field to accept user input
  - Changed the export manager window text to include the name of the manifest and as much of the comment the will fit
  - Changed the format of the date and time parts of the file names to be a little more user friendly
  - Changed the generation of the deivce id to exclude the drive letter and append drive format, drive type, and total size
  - Changed the text in the export manager File options to better differentiate run and restart
  - Changed the way path names are constructed from the site URL and the relative path by using the .net framework URI class
  - Changed the way the hidden content flag operates
  - Changed to code that builds the filter list to ignore null or empty lines in the filter file
  - Changed to code to use the expiration date in the standard web license
  - Changed to Version XML logic to treat a missing Version XML file as if there is no version information
  - Fixed an error in filter selection for a filter file that does not exist
  - Fixed an error in the request.abort logic for file downloading
  - Fixed an error in the starting number for a concordance export
  - Fixed an issue with the pause / resume crash
  - Fixed object reference error
  - Fixed setting file times on long file names
  - Fixed the assignment of the filter file name in the export manager
  - Fixed the cancel button on the concordenance export form
  - Fixed the search logic to work on Lists as well as Docment Libraries
  - Increased download buffer to 32k
  - Moved export manger from tools to files and removed the tools option from the menu bar
  - Removed the code that estimated the number of files when the treenodes are clicked and replaced it with a context menu item
  - Removed the content option checkbox that enabled or disabled file counting since it is now only done at the user's request
  - Removed the extraneous menu item 'Restart ...' from the main form