-
947115b: Correct logic for parsing domains from URLs supplied to the http request function: add fallback support for path alongisde pathname.
Fix bug in parsing raw strings supplied to request to URLs by correcting object keys.
-
720476d: Extend Relay outbound/forward proxy support in Node to include the ability to filter requests by path using
decryptionDomains
.Requests can be filtered at the path level by appending an absolute or wildcard path to the decryption domains option, following similar wildcard logic to the domains themselves. For example:
// Existing behaviour will be observed, proxying requests to the host 'api.com'. const ev = new Evervault('app_uuid', 'api_key', { decryptionDomains: ['api.com'], }); // Will only proxy requests to host 'api.com' which have a path starting with '/users/'. const ev = new Evervault('app_uuid', 'api_key', { decryptionDomains: ['api.com/users/*'], }); // Will only proxy requests to host 'api.com' which have an exact path of '/settings'. const ev = new Evervault('app_uuid', 'api_key', { decryptionDomains: ['api.com/settings'], });
This change is compatible with the existing hostname wildcard behaviour of
decryptionDomains
.
- dc32ede: Add axios dependency
- 945920d: Remove phin as a dependency as it is unmaintained
- 1538ebe: fix app key header name
- 1d40263: Encrypt with just app id
- 14748f9: Replace ASN.1 encoding library
- f3db4d3: Added
createEnclaveHttpsAgent
to return anEnclaveAgent
class which extends https.Agent to manage HTTPS connections. This Agent can be passed into HTTP clients like Axios to attest a connection to an Enclave.
- ca97124: remove unused code
- bfd870a: Remove support for data policies when encrypting Files
-
0feef7d: The Evervault Attestation Bindings have been removed as an external dependency including them instead as a plugin at runtime.
The attestation bindings now require an explicit opt-in. For customers that do not use Evervault Enclaves, there should be no change to how you use the SDK.
If you use Evervault Enclaves, you'll need to install the Attestation Bindings separately:
npm i @evervault/attestation-bindings
After installing the attestation bindings, you can use the existing
enableEnclaves
function using the bindings as the second parameter:const Evervault = require('@evervault/sdk'); const attestationBindings = require('@evervault/attestation-bindings'); const evervault = new Evervault('app_id', 'api_key'); await evervault.enableEnclaves( { 'my-enclave': { // attestation measures... }, }, attestationBindings );
- 5ffb2ba: Declare helper functions in pcrManager as consts.
- d0c277c: Correct validation of PCR data given to enableEnclaves - allow for functions to be passed as values in the map.
- 73464ab: Make polling jobs scheduled by the SDK headless to allow processes to exit cleanly.
- e1624e0: Add enclaves hostname to attestationListener
- c3208ff: Fix bug with incorrect config being passed to PcrManager constructor
- 3cb052a: Fix bug resulting in undefined reference within the AttestationDoc Cache when using the enableEnclaves entrypoint.
- 942f0e6: Update typings to include new enableEnclaves function.
- 6baff50: Add new enableEnclaves function and deprecate enableCages
-
172eb04: Deprecating intercept and ignore domains
You can now use the
enableOutboundRelay()
method to enable outbound relay. For more details check out https://docs.evervault.com/sdks/nodejs#enableoutboundrelay() -
e42fddd: Simplifying errors thrown by the SDK.
Previously we exposed many different error types for users to handle, but in most cases these errors were not something that could be caught and handled, but were rather indicative of a larger configuration issue. This change simplifies the errors thrown by returning an EvervaultError with accompanying error message by default, unless they are a transient error which can be handled programmatically, in which case a specific error is returned.
-
d03a72e: We have released a new API for Function run requests which is more robust, more extensible, and which provides more useful error messages when Function runs fail. This change migrates all Function run requests to the new API. In addition, we have removed the
encryptAndRun
method, async Function run requests, and specifying version of Function to run. For more details check out https://docs.evervault.com/sdks/nodejs#run()
-
dc30edd: The
encrypt
function has been enhanced to accept an optional Data Role. This role, once specified, is associated with the data upon encryption. Data Roles can be created in the Evervault Dashboard (Data Roles section) and provide a mechanism for setting clear rules that dictate how and when data, tagged with that role, can be decrypted. For more details check out https://docs.evervault.com/sdks/nodejs#encrypt()evervault.encrypt('hello world!', 'allow-all');
-
4ea79de: Add support for using Data Roles when encrypting files with the
encrypt
function. -
72d6786: Cage PCR Provider: publish new PCRs to public source which SDKs can pull from for attestation
- d4a1a87: We were duplicating information from our documentation on our website into the README. Instead, we now have a single source of truth
- 6e7c03f: Updated attestation for Cages GA