Skip to content

Latest commit

 

History

History
848 lines (641 loc) · 40 KB

CHANGELOG.md

File metadata and controls

848 lines (641 loc) · 40 KB

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]

Fixed

  • Fixed pipeline build step by limiting Gitversion to 5.* version.
  • Change default integration test region from East US to Australia East due to quota limitations.
  • Removed MacOS-11 testing from build pipeline because it is no longer supported by Microsoft managed Azure DevOps images.

[5.0.0] - 2024-06-07

Fixed

  • Removed unnecessary quotes from README (works without them in PowerShell and is easier to read)
  • Modified README to use splats, which is part of the recommended style guide
  • Removed Ubuntu-18.04 testing from build pipeline because it is no longer supported by Microsoft managed Azure DevOps images - Fixes Issue #473.
  • Added Ubuntu-22.04 testing to build pipeline - Fixes Issue #474.
  • Removed MacOS-10.15 testing from build pipeline because it is no longer supported by Microsoft managed Azure DevOps images - Fixes Issue #476.
  • Added macOS-12 testing to build pipeline - Fixes Issue #477.
  • Changed integration tests to deploy Cosmos DB using Bicep.
  • Update requirements.psd1 to install modules Az.Accounts 2.19.0 and Az.Resources 6.16.2.
  • Renamed New-CosmosDbAuthorizationToken to New-CosmosDbAuthorizationHeader to better indicate actual function return type.
  • Refactored Invoke-CosmosDbRequest to support getting the EntraIdToken property from the context object and using it for authentication if it is provided. If the Key property is provided, the EntraIdToken property will take precendence and the key will be ignored.
  • Updated CI pipeline to use PublishCodeCoverageResults@2 task rather than PublishCodeCoverageResults@1 task to support the latest version of the task.

Changed

  • BREAKING CHANGE: Updated module to require Az.Accounts v2.19.0 or newer and Az.Resources v6.16.2 or newer.
  • Renamed New-CosmosDbAuthorizationHeader to Get-CosmosDbAuthorizationHeaderFromContext to better indicate actual function behaviour.
  • Renamed Get-CosmosDbAuthorizationHeadersFromContext to Get-CosmosDbAuthorizationHeaderFromContextResourceToken to better indicate actual function behaviour and align naming convention.
  • Refactored Invoke-CosmosDbRequest to clean up logic to generate the authorization header.
  • Added new utillity function Get-CosmosDbAuthorizationHeaderFromContextEntraId to generate the authorization header when an Entra ID Token is provided in the context. This function is used by Invoke-CosmosDbRequest to generate the authorization header when an Entra ID Token is provided.
  • Changed module import process to load the Az.Accounts and Az.Resources modules only if they haven't already been loaded to support saving the module and storing in folders.

Added

  • Added support for setting an Entra Id OAuth2 Token in the New-CosmosDbContext - Fixes Issue #479.
  • Added new Get-CosmosDbEntraIdToken function that uses Get-AzAccessToken to get an Entra Id Token for use in Cosmos DB requests. This is used by New-CosmosDbContext to set the Entra Id Token in the context object - Fixes Issue #479.

[4.7.0] - 2023-01-29

  • Added -ConnectionString parameter to New-CosmosDbContext - Fixes Issue #426.

Fixed

  • Fixed spelling errors in documentation.

[4.6.0] - 2022-08-07

Fixed

  • Fix Azure DevOps build pipeline and update to latest sampler pattern.
  • Fix exception being thrown when a 429 is returned by CosmosDB, but the x-ms-retry-after-ms header is not returned. This may occur in requests that follow large (> 1MB) insert or updates - Fixes Issue #458.

Changed

  • Update Azure DevOps pipeline Linux agent version for build task to be ubuntu-latest - Fixes Issue #422.
  • Updated PSScriptAnalyzer tests to be skipped when PowerShell Core version is less than 7.0.3 - Fixes Issue #431.
  • Updated the New-CosmosDbAccount command to add a new Capability parameter - Fixes Issue #439.
  • Updated tests on PowerShell 6.x for MacOS 10.14 to 10.15 - Fixes Issue #450.
  • Updated README.md to remove markdown issues.

