- [DEPRECATED] This library is end-of-life and no longer supported.
- [FIXED] Issue where new session cookies from pre-emptive renewal would not persist beyond the original session lifetime.
- [IMPROVED] - Document IDs and attachment names are now rejected if they could cause an unexpected Cloudant request. We have seen that some applications pass unsantized document IDs to SDK functions (e.g. direct from user requests). In response to this we have updated many functions to reject obviously invalid paths. However, for complete safety applications must still validate that document IDs and attachment names match expected patterns.
- [FIXED] Hang caused by plugins (i.e. retry plugin) preventing callback execution by attempting to retry on errors received after starting to return the response body.
- [DEPRECATED] This library is now deprecated and will be EOL on Dec 31 2021.
- [FIXED] Parsing of max-age from Set-Cookie headers.
- [FIXED] Double callback if plugin errors when updating state.
- [NOTE] Updated engines to remove EOL Node.js versions (minimum is now Node.js 12).
- [NEW] Add migration guide to the newly supported cloudant-node-sdk (package: @ibm-cloud/cloudant).
- [FIXED] Update README to prefer url to account.
- [FIXED] Stopped constant token auto renewal in the absence of a cookie header Max-Age.
- [UPGRADED] Upgrade package: @types/request@^2.48.4.
- [UPGRADED] Upgrade package: nano@~8.2.2.
- [FIXED] Pinned Nano to version 8.1 to resolve issue with extending upstream TypeScript changes in Nano version 8.2.0.
- [FIXED] Expose BasePlugin.
- [FIXED] Prevent double encoding of credentials passed in URL user information
when using the
cookieauth
plugin. - [IMPROVED] Documented the characters that are required to be encoded in URL user information.
- [IMPROVED] Documented the legacy compatibility behaviour that always adds the
cookieauth
plugin when using the initialization callback functionality.
- [FIXED] Stopped disabling the IAM auth plugin after failed IAM authentications. Subsequent requests will re-request authorization, potentially failing again if the original authentication failure was not temporary.
- [FIXED] Ensure IAM API key can be correctly changed.
- [FIXED] Callback with an error when a user cannot be authenticated using IAM.
- [FIXED] Ensure authorization tokens are not unnecessarily requested.
- [IMPROVED] Do not apply cookie authentication by default in the case that no credentials are provided.
- [IMPROVED] Preemptively renew authorization tokens that are due to expire.
- [FIXED] Include all built-in plugin modules in webpack bundle.
- [NEW] Added option to set new IAM API key.
- [FIXED] Allow plugins to be loaded from outside the 'plugins/' directory.
- [FIXED] Retry bad IAM token requests.
- [FIXED] Remove unnecessary
npm-cli-login
dependency.
- [NEW] Added partitioned database support.
- [NEW] Added option for client to authenticate with IAM token server.
- [FIXED] Add
vcapServiceName
configuration option to TS declarations. - [FIXED] Case where
.resume()
was called on an undefined response. - [FIXED] Updated the default IAM token server URL.
- [BREAKING CHANGE] Nano 7 accepted a callback to the
*AsStream
functions, but the correct behaviour when using therequest
object from*AsStream
functions is to use event handlers. Users of the*AsStream
functions should ensure they are using event handlers not callbacks before moving to this version. - [UPGRADED] Apache CouchDB Nano to a minimum of version 8 for
*AsStream
function fixes.
- [FIXED] Remove unnecessary
@types/nano
dependancy.
- [FIXED] Use named import for
request.CoreOptions
type.
- [FIXED] Expose
BasePlugin
type in Cloudant client. - [FIXED] Set
parseUrl = false
on underlying Nano instance. - [BREAKING CHANGE] Due to the Nano 7.x upgrade all return types are now a
Promise
(except for the...AsStream
functions). See api-migration.md for migration details. - [REMOVED] Remove nodejs-cloudant TypeScript type definitions for
db.search
. These definitions are now imported directly from Nano. - [REMOVED] Removed support for the deprecated Cloudant virtual hosts feature.
- [UPGRADED] Using nano==7.1.1 dependency.
- [FIXED] Don't override
plugins
array when instantiating a new client using VCAP.
- [FIXED] Case where
username
andpassword
options were not used if aurl
was supplied. - [FIXED] Case where
vcapServices
was supplied with a basic-authurl
.
- [FIXED] Removed addition of
statusCode
to response objects returned by promises. - [IMPROVED] Added support for IAM API key when initializing client with VCAP_SERVICES environment variable.
- [FIXED] Add missing
maxAttempt
parameter to TypeScript definition. - [FIXED] Include client initialization callback in TypeScript definition.
- [FIXED] Prevent client executing done callback multiple times.
- [FIXED] Removed test and lint data that bloated npm package size.
- [FIXED] Support Cloudant query when using promises request plugin.
- [NEW] Add TypeScript definitions.
- [NEW] Allow pipes to be defined inside request event handlers.
- [UPGRADED] Using nano==6.4.3 dependancy.
- [NOTE] Update engines in preparation for Node.js 4 “Argon” end-of-life.
- [FIXED] Updated
require
references to use newly scoped package@cloudant/cloudant
.
- [NEW] Added API for upcoming IBM Cloud Identity and Access Management support for Cloudant on IBM Cloud. Note: IAM API key support is not yet enabled in the service.
- [NEW] Support multiple plugins. See api-migration.md for migration details.
- [NEW] Allow use of a custom service name from the CloudFoundry VCAP_SERVICES environment variable.
- [FIXED] Fix
get_security
/set_security
asymmetry. - [FIXED] Support piping of request payload with plugins.
- [BREAKING CHANGE] Replace
retryAttempts
option withmaxAttempts
. This defines the maximum number of times the request will be attempted. - [BREAKING CHANGE] By default the
retry
plugin will retry requests on HTTP 429 status codes, a subset of 5xx server error status codes and also TCP/IP errors. See api-migration.md for migration details. - [BREAKING CHANGE] Changed
promise
plugin to throw newCloudantError
(notstring
). - [REMOVED] Remove global
retryTimeout
option (replaced by plugin specific configuration). - [REMOVED] Remove previously deprecated method
set_permissions
. - [IMPROVED] Updated documentation by replacing deprecated Cloudant links with the latest bluemix.net links.
- [UPGRADED] Upgrade package: [email protected].
- [NEW] Add 'error' & 'response' events to 429 retry plugin stream.
- [FIXED]
{silent: true}
to dotenv to prevent.env
warnings. - [UPGRADED] Upgrade package: [email protected].
- [UPGRADED] Upgrade package: debug@^3.1.0.
- [UPGRADED] Upgrade package: request@^2.81.0.
- [UPGRADED] Using cloudant-nano==6.5.0 dependancy.