# CopyMove for SharePoint 2019

Version | : | 5.2.0.1950
Release Date | : | 2024-10-24
Server Requirements | : | Windows Server 2012 R2 / Windows Server 2016, .NET Framework 4.5, Microsoft SharePoint Server 2019
Client Requirements | : | Internet Explorer 9+ / Microsoft Edge / Mozilla FireFox / Google Chrome
Support | : | support@sharepointproducts.com
Homepage | : | www.sharepointproducts.com

## Introduction

CopyMove for SharePoint 2019 is a commercial add-on for Microsoft SharePoint Server 2016. It adds user friendly Copy and Move actions to document libraries and lists. The following list types are supported out-of-the-box:

- Document Library, My Site Library, Picture Library
- Web Page Library, Publishing Page Library, Site Collection Help Library
- Announcements List, Calendar List, Contacts List, Custom List, Links List, Tasks List and Project Tasks List
- Issue Tracking List, Discussion Board
- Blog Posts List
- Meeting Agenda List, Meeting Decision List, Meeting Objective List, Meeting Attendee List, Things to Bring List
- Web Part Gallery, List Template Gallery

## Installation

To install CopyMove for SharePoint, please follow the instructions below:

- Download the product from www.sharepointproducts.com
- Log-in to anyone of your SharePoint front-end Web servers. NOTE: IT IS ONLY NECESSARY TO INSTALL THE PRODUCT ON ONE FRONT-END SERVER IN A MULTI SERVER FARM.
- Unzip the CopyMove files to a location of your choice on the front-end Web server.
- Run Install.cmd for new installations and Upgrade.cmd for existing ones and wait for it to complete.
- The CopyMove files have now been installed and deployed to all front-end Web servers in your SharePoint farm.
- Activate the farm level feature named "CopyMove for SharePoint 2019".
- Activate CopyMove for all applicable site collections. To activate CopyMove for a single site collection, navigate to Site Collection Administration -> Site collection features and activate the feature labeled SharePoint Products - CopyMove for SharePoint 2019.
- Optionally change default settings from Central Administration -> CopyMove settings.
- Optionally override farm settings from Site Collection Settings -> CopyMove settings.
- Done.

## Licensing

This product requires a commercial license from SharePoint Products to work properly in a production environment. For evaluation purposes it does work without installing a license - but is then limited to a maximum of two Web Front-End servers and two unique users for a period of 30 days. After that the product locks and requires the installation of a license file issued by SharePoint Products.

## Known Issues

- The product is currently only available in US English, German, French and Spanish. But all UI strings are defined in the file sppcopymove.resx located in the App_GlobalResources folder of each Web Application. Hence, it is possible to create your own UI localization. For instance to create a Dutch localization of the CopyMove UI, make a copy of sppcopymove.resx and rename it to sppcopymove.nl-NL.resx. Then open it in an XML editor and translate all the text inside the <value> tags.
- CopyMove can for technical reasons not move workflow history items.

## Troubleshooting

In the event that you experience unexpected behavior or an unexpected error when using CopyMove, please proceed as follows:

1. Start by checking our online FAQ to see if there is a solution or work-around available.
2. Check the release notes for the most recent version of CopyMove to see if the problem has already been addresses in a newer version.
3. If the problem persists and you cannot find a solution on our Web site then contact our Support Team by email.

Please provide the following information when reporting a problem:

1. A description of your SharePoint farm including; Number of servers in the farm, SharePoint version (Foundation or Server), Service Pack level, Browser make and version in case of client-side errors.
2. The exact version number of CopyMove that causes the problem, e.g. V4.1.0.1169
3. A description of all the steps required to reproduce the problem. Include any applicable screen shots
4. A description of any customizations that you have made to the affected SharePoint document library or list. Include any applicable screen shots
5. If the problem appears to be a programmatic bug in CopyMove then we will also need an extract of the SharePoint diagnostics log files. This is easily created by running the script GetLogFile.cmd included in the ZIP download. Attach the resulting SPP.LOG file to your support email.

We will then respond asap, which is usually within 24 hours on work-days.

## History

### V5.2.0.1950 - 2024-10-24

- Added new empty CopyMove web application feature that the existing CopyMove site collection feature now also depends on. This enables admins to prevent further activations of the CopyMove site collection feature within a web application.
- Added parameter `DefaultFileExistsAction` to the PowerShell cmdlets `Set-CopyMoveFarmConfiguration` and `Set-CopyMoveSiteConfiguration`.
- Added more verbose logging when validating users in the selected destination.
- Removed all dependencies to the SharePoint Distributed Cache. CopyMove now leverages a SharePoint list to broadcast job progress across SharePoint WFE servers.
- Fixed issue where files were not checked-in when copied/moved with the API and EnforceRequiredFields=false
- Resolved issue where the target selection tree did not load when jQuery 3.x was also loaded on sites.
- Fixed NullReferenceException when copying across web applications.
- Lost enterprise keywords from other term sets.
- Fixed bug Microsoft.SharePoint.SPInvalidPropertyException when copying or moving HTML files with custom read-only DateTime properties.

### V5.1.1.1848 - 2023-01-17

- Fixed issue where properties on folder list items were not preserved.
- Fixed bug FileNotFoundException when importing a ZIP file to a folder with the ampersand & character in the folder name.

### V5.1.0.1764 - 2020-11-05

- Added validation for orphaned users. CopyMove will, on move operations, now detected orphaned users on the columns "Created By" and "Modified By" and issue a warning that these accounts will revert to the SharePoint "System Account".
- Added Boolean option `-ShowNewFileDialog` to the PowerShell cmdlet `Set-CopyMoveFarmConfiguration`. Use this option to enable/disable the new file dialog for all site collections. When enabled, the dialog opens when copying a single file without version history, enabling users to change the filename and any visible metadata columns.
- Added Boolean option `-ShowNewFileDialog` to the PowerShell cmdlet `Set-CopyMoveSiteConfiguration`. Use this option to enable/disable the new file dialog for a specific site collection. When enabled, the dialog opens when copying a single file without version history, enabling users to change the filename and any visible metadata columns.
- Replaced the 'Not Found' error message in the CopyMove UI dialogs with a more descriptive message and a link to the CopyMove FAQ article Error 'Not Found' in the CopyMove progress dialog.
- Improved the UI progress dialog to retry 10 times upon failing with HTTP code 404 to get the transaction status. The 404 Not Found error is triggered when CopyMove cannot find the transaction status. See the CopyMove FAQ article Error 'Not Found' in the CopyMove progress dialog.
- Improved content type validation when copying/moving documents to document sets with allowed content types that do not include the source content type.
- New PowerShell cmdlet `New-CopyMoveSite` for manual provisioning of the CopyMove site collection /sites/sppcopymove that is used for storing CopyMove user information like recent destinations.
- New PowerShell cmdlet `New-CopyMoveUserLinkList` for manual provisioning of the CopyMove links list in an existing site collection.
- New PowerShell cmdlet `Remove-CopyMoveWebApplicationConfiguration` for removing any CopyMove configuration object from a SharePoint Web application.
- Updated the end-points ~site/_vti_bin/CopyMoveJSON.svc/settings and ~site/_vti_bin/CopyMove.svc/settings to accept POST requesst to update the CopyMove site collection settings.
- Updated the end-points ~site/_vti_bin/CopyMoveJSON.svc/settings/{listid} and ~site/_vti_bin/CopyMove.svc/setting/{listid}s to accept POST requests to update the CopyMove settings for the specified list.
- Fixed redirect error to document sets when clicking the 'Go to destination' button.
- Fixed error 'User not found' when the timer job 'CopyMove for SharePoint - Ensure user links list ' attempted to provision the CopyMove site collection.
- Fixed 'unexpected error' in the new file dialog when copying/moving documents to a document library / document sets with multilpe content types forming a hierarchy.
- Fixed issue where the internal property SharedWithDetails were preserved on copies. The property has now been excluded and left for SharePoint to maintain.
- Fixed issue where the CopyMove destination tree could not show different SharePoint web, list and folder nodes with the same Id. The issue was triggered when copying a site collection with the SharePoint PowerShell command Copy-SPSite.