Added

  • Added tests on PowerShell 7.x on Ubuntu 20.04 - Fixes Issue #433.
  • Added tests on Windows PowerShell 5.1 on Windows Server 2022 - Fixes Issue #436.
  • Added tests on PowerShell 6.x on MacOS 11 - Fixes Issue #450.

Removed

  • Removed tests against PowerShell Core 6.x as PowerShell 7.x is recommended - Fixes Issue #434.
  • Removed all tests on Ubuntu 16.04 - Fixes Issue #433.
  • Removed tests against Windows PowerShell 5.1 on Windows Server 2016 - Fixes Issue #451.

[4.5.0] - 2021-05-29

Changed

  • Convert build pipeline to use GitTools Azure DevOps extension tasks instead of deprecated GitVersion extension.
  • Correct value of Environment parameter in context object returned by New-CosmosDbContext - Fixes Issue #411.
  • Update requirements.psd1 to install modules Az.Accounts 2.2.8 - Fixes Issue #415.
  • Updated ComsosDB.cs to add getters and setters to properties - Fixes Issue #417.

Fixed

  • Fix CI pipeline deployment stage to ensure correctly detects running in Azure DevOps organization.
  • Fix CI pipeline release stage by adding Sampler GitHub tasks which were moved out of the main sampler module into a new module Sampler.GitHubTasks - Fixes Issue #418.

Added

  • Added ReturnJson parameter to New-CosmosDbDocument, Set-CosmosDbDocument and Get-CosmosDbDocument functions to allow return of documents that can not be converted to objects due to duplicate key names that only differ in case - Fixes Issue #413.

[4.4.3] - 2020-11-13

Fixed

  • Fix build problems preventing DLL and help from being compiled and added to the module.

[4.4.2] - 2020-11-11

Fixed

  • Fix build problems preventing DLL and help from being compiled and added to the module.

Changed

  • Attachments are now a legacy feature and not supported when creating a new account. Remove integration tests for this feature. Add a warning when this feature is used.

[4.4.1] - 2020-10-27

Fixed

[4.4.0] - 2020-08-30

Fixed

  • Fixed misspelling of 'Throughput' in README.md and tests - Fixes Issue #396.

Changed

  • Renamed master branch to main - Fixes Issue #393.

Added

  • Added support for specifying custom endpoint in New-CosmosDbContext to support alternative clouds - Fixes Issue #395.
  • Added support for autoscaling throughput on database and collection in New-CosmosDbDatabase and New-CosmosDbCollection - Fixes Issue #321.

[4.2.1] - 2020-06-15

Fixed

  • Fixed Cannot bind argument to parameter 'Message' because it is null. error message occurring when displaying messages on systems not using en-US UI culture - Fixes Issue #373.

[4.2.0] - 2020-06-01

Added

  • Added Get-CosmosDbDocumentJson function - Fixes Issue #370.
  • Added IfMatch alias for Etag parameter on Set-CosmosDbDocument function - Fixes Issue #376.
  • Added Get-CosmosDbCosmosDbResponseHeader function and refactored Get-CmosmosDbContinuationToken to use it.
  • Added documentation and examples showing how to get the progress of an index transformation - Fixes Issue #369.

Changed

  • Changed build jobs Unit_Test_PSCore6_Ubuntu1604 and Integration_Test_PSCore6_Ubuntu1604 to install PowerShell Core 6.2.4 to support version of Az PowerShell modules that are installed - Fixes Issue #371.
  • Pinned build to Pester v4.10.1 - Fixes Issue #371.
  • Added Name as an alias for Id parameters in *-CosmosDbCollection functions - Fixes Issue #375.
  • Added Name as an alias for Id parameters in *-CosmosDbDatabase functions - Fixes Issue #374.
  • Refactored Get-CosmosDbDocument to be a wrapper for new function Get-CosmosDbDocumentJson.
  • Added support for specifying a protocol and port in the URI parameter of the New-CosmosDbContext function - Fixes Issue #381.

Fixed

  • Fixed Get-CosmosDbDocument function partition key formatting when an Id parameter is passed.

[4.1.0] - 2020-05-15

Added

  • Added support for AzureChinaCloud (Mooncake) - Fixes Issue #365.

Changed

  • Fix daily build by preventing deployment stage from running on anything build not named *.master - Fixes Issue #366.

[4.0.0] - 2020-05-11

