JavaScript repository by @serverless. AI agent rules & system prompts with 28 stars.
# Changelog
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [0.5.2](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-07-14)
### Bug Fixes
- Ensure broken settings do not break extension ([9d09dfd](https://github.com/serverless/runtime/commit/9d09dfd31a7b361e8f348b1b3bdafb99b1162c6d))
### [0.5.1](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-07-14)
### Performance Improvements
- Patch ineffective `require-in-the-middle` setup ([62672b9](https://github.com/serverless/runtime/commit/62672b95dc98a61488facf63a68347da1b17d626))
## [0.5.0](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-07-12)
### โ BREAKING CHANGES
- Configuration variable `SLS_OTEL_USER_SETTINGS` is renamed to `SLS_EXTENSION`
- Introduce new mandatory `orgId`, `namespace` and `environment` settings (required by the Serverless Console)
- Extension is no longer observability tool agnostic. It's reconfigured to report specifically to the Serverless Console.
At the same time its configuration settings are simplified:
- Support for `destination` in all configuration groups is dropped.
- New required `ingestToken` property is introduced (for injection of kinesis server authentication token)
- Support for `metrics.outputType` and `traces.outputType` was removed (reports are hardcoded to be send in protobuf.
### Features
- New mandatory `orgId`, `namespace` and `environment` settings ([cc009de](https://github.com/serverless/runtime/commit/cc009de84cfe54f1934644c4bc79beb890869262))
- On invalid user settings make extension ineffective ([8f7128b](https://github.com/serverless/runtime/commit/8f7128b2c747f5665273fd71af2a753f4a75bc89))
- Remove support for `[metrics|traces].outputType` ([91e7e03](https://github.com/serverless/runtime/commit/91e7e03bda720dbf124f3c26465e0621942f6c24))
- Rename `SLS_OTEL_USER_SETTINGS` into `SLS_EXTENSION` ([aa2b00b](https://github.com/serverless/runtime/commit/aa2b00beebee2e93e56f81e73cde13467db4c1ba))
- Unconditionally send reports to the Serverless Console ([80ef8dc](https://github.com/serverless/runtime/commit/80ef8dc2982c1ad3ce64cabbe7d246ee2fb9ce60))
- Support bundling of custom settings into layers ([cd699bc](https://github.com/serverless/runtime/commit/cd699bceda46df76d1d7d5b95923edcbb206938f))
- Allow environment changes in bundled settings ([6e7bf67](https://github.com/serverless/runtime/commit/6e7bf67bbba786fa5dfdb1ca3cb4313f8e5d2323))
### Maintenance Improvements
- Add debug log on event/next response ([33950f2](https://github.com/serverless/runtime/commit/33950f21f1dcf55d29f55150a0f1a2b436e8c76d))
- Centralize user settings handling ([b2bb89d](https://github.com/serverless/runtime/commit/b2bb89dd919eee73e9d72c795828db16d16c71f5))
- Improve clarity of build script ([3db6c0d](https://github.com/serverless/runtime/commit/3db6c0dc40404ff101732428095bd4a623fdb307))
### [0.4.6](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-06-29)
### Bug Fixes
- Fix handling of promise resolution ([867b3bc](https://github.com/serverless/runtime/commit/867b3bc59e73bcda99f8e30a008fadd98b9c0f52))
### Maintenance Improvements
- Improve resolution handling ([938ce98](https://github.com/serverless/runtime/commit/938ce98fe03900739f9a1c9b1765e3f242d5c657))
- Simplify stale callback handling ([fb2885a](https://github.com/serverless/runtime/commit/fb2885a9004c06e31db3eec2d2bab83f2fa39617))
### [0.4.5](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-06-29)
### Bug Fixes
- Fix handling of a case where `telemetryData` arrives before `eventData` ([26991ee](https://github.com/serverless/runtime/commit/26991ee530110901ec1de1a945351a7d42ec4166))
### Maintenance Improvements
- Add debug logs on internal extension requests timing ([2d2c2db](https://github.com/serverless/runtime/commit/2d2c2dbfe2b5fe99cd13a262031ae1d0b81be688))
- Ensure to reuse HTTP(S) connection sockets ([82d295a](https://github.com/serverless/runtime/commit/82d295ac6f1ab7255ba6c67a890c4153b220d25c))
- Remove `node-fetch` dependency ([688e24d](https://github.com/serverless/runtime/commit/688e24d08e94219df23038fc90b8325616d50de7))
### [0.4.4](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-06-27)
### Bug Fixes
- Fix handling of doubled resolution ([8eacf17](https://github.com/serverless/runtime/commit/8eacf17644a82d1e164a2752aa35a5289becce8b))
### Performance Improvements
- Optimize protobuf encoding by using pre-compiled interface ([70f26e6](https://github.com/serverless/runtime/commit/70f26e6faf1c5315f11e6b3f7dee1b02956b8186))
- Improve telemetry server response time ([60ae043](https://github.com/serverless/runtime/commit/60ae043d31e5f13594a2743b2365343d47898a72))
### Maintenance Improvements
- Clarify wrapping logic ([2b203f0](https://github.com/serverless/runtime/commit/2b203f0445d1e322b518b91c555446f3fc017e6d))
- Cleanup invalid _async_ mark ([7423971](https://github.com/serverless/runtime/commit/74239715d008f26639856294dc611f3cd429eb07))
### [0.4.3](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-06-23)
### Features
- Add attributes and resource to req/res payload ([18d69e9](https://github.com/serverless/runtime/commit/18d69e9a785a7019dceb2f3d657b7b31e2cf7164))
### Maintenance Improvements
- Changed getCurrentRequestData to getRequestContext ([a80a961](https://github.com/serverless/runtime/commit/a80a96163119615065c377c9bb3b18c4e2b8629f))
- Added invoke time to internal context ([c70d60a](https://github.com/serverless/runtime/commit/c70d60aefb80099cb1422b1f2d745860f7258135))
### [0.4.2](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-06-15)
### Maintenance Improvements
- Adjusted errorType for handled/unhandled ([4fe0437](https://github.com/serverless/runtime/commit/4fe0437a2d4407dfba8f0aff191fca07c89afc48))
- Updated timeout errorType ([d9b60cd](https://github.com/serverless/runtime/commit/d9b60cd6e2df9613ae4c765d9587d7f0cb6ce82d))
### [0.4.1](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-06-13)
### Bug Fixes
- Fix ESM support in Node.js v16 runtime ([2547826](https://github.com/serverless/runtime/commit/25478264044f453ea64acd71940f271077095537))
### Maintenance Improvements
- Cleanup timeout setup ([ec7c67a](https://github.com/serverless/runtime/commit/ec7c67a88d219f43cabcd9c16ac004b5eb7fc64b))
- Debug log telemetry data cache handling ([b69e62f](https://github.com/serverless/runtime/commit/b69e62f5c47a707082f3d8f13523a089c4e37e70))
- Ensure to flush report in one log line ([64ca1dd](https://github.com/serverless/runtime/commit/64ca1dd40886dfa2c4c5b5fe4ec965ae8811cb14))
- Generalize debugLogs handling ([bd6340b](https://github.com/serverless/runtime/commit/bd6340b629c87787ca7bb4e8f4dbd8b94275740d))
- Improve debug logging ([6aef91c](https://github.com/serverless/runtime/commit/6aef91c2eb2ad0f98eeacff50922efbd77cbd494))
- Unify debug log handling ([57aceba](https://github.com/serverless/runtime/commit/57aceba04e05df1f664237401d7e7811ef5f26be))
## [0.4.0](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-06-02)
### โ BREAKING CHANGES
- All configuration settings are now set in JSON object in context of `SLS_OTEL_USER_SETTINGS` environment variable. Handling of following environment variables was replaced:
- `SLS_OTEL_REPORT_METRICS_URL` (replaced by `metrics.destination`)
- `SLS_OTEL_REPORT_TRACES_URL` (replaced by `traces.destination`)
- `SLS_OTEL_REPORT_LOGS_URL` (replaced by `logs.destination`)
- `SLS_OTEL_REPORT_REQUEST_RESPONSE_URL` (replaced by `request.destination` and `response.destination`)
- `SLS_OTEL_REPORT_REQUEST_HEADERS` (replaced by `common.destination.requestHeaders`)
- `disableLogsMonitoring` is replaced by `logs.disabled`
- `disableRequestResponseMonitoring` is replaced by `request.disabled` and `response.disabled`
### Features
- Generalize request handling and integrate settings propagated via environment variables into user settings ([e73acca](https://github.com/serverless/runtime/commit/e73acca9db5fc1ceb0681f7ddead978b6b6651b9))
- Support new user settings format ([c6904b6](https://github.com/serverless/runtime/commit/c6904b6b6ae94a60fe8d496a1f11ac654cb8173d))
### Bug Fixes
- Wait for request/response hooks before settling invocation ([6742606](https://github.com/serverless/runtime/commit/67426068b78cce5db7a59888aee7b553baff82a7))
- Ensure to handle property thenable/callback race ([77bf67f](https://github.com/serverless/runtime/commit/77bf67fdaa01aa58e620e04e80c68a943480d599))
### Maintenance Improvements
- Do not accept multiple paylaods at request functions ([db33381](https://github.com/serverless/runtime/commit/db3338183925fb8b55dc10a7f57553636e07dbf3))
### [0.3.2](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-05-31)
### Features
- Filter out Serverless Dashboard data logs ([b35c41c](https://github.com/serverless/runtime/commit/b35c41c61dd162606722944bce46f7a71d3475ce))
### [0.3.1](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-05-26)
### Bug Fixes
- Fix dependencies configuration ([9b41fa6](https://github.com/serverless/runtime/commit/9b41fa6198738669a5aebd58b7477f724888793d))
### Maintenance Improvements
- Bundle internal and external extensions into a single file ([9195c1e](https://github.com/serverless/runtime/commit/9195c1e8f760e27323ea65155fc3cef5e55d9ffb))
- Distinguish JSON from request data ([aa0141b](https://github.com/serverless/runtime/commit/aa0141be19c7b18cbb0f3abcab027d958f2ab052))
- Improve debug log for ingestion server requests ([d2b5233](https://github.com/serverless/runtime/commit/d2b5233020357c2384c894df5ef87e4ad2d03a0e))
- Improve debug log for telemetry payload ([b133ea6](https://github.com/serverless/runtime/commit/b133ea665b2d0308cbd41f7605e5dec15d3acba5))
- Log extension overhead processing durations ([7ddb265](https://github.com/serverless/runtime/commit/7ddb26576148f6c5466db00370fc5de770a6507a))
- Remove obsolete debug log ([59ae9a8](https://github.com/serverless/runtime/commit/59ae9a8b1b48356c5974f1dd758ceb404c098bd5))
- Rename `logMessage` to `debugLog` ([b7c2edc](https://github.com/serverless/runtime/commit/b7c2edcd3332d9383369e5ab1d8a68262b3be928))
- Simplify protobuf processing ([e339066](https://github.com/serverless/runtime/commit/e339066d4b1f7046e06fdbd911b7f838b8945596))
## [0.3.0](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-05-23)
### โ BREAKING CHANGES
- Path to exec wrapper has changed from `/opt/otel-extension/internal/exec-wrapper.sh` to `/opt/otel-extension-internal-node/exec-wrapper.sh`. Change should be reflected when configuring `AWS_LAMBDA_EXEC_WRAPPER` environment variable for lambda
### Features
- Build script for runtime agnostic version of external extension ([e9fb48c](https://github.com/serverless/runtime/commit/e9fb48c0a75a058f6edac85033f8a8406fb1054a))
- Split internal and external extension into independent extensions ([13a7a72](https://github.com/serverless/runtime/commit/13a7a72a01c43d79176ef0f34b54fca64aba9651))
### Bug Fixes
- Fix handling of JSON type payloads ([5ba0175](https://github.com/serverless/runtime/commit/5ba0175b04a01311e9283c8d0b5a470a5b0d6347))
### Maintenance Improvements
- Rewrite external extension ([73cfc5c](https://github.com/serverless/runtime/commit/73cfc5c9c979f2d7b089f5fb3deca39ab1f52086))
- Drop `node-fetch` dependency in external extension ([cca15ed](https://github.com/serverless/runtime/commit/cca15ed850123ee2d7130bb7eb03d0de97ce8a52))
- Provide separate `userSettings` source for both extensions ([5a6909d](https://github.com/serverless/runtime/commit/5a6909dceabb7f73f15fb5055476e5b9d6f141dd))
- Remove `lodash.isobject` dependency ([4773a7c](https://github.com/serverless/runtime/commit/4773a7cf52b0684fc8db100b0b1321444539c612))
- Remove `OTEL_SERVER_PORT` definition from common scope ([fe443a7](https://github.com/serverless/runtime/commit/fe443a7fd5060b6182de5797aece98ba4d45aaac))
- Remove common `logMessage` ([a620a06](https://github.com/serverless/runtime/commit/a620a065e2c20d7a996ce0c64093686fea4c8c05))
### [0.2.21](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-04-29)
### Features
- Avoid sending binary response data ([dbb3711](https://github.com/serverless/runtime/commit/dbb3711b696a77290f93a36f1f2f2e190067c36a))
### [0.2.20](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-04-26)
### Bug Fixes
- Updated timeout error message ([2f49bcd](https://github.com/serverless/runtime/commit/2f49bcd291d4574384515a028060897fa36043c0))
### [0.2.19](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-04-21)
### Features
- Suport `userSettings.disableLogsMonitoring` ([54d1fa9](https://github.com/serverless/runtime/commit/54d1fa996e82566fd505d9e1975d9c641651d147))
- Support `userSettings.disableRequestResponseMonitoring` ([b7998b4](https://github.com/serverless/runtime/commit/b7998b42843e02e1fb76faf60a73e127c86bdb7d))
### Maintenance Improvements
- Centralize log listener server handling ([39fb512](https://github.com/serverless/runtime/commit/39fb51297105f8c3c491b41f151e592169601fb1))
- Centralize log listener server host and port configuration ([1c38e2d](https://github.com/serverless/runtime/commit/1c38e2d6a1a8b5dd3bc5ddef1f5bc24f8cc0e230))
- Centralize subscription configuration ([c6ffbc8](https://github.com/serverless/runtime/commit/c6ffbc8f61b2ebebceb35f4a576900ee27b3274a))
- Improve handling of dead paths ([9336587](https://github.com/serverless/runtime/commit/933658710e2dc814f0b2f2c1221c8044e924b132))
- Remove obsolete error handling ([7310032](https://github.com/serverless/runtime/commit/7310032176d1e9ddd17bde9378ea260844f6b044))
- Remove obsolete handling from telemetry server ([247dec6](https://github.com/serverless/runtime/commit/247dec6665597b7f6d56fa8454c18a32352d5458))
- Reorder initial setup ([7f9e364](https://github.com/serverless/runtime/commit/7f9e364d23ab7cf0341aa2e9e7e255f398cb2fa7))
### [0.2.18](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-04-13)
### Bug Fixes
- Adjusted code for integration tests ([5709511](https://github.com/serverless/runtime/commit/5709511ed5afd4b06c541383d39e0880feacd2fa))
- fixed integration test ([81aa93f](https://github.com/serverless/runtime/commit/81aa93fb295b980cad87b43e9b166005f138a020))
- Fixed waitFor bug ([8cf697a](https://github.com/serverless/runtime/commit/8cf697ad29d75ed04b8a3272c5e4c409c5fe37e4))
### [0.2.17](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-04-13)
### Bug Fixes
- fixed integration test ([81aa93f](https://github.com/serverless/runtime/commit/81aa93fb295b980cad87b43e9b166005f138a020))
- Fixed waitFor bug ([8cf697a](https://github.com/serverless/runtime/commit/8cf697ad29d75ed04b8a3272c5e4c409c5fe37e4))
### [0.2.13](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-04-13)
### Bug Fixes
- Fixed waitFor bug ([aa0658c](https://github.com/serverless/runtime/commit/aa0658cc8c3ab87708ec33c00f21dc93c1dc76e7))
### [0.2.12](https://github.com/serverless/runtime/compare/@serverless/[email protected]...@serverless/[email protected]) (2022-04-13)
### Bug Fixes
- Include spanId in req/res data ([1801503](https://github.com/serverless/runtime/commit/1801503557b09d97edbda16f94f990b6914c5bad))
### Maintenance Improvements
- Automate extension version resolution ([d1d8c12](https://github.com/serverless/runtime/commit/d1d8c124563b0481383c21b69e7f13576dafbab9))
- Improve `faas.collector_version` format ([9ccbfa1](https://github.com/serverless/runtime/commit/9ccbfa10c301d1234d595ae5b242bd43a42b1ade))
- Optimize instrumentations setup ([99b47fd](https://github.com/serverless/runtime/commit/99b47fd339f1a64312ef7c37baca54f6e9967ac1))
- Prevent misleading "No modules.." warning ([85fbc39](https://github.com/serverless/runtime/commit/85fbc399ad61914104d7f86e60699042d7fe6f79))
- Remove obsolete config configuration ([5b448ba](https://github.com/serverless/runtime/commit/5b448ba4c0bac1d9f6653151cad9d075916def3f))
- Remove obsolete instrumentation registration ([014b6b3](https://github.com/serverless/runtime/commit/014b6b39647df54643aa18086183479810aaf79a))
- Remove obsolete payload compression ([f5ceb3d](https://github.com/serverless/runtime/commit/f5ceb3d9151ad2183d3ebe5e1b079f4a7e788fea))