### V5.0.1.1669 - 2020-02-04

- Changed the CopyMove logging level in the browser console from info to debug.
- Remediated three critical errors reported by the SPCAF tool.
- Improved verbose logging for all CopyMove PowerShell cmdlets. Add the -Verbose option to see verbose trace logging in the console.
- Fixed issue where CopyMove did not update list item metadata on files. Only when happended when a custom event receiver committed conflicting updates on the ItemAdded event. CopyMove will now retry the update, up to 2 times, by reloading the file and the associated list item.
- Fixed issue where the list item Metadata Author, Editor, Modified and Modified by where updated in all lists with the same GUID in the same content database. This issue only applies to site collections created from a template using the PowerShell command Copy-SPSite.
- Fixed issue where the CopyMove workflow actions did not run impersonated inside an impersonation step action in a SharePoint 2010 workflow.
- Fixed issue where server name mappings configured for SharePoint search results were not applied to list urls in the CopyMove destination search results.
- Fixed issue where the Copy/Move action were not properly trimmed in the ECB right-click menu.
- Fixed issue where the new file dialog and the required values dialog failed with the error "Sorry, this site hasn’t been shared with you". The error shows when the user has contribute permissions to the destination folder but not to the list itself.
- Fixed bug where file hyperlinks like file://host/path where incorrectly mapped to a http hyperlink for the current SharePoint site.
- Fixed bug with error System.ArgumentNullException: value cannot be null when copying/moving documents or list items with managed metadata columns having terms with empty labels.
- Fixed bug where SharePoint rich-text field values were dropped in the new file dialog that only shows when copying a single-file without authors and version history.
- Fixed bug with error System.NullReferenceException when copying a single document to a document set.
- Fixed error where CopyMove could not access the SharePoint default distributed cache. CopyMove did not fail hard but logged this error in trace log; "Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus:There is a temporary failure. Please retry later."
- Fixed bug where missing values for required fields were applied correctly on the first file version but blanked out again on the second file version.
- Fixed bug where disabled Copy/Move actions reappared in the item context menu when clicking to the next page of items in a list view.
- Fixed bug where the CopyMove timer job 'CopyMove for SharePoint - Temporary files cleanup' failed to run on all servers in the farm. It was only exected on the server where the CopyMove farm feature was activated from.
- Fixed bug where CopyMove failed with the error System.NullReferenceException when it faced any of the special characters &~{} in the source or destination URL address. These characters were not allowed in SharePoint 2013 but are now in SharePoint 2016.
- Fixed bug where documents declared as in-place records were lost on moves when versioning was turned off in the destination library.
- Fixed bug where CopyMove failed to preserve metadata values in lists with required check-out and no versioning.
- Fixed bug where copying a single file in a sub-folder from a flat list view, yielded an unexpected error.
- Fixed error where CopyMove could not access the SharePoint default distributed cache. CopyMove did not fail hard but logged this error in trace log; "Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode:SubStatus:There is a temporary failure. Please retry later."

### V4.4.0.1492 - 2018-11-14

- New copy file dialog. When copying a single file without versions, CopyMove presents the user with a new dialog where the file name and metadata can be changed.
- The CopyMove API can now leave documents checked-out when a value is missing for one or more required fields.
- Removed yellow license warnings in UI dialogs.
- Added switch parameter `-DisableRequiredFieldsEnforcement` to the PowerShell cmdlets `Copy-SPPItem` and `Move-SPPItem`.
- Added parameter `DefaultFieldValues` to the PowerShell cmdlets `Copy-SPPItem` and `Move-SPPItem`.
- Added file merge options to the `SPP-CopyItem` cmdlet. The parameter `FileExistAction` now accepts the additional values `Merge` and `MergeAsNewVersion`. When merging, CopyMove will only copy files newer than existing files in the destination.
- Added file merge options to the `SPP-MoveItem` cmdlet. The parameter `FileExistAction` now accepts the additional value `Merge`. When merging, CopyMove will only move files newer than existing files in the destination.
- Added options `-ExportVersionsOptionState` and `-ExportPermissionsOptionState` to the PowerShell cmdlets `Set-CopyMoveFarmConfiguration` and `Set-CopyMoveSiteConfiguration`. These new options makes it possible to configure the default state of the export dialog check box options 'Include versions' and 'Include permissions'.
- Fixed issue where CopyMove allowed copy, move and export of list items protected by the Read access option in a list.
- Fixed issue where the destination URL text box did not recognize special SharePoint folder URLs copied and pasted from the browser address bar.
- Fixed unpredictable behavior on conflicting files with no checked-in version in large libraries. CopyMove will now detect these conflicts and abort gracefully to avoid losing the source file on a move operation.
- Fixed issue where CopyMove failed with the error Only String, INT, and DateTime datatypes can be used as the value in properties when moving a folder shared with other users.
- Fixed issue where it was not possible to copy/move a file to a folder without the EditListItems permission. CopyMove can now copy/move a single file-version to a folder with the AddListItems permission only.
- Remedied the Google Chrome warning "document.registerElement() is deprecated in favor of customElements.define(). It is scheduled to be removed from chrome around March 2019."

### V4.3.1.1404 - 2018-01-25

