- π‘οΈ
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