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.
- Fixed pipeline build step by limiting Gitversion to 5.* version.
- Change default integration test region from
East US
toAustralia East
due to quota limitations. - Removed MacOS-11 testing from build pipeline because it is no longer supported by Microsoft managed Azure DevOps images.
- Changed integration tests to display the removal of the Cosmos DB account in the teardown phase to ensure the account is removed after the tests are completed.
- Updated collection and database autoscale minimum from 4000 to 1000 - Fixes Issue #493.
- Changed integration tests to attempt to clean up the Cosmos DB resource group if it is not removed by the teardown phase - Fixes Issue #494.
- 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 modulesAz.Accounts
2.19.0 andAz.Resources
6.16.2. - Renamed
New-CosmosDbAuthorizationToken
toNew-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 thanPublishCodeCoverageResults@1
task to support the latest version of the task.
- BREAKING CHANGE: Updated module to require
Az.Accounts
v2.19.0 or newer andAz.Resources
v6.16.2 or newer. - Renamed
New-CosmosDbAuthorizationHeader
toGet-CosmosDbAuthorizationHeaderFromContext
to better indicate actual function behaviour. - Renamed
Get-CosmosDbAuthorizationHeadersFromContext
toGet-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 byInvoke-CosmosDbRequest
to generate the authorization header when an Entra ID Token is provided. - Changed module import process to load the
Az.Accounts
andAz.Resources
modules only if they haven't already been loaded to support saving the module and storing in folders.
- Added support for setting an Entra Id OAuth2 Token in the
New-CosmosDbContext
- Fixes Issue #479. - Added new
Get-CosmosDbEntraIdToken
function that usesGet-AzAccessToken
to get an Entra Id Token for use in Cosmos DB requests. This is used byNew-CosmosDbContext
to set the Entra Id Token in the context object - Fixes Issue #479.
- Added
-ConnectionString
parameter toNew-CosmosDbContext
- Fixes Issue #426.
- Fixed spelling errors in documentation.
- 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.
- 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 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 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.
- Convert build pipeline to use GitTools Azure DevOps extension tasks instead of deprecated GitVersion extension.
- Correct value of
Environment
parameter in context object returned byNew-CosmosDbContext
- Fixes Issue #411. - Update
requirements.psd1
to install modulesAz.Accounts
2.2.8 - Fixes Issue #415. - Updated
ComsosDB.cs
to add getters and setters to properties - Fixes Issue #417.
- 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
ReturnJson
parameter toNew-CosmosDbDocument
,Set-CosmosDbDocument
andGet-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.
- Fix build problems preventing DLL and help from being compiled and added to the module.
- Fix build problems preventing DLL and help from being compiled and added to the module.
- 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.
- Fix missing module help - Fixes Issue #401.
- Fixed misspelling of 'Throughput' in
README.md
and tests - Fixes Issue #396.
- Renamed
master
branch tomain
- Fixes Issue #393.
- 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
andNew-CosmosDbCollection
- Fixes Issue #321.
- Fixed
Cannot bind argument to parameter 'Message' because it is null.
error message occurring when displaying messages on systems not usingen-US
UI culture - Fixes Issue #373.
- Added
Get-CosmosDbDocumentJson
function - Fixes Issue #370. - Added
IfMatch
alias forEtag
parameter onSet-CosmosDbDocument
function - Fixes Issue #376. - Added
Get-CosmosDbCosmosDbResponseHeader
function and refactoredGet-CmosmosDbContinuationToken
to use it. - Added documentation and examples showing how to get the progress of an index transformation - Fixes Issue #369.
- Changed build jobs
Unit_Test_PSCore6_Ubuntu1604
andIntegration_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 forId
parameters in*-CosmosDbCollection
functions - Fixes Issue #375. - Added
Name
as an alias forId
parameters in*-CosmosDbDatabase
functions - Fixes Issue #374. - Refactored
Get-CosmosDbDocument
to be a wrapper for new functionGet-CosmosDbDocumentJson
. - Added support for specifying a protocol and port in the
URI
parameter of theNew-CosmosDbContext
function - Fixes Issue #381.
- Fixed
Get-CosmosDbDocument
function partition key formatting when anId
parameter is passed.
- Added support for AzureChinaCloud (Mooncake) - Fixes Issue #365.
- Fix daily build by preventing deployment stage from running on
anything build not named
*.master
- Fixes Issue #366.
- Change Azure DevOps Pipeline definition to include
source/*
- Fixes Issue #350. - Updated pipeline to use
latest
version ofModuleBuilder
- Fixes Issue #350. - Merge
HISTORIC_CHANGELOG.md
intoCHANGELOG.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 toNew-CosmosDbCollection
andSet-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 to1.7.0
by changingCopyDirectories
toCopyPaths
. - Added
Get-CosmosDbContinuationToken
helper function to get the continuation token from response headers returned byGet-CosmosDbCollection
orGet-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.
- 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 support for
Environment
parameter inNew-CosmosDbContext
to allow using Azure US Government Cloud - fixes Issue #322.
- 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.
- Remove AppVeyor CI pipeline - fixes Issue #329.
- Restructure Azure Pipeline:
- Add testing on Windows Server 2019 and separate module build process.
- Convert to multi stage pipeline.
- Fix default culture case to fix error on module load in PS7 on Ubuntu 18.04 - fixes Issue #332.
- 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.
- 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 addedGet-CosmosDbAuthorizationHeadersFromContext
to split out function to pull token out ofContext
object. This was done to reduce the size of theInvoke-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 tox-ms-documentdb-partitionkey
in document functions. - Add support for integer partition keys to functions
Get-CosmosDbDocument
,New-CosmosDbDocument
,Remove-CosmosDbDocument
andSet-CosmosDbDocument
.
- 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 toSet-CosmosDbDocument
to check if the document has been updated since last get.
- Added
OfferThroughput
parameter toNew-CosmosDbDatabase
function - fixes Issue #110.
- 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.
- Update
requirements.psd1
to install modulesAz.Resources
1.3.1 andAz.Accounts
1.5.1. - Change
requirements.psd1
to specifyminimumversion
ofAz.Resources
andAz.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 functionGet-CosmosDbAccountConnectionString
to only return a specific connection string - fixes Issue #291. - Updated Style Guidelines.
- Fix incorrectly encoded strings being returned by
Get-CosmosDbDocument
when UTF-8 results are returned - fixes Issue #282.
- 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 modulesAz.Resources
1.2.0 andAz.Accounts
1.4.0. - Added 'Windows', 'Linux' and 'MacOS' tags to module manifest to improve searchability in PowerShell Gallery.
- Added support for
PartitionKey
in*-CosmosDBAttachment
functions - fixes Issue #274. - Update
cosmosdb.psdepend.psd1
to install modulesAz.Resources
1.1.2 andAz.Accounts
1.3.0. - Suppress verbose output when loading module during automated testing to reduce output.
- 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 modulesAz
1.2.1 andPester
4.7.0. - Deprecate
Hash
index policy kind and throw exception when used inNew-CosmosDbCollectionIncludedPathIndex
. See this page for more information - fixes Issue #271.
- Updated manifest to include required modules
Az.Accounts
1.0.0 andAz.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 ensureAz
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.
- BREAKING CHANGE: Converted to use
Az
PowerShell Module fromAzureRm
andAzureRm.NetCore
PowerShell Module - fixes Issue #190. - Renamed
build.ps1
topsake.ps1
to indicate that it is used to executePsake
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
toConnect-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
andNew-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
andSet-CosmosDbAccount
respectively - fixes Issue #249. - Changed
Remove-CosmosDbAccount
to prevent second confirmation prompt when removing account. - Enabled
*-CosmosDbAccount
tests to run in AppVeyor.
- 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 toResponseHeader
inGet-CosmosDbDocuments
function to adhere to PowerShell standards, but included alias forResultHeaders
to prevent breaking change.
- Extended maximum length of Account Name parameter to be 50 characters - fixes Issue #201.
- 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.
- Added support for setting Collection uniqueKeyPolicy in
New-CosmosDbCollection
andSet-CosmosDbCollection
- fixes Issue #197.
- Renamed
ResourceGroup
parameter toResourceGroupName
inNew-CosmosDbContext
function - fixes Issue #158. - Correct
*-CosmosDbAccount
functions examples in README.MD to showResourceGroupName
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.
- Added support for creating and updating documents containing
non-ASCII characters by adding Encoding parameter to
New-CosmosDbDocument
andSet-CosmosDbDocument
functions - fixes Issue #151. - Fix table of contents link in README.MD.
- 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.
- 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
- Added support for running CI in Azure DevOps Pipelines - fixes Issue #174
- 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
andSet-CosmosDbAccount
when run in AppVeyor due to exception occuring inNew-AzureRmResource
andSet-AzureRmResource
cmdlets because of Newtonsoft.Json version conflict.
- 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
- Changed references to
CosmosDB
toCosmos DB
in documentation - fixes Issue #147
- Added
RemoveDefaultTimeToLive
switch parameter toSet-CosmosDbCollection
to allow removal of a default time to live setting on a collection - fixes Issue #144
- Changed
New-CosmosDbStoredProcedure
&Set-CosmosDbStoredProcedure
to use serialization instead of tricky request body conversion - fixes Issue #137 - Added parameter
DefaultTimeToLive
toNew-CosmosDbCollection
andSet-CosmosDbCollection
- fixes Issue #139 - Changed the
IndexingPolicy
parameter onSet-CosmosDbCollection
to be optional - fixes Issue #140
- Changed
New-CosmosDBContext
so that Read Only keys will use thereadonlykeys
action endpoint instead of thelistKeys
action - fixes Issue #133 - Fixed freeze occuring in functions when
-ErrorAction SilentlyContinue
parameter was used and error is returned - fixes Issue #132
- Changed trigger operation type
Insert
toCreate
inNew-CosmosDBTrigger
andSet-CosmosDBTrigger
functions - fixes Issue #129
- Removed
UseWebRequest
parameter fromInvoke-CosmosDbReuest
function to refactor out the use ofInvoke-RestMethod
. This is because most Cosmos DB REST requests return additional header information that is lost if usingInvoke-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.
- Added None as an IndexingMode - See Issue #120
- Fix creation of spatial index by
New-CosmosDbCollectionIncludedPathIndex
so that precision is not used when passing toNew-CosmosDbCollection
. - Added support for
-PartitionKey
inInvoke-CosmosDbStoredProcedure
- See Issue #116 - Changed -StoredProcedureParameter from string[] to object[] in
Invoke-CosmosDbStoredProcedure
- See Issue #116 - Updated
Invoke-CosmosDbStoredProcedure
to setx-ms-documentdb-script-enable-logging: true
header and write stored procedure logs to the Verbose Stream when-Debug
is set - See Issue #116
- Fixed Code Coverage upload to CodeCov.io.
- Fix
New-CosmosDbCollectionIncludedPathIndex
Kind parameter spelling of spacial - See Issue #112. - Added parameter validation to
New-CosmosDbCollectionIncludedPathIndex
.
- 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.
- 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 toNew-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.
- 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
- Added basic integration test support.
- Fixed 401 error returned by
Set-CosmosDbOffer
when updating offer - See Issue #85. Thanks dl8on
- Added
Get-CosmosDbCollectionSize
function to return data about size and object counts of collections - See Issue #79. Thanks WatersJohn.
- Fixed
New-CosmosDbAuthorizationHeader
function to support generating authorization tokens for case sensitive resource names - See Issue #76. Thanks MWL88.
- Updated CI process to use PSDepend for dependencies.
- Updated CI process to use PSake for tasks.
- Changes AppVeyor.yml to call PSake tasks.
- 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.
- Added
*-CosmosDbOffer
cmdlets.
- Fixed bug in
Get-CosmosDbDocument
when looking up a document in a partitioned collection by adding aPartitionKey
parameter. - Added
Upsert
parameter toNew-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 ensurePartitionKey
parameter is passed ifOfferThroughput
is greater than 10000.
- Added support for configuring custom indexing policies when creating a new collection.
- Converted all
connection
function names and parameter names over tocontext
. Aliases were implemented for oldconnection
function and parameter names to reduce possibility of breakage.
- Added support for CosmosDB Emulator.
- Fixed
New-CosmosDbConnection
error message when creating connection but not connected to Azure. - Added support for specifying token expiry length to
Get-cosmosDbPermission
.
- BREAKING CHANGE: Converted all cmdlets to return custom types and added support for custom formats.
- Added
*-CosmosDbAttachment
cmdlets.
- Fixed
Get-CosmosDbDocument
returning (400) Bad Request error when executed with Query - See Issue #22.
- Added
*-CosmosDbDocument
cmdlets.
- Added
*-CosmosDbUserDefinedFunction
cmdlets.
- Added
*-CosmosDbStoredProcedure
cmdlets.
- Added
*-CosmosDbTrigger
cmdlets.
- Added
New-CosmosDbDatabase
andRemove-CosmosDbDatabase
cmdlets. - Improved unit tests.
- Added
Get-CosmosDbDatabase
andGet-CosmosDbDatabaseResourcePath
cmdlets.
- Fixed bug in
New-CosmosDbConnection
detecting Azure connection.
- Fixed bug in
New-CosmosDbConnection
connecting to Azure and improved tests. - Changed
New-CosmosDbAuthorizationHeader
to replacedConnection
parameter withKey
andKeyType
parameter. - Fixed bug in
Invoke-CosmosDbRequest
that can cause connection object to be changed.
- Added
PartitionKey
,OfferThroughput
andOfferType
parameters to cmdletNew-CosmosDBCollection
. - Added support for retrieving key from Azure Management Portal.
- Updated manifest to show all cmdlets.
- Improved unit test coverage.
- Added cmdlet
Set-CosmosDBUser
for setting the user Id of an existing user.
- Minor bugfixes.
- Improved unit test coverage.
- Initial Release.