- ๐ก๏ธ
06c78c6npm audit - โจ
4ce9011Update lint-staged and husky - โจ
ff0f750Update prettier - โจ
b8e8fd6Update mocha - โจ
005b7b7Update Studio Log - โจ
4ebb5a3Configure packaged files
Released by Maximilian Antoni on 2024-08-28.
- ๐
446db5cFix max idle overtaking lambda timeout - ๐
16953a0Add missing documentation for timeout option - ๐
e582183Remove bad link to apex
Released by Maximilian Antoni on 2024-08-28.
50359f9Use husky and lint-staged7c72184Drop node 16abb5df7Rename master to maind0be735State MIT license in package.jsonaf1f621Add LICENSE
Released by Maximilian Antoni on 2024-01-17.
- โจ
cca2e48Support node 20 and update GitHub action - โจ
d64d9ffUpgrade prettier to v3 - โจ
2670491Update eslint config and eslint - โจ
c27072bUpdate Studio ndjson - โจ
06c894fUpgrade Studio Changes - โจ
4e929c7Upgrade @sinonjs/referee-sinon
Released by Maximilian Antoni on 2024-01-11.
- ๐ฅ
8be1398Require node 16 - ๐ฅ
496cc52Use dynamic import to support loading es modules - ๐ฅ
d458059Change generic destroy error code toE_FAILED - ๐ก
8a6a3b3npm audit - โจ
6814ed2Update Studio Changes - โจ
0d942b9Upgrade referee-sinon - โจ
673cc02Update prettier - โจ
5c264ffUpgrade mocha - โจ
bf9897bUpgrade eslint-config and eslint
Released by Maximilian Antoni on 2023-01-19.
- ๐
5b7e59eFix region and account config via env
Released by Maximilian Antoni on 2021-06-23.
- ๐
e1be0d4HandlerJSON.stringifyerror in lambda response - โจ
526574bUpgrade @sinonjs/referee-sinon to latest (Morgan Roderick) - โจ
2f25018Set required node version in package-lock.json (Morgan Roderick)
Released by Maximilian Antoni on 2021-05-21.
- ๐ฅ
b5a53adRequire node 12 - ๐
21b2d2cReturn promise in lambda.invoke if no callback is given - ๐
c37577aSupport async lambda functions - ๐
4de3f74Document usage with async await - ๐
2111a8fFix error handling if lambda throws while launching - โจ
957d2e6Avoid else by returning early - โจ
e6879f2Configure GitHub actions - โจ
64de260Run lint, test and prettier checks separately - โจ
b9db826Update Studio Changes - โจ
0af1d4eUpgrade referee-sinon to latest - โจ
f2000ddUpgrade mocha to latest - โจ
c466a9dSetup prettier - โจ
e0469bbUpgrade eslint and eslint-config - โจ
94c71c6Use npm 7 - โจ
b121728Add .gitignore - โจ
883ba54Fix memory limit tests for node 12 - โจ
0914a38Upgrade referee-sinon to v6 - โจ
eb41edeUpgrade Studio Changes to v2 - โจ
570c069Make eslint-config a dev dependency
Released by Maximilian Antoni on 2021-04-21.
-
๐
6a70c3cRevert "Do not prepend forwarded log namespace with name"This reverts commit 7082da34f64146db43402d40835bfb2ffbb934f7.
- ๐
7082da3Do not prepend forwarded log namespace with name
- ๐ฅ
82e917aBREAKING: Upgrade Studio Log to v2 - โจ
e0669eaUse Sinon + Referee and use Sinon default sandbox - ๐
8362816Add commit links with--commits
- ๐ Pass error cause in logs through to lambda logger
- ๐ Implement more AWS environment variables for lambda functions
- ๐ Change log topic for new lambdas from "launch" to "spawn"
- โจ Add tests for AWS_REGION and AWS_PROFILE environment variables
- โจ Refactor setting
getRemainingTimeInMillison context
- ๐ Add
shutdownandstatsAPIs - ๐ Improve lambda function error handling
- ๐ Handle ndjson transform errors
- ๐ Use configured memory and improve process exit handling
- ๐ Improve generated
awsRequestId
- ๐ Add support for
functionName. - ๐ Add support for
awsRequestId. - ๐ Add support for
memoryLimitInMB. - ๐ Add support for
getRemainingTimeInMillis(). - ๐ Build the function ARN within the Lambda function instead of injecting it.
The
STUDIO_AWS_ACCOUNTenvironment variable was not picket up correctly.
- โจ Use
@studio/ndjsonto parse log output from Lambdas
-
โ ๏ธ Remove hack to filter log dataLog data should be filtered where it's created. With the new
@studio/log-xmodule and the updated@studio/wrapthis hack can be removed. -
โจ Add
package-lock.json
- ๐ Add
invokedFunctionArnto given context if missing
- ๐ Generate
invokedFunctionArnin default context - ๐ Use upper case
Lambdamodule name in examples
-
๐ Fix entries cleanup in kill handler
The entries array is not necessarily cleaned up in reverse insertion order. With this patch, the kill handler does not expect the entry at a fixed position, but queries the entry to remove by ID instead.
-
๐ Fail on missing environment variables
- Throw an error if a variable replacement fails.
- Handle launch exceptions by logging an error and invoking the callback with an error message.
-
๐ Support environment variable replacement in Lambda config files
If a config file contains placeholders in the form
${ENV_VAR}, they are replaced with the corresponding environment variable. This feature is not supported by Apex. Use it to configure secret variables in local configs.
-
๐ Do not log Lambda input and output
The new
@studio/wrapimplementation already do logging within the Lambda function. Log filtering should also be applied there.
-
๐ Pass on parent process
execArgvThis allows to invoke the parent process with v8 options like
--stack-trace-limit=50and have them passed on to the Lambda processes. This restores the default behavior for child processes.
Log output improvements:
- ๐ข Include the Lambda execution time in the stats log message
- ๐ Set
config_fileto"<defaults>"if not found - ๐ Remove messages to streamline log output
- ๐ข Log Lambda process memory usage
- ๐ Add Lamdba debugging option
- ๐ Pass on
process.env.DEBUG
- ๐ Improve log output filtering
- ๐ Handle Lambda logs on stdout
- ๐ Do not log
authorizationToken - ๐ Fix log message with string event
- ๐ Reduce duplication in log messages
- ๐ Rename logger
- ๐ Use
@studio/log
- ๐ Handle invalid lambda response
- ๐ Timeouts are defined in seconds
- ๐ Add
base_dirconfig option
- ๐ Pass
HOMEenvironment variable for theaws-sdkmodule to find the credentials file - โจ Change log emoji for send and receive events
A few bug fixes and minor improvements:
- ๐ Preserve configured env if config file is loaded
- ๐ Do not log authorization and token header values
- ๐ Prefix log messages with "Lambda"
- ๐ Log lambda error response
- ๐ Allow to pass an optional
contextobject to the Lambda handler function. If no context is given, it defaults to an empty object, retaining the previous behavior.
- โจ Inception