- Bug with undefined variable during partition key refresh
- Adds additional logging and hardening. This includes additional error/warn/info logs which have information about the https.agent state + all errors are now logged
- Adds a separate watchdog timeout on https requests to handle cases where https.request/socket timeouts themselves get bogged down. This time produces a scary looking error as you'll only see it when running under too much load for a given client/app.
- Adds
isTimedout
andduration
to error messages that come from request pipeline. These indicate whether a timeout occurred for the error and what the duration of the request is as measure from the creation of the request callback itself (not based on socket time/etc.)
- Adds additional logging and hardening
- Adds logging support
- Fixes cross partition aggregate support
- Fixes some cases where cross partition query silently failed
- Added endpoint retry on ECONNREFUSED errors to help with failover
- npm documentation fixed.
- Added support for default retries on connection issues.
- Added support to read collection change feed.
- Fixed session consistency bug that intermittently caused "read session not available".
- Added support for query metrics.
- Modified http Agent's maximum number of connections.
- Updated documentation to use Azure Cosmos DB.
- Added Support for proxyUrl setting in ConnectionPolicy.
- Minor fix for case sensitive file systems.
- Adds support for Session Consistency.
- This SDK version requires the latest version of Azure Cosmos DB Emulator available for download from https://aka.ms/cosmosdb-emulator.
- Splitproofed cross partition queries.
- Adds supports for resource link with leading and trailing slashes (and corresponding tests).
- npm documentation fixed.
- Fixed bug in executeStoredProcedure where documents involved had special unicode characters (LS, PS).
- Fixed bug in handling documents with unicode characters in partition key.
- Fixed support for creating collection with name media (github #114).
- Fixed support for permission authorization token (github #178).
- Added support for Request Unit per Minute (RU/m) feature.
- Added support for a new consistency level called ConsistentPrefix.
- Added support for UriFactory.
- Fixed the unicode support bug (github #171)
- Added the support for aggregation queries (COUNT, MIN, MAX, SUM, and AVG).
- Added the option for controlling degree of parallelism for cross partition queries.
- Added the option for disabling SSL verification when running against Emulator.
- Lowered minimum throughput on partitioned collections from 10,100 RU/s to 2500 RU/s.
- Fixed the continuation token bug for single partition collection (github #107).
- Fixed the executeStoredProcedure bug in handling 0 as single param (github #155).
- Fixed user-agent header to include the SDK version.
- Minor code cleanup.
- Disabling SSL verification when using the SDK to target the emulator(hostname=localhost).
- Added support for enabling script logging during stored procedure execution.
- Added support for cross partition parallel queries.
- Added support for TOP/ORDER BY queries for partitioned collections.
-
Added retry policy support for throttled requests. (Throttled requests receive a request rate too large exception, error code 429.) By default, DocumentClient retries nine times for each request when error code 429 is encountered, honoring the retryAfter time in the response header. A fixed retry interval time can now be set as part of the RetryOptions property on the ConnectionPolicy object if you want to ignore the retryAfter time returned by server between the retries. DocumentClient now waits for a maximum of 30 seconds for each request that is being throttled (irrespective of retry count) and returns the response with error code 429. This time can also be overriden in the RetryOptions property on ConnectionPolicy object.
-
DocumentClient now returns x-ms-throttle-retry-count and x-ms-throttle-retry-wait-time-ms as the response headers in every request to denote the throttle retry count and the cummulative time the request waited between the retries.
-
The RetryOptions class was added, exposing the RetryOptions property on the ConnectionPolicy class that can be used to override some of the default retry options.
- Added the support for geo-replicated database accounts.
- Added the support for TimeToLive(TTL) feature for documents.
- Added support for Partitioned Collections.
- Added support for new offer types.
- Fixed RangePartitionResolver.resolveForRead bug where it was not returning links due to a bad concat of results.
- Move compareFunction from Range class to RangePartitionResolver class.
- Fixed hashParitionResolver resolveForRead(): When no partition key supplied was throwing exception, instead of returning a list of all registered links.
- Dedicated HTTPS Agent: Avoid modifying the global. Use a dedicated agent for all of the lib’s requests.
- Properly handle dashes in the mediaIds.
- Fix memory leak.
- Renamed "Hash" directory to "hash".
- Added client-side sharding support.
- Added hash partition resolver implementation.
- Added range partitoin resolver implementation.
- Implement Upsert. New upsertXXX methods on documentClient.
- Skipped to bring version numbers in alignment with other SDKs.
- Split Q promises wrapper to new repository.
- Update to package file for npm registry.
- Implements ID Based Routing.
- Fixes Issue #49 - current property conflicts with method current().
- Added support for GeoSpatial index.
- Validates id property for all resources. Ids for resources cannot contain ?, /, #, \, characters or end with a space.
- Adds new header "index transformation progress" to ResourceResponse.
- Implements V2 indexing policy.
- Issue [#40] (#40) - Implemented eslint and grunt configurations in the core and promise SDK.
- Issue #45 - Promises wrapper does not include header with error.
- Implemented ability to query for conflicts by adding readConflicts, readConflictAsync, queryConflicts.
- Updated API documentation.
- Issue #41 - client.createDocumentAsync error.