- Fixed the SharePoint error "Save Conflict. Your changes conflict with those made concurrently by another user. " when editing a list item copied/moved by CopyMove. The error only surfaced in lists with a large number of columns.
- Fixed issue where CopyMove dropped a major version when moving documents with more versions than kept in the destination library.
- Fixed issue where it was possible to select multiple destinations in the destination selection dialog. The tree is now configured to only allow single-selection.
- Added Boolean option `-EnablePropertyRemovalInOfficeDocuments` to the PowerShell cmdlet `Set-CopyMoveFarmConfiguration`. Use this option to prevent CopyMove from removing special properties from MS Office Documents before upload to SharePoint.

### V4.3.0.1309 - 2017-08-23

- Added support for loading the json3.min.js library from the local SharePoint server. Only applicable when the JSON object is undefined.
- Added new Boolean configuration option `-UseBuiltInMove` on the PowerShell cmdlets `Set-CopyMoveFarmConfiguration` and `Set-CopyMoveSiteConfiguration`.
- Moving files and folders within the same document library is now performed using the built-in SPFile.MoveTo and SPFolder.MoveTo methods in SharePoint. This improves performance and preserves the database item ids.
- The CopyMove export function now preserves the folder structure and file names in the exported ZIP archive. Before the files were exported as .dat files mapped to the original file names through the Manifest.xml file.
- Fixed the JavaScript error "Sys.InvalidOperationException: Type SPP.CopyMove.Ribbon.Documents.PageComponent has already been registered" when the SharePoint Web application was running in debug mode.

### V4.2.1.1249 - 2017-06-26

- Fixed issue where the CopyMove site settings could not override the CopyMove farm settings. Issue was inadvertently introduced in version 4.2.0.
- Added the RESX resource file entry CustomAction_FlyoutAnchor_Label to support the translation of the CopyMove button in the ribbon.
- Added French translation CopierDéplacer for the CopyMove button in the ribbon.

### V4.2.0.1213 - 2017-06-12

- Added new CopyMove list settings page.
- Added support for overriding the CopyMove enabled actions at the level of the SharePoint list.
- Added support for hiding specific lists in the CopyMove destination tree.
- Added support mapping list fields and content types when copying and moving items with the CopyMove PowerShell cmdlets `Copy-SPPItem` and `Move-SPPItem`
- Added support for excluding specific document and list item metadata values on all copy and move operations.
- Added new check box Show recent destinations on the CopyMove farm settings page and the CopyMove site collection settings page.
- To prevent property promotion in SharePoint, CopyMove now removes the following properties from Microsoft Office documents on copy operations; `_dlc_DocId`, `_dlc_docIdUrl` and `_dlc_DocIdPersistId`. Not supported for the older binary formats of Microsoft Office documents.
- The Include version history check box is now hidden when versioning is not enabled in the context list.
- Removed the Personal Links list settings from the CopyMove farm settings page.
- Added new daily SharePoint Timer Job named CopyMove for SharePoint - Ensure user links list. It creates a CopyMove site collection at `~webapplication/sites/sppcopymove` for all Web Applications hosting at least one site collection with CopyMove enabled.
- CopyMove user links in the destination tree are now stored in a separate list for each Web Application.
- Revamped existing PowerShell cmdlets with better documentation, more options and support for piping with SharePoint objects like SPWebApplication, SPSite and SPList.
- New PowerShell cmdlets `Get-CopyMoveFarmConfiguration` and `Set-CopyMoveFarmConfiguration` for scripting the CopyMove farm configuration.
- New PowerShell cmdlets `Get-CopyMoveWebApplicationConfiguration` and `Set-CopyMoveWebApplicationConfiguration` for scripting CopyMove web application configurations.
- New PowerShell cmdlets `Get-CopyMoveSiteConfiguration` and `Set-CopyMoveSiteConfiguration` for scripting CopyMove site collection configurations.
- New PowerShell cmdlets `Get-CopyMoveListConfiguration` and `Set-CopyMoveListConfiguration` for scripting CopyMove list configurations.
- New PowerShell cmdlets `Get-CopyMovePermissionLevel` for getting the current CopyMove permissions assigned to a SharePoint permission level.
- New Export and Import icons in the CopyMove ribbon menu.
- Deprecated the PowerShell cmdlets `Get-CopyMoveSettings` and `Set-CopyMoveSettings`.
- Fixed issue where unique folder permissions were not preserved on moves.
- Fixed the JavaScript error 'JSON' is undefined for older browsers by including the JSON3 library from https://github.com/bestiejs/json3

### V4.1.0.1169 - 2017-02-25

- Added support for copying new versions to document records where editing in not blocked.
- Added support for copying and moving OneNote Notebooks.
- Added Subsites node to the destination tree.
- Extended the CopyMove API with the property CopyMoveItemTransaction.EnforceEnableFolderCreation, which controls whether CopyMove should fail when attempting to create standard folders in a list where folder creation is disabled.
- When copying/moving/importing files with the Skip option, the CopyMoveResult object in the CopyMove API will now include references to files that were skipped because they already exists in the destination.
- The CopyMove workflow actions (SharePoint 2010 workflow) no longer terminate the workflow with exceptions on CopyMove warnings and errors. Instead they will return a workflow status error code.
- The CopyMove workflow actions (SharePoint 2010 workflow) now logs the CopyMoveResult XML to the workflow history list.
- Illegal characters in file names and folder names are now removed to avoid SharePoint errors when importing external files from a ZIP archive.
- Updated default transaction size limits to 200 items / 2000 MB for users and 1000 items / 10000 MB for site collection administrators.
- Increased upper transaction size limits to 5000 MB for users and 25000 MB for site collection administrators.
- Fixed issue where CopyMove updated read-only fields yielding the error '0x80070057Invalid data has been used to update the list item. The field you are trying to update may be read only'
- Fixed issue, when moving documents, where the Document ID redirection URL still pointed to the source Web site.
- Fixed issue where CopyMove enforced required fields on shared document set fields.
- Fixed error 'Access denied' when moving files with the PowerShell cmdlet Move-SPPItem.
- Fixed error 'No items found' when all the selected source items already exists in the destination and file overwrite was set to false in workflows or to skip in the API.
- Fixed error No SharePoint Context when uploading an invalid ZIP file.
- Fixed error Microsoft.SharePoint.SPInvalidPropertyException: Only String, INT, and DateTime datatypes can be used as the value in Properties. when copying/moving/importing discussion items with user ratings.
- Fixed error List not found when creating a new folder or document set in a remote site from the destination selection tree.

### V4.0.0.949 - 2016-05-31

