All notable changes to this project will be documented in this file.
3 of 3 new features added in April are now fully functional and documented. See documentation for AWS X-Ray and AWS Parameters and Secrets Lambda Extension.
The experimental feature tools.hashThisData() from v1.0.33 is still experimental and undocumented.
- Feature: Added AWS XRay to HTTP, SSM, S3, and DynamoDb requests. Add Lambda environment variable
CacheData_AWSXRayOn
and set totrue
to enable. Check the X-Ray traces using CloudWatch. - Feature: Added a switch for experimental tools.hashThisData(). Passing the
useToolsHash: true
property during Cache.init() will use the providedtools.hashThisData()
function rather than the current hash object package. By default it isfalse
and the current hash object function is used. - Documentation: Added documentation for both X-Ray and CachedParameterSecret
- Chore: Updated tests so it would work with chai 5.x
- Feature: Added experimental tools.CachedSecret, tools.CachedParameterSecret classes for use with the AWS Parameters and Secrets Lambda Extension. Usage will be documented in a future release.
- Security: Fixed a security recommendation for generating message log strings for tools.DebugAndLog.x
- Feature: Added an experimental tools.hashThisData() function for possible future replacement of the dependency object-hash when generating cache-ids.
- Chore: Bump actions/setup-node from 3 to 4 Pull Request #108 Dependabot
- Chore: Bump chai from 4.3.10 to 5.0.0 Pull Request #107 Dependabot
- Chore: Reverted chai 5.x back to 4.x and pinned dependency because 5.x doesn't work with node require
- Added additional variables to tools.AWS including
tools.AWS.NODE_VER
(see AWS-SDK section in README) - Added additional DynamoDb methods:
tools.AWS.dynamo.scan
tools.AWS.dynamo.delete
tools.AWS.dynamo.update
tools.AWS.dynamo.sdk.ScanCommand
tools.AWS.dynamo.sdk.DeleteCommand
tools.AWS.dynamo.sdk.UpdateCommand
AWS-SDK version 3 is now available for use. This also means cache-data may be installed on Lambda functions using Node 18 or later, but is still backwards compatible with Node 16.
This version will not run if the Node version is less than 16. AWS will be deprecating version 16 on Lambda in 2024.
- Fully implemented AWS-SDK version 3 for Node 18 and above. AWS-SDK version 2 will be used for Node 16. (Below Node 16 not supported).
- To assist in development using the SDKs, DynamoDB, S3, and SSM Parameter Store SDKs are accessible when tools are imported.
tools.AWS.dynamo.sdk
. You can also utilize genericput
andget
functions for these resources that will automatically use the proper SDK (See AWS-SDK section in README). - Improved error reporting. Stack traces now logged across all tools.
- Mitigation for Issue #80 Applications hang and time out when reading cached items from S3 (no errors reported). Large encrypted cached items may still hang.
- Bumped some dependencies up.
- Switched to AWS-SDK version 3 from version 2
- Fix for Issue #80 Applications hang and time out when reading cached items from S3 (no errors reported)
- Changelog file had info from a different project cluttering up the first half.
- Bump chai from 4.3.7 to 4.3.8 Pull Request #76 Dependabot
- Bump aws-sdk from 2.1440.0 to 2.1445.0 Pull Request #75 Dependabot
- Preparing for aws-sdk v3
- Added lambda-test, sinon, and proxyquire to dev dependencies for testing
- Bump @aws-sdk/client-s3 from 3.400.0 to 3.405.0 Pull Request #77 Dependabot
- Bump @aws-sdk/client-dynamodb from 3.398.0 to 3.405.0 Pull Request #79 Dependabot
- Bump aws-sdk from 2.1445.0 to 2.1453.0 Pull Request #81 Dependabot
- Cache data access object: Added additional debug messages for read/write functions in DynamoDb, S3, and General Cache
- Improved error message logging for read/write functions in DynamoDb, S3, and General Cache
- Cleaned up an issue that came up when renaming cache policy profile properties to hostId and pathId.
- Bumped package dependencies up for aws-sdk
- Updated tests to use
api.chadkluck.net/echo
endpoint instead oflabkit.api.63klabs.net
(both are maintained by the script's author). defaultExpirationInSeconds
andexpirationIsOnInterval
are now accepted aliases fordefaultExpiresInSeconds
andexpiresIsOnInterval
respectively for Connection Cache Profile configuration. Resolves Issue #71
- Added tools.obfuscate() and tools.sanitize() and now attempts to sanitize objects sent to DebugAndLog. Regular Expression used in the stringified object may be inspected on RegEx101
- Bumped package dependencies up for aws-sdk and cookiejar
- Added extra logging information to API errors in tools. Added host and note to the log for better troubleshooting endpoints.
- Updated dependencies moment-timezone and aws-sdk
- Added a log entry for a warning if timeout is reached in https get tool.
- Fixed issue where submitting null header or options to endpoint would fail
- Updated timeout to follow https specs and implemented on("timeout")
- Initial Release