corso/CHANGELOG.md
ashmrtn 57accfc9c4
Use mocks to test getting drive info from Graph API (#2306)
## Description

Make a separate interface for fetching drive information from Graph API. Interface allows for better testing via mocks

Merges SharePoint and OneDrive code for getting drives.

Also fixes potential bug where not all drives would be fetched. This could have occurred because the previous implementation for both SharePoint and OneDrive were not checking for paginated results

Viewing by commit is recommended

## Does this PR need a docs update or release note?

- [x]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ]  No 

## Type of change

- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [ ] 🗺️ Documentation
- [x] 🤖 Test
- [ ] 💻 CI/Deployment
- [x] 🧹 Tech Debt/Cleanup

## Issue(s)

* #2264

## Test Plan

- [ ] 💪 Manual
- [x]  Unit test
- [ ] 💚 E2E
2023-01-27 22:48:30 +00:00

7.2 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased (alpha)

Fixed

  • Check if the user specified for an exchange backup operation has a mailbox.
  • Handle case where user's drive has not been initialized
  • Inline attachments (e.g. copy/paste ) are discovered and backed up correctly (#2163)
  • Guest and External users (for cloud accounts) and non-on-premise users (for systems that use on-prem AD syncs) are now excluded from backup and restore operations.
  • Remove the M365 license guid check in OneDrive backup which wasn't reliable.
  • Reduced extra socket consumption while downloading multiple drive files.
  • Extended timeout boundaries for exchange attachment downloads, reducing risk of cancellation on large files.
  • Identify all drives associated with a user or SharePoint site instead of just the results on the first page returned by Graph API.

v0.1.0 (alpha) - 2023-01-13

Added

  • Folder entries in backup details now indicate whether an item in the hierarchy was updated
  • Incremental backup support for exchange is now enabled by default.

Changed

  • The selectors Reduce() process will only include details that match the DiscreteOwner, if one is specified.
  • New selector constructors will automatically set the DiscreteOwner if given a single-item slice.
  • Write logs to disk by default (#2082)

Fixed

  • Issue where repository connect progress bar was clobbering backup/restore operation output.
  • Issue where a backup create exchange produced one backup record per data type.
  • Specifying multiple users in a onedrive backup (ex: --user a,b,c) now properly delimits the input along the commas.
  • Updated the list of M365 SKUs used to check if a user has a OneDrive license.

Known Issues

  • backup list will not display a resource owner for backups created prior to this release.

v0.0.4 (alpha) - 2022-12-23

Added

  • Incremental backup support for Exchange (#1777). This is currently enabled by specifying the --enable-incrementals
    with the backup create command. This functionality will be enabled by default in an upcoming release.
  • Folder entries in backup details now include size and modified time for the hierarchy (#1896)

Changed

  • Breaking Change: Changed how backup details are stored in the repository to improve memory usage (#1735)
  • Improve OneDrive backup speed (#1842)
  • Upgrade MS Graph SDK libraries (#1856)
  • Docs: Add Algolia docsearch to Corso docs (#1844)
  • Add an updated flag to backup details (#1813)
  • Docs: Speed up Windows Powershell download (#1798)
  • Switch to Go 1.19 (#1632)

Fixed

  • Fixed retry logic in the Graph SDK that would result in an 400 Empty Payload error when the request was retried (1778)(msgraph-sdk-go #341)
  • Don't error out if a folder was deleted during an exchange backup operation (#1849)
  • Docs: Fix CLI auto-generated docs headers (#1845)

v0.0.3 (alpha) - 2022-12-05

Added

  • Display backup size in backup list command (#1648) from meain
  • Improve OneDrive backup performance (#1607) from meain
  • Improve Exchange backup performance (#1608) from meain
  • Add flag to retain all progress bars (#1582) from ryanfkeepers
  • Fix resource owner display on backup list (#1580) from ryanfkeepers

Changed

  • Improve logging (#1642) from ryanfkeepers
  • Generate separate backup for each resource owner (#1609) from ashmrtn
  • Print version info to stdout instead of stderr (#1503) from meain

v0.0.2 (alpha) - 2022-11-14

Added

  • Added AWS X-Ray support for better observability (#1111) from ryanfkeepers
  • Allow disabling TLS and TLS verification (#1415) from vkamra
  • Add filtering based on path prefix/contains (#1224) from ryanfkeepers
  • Add info about doc owner for OneDrive files (#1366) from meain
  • Add end time for Exchange events from (#1366) meain

Changed

  • Export RepoAlreadyExists error for sdk users (#1136)from ryanfkeepers
  • RudderStack logger now respects corso logger settings (#1324) from ryanfkeepers

v0.0.1 (alpha) - 2022-10-24

New features

  • Supported M365 Services

    • Exchange - email, events, contacts (RM-8)
    • OneDrive - files (RM-12)
  • Backup workflows

    • Create a full backup (RM-19)
    • Create a backup for a specific service and all or some data types (RM-19)
    • Create a backup for all or a specific user (RM-20)
    • Delete a backup manually (RM-24)
  • Restore workflows

    • List, filter, and view backup content details (RM-23)
    • Restore one or more items or folders from backup (RM-28, RM-29)
    • Non-destructive restore to a new folder/calendar in the same account (RM-30)
  • Backup storage

    • Zero knowledge encrypted backups with user conrolled passphrase (RM-6)
    • Initialize and connect to an S3-compliant backup repository (RM-5)
  • Miscellaneous

    • Optional usage statistics reporting (RM-35)