Changed

  • Change Azure DevOps Pipeline definition to include source/* - Fixes Issue #350.
  • Updated pipeline to use latest version of ModuleBuilder - Fixes Issue #350.
  • Merge HISTORIC_CHANGELOG.md into CHANGELOG.md - Fixes Issue #351.
  • Added integration tests for executing document queries - Fixes Issue #356.
  • Added support for composite indexes in indexing policy - Fixes Issue #357.
  • BREAKING CHANGE: Updated module to default to Cosmos DB REST API version 2018-09-17. This results in a change to the default indexes when custom index paths are not specified. Other changes in behavior of indexing policy are also expected. See this page for more information.
  • Added IndexingPolicyJson parameter to New-CosmosDbCollection and Set-CosmosDbCollection functions to enable setting an index policy using JSON - Fixes Issue #360.
  • Fixed build pipeline deployment skip function.
  • Changed Build.yml to support ModuleBuilder version to 1.7.0 by changing CopyDirectories to CopyPaths.
  • Added Get-CosmosDbContinuationToken helper function to get the continuation token from response headers returned by Get-CosmosDbCollection or Get-CosmosDbDocument - Fixes Issue #355.
  • Added example to README.md showing how to loop through a document set to return more than 4MB of documents - Fixes Issue #354.

[3.7.0] - 2020-03-24

Changed

  • Add warning to New-CosmosDbCollection to show when creating a collection without a partition key.
  • Updated README.MD to documentation to reduce focus on collections without partition keys - fixes Issue #342.

Added

  • Added support for Environment parameter in New-CosmosDbContext to allow using Azure US Government Cloud - fixes Issue #322.

[3.6.1] - 2020-03-19

Changed

  • Improved badge layout in README.MD and removed CodeCov.io badge - fixes Issue #336.
  • Removed references to Gitter and Gitter badge - fixes Issue #337.
  • Removed Azure Pipeline daily build YAML because the main pipeline build YAML will be used instead.
  • Fix build badges in README.MD by correcting BuildID - Issue #340.

Removed

Changed

  • Restructure Azure Pipeline:
    • Add testing on Windows Server 2019 and separate module build process.
    • Convert to multi stage pipeline.

Fixed

  • Fix default culture case to fix error on module load in PS7 on Ubuntu 18.04 - fixes Issue #332.

[3.5.2.487] - 2020-03-14

Changed

  • Update BuildHelpers to version 2.0.11.
  • Update Psake to version 4.9.0.
  • Update Pester to version 4.10.1.
  • Update PSScriptAnalyzer to version 1.18.3.
  • Change Azure Pipeline Linux build to test PowerShell Core 6.2.3-1.
  • Change TravisCI Linux build to test PowerShell Core 6.2.3-1.
  • Change TravisCI MacOS build to test PowerShell Core 6.2.3-1.
  • Add PowerShell 7 test to Azure Pipeline - fixes Issue #325.
  • Fix bug converting Secure String in PowerShell 7 on Linux - fixes Issue #323.
  • Fix issue in Azure Pipeline in MacOS build job - fixes Issue #326.
  • Remove TravisCI Pipeline - fixes Issue #327.

[3.5.1.458] - 2019-11-12

  • Change psakefile.ps1 to detect Azure Pipelines correctly.
  • Updated BuildHelpers support module for CI pipelines to 2.0.10.
  • Added PowerShell Gallery badge to README.md.
  • Refactored Invoke-CosmosDbRequest and added Get-CosmosDbAuthorizationHeadersFromContext to split out function to pull token out of Context object. This was done to reduce the size of the Invoke-CosmosDbRequest function and to improve testability.
  • Fix TravisCI MacOS build - fixes Issue #313.
  • Created helper function Format-CosmosDbDocumentPartitionKey to format the partition key string passed to x-ms-documentdb-partitionkey in document functions.
  • Add support for integer partition keys to functions Get-CosmosDbDocument, New-CosmosDbDocument, Remove-CosmosDbDocument and Set-CosmosDbDocument.

[3.5.0.426] - 2019-07-20

  • Fix issue with integration test execution error in Azure DevOps when running against a pull request and the contributor has not set build environment variables for connecting to Azure - fixes Issue #304.
  • Added .markdownlint.json to enable linting of markdown files.
  • Added optional ETag parameter to Set-CosmosDbDocument to check if the document has been updated since last get.

[3.4.0.411] - 2019-06-29

  • Added OfferThroughput parameter to New-CosmosDbDatabase function - fixes Issue #110.

[3.3.0.405] - 2019-06-22

  • Moved CosmosDB namespace class definitions into C# project to be built into a .NET Standard 2.0 DLL that can be loaded instead of a CS file. This is to work around a problem with Azure Functions 2.0 where types can not be compiled in the runtime (see this issue) - fixes Issue #290.

[3.2.4.376] - 2019-05-30

  • Update requirements.psd1 to install modules Az.Resources 1.3.1 and Az.Accounts 1.5.1.
  • Change requirements.psd1 to specify minimumversion of Az.Resources and Az.Accounts.
  • Enabled tests and removed the warning when executing the function Get-CosmosDbAccountConnectionString because the underlying REST API has been fixed and now functions correctly - fixes Issue #291.
  • Added parameter MasterKeyType to function Get-CosmosDbAccountConnectionString to only return a specific connection string - fixes Issue #291.
  • Updated Style Guidelines.

[3.2.3.359] - 2019-04-05

  • Fix incorrectly encoded strings being returned by Get-CosmosDbDocument when UTF-8 results are returned - fixes Issue #282.

[3.2.2.347] - 2019-03-20

  • Added Azure Pipelines YAML definition for executing automated testing on a daily schedule - fixes Issue #272.
  • Extend AppVeyor test automation to run on Windows Server 2012R2 and Windows Server 2016.
  • Update cosmosdb.psdepend.psd1 to install modules Az.Resources 1.2.0 and Az.Accounts 1.4.0.
  • Added 'Windows', 'Linux' and 'MacOS' tags to module manifest to improve searchability in PowerShell Gallery.

[3.2.1.332] - 2019-02-22

  • Added support for PartitionKey in *-CosmosDBAttachment functions - fixes Issue #274.
  • Update cosmosdb.psdepend.psd1 to install modules Az.Resources 1.1.2 and Az.Accounts 1.3.0.
  • Suppress verbose output when loading module during automated testing to reduce output.

[3.2.0.320] - 2019-02-07

  • Convert module name to be a variable in PSake file to make it more easily portable between projects.
  • Fix Notes display in Readme Markdown - fixes Issue #269.
  • Update cosmosdb.psdepend.psd1 to install modules Az 1.2.1 and Pester 4.7.0.
  • Deprecate Hash index policy kind and throw exception when used in New-CosmosDbCollectionIncludedPathIndex. See this page for more information - fixes Issue #271.

[3.1.0.293] - 2018-12-26

  • Updated manifest to include required modules Az.Accounts 1.0.0 and Az.Resources 1.0.0.
  • Updated manifest to include CompatiblePSEditions of 'Desktop' and 'Core'.
  • Updated minimum supported PowerShell version to 5.1.
  • Updated cosmosdb.depend.psd1 to ensure Az modules are installed when running 'Deploy' PSake task.
  • Improve build task code to ensure Git tag is correctly set.
  • Fix bug in module manifest generation process to ensure module version is set correctly.
  • Refactored module manifest generation process to be more reliable and robust.

[3.0.0.279] - 2018-12-23

  • BREAKING CHANGE: Converted to use Az PowerShell Module from AzureRm and AzureRm.NetCore PowerShell Module - fixes Issue #190.
  • Renamed build.ps1 to psake.ps1 to indicate that it is used to execute Psake tasks.
  • Add Codacy Code Quality badge to README.MD.
  • Configure PSScriptAnalyzer to show errors, warnings and informational violations in Visual Studio Code.
  • Fix generic tests to validate PSScriptAnalyzer errors, warnings and informational rules.
  • Converted use of alias Add-AzAccount to Connect-AzAccount.
  • Updated to use Az PowerShell Module 1.0.1.
  • Correct AliasesToExport in manifest.
  • Minor corrections to markdown to improve best practice adherence.
  • Minor corrections to CI support files to improve best practice adherence.
  • Added ShouldProcess support to New-CosmosDbAccountMasterKey and New-CosmosDbContext.
  • Added ShouldProcess support TestHelper functions.
  • Updated CONTRIBUTING.MD to more accurately reflect current process of contributing to the module.
  • Updated STYLEGUIDELINES.MD to match current standards and best practices.
  • Added support for setting and updating Cross-Origin Resource Sharing (CORS) allowed origins in New-CosmosDbAccount and Set-CosmosDbAccount respectively - fixes Issue #249.
  • Changed Remove-CosmosDbAccount to prevent second confirmation prompt when removing account.
  • Enabled *-CosmosDbAccount tests to run in AppVeyor.

[2.1.15.239] - 2018-11-18

  • Added support for Continuation Tokens to Get-CosmosDbCollection to support getting more than 100 collections - fixes Issue #244.
  • Updated markdown documentation with PlatyPs 0.11.1.
  • Corrected markdown documentation for Get-CosmosDbCollectionSize.
  • Corrected continuation token examples for Get-CosmosDbDocument.
  • Updated CI pipeline to use Pester 4.4.2.
  • Updated CI pipeline to use PlatyPS 0.12.
  • Renamed ResultHeaders parameter to ResponseHeader in Get-CosmosDbDocuments function to adhere to PowerShell standards, but included alias for ResultHeaders to prevent breaking change.

[2.1.14.222] - 2018-11-15

  • Extended maximum length of Account Name parameter to be 50 characters - fixes Issue #201.

[2.1.13.215] - 2018-11-06

  • Added new integration tests for testing simple index policies.
  • Split the multiple functions scripts into single functions and change the build pipeline to combine them all during staging - fixes Issue #201.
  • Temporarily suppressed running tests using MacOS in Azure Pipelines because the Hosted Agent has been updated with Az, preventing the AzureRM.NetCore modules from being installed.
  • Improved validation on Name and ResourceGroupName parameters on *-CosmosDBAccount* functions - fixes Issue #211.
  • Improved validation on Account parameter on *-CosmosDBDatabase* functions.
  • Improved validation on Account and ResourceGroupName parameter on New-CosmosDbContext function.
  • Improved validation on Database Id parameter on *-CosmosDBDatabase* functions - fixes Issue #212.
  • Improved validation on Collection Id parameter on *-CosmosDBCollection* functions - fixes Issue #213.
  • Improved validation on Account parameter on *-CosmosDBCollection* functions.
  • Improved validation on Database parameter on *-CosmosDBCollection* functions.
  • Improved validation on Stored Procedure Id parameter on *-CosmosDBStoredProcedure* functions - fixes Issue #214.
  • Improved validation on Account parameter on *-CosmosDBStoredProcedure* functions.
  • Improved validation on Database parameter on *-CosmosDBStoredProcedure* functions.
  • Improved validation on Collection parameter on *-CosmosDBStoredProcedure* functions.
  • Improved validation on Trigger Id parameter on *-CosmosDBTrigger* functions - fixes Issue #215.
  • Improved validation on Account parameter on *-CosmosDBTrigger* functions.
  • Improved validation on Database parameter on *-CosmosDBTrigger* functions.
  • Improved validation on Collection parameter on *-CosmosDBTrigger* functions.
  • Improved validation on User Defined Function Id parameter on *-CosmosDBUserDefinedFunction* functions - fixes Issue #216.
  • Improved validation on Account parameter on *-CosmosDBUserDefinedFunction* functions.
  • Improved validation on Database parameter on *-CosmosDBUserDefinedFunction* functions.
  • Improved validation on Collection parameter on *-CosmosDBUserDefinedFunction* functions.
  • Improved validation on User Id parameter on *-CosmosDBUser* functions - fixes Issue #217.
  • Improved validation on Account parameter on *-CosmosDBUser* functions.
  • Improved validation on Database parameter on *-CosmosDBUser* functions.
  • Improved validation on Document Id parameter on *-CosmosDBDocument* functions - fixes Issue #227.
  • Improved validation on Account parameter on *-CosmosDBDocument* functions.
  • Improved validation on Database parameter on *-CosmosDBDocument* functions.
  • Improved validation on Collection parameter on *-CosmosDBDocument* functions.
  • Improved validation on Permission Id parameter on *-CosmosDBPermission* functions - fixes Issue #218.
  • Improved validation on Account parameter on *-CosmosDBPermission* functions.
  • Improved validation on Database parameter on *-CosmosDBPermission* functions.
  • Improved validation on User parameter on *-CosmosDBPermission* functions.
  • Improved validation on Attachment Id parameter on *-CosmosDBAttachment* functions - fixes Issue #228.
  • Improved validation on Account parameter on *-CosmosDBAttachment* functions.
  • Improved validation on Database parameter on *-CosmosDBAttachment* functions.
  • Improved validation on Collection parameter on *-CosmosDBAttachment* functions.
  • Improved validation on Document parameter on *-CosmosDBAttachment* functions.
  • Added tests to validate module manifest is valud - fixes Issue #236.

[2.1.12.137] - 2018-10-29

  • Added support for setting Collection uniqueKeyPolicy in New-CosmosDbCollection and Set-CosmosDbCollection - fixes Issue #197.

[2.1.11.130] - 2018-10-27

  • Renamed ResourceGroup parameter to ResourceGroupName in New-CosmosDbContext function - fixes Issue #158.
  • Correct *-CosmosDbAccount functions examples in README.MD to show ResourceGroupName parameter.
  • Added Get-CosmosDbAccountMasterKey function for retrieving the keys of an existing account in Azure - fixes Issue #162.
  • Added New-CosmosDbAccountMasterKey function for regenerating the keys of an existing account in Azure - fixes Issue #164.

[2.1.10.103] - 2018-10-22

  • Added support for creating and updating documents containing non-ASCII characters by adding Encoding parameter to New-CosmosDbDocument and Set-CosmosDbDocument functions - fixes Issue #151.
  • Fix table of contents link in README.MD.

[2.1.9.95] - 2018-10-21

  • Improved unit test reliability on MacOS and Linux.
  • Improved unit tests for account functions to include parameter filters on mock assertions.
  • Added Get-CosmosDbAccountConnectionString function for retrieving the connection strings of an existing account in Azure - fixes Issue #163. This function is not currently working due to an issue with the Microsoft\DocumentDB provider in Azure - see this issue for more information.
  • Fixed 'Unable to find type [Microsoft.PowerShell.Commands.HttpResponseException]' exception being thrown in Invoke-CosmosDbRequest when error is returned by Cosmos DB in PowerShell 5.x or earlier - fixes Issue #186.
  • Split unit and integration test execution in CI process so that integration tests do not run when unit tests fail - fixes Issue #184.

[2.1.8.59] - 2018-10-03

  • Fixed RU display - fixes Issue #168
  • Fixed Powershell Core Invoke-WebRequest error handling.
  • Fixed retry logic bug ($fatal initially set to $true instead of $false).
  • Fixed stored procedure debug logging output.
  • Rework CI process to simplify code.
  • Enabled integration test execution in Azure DevOps Pipelines - fixes Issue #179
  • Added artifact publish tasks for Azure Pipeline.
  • Refactored module deployment process to occur in Azure DevOps pipeline - fixes Issue #181

[2.1.7.675] - 2018-09-11

  • Added support for running CI in Azure DevOps Pipelines - fixes Issue #174

[2.1.7.635] - 2018-09-10

  • Added New-CosmosDbAccount function for creating a new Cosmos DB account in Azure - fixes Issue #111
  • Added Get-CosmosDbAccount function for retrieving the properties of an existing account in Azure - fixes Issue #159
  • Added Set-CosmosDbAccount function for updating an existing Cosmos DB account in Azure - fixes Issue #160
  • Added Remove-CosmosDbAccount function for removing an existing Cosmos DB account in Azure - fixes Issue #161
  • Added OSx and Linux PowerShell Core continuous integration using TravisCI.
  • Improved CI/CodeCoverage badges in README.MD.
  • Improved build process to handle build environments that do not have Administrator/Root access.
  • Skip test for Convert-CosmosDbRequestBody when run in Linux/OSx using PowerShell Core due to behavior difference - see PowerShell Core #Issue
  • Skip integration tests for New-CosmosDbAccount and Set-CosmosDbAccount when run in AppVeyor due to exception occuring in New-AzureRmResource and Set-AzureRmResource cmdlets because of Newtonsoft.Json version conflict.

[2.1.6.561] - 2018-08-24

  • Updated partition key handling when creating collections to allow for leading '/' characters in the partition key - fixes Issue #153
  • Add support for setting URI and Key when using with a Cosmos DB Emulator - fixes Issue #155

[2.1.5.548] - 2018-08-04

  • Changed references to CosmosDB to Cosmos DB in documentation - fixes Issue #147

[2.1.4.536] - 2018-07-25

  • Added RemoveDefaultTimeToLive switch parameter to Set-CosmosDbCollection to allow removal of a default time to live setting on a collection - fixes Issue #144

[2.1.3.528] - 2018-07-12

  • Changed New-CosmosDbStoredProcedure & Set-CosmosDbStoredProcedure to use serialization instead of tricky request body conversion - fixes Issue #137
  • Added parameter DefaultTimeToLive to New-CosmosDbCollection and Set-CosmosDbCollection - fixes Issue #139
  • Changed the IndexingPolicy parameter onSet-CosmosDbCollection to be optional - fixes Issue #140

[2.1.2.514] - 2018-07-03

  • Changed New-CosmosDBContext so that Read Only keys will use the readonlykeys action endpoint instead of the listKeys action - fixes Issue #133
  • Fixed freeze occuring in functions when -ErrorAction SilentlyContinue parameter was used and error is returned - fixes Issue #132

[2.1.1.498] - 2018-06-26

  • Changed trigger operation type Insert to Create in New-CosmosDBTrigger and Set-CosmosDBTrigger functions - fixes Issue #129

[2.1.0.487] - 2018-06-24

  • Removed UseWebRequest parameter from Invoke-CosmosDbReuest function to refactor out the use of Invoke-RestMethod. This is because most Cosmos DB REST requests return additional header information that is lost if using Invoke-RestMethod. Invoke-WebRequest is used instead so that additional headers can always be retured - See Issue #125
  • Added integration tests for attachments.
  • Added integration tests for stored procedures.
  • Added integration tests for triggers.
  • Added integration tests for user defined functions.
  • Added New-CosmosDbBackOffPolicy function for controlling the behaviour of a function when a "Too Many Request" (error code 429) is recieved - See Issue #87
  • Added support for handling a back-off policy to the Invoke-CosmosDbRequest function.

[2.0.16.465] - 2018-06-20

[2.0.15.454] - 2018-06-15

  • Fix creation of spatial index by New-CosmosDbCollectionIncludedPathIndex so that precision is not used when passing to New-CosmosDbCollection.
  • Added support for -PartitionKey in Invoke-CosmosDbStoredProcedure - See Issue #116
  • Changed -StoredProcedureParameter from string[] to object[] in Invoke-CosmosDbStoredProcedure - See Issue #116
  • Updated Invoke-CosmosDbStoredProcedure to set x-ms-documentdb-script-enable-logging: true header and write stored procedure logs to the Verbose Stream when -Debug is set - See Issue #116

[2.0.14.439] - 2018-06-12

  • Fixed Code Coverage upload to CodeCov.io.
  • Fix New-CosmosDbCollectionIncludedPathIndex Kind parameter spelling of spacial - See Issue #112.
  • Added parameter validation to New-CosmosDbCollectionIncludedPathIndex.

[2.0.13.427] - 2018-06-03

  • Added Set-CosmosDbCollection function for updating a collection - See Issue #104.
  • Updated Invoke-CosmosDbRequest function to output additional exception information to the Verbose stream - See Issue #103.

[2.0.12.418] - 2018-05-20

  • Changed Id parameter in Get-CosmosDbCollectionSize to be mandatory.
  • Added documentation for creating a resource token context - See Issue #33.
  • Added New-CosmosDbContextToken to create a resource token context object that can be passed to New-CosmosDbContext to support working with resource level access controls - See Issue #33.
  • Added support to New-CosmosDbContext for creating a context object with resource tokens from permissions - See Issue #33.

[2.0.11.407] - 2018-05-12

  • Added PowerShell Core version support badge.
  • Prevent integration tests from running if Azure connection environment variables are not set.
  • Added Code of Conduct to project.
  • Fixed error returned by Get-CosmosDbDocument when getting documents from a partitioned collection without specifying an Id or Query - See Issue #97. Thanks jasonchester

[2.0.10.388] - 2018-04-26

  • Added basic integration test support.
  • Fixed 401 error returned by Set-CosmosDbOffer when updating offer - See Issue #85. Thanks dl8on

[2.0.9.360] - 2018-04-09

  • Added Get-CosmosDbCollectionSize function to return data about size and object counts of collections - See Issue #79. Thanks WatersJohn.

[2.0.8.350] - 2018-04-05

  • Fixed New-CosmosDbAuthorizationHeader function to support generating authorization tokens for case sensitive resource names - See Issue #76. Thanks MWL88.

[2.0.7.288] - 2018-03-11

  • Updated CI process to use PSDepend for dependencies.
  • Updated CI process to use PSake for tasks.
  • Changes AppVeyor.yml to call PSake tasks.

[2.0.6.247] - 2018-03-09

  • Added PSEdition_Desktop tag to manifest.
  • Added cmdlet help examples for utils.
  • Converted help to MAML file CosmosDB-help.xml.
  • Updated AppVeyor build to generate MAML help.
  • Added more README.MD badges.

[2.0.5.216] - 2018-03-05

  • Added *-CosmosDbOffer cmdlets.

[2.0.4.202] - 2018-02-27

  • Fixed bug in Get-CosmosDbDocument when looking up a document in a partitioned collection by adding a PartitionKey parameter.
  • Added Upsert parameter to New-CosmosDbDocument to enable updating a document if it exists.
  • Fixed bug in New-CosmosDbDocument when adding document to a partitioned collection but no partition key is specified - See Issue #48.
  • Fixed bug in Set-CosmosDbDocument when updating a document in a partitioned collection.
  • Fixed bug in Remove-CosmosDbDocument when deleting a document in a partitioned collection.
  • Added check to New-CosmosDbCollection to ensure PartitionKey parameter is passed if OfferThroughput is greater than 10000.

[2.0.3.190] - 2018-02-24

  • Added support for configuring custom indexing policies when creating a new collection.

[2.0.2.184] - 2018-02-24

  • Converted all connection function names and parameter names over to context. Aliases were implemented for old connection function and parameter names to reduce possibility of breakage.

[2.0.1.173] - 2018-01-27

  • Added support for CosmosDB Emulator.

[2.0.0.163] - 2018-01-14

  • Fixed New-CosmosDbConnection error message when creating connection but not connected to Azure.
  • Added support for specifying token expiry length to Get-cosmosDbPermission.

[2.0.0.152] - 2017-12-23

  • BREAKING CHANGE: Converted all cmdlets to return custom types and added support for custom formats.

[1.0.12.126] - 2017-12-08

  • Added *-CosmosDbAttachment cmdlets.

[1.0.11.117] - 2017-12-08

  • Fixed Get-CosmosDbDocument returning (400) Bad Request error when executed with Query - See Issue #22.

[1.0.10.108] - 2017-12-06

  • Added *-CosmosDbDocument cmdlets.

[1.0.9.100] - 2017-11-05

  • Added *-CosmosDbUserDefinedFunction cmdlets.

[1.0.8.91] - 2017-11-05

  • Added *-CosmosDbStoredProcedure cmdlets.

[1.0.7.85] - 2017-11-03

  • Added *-CosmosDbTrigger cmdlets.

[1.0.6.79] - 2017-11-02

  • Added New-CosmosDbDatabase and Remove-CosmosDbDatabase cmdlets.
  • Improved unit tests.

[1.0.5.73] - 2017-01-01

  • Added Get-CosmosDbDatabase and Get-CosmosDbDatabaseResourcePath cmdlets.

[1.0.4.67] - 2017-01-01

  • Fixed bug in New-CosmosDbConnection detecting Azure connection.

[1.0.4.63] - 2017-01-01

  • Fixed bug in New-CosmosDbConnection connecting to Azure and improved tests.
  • Changed New-CosmosDbAuthorizationHeader to replaced Connection parameter with Key and KeyType parameter.
  • Fixed bug in Invoke-CosmosDbRequest that can cause connection object to be changed.

[1.0.2.59] - 2017-01-01

  • Added PartitionKey, OfferThroughput and OfferType parameters to cmdlet New-CosmosDBCollection.
  • Added support for retrieving key from Azure Management Portal.

[1.0.2.53] - 2017-01-01

  • Updated manifest to show all cmdlets.

[1.0.2.47] - 2017-01-01

  • Improved unit test coverage.
  • Added cmdlet Set-CosmosDBUser for setting the user Id of an existing user.

[1.0.1.40] - 2017-01-01

  • Minor bugfixes.
  • Improved unit test coverage.

[1.0.0.30] - 2017-01-01

  • Initial Release.