This repository has been archived by the owner on Oct 11, 2024. It is now read-only.
Releases: alcionai/corso
Releases · alcionai/corso
v0.19.0
Added
- Events can now be exported from Exchange backups as .ics files.
- Update repo init configuration to reduce the total number of GET requests sent
to the object store when using corso. This affects repos that have many
backups created in them per day the most. - Feature Preview: Corso now supports backup, export & restore of SharePoint lists. Lists backup can be initiated using
corso backup create sharepoint --site <site-url> --data lists
. - Group mailbox(aka conversations) backup and export support is now officially available. Group mailbox posts can be exported as
.eml
files.
Fixed
- Retry transient 400 "invalidRequest" errors during onedrive & sharepoint backup.
- Backup attachments associated with group mailbox items.
- Groups and Teams backups no longer fail when a resource has no display name.
- Contacts in-place restore failed if the restore destination was empty.
- Link shares with external users are now backed up and restored as expected
- Ensure persistent repo config is populated on repo init if repo init failed partway through during the previous init attempt.
Changed
- When running
backup details
on an empty backup returns a more helpful error message. - Backup List additionally shows the data category for each backup.
- Remove hidden
--succeed-if-exists
flag for repo init. Repo init will now succeed without error if run on an existing repo with the same passphrase.
Known issues
- Backing up a group mailbox item may fail if it has a very large number of attachments (500+).
- Event description for exchange exports might look slightly different for certain events.
- Exchange in-place restore may restore items in well-known folders to different folders if the user has well-known folder names change based on locale and has updated the locale since the backup was created.
- In-place Exchange contacts restore will merge items in folders named "Contacts" or "contacts" into the default folder.
- External users with access through shared links will not receive these links as they are not sent via email during restore.
- Graph API has limited support for certain column types such as
location
,hyperlink/picture
, andmetadata
. Restoring SharePoint list items containing these columns will result in differences compared to the original items. - SharePoint list item attachments are not available due to graph API limitations.
- Group mailbox restore is not supported due to limited Graph API support for creating mailbox items.
- Due to Graph API limitations, any group mailbox items present in subfolders other than Inbox aren't backed up.
v0.18.0
Fixed
- Handle the case where an email cannot be retrieved from Exchange due to an
ErrorInvalidRecipients
error. In
this case, Corso will skip over the item but report this in the backup summary. - Fix
ErrorItemNotFound
errors when restoring emails with multiple attachments. - Avoid Graph SDK
Requests must contain extension changes exclusively
errors by removing server-populated field from restored event items. - Improve Group mailbox(conversations) backup performance by only downloading new items or items with modified content.
- Handle cases where Exchange backup stored invalid JSON blobs if there were special characters in the user content. These would result in errors during restore.
Known issues
- Restoring OneDrive, SharePoint, or Teams & Groups items shared with external users while the tenant or site is configured to not allow sharing with external users will not restore permissions.
v0.17.0
Changed
- Memory optimizations for large scale OneDrive and Sharepoint backups.
Fixed
- Resolved a possible deadlock when backing up Teams Channel Messages.
- Fixed an attachment download failure(ErrorTooManyObjectsOpened) during exchange backup.
v0.16.0
Added
- Export support for emails in exchange backups as
.eml
files. - More colorful and informational cli display.
Changed
- The file extension in Teams messages exports has switched to json to match the content type.
- SDK consumption of the /services/m365 package has shifted from independent functions to a client-based api.
- SDK consumers can now configure the /services/m365 graph api client configuration when constructing a new m365 client.
- Dynamic api rate limiting allows small-scale Exchange backups to complete more quickly.
- Kopia's local config files now uses unique filenames that match Corso configurations. This can protect concurrent Corso operations from mistakenly clobbering storage configs during runtime.
Fixed
- Handle OneDrive folders being deleted and recreated midway through a backup.
- Automatically re-run a full delta query on incremental if the prior backup is found to have malformed prior-state information.
- Retry drive item permission downloads during long-running backups after the jwt token expires and refreshes.
- Retry item downloads during connection timeouts.
v0.15.0
Added
- Added
corso repo update-passphrase
command to update the passphrase of an existing Corso repository - Added Subject and Message preview to channel messages detail entries
Fixed
- SharePoint backup would fail if any site had an empty display name
- Fix a bug with exports hanging post completion
- Handle 503 errors in nested OneDrive packages
Changed
- Item Details formatting in Groups and Teams backups
v0.14.2
Patch Notes
v0.14.2 supersedes the previous v0.14.x releases and addresses the issues below.
Fixed
- Fix a case where missing item LastModifiedTimes could cause incremental backups to fail.
- Improve check to skip OneNote files that cannot be downloaded.
- Fix Groups backup for non Team groups
- Fix performance regression in OneNote backup for large Drives
v0.14.1
Patch Notes
Backups on v0.14.0 that fail with the error "incomplete migration of backup details" may be subject to the missing LastModifiedTime bug. At this time the resolution is to manually re-run affected backups using v0.14.1 or later with the flags --disable-incrementals --force-item-data-download
.
Fixed
- Fix a case where missing item LastModifiedTimes could cause incremental backups to fail.
- Catch and report cases where a protected resource is locked out of access. SDK consumers have a new errs sentinel that allows them to check for this case.
- Email size metadata was incorrectly set to the size of the last attachment. Emails will now correctly report the size of the mail content plus the size of all attachments.
v0.13.0
Added
- Groups and Teams service support available as a feature preview! Channel messages and Files are now available for backup and restore in the CLI:
corso backup create groups --group '*'
- The cli commands for "groups" and "teams" can be used interchangably, and will operate on the same backup data.
- New permissions are required to backup Channel messages. See the Corso Documentation for complete details.
Even though Channel message restoration is not available, message write permissions are included to cover future integration. - This is a feature preview, and may be subject to breaking changes based on feedback and testing.
Changed
- Switched to Go 1.21
- SharePoint exported libraries are now exported with a
Libraries
prefix.
Fixed
- Contacts backups no longer slices root-folder data if outlook is set to languages other than english.
- Failed backups if the --disable-incrementals flag was passed when there was a valid merge base under some conditions.
v0.12.0
Added
- Added
export
command to export data from OneDrive and SharePoint backups as individual files or as a single zip file. - Restore commands now accept an optional resource override with the
--to-resource
flag. This allows restores to recreate backup data within different mailboxes, sites, and users. - Improve
--mask-sensitive-data
logging mode. - Reliability: Handle connection cancellation and resets observed when backing up or restoring large data sets.
- Reliability: Recover from Graph SDK panics when the Graph API returns incomplete responses.
- Performance: Improve backup delete performance by batching multiple storage operations into a single operation.
Fixed
- SharePoint document libraries deleted after the last backup can now be restored.
- Restore requires the protected resource to have access to the service being restored.
- SharePoint data from multiple document libraries are not merged in exports
corso backup delete
was not removing the backup details data associated with that snapshot- Fix OneDrive restores could fail with a concurrent map write error
- Fix backup list displaying backups that had errors
- Fix OneDrive backup could fail if item was deleted during backup
- Exchange backups would fail attempting to use delta tokens even if the user was over quota
v0.11.1
Fixed
- Allow repo connect to succeed when a
corso.toml
file was not provided but configuration is specified using environment variables and flags.