- First release of CopyMove 2016.
- Added support for recurring events and all day events in calendar lists.
- Added Dutch translation of the user interface.
- Added more verbose trace logging during the import of files.
- Fixed error 'Transaction not found' that in some cases showed when copying/moving items.
- Fixed issue where the PowerShell installation script did not recognize PowerShell V5 when testing what version of PowerShell that is installed on the server.
- Fixed issue where the SharePoint Root Web site was not always included in the destination selection tree.
- Fixed issue where the CopyMove destination selection tree did not handle list folder permissions correctly. That is, it did in some cases not correctly enable/disable the destinations based on the user permissions.
- Fixed issue where access was denied when attempting to move a file in a sub-folder selected from a flat view and where the user has delete access in the sub-folder but not in the list root folder.
- Mitigated issues reported by the SPCAF tool.

### V3.9.0.898 - 2016-02-19

- Added support for chunked upload of large ZIP files in the Import dialog.
- Added new option on the CopyMove settings page to disable and check options on the Copy and Move dialog pages.
- Added support for preserving values on read-only fields.
- Added localized satellite assemblies to the OEM version.
- Improved support large document libraries and lists. CopyMove could earlier fail with a throttling exception.
- Canceling CopyMove dialogs no longer refreshes the page clearing the current selection of list items.
- Copying a document without versions included to a document library with minor versioning, will now yield a minor document version 0.1 regardless if the source document was a published major version or a draft minor version.
- Fixed error 'Folder creation is not allowed in the destination folder' when copying/moving a folder to list with custom folder content types and where folder creation is disabled.
- Fixed error 'List not found' when accessing CopyMove from a document library or list shown in a Web Part from another SharePoint web site.
- Fixed error 'System.NullReferenceException: Object reference not set to an instance of an object' when copying/moving a document set to another document library with empty required fields on the document set content type.
- Fixed error 'System.UnauthorizedAccessException' when attempting to access the SharePoint SystemAccount user.
- Fixed error 'Column _vti_ItemDeclaredRecord does not exist' when moving a record to another document library where records management is not enabled.
- Fixed JavaScript error 'Invalid calling object' with the knockout.min.js library in IE9 compatibility view.
- Fixed issue where the new JavaScript tree did not load on the top level SharePoint root site.
- Fixed localization issue in the OEM version where UI texts were always loaded from the English resources.
- Fixed access denied error when moving items with the PowerShell command Move-SPPItem.
- Fixed issue where the date picker control, in the required values dialog, did not work when copying or moving items across domains.
- Fixed issue where the selected destination url would sometimes break with a double slash.
- Fixed duplicate site collection issue in the destination tree where site collection nodes are loaded with a wildcard url expression.
- Fixed issue where CopyMove did not enforce the list of allowed content types in a folder in a document set.

### V3.8.0.824 - 2015-10-19

- Complete overhaul and upgrade of the CopyMove Web UI.
- CopyMove is no longer using a cookie for storing recent destinations and user sites added to the destination tree by the user.
- CopyMove now stores recent destinations and user sites in a SharePoint list. Default location is ~mysite/list/CopyMoveLinks. The location can be changed with the PowerShell command `Set-CopyMoveSettings -LinksListUrl <absolute list url>`
- Replaced the CopyMove destination selection tree with a more modern and flexible JavaScript tree component from www.jstree.com
- Added right-click context menu to the CopyMove destination tree.
- Added support for creating folders and document sets directly from the CopyMove destination selection tree. If the folder or document set has more columns than the name then CopyMove will redirect the user away from the tree to a new dialog for creating the folder or document set.
- Added support for sorting nodes in the destination tree. They can from the right-click context menu be sorted by name and date in ascending and descending order. Sorting by title is also possible if the property is visible and available on the Folder content type.
- Added support for searching destination folders and lists in the destination selection dialog. Requires the SharePoint Enterprise Search Service.
- Added support for flat views. That is, CopyMove can now copy,move,export and import selected items from multiple source folders. This would in previous versions yield an error.
- Added support for moving items on hold - but only for site collection administrators.
- Added support for preserving the Web Part history on Web Part Pages.
- Added support for file renaming in the API. A single source file can now be copied or moved with a new filename. Simply specify the source file url and the target file url in the properties CopyMoveTransaction.SourceUrl and CopyMoveTransaction.TargetUrl respectively.
- Added new Event Receiver API for intercepting CopyMove Transactions.
- Added new JavaScript API for client-side integration with CopyMove.
- Added new option InjectEventPropertieson the Set-CopyMoveSettings cmdlet to enable/disable the injection of the SPPCopyMoveEvent property into the property bag of SharePoint files.
- Added new hidden event property SPPCopyMoveSourceUrl to enable custom applications to track the original source location of an item copied or moved with CopyMove.
- Added new Boolean property CopyMoveTransaction.IncludeAttachments to enable CopyMove API clients to include/exclude list item attachments in copy, move, export and import transactions. The default value is true.
- Added new validation check for storage quotas. Users will receive an advance error if a Copy, Move or Import transaction will exceed the storage quota of the destination site collection.
- Added new validation check for blocked file types. Users will receive an advance error when trying to copy, move or import documents having a blocked file extension.
- Moved the new folder button to the new right-click context menu.
- Updated the CopyMove progress bar to pick up the current SharePoint theme.
- Updated translations for German, Japanese, French and Spanish.
- Importing files larger than the max. file size configured for the SharePoint Web Application will now yield a nice error message.
- Destination list items are now rolled back and deleted on errors while keeping the source item intact. CopyMove already does this for documents.
- The options 'Include authors & dates', 'Include versions' and 'Include permissions' will, when disabled for user input, now default to true on moves.
- Fixed issue where CopyMove allowed users to move documents that were declared as records and checked out. CopyMove cannot move checked-out files and will now abort with an error.
- Fixed missing icon for the recent destination nodes in the destination tree. This icon was missing when using CopyMove 2013 in a SharePoint Foundation 2013 environment.
- Fixed JavaScript error "Object reference not set to an instance of an object" in the method UpdateTargetDialogButton() located in the file CopyMoveDialog.js
- Fixed error "System.InvalidOperationException: Operation is not valid due to the current state of the object."
- Fixed incorrect size of CopyMove dialog in Safari browsers.
- Fixed serialization error in SharePoint 2010 workflows using the Copy/Move actions. Error was "Unable to serialize workflow, exception: Type 'SharePointProducts.Diagnostics.DefaultLogger' in Assembly 'SharePointProducts.Platform, Version=3.0.0.0, Culture=neutral, PublicKeyToken=9e95445247029289' is not marked as serializable."
- Fixed access denied error when opening the CopyMove dialog in a sub-site as a user without access to the root web site of the site collection.
- Fixed access denied errors in workflows where CopyMove was running in the context of the application pool account instead of in the context of the workflow initiator.

### V3.6.0.763 - 2015-04-21

- Added new option to create new SharePoint folders and Document Sets directly from the CopyMove target selection dialog.
- Added new option to add a file as a new version. The new option will show in a warning when the following conditions are true:
  - The user is copying or importing files
  - The target file(s) already exists
  - The file(s) are copied/imported without version history
  - Versioning is enabled for the target list
- Added new warning message on loss of major versions when copying, moving or importing documents or items to a list where versioning is enabled but limited by the number of major versions to keep.
- Added support for preserving the record declaration date when moving records. Note: Only site collection admins can move records and only when they are also allowed to undeclare records.
- The current node in the destination selection tree is no longer expanded by default.
- CopyMove will now prevent the copying, moving and importing of folders to lists where folder creation has been disabled.
- Renamed the text 'target' to 'destination' when referencing the copy/move destination location. Both terms were used inconsistently.
- Fixed issue where CopyMove sometimes failed to preserve managed metadata on multi-lingual sites.
- Fixed issue where the unique document id was not preserved on document sets when moved.
- Fixed JavaScript error 'ListData.Row is null or not an object'.
- Fixed issue where items were not left in the recycle bin on moves.
- Fixed character encoding issues in the CopyMove PowerShell installation scripts. These encoding errors caused the scripts to fail on Japanese Windows servers.
- Fixed error 'List not found' when clicking the Copy, Move or Export button on a Wiki page on a site where MDS is enabled.
- Fixed issue where it was not possible to import files from ZIPs exported by CopyMove V3.4.0 and earlier.
- Fixed issue where content type mapping drop-downs did not contain any entries. This scenario could occur when copying/moving a document set configured with a list of allowed content types that are not otherwise available in the document library.
- Fixed access denied error when user attempts to access a list folder with special permissions that does not grant any access to the user.
- Fixed issue where [[ and ]] bracket were not escaped as \[[ and \]] on Wiki pages.
- Moving web part pages will now fail with rollback, if one or more web parts fail to export or import. Copying web part pages will now produce warnings for web parts that fail to export or import.

### V3.5.0.706 - 2015-01-30

- Added new content type mapping option that shows when CopyMove cannot map one or more content types in the source list to the target list.
- Added new option ReportDetailedErrorson the Set-CopyMoveSettings cmdlet to enable/disable the reporting of detailed system errors in the CopyMove dialog. Default value is on.
- Added new logic for mapping SharePoint membership groups in the source site to different membership groups in the target site. To preserve all item level permissions, CopyMove is only able to map SharePoint groups by name. Permissions granted via a SharePoint group that does not exist in the target site collection are dropped. However, CopyMove is with the new functionality here now able to map membership groups with different names in the source and the target.
- Added support for auto starting SharePoint 2013 workflows on copy, move and import operations. Applies to workflows configured to auto start on new items.
- The SharePoint distributed cache is no longer required for the CopyMove progress bar to work in single WFE farms and multi WFE farms with sticky sessions (affinity on NLB).
- Added support for the list of allowed content types in a document set. CopyMove will now respect this list and not allow the user to copy or move documents to the document set with content types not in the list.
- Disabled trimming of duplicates when querying sites by wildcard for the target selection tree.
- Deprecated the CopyMoveItemTransaction.Recursive property in the API. Instead, use the CopyMoveTransaction.IncludeFolders property.
- CopyMove submit buttons are now disabled on click to avoid double submits on slow systems.
- Fixed error 'Error importing folder [url] because the parent folder [url] does not exist', which was triggered when copying/moving items in nested folders using wildcards through PowerShell or through the API.
- Fixed error 'Microsoft.SharePoint.SPQueryThrottledException: The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator' when CopyMove attempts to query the list of checked-out files where the first version was never checked-in.
- Fixed access denied error when using the CopyMove PowerShell Cmdlets against a SharePoint Web Application configured with multiple identity providers.
- Fixed issue where the installation scripts failed to run with spaces in the path.

### V3.4.0.670 - 2014-11-03

- Improved the PowerShell cmdlet Set-CopyMoveSettings to support setting individual settings directly.
- Added option on the Set-CopyMoveSettings cmdlet to configure the maximum sub-folder limit in the target selection tree. The default maximum is 5000 folders per level.
- Added option TransactionLimitsEnabledon the Set-CopyMoveSettings cmdlet to enable/disable the CopyMove transaction limits. The limits are enabled by default.
- Added support for configuring the maximum number of recent folders to show in the target selection tree. The new setting can for now only be configured through the PowerShell cmdlet Set-CopyMoveSettings and the configuration XML element named <MaxRecentFolders>. The default value is 20.
- Added the PowerShell cmdlet Remove-CopyMoveSettings to support scripted removal of CopyMove settings from site collections.
- Added protection for Cross-Site Request Forgery (CSRF).
- Added validation error checks on overwriting new files that were never checked in.
- Added Danish translation of the user interface.
- Added Japanese translation of the user interface.
- Added support for disabling SharePoint item events firing in the CopyMove worker thread. Just disable them (SPItemEventReceiver.EventFiringEnabled = false) in the client thread and CopyMove will also disable them in the worker thread.
- Added a new CopyMove RESTful Web service at ~site/_vti_bin/CopyMoveRest.svc
- Added new Items array property to the CopyMoveResult API object. It reveals the id and url of all target items that were copied, moved or imported by the CopyMove transaction.
- Fixed issue where read-only users could not copy documents with no major version.
- Fixed the unexpected error 'You cannot change moderation status and set other item properties at that same time' when moving folders in lists configured to require content approval.
- Fixed issue where the Recent Folders node in the target selection tree would show folders from incompatible target lists.
- Fixed permissions issue where users could use the CopyMove import function even if CopyMove permission levels were enabled and the import permission was not granted.
- Fixed error 'The server was unable to process the request due to an internal error' when connecting to the CopyMove WCF service.
- Fixed upgrade issue where the CopyMove license key failed to load with the error Unable to cast object of type 'PersistedString' to type 'PersistedLicenseString'.
- Updated the WCF Sample in the product download to support SSL and other SharePoint credentials than the current Windows user.

### V3.3.0.622 - 2014-07-24

- Added support for item selection wildcards like *.* and *.pdf in the PowerShell cmdlets. See the administrators guide or type Get-Help Copy-SPPItem -detailed for more information.
- Added 'current folder' label to the current folder node in the target selection tree.
- Added new functionality to create copies of files in the same folder.
- Added the Copy and Move actions to the item context menu in asset type libraries.
- Added new folder column to the import items dialog.
- Added support for document libraries configured for auto declaration of records.
- Fixed issue where the Import function did not use the same folder structure as exported with the Export all function.
- Fixed issue on exporting documents where files with special characters in the filename were not zipped with the original filename.
- Fixed JavaScript error when clicking the French Copy/Move/Export button in the List Form Ribbon.
- Fixed workflow initiation issues. Workflows configured for auto-start on create are now started by CopyMove, rather than by SharePoint, and not before CopyMove has completed copying, moving or importing. The workflow context will now also have the correct workflow initiator, which is the current user that copies, moved or imports an item.
- Fixed the error "Unable to cast object of type 'System.DBNull' to type 'System.String'." when importing typeless files from a zip archive.

### V3.2.0.601 - 2014-05-16

- Added new 'Recent folders' node in the target selection tree. It shows the latest folders used by the current user.
- Added error handling for "An error was encountered while retrieving the user profile" in the target selection tree. It caused CopyMove to fail hard when the User Profile service failed to load the user profile for the current user.
- Added more verbose logging related to the tracking of server licenses.
- Added list locking to prevent different users from unintentionally moving the same items at the same time.
- Added label with maximum upload size in the import upload dialog.
- Added client side validation for the file size of the selected file in the import upload dialog. En error is now shown if the file is larger than the current upload maximum size (MaxRequestLength in web.config)
- Added support for wild-card inclusion of site collections in the target selection tree. Requires the SharePoint 2013 Enterprise Search Service Application to be provisioned and running with an up-to-date index.
- Added new switch parameter DisableTransactionLimits to the following PowerShell cmdlets:
  - Copy-SPPItem
  - Move-SPPItem
  - Export-SPPItem
  - Export-SPPList
  - Import-SPPItem
- Updated the target selection tree to sort sub-folders with the same sorting settings as in the default view of the target list.
- Improved zip import for external media. CopyMove will now leave imported files in a checked-out state if the document library is configured to enforce checkouts or if the default document content type has one or more required columns.
- Fixed null reference error in CopyMove.js at line 59.
- Fixed issue where CopyMove failed to copy/move items on sub sites.
- Fixed issue where the PowerShell Copy/Move/Export/Import cmdlets would never complete on errors and warnings.
- Fixed issue where the 'Export all' function, when used on sub-folders, included the parent folder structure in the exported zip archive.
- Fixed error the "List does not exist" when copying/moving items to a sub-site.
- Fixed error 'System.NullReferenceException: Object reference not set to an instance of an object' when a document unexpectedly has no content type.
- Fixed error 'System.NullReferenceException: Object reference not set to an instance of an object' when importing items from a ZIP archive through the API or through the Import-SPPItem cmdlet in PowerShell.

### V3.1.0.561 - 2014-03-12

- Added support for Minimal Download Strategy (MDS) in site collections.
- Improved item context menu actions. Earlier, the Copy and Move actions always showed in the item context menu regardless of user permissions and CopyMove settings. The actions now only show when one of the following conditions is true:
  1. CopyMove is not configured to restrict usage by permissions and the actions are enabled on the CopyMove settings page.
  2. CopyMove is configured to restrict usage by permissions, the actions are enabled on the CopyMove settings page and the user is in a role having the Copy and Move permission flags.
- The state of the CopyMove Ribbon buttons Copy, Move and Export are now linked to the permissions of the selected items. Buttons are disabled if one or more selected items require more permissions than granted to the user.
- Support for moving in-place records while preserving the record declaration status. However, only authorized users will be allowed to move records. The undeclaration setting on the Record Declaration Settings page will determine the group of authorized users. The setting "Only list administrators" limits the group to site collection administrators while the setting "All list contributors and administrators" only limits the group to users with contribute access to the items being moved.
- New PowerShell support with the following Cmdlets included:
  - Get-SPPLicense: Retrieves the CopyMove license key as a string.
  - Set-SPPLicense: Updates the CopyMove license key from a string.
  - Get-CopyMoveSettings: Retrieves the CopyMove farm settings or site settings as an XML string.
  - Set-CopyMoveSettings: Updates the CopyMove farm settings or site settings from an XML string.
  - Copy-SPPItem: Copies list items, documents and folders with full fidelity.
  - Move-SPPItem: Moves list items, documents and folders with full fidelity.
  - Export-SPPItem: Exports list items, documents and folders from a SharePoint list or library to a ZIP file.
  - Export-SPPList: Exports all items, documents and folders from a SharePoint list or library to a ZIP file.
  - Import-SPPItem: Imports list items, documents and folders from a ZIP file to a SharePoint list or library.
  - Set-CopyMovePermissionLevel: Updates CoyMove permission flags on a SharePoint permission level.
- Improved installation scripts.
- Fixed issue where document ids were not preserved on moves.
- Fixed issue for Web Applications with classic mode authentication where required user field values are dropped after being entered manually by the user in the required fields dialog.
- Fixed error "Unable to serialize workflow" when using the Copy or Move workflow activity in an asynchronous workflow.
- Fixed SharePoint 2010 content database upgrade issue 'The feature with Id 404823a5-56d8-4c21-9f12-d2cb7cbbe974 is referenced in the database, but is not installed on the current farm. The missing feature may cause upgrade to fail when upgrading SharePoint 2010 content databases to SharePoint 2013. The upgrade error shows when the CopyMove 2010 site feature is activated in one or more site collections.

### V3.0.0.527 - 2013-10-11

- Improved progress title in the progress dialogs.
- Updated registration of authorized CopyMove workflow actions in the web.config file to use the new targetFx node introduced in SharePoint 2013.
- The error "Cannot import this Web Part", when copying/moving Web Part pages, is now handled as a warning and no longer causes CopyMove to abort the copy/move process.
- Custom SharePoint event receivers can now query the context user from the CopyMove processor thread as follows:

      string contextUser = (string)Thread.GetData(Thread.GetNamedDataSlot("CopyMoveContextUser"));

- Fixed issue where the Copy and Move actions did not show in the item context menu. They only showed when CopyMove permissions was configured appropriately as documented in the CopyMove administrator guide. The fix means the actions will now show regardless of CopyMove permissions. However, unauthorized users will still get an access denied error when attempting to use any unauthorized fucntions.
- Fixed error "Object reference not set to an instance of an object" in the CopyMove progress dialog on SharePoint 2010 style site collections.

### V3.0.0.497 (BETA2) - 2013-07-10

- Fixed validation error on importing documents that were exported from a site with an empty title.
- Fixed issue where unexpected errors where not always written to the SharePoint trace log.
- Fixed error "Object reference not set to an instance of an object" when importing documents to a document library having one or more required user fields.
- Fixed error importing ZIP archives that were exported with CopyMove 2010.
- Fixed the warning "Detected use of SPRequest for previously closed SPWeb object" in the ULS log. It appeared when CopyMove audited the Copy or Move operation to the SharePoint audit log.
- Fixed the error "ErrorCode:SubStatus:There is a temporary failure. Please retry later." that showed in the CopyMove progress dialog.
- Added new script file Reset-AllServers.cmd and Reset-AllServers.ps1 that can be leveraged to reset all major SharePoint services on all servers in the SharePoint farm.
- Renamed the file Install.cmd to Install-CopyMove.cmd
- Renamed the file Upgrade.cmd to Upgrade-CopyMove.cmd
- Renamed the file Uninstall.cmd to Uninstall-CopyMove.cmd
- Renamed the file Reset.cmd to Reser-LocalServer.cmd
- Renamed the file Install.ps1 to Install-CopyMove.ps1
- Renamed the file Upgrade.ps1 to Upgrade-CopyMove.ps1
- Renamed the file Uninstall.ps1 to Uninstall-CopyMove.ps1
- Renamed the file Reset.ps1 to Reset-LocalServer.ps1
- Renamed the file GetLogFile.ps1 to Get-CopyMoveLogFile.ps1

### V3.0.0.478 (BETA1) - 2013-06-14

- First public release of CopyMove 2013.
- Updated UI styles to match the new SharePoint 2013 look and feel.
- Added support for followed sites in the target selection tree. This is replacing the membership sites functionality in SharePoint 2010.
- Redesigned Add Site button in the CopyMove target selection dialog.
- Added support for new 2013 list types; My Site Document Library and Tasks with Timeline and Hierarchy.
- The CopyMove ZIP Export and ZIP Import functions are now leveraging the ZIP framework in Microsoft .NET 4.5. CopyMove 2010 used a third party library as Microsoft .NET 2.0 does not come with a ZIP archiver.
- Included backwards compatibility for SharePoint 2010 sites that have not yet been upgraded to SharePoint 2013 sites. On these sites, CopyMove will continue to work in a SharePoint 2010 look and feel.
- Removed requirement for server affinity. CopyMove 2010 required that all Web requests in the same user session were routed to the same WFE server in a load-balanced environment. The progress bar could otherwise fail in a CopyMove transaction. CopyMove 2013 no longer requires this as CopyMove progress is announced to all servers through the new distributed cache service in SharePoint 2013.

### V2.3.1.442 - 2013-04-29

- Fixed issue where expanding nodes in the target selection dialog resulted in the error HRESULT: 0x80070003
- Suppressed the error "The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator." when opening the CopyMove target dialog from a list with more items in the current folder than the list view threshold.
- Fixed alternate access mapping issue with the continue button in the Required Values dialog.
- Fixed time parsing issue with DateTime fields in the Required Values dialog.
- Fixed incorrect success message Success – {0} {1} moved to (2) when copying/moving a single empty folder.
- Fixed issue where it was not possible to enter any field values in the Required Values dialog. Clicking the Continue button then yielded the error "Object reference not set to an instance of an object".
- Fixed the error "System.ArgumentException: Value does not fall within the expected range." that showed when copying/moving folders in a document library with more lookup fields than the List View Lookup Threshold allows for.
- Added support for Document Set link stubs. They are now recognized ad such and not display as a possible target folder in the target selection tree. Explict specification of such a target folder will yield an error.
- Fixed the error "Object reference not set to an instance of an object" that surfaced when using the CopyMove Export All function in a document library configured with Metadata navigation.
- Added support for Windows User Account Control in the CopyMove Install and Uninstall scripts.

### V2.3.0.415 - 2013-02-07

- For Move transactions, source documents and items are now deleted one by one as they are imported. Before they were not deleted before the end of the transaction. This could be a problem if a Move transaction was aborted by an unexpected error, leaving two copies of successfully moved documents behind.
- CopyMove now enforces missing values on required fields with no default value configured. For example copying documents to another library with required fields not present on the content type in the source library.
- Improved support for configuring CopyMove permissions at a more granular level. It is now possible to configure permissions independently for the Copy, Move, Export and Import actions.
- The Copy and Move actions in the item drop-down menu are now trimmed by the CopyMove permissions for the current user. As a consequence hereof they are no longer visible if CopyMove is not configured to limit usage by permissions on the CopyMove settings page.
- Added support for host named site collections in the target selection tree.
- Added new Move Workflow action.
- Workflow action improvements - they now log information and error events to the Workflow history list.
- Approval status (content approval) is no longer preserved on copy operations - only on move operations.
- Fixed issue where values on custom field types were lost on copy/move/import.
- Fixed the API error "Access denied! You (SHAREPOINT\system) do not have access".
- Fixed temporary folder permissions issue with the ZIP import function. Imports failed when the current user did not have read access to the CopyMove temporary files folder on the WFE server.
- Fixed error "The folder does not exist!" when adding a new site to target selection tree.
- Fixed issue where default metadata values were not applied to items copied/moved to a folder configured with location based metadata values.

### V2.2.1.395 - 2012-10-12

- Fixed resource depletion problem when copying/moving a large number of document library folders. Errors seen in the ULS log included "Potentially excessive number of SPRequest objects", "Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."
- Fixed issue where the current site collection was showed twice in the target selection tree.
- Fixed issue where Managed Metadata values were sometimes not migrated properly. This caused the search indexer to fail with the error "Error from SharePoint site: *** Index was outside the bounds of the array."
- Fixed the error MethodAccessException: Microsoft.Office.Server.UserProfiles.UserProfileManager..ctor() when CopyMove was installed on Search Server 2010.
- Fixed double folder level issue when importing documents to a subfolder in a document library.
- Fixed issue where Document Set snapshots were not recreated right on copy/move operations.
- Fixed the error Access denied that in rare cases could occur when copying/moving documents with a check-in comment on the first version.
- Fixed the error Could not add user [DOMAIN\user] to the Web site [url] when copying/moving documents with item-level permissions where one or more users do not exist in the target site collection.
- Fixed the error Access denied! You (WindowsIdentity:DOMAIN\user) do not have access to the site http://server when calling CopyMove outside of a SharePoint context.
- Fixed filename codepage issue when exporting and importing documents.
- Removed the CopyMove ribbon group on external lists as these are currently not supported.
- Improved support for importing zipped documents from MAC computers; documents in the __MACOSX folder are now ignored.
- Improved error message when copying/moving/exporting documents that were added but never checked in. CopyMove cannot see such documents.
- Raised max. possible transaction limits for site collection administrators from 2000 items / 2000 MB to 1000 items / 10000 MB.
- Updated the CopyMove Ribbon group to start collapsing before the SharePoint groups when screen real estate gets sparse.
- Added support for Slide Libraries.

### V2.2.0.363 - 2012-04-04

- Added French translation of the user interface.
- Added German translation of the user interface.
- Added Spanish translation of the user interface.
- Added options to disable the Copy and Move include check boxes Authors & Dates, Version history and Item permissions
- Improved error message on unexpected errors.
- Improved error message when the process account/application pool account cannot access the temporary file location on the WFEs.
- Improved diagnostics logging on document transactions.
- Fixed bug where CopyMove timer job cleans up temporary files too early. This could result in the error Could not find a part of the path 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\LOGS\SharePointProducts\... during copy/move operations.
- Fixed error "Detected use of SPRequest for previously closed SPWeb object" that could appear in the SharePoint logs.
- Fixed issue in the target selection tree where it was not possible to select a root level target list with the same URL name as the root level source list.
- Fixed issue with duplicate document IDs when moving a document with a unique document ID and then saving it as a new copy from Office.
- Fixed JavaScript bug "length is empty or not an object" when selecting items in a document library.

### V2.1.1.342 - 2012-02-02

- Fixed Access Denied error for users with Read permission. This error was caused by a new feature in CopyMove that trims the buttons in the Ribbon according to the CopyMove settings and the permissions of the current user.

### V2.1.0.340 - 2012-01-31

- Added CopyMove group to the Document Set Ribbon and moved the Copy and Move actions there from the Manage group.
- Added new export to ZIP feature that enables users to export documents, folders and items to a downloadable ZIP archive.
- Added new import from ZIP feature that enables users to import documents, folders and items from a previously exported ZIP archive. However, it is also possible to import documents and folders from a plain ZIP archive.
- Added new setting for disabling and hiding any of the CopyMove buttons; Copy, Move, Export and Import.
- Added new CopyMove site collection settings page that enable site collection administrators to override most of the CopyMove farm settings.
- Added new permissions feature that enables site collection administrators and site owners to restrict access to the CopyMove functionality.
- Added new option Include authors and dates that enables users to specify whether CopyMove should preserve system Metadata including Created By, Last Modified By, Created Data and Last Modified Date.
- Added new warning on Metadata loss. It is triggered when items are copied or moved to a list that does not have the same list columns as the source list.
- Added direct support for My sites in the target selection tree. That is, the My Site of the current user is by default included in the tree. Administrators can turn it of if required.
- Added direct support for Membership sites in the target selection tree. That is, the Membership sites of the current user are by default included in the tree. Administrators can turn this of if required.
- Added new transaction limits for site collection administrators. That is, they can now enjoy higher transaction limits that regular users. Only farm administrators can configure the limits.
- Added support for custom list templates in the sense that it is no longer necessary to register the CopyMove actions for custom list templates. However, this applies only to lists that leverage the Ribbon control.
- Added new workflow action that enables workflow designers to use the copy operation in SharePoint workflows.
- Removed the CopyMove Web application feature for technical reasons. Hence, it is now necessary to activate CopyMove on each site collection where it should be available to end-users.
- Improved performance in the target selection tree when expanding a list or folder with a large number of sub-folders. The tree will now support up to 5000 sub-folders below one list node or one folder node provided that it can fetch the sub-folders in less than 10 seconds. Otherwise it will just display as many sub-folders as it can get within that time frame. Performance may be limited by the current load and the capabilities of the server infrastructure.
- Improved error messages.
- Improved warning messages.
- Improved PowerShell scripts for installing, uninstalling and upgrading CopyMove.

### V2.0.3.323 - 2012-12-23

- Fixed issue with managed metadata columns that sometimes contained the value of an earlier version.
- Added support for ECM document ids - they are now preserved on move operations. A copy operation will still assign new unique ids to documents and document sets.
- Improved support for BCS list columns.
- Changed the maximum folder limit in the target selection tree from 200 to 1000 folders. That is, the tree now supports the display of the 1000 recent most folders on the same level in a document library or list. The limit is instantiated to prevent poor performance in scenarios where there are a huge number of sibling folders to retrieve and display.

### V2.0.2.315 - 2011-10-20

- Fixed the error "Object reference not set to an instance of an object", which could occur when copying or moving a document.
- Fixed issue where DateTime column values were sometimes shifted with the hourly difference between UTC time and the local time.

### V2.0.1.302 - 2011-08-05

- Improved cross-browser support. Some of the CopyMove Javascript code did not work in other browsers than Internet Explorer.
- Fixed error when copying or moving a Document Set.
- Extended the CopyMove API with the property CopyMoveItemTransaction.IncludeTimestamps, which controls whether CopyMove should keep item timestamps or use the current date and time. Set the property to true to preserve and false to assign the current date and time to the created and modified time stamps.
- Extended the CopyMove API with the property CopyMoveItemTransaction.UserInfo, which controls whether CopyMove should preserve item user information (author and editor). Set the property to true to preserve and false to assign the current user as the author and the editor.
- Fixed issue where closed Web parts where sometimes reopened on the target page.
- Fixed bug where publishing pages could not be copied or moved to sub folders.

### V2.0.0.283 - 2011-06-01

- Added support for SharePoint 2007 document libraries and lists present on SharePoint 2010 sites that have not yet been visually upgraded to the new SharePoint 2010 look & feel.
- Added support for Managed Metadata columns in document libraries and lists. CopyMove connects to the Term Store and looks up terms by their unique id or by name if the target column is using a different term set than the source column.
- Improved support for Web part pages, Wiki pages and Publishing pages.
- Fixed issue where list column values were blanked when the internal fields names were different but the display names identical. From now on CopyMove will also try and match source list fields to target list fields by their display names if the internal names do not match.
- Added result warning when a Content Type is lost. This happens when copying or moving items with a custom content type to another list that is not configured with that content type.
- Added result warning when a list field value is lost. This happens when copying or moving items with a custom list field to another list that is not configured with that field.
- Fixed the error "System.ArgumentException: Value does not fall within the expected range.", which occured when copying or moving documents across site collections and where the documents are associated with taxonomy Metadata in a taxonomy list field.
- The product download now includes an Administrators Guide in PDF format and Windows Help format.
- Added new code sample for working with the CopyMove WCF service.

### V2.0.0.266 (BETA2) - 2011-04-08

- Improved installation scripts. The WSP solutions are now deployed to the local server first and then to all servers in the farm via the SharePoint Timer Service. The local deployment prevents a possible error where SharePoint cannot find the assembly SharePointProducts.Platform.dll in a feature callout.
- Fixed issue where DateTime fields in document libraries were offset by the time difference to UTC time when copying/moving Microsoft Office 2007/2010 documents.
- Replaced proprietary diagnostics logging with logging to the SharePoint diagnostics log (ULS). This includes a PowerShell script GetLogFile.ps1 that can be used to extract recent CopyMove related events from all servers in the farm.
- Added the Copy and Move actions to Site Collection Help Libraries.
- Fixed the error "Object reference not set to an instance of an object", which could occur when copying or moving a document.
- Fixed the error "Unable to update the information in the document", which could occur when copying or moving Microsoft Office documents. It is really a SharePoint problem as it also fails when you try to update the Metadata of the document. CopyMove now implements a work-around for this issue.
- Improved result warnings. CopyMove now collects warnings during copy and move operations and displays them to the user when the transaction has completed. This is warnings like CopyMove being unable to update the Metadata of a document or being unable to import Web Parts on a Web Part page.

### V2.0.0.154 (BETA1) - 2011-03-13

- First public release.