From 2a8a574992a1cbf7f2b76f990ebfe436afb73ff5 Mon Sep 17 00:00:00 2001 From: CptSchnitz <12687466+CptSchnitz@users.noreply.github.com> Date: Sun, 8 Mar 2026 09:02:34 +0200 Subject: [PATCH 1/7] chore(js-logger): release 4.1.0 Release-As: 4.1.0 From bb0b30498275bbf69d0c7ec2c61ebd5f99331210 Mon Sep 17 00:00:00 2001 From: CptSchnitz <12687466+CptSchnitz@users.noreply.github.com> Date: Sun, 8 Mar 2026 09:10:03 +0200 Subject: [PATCH 2/7] chore(js-logger): added missing turbo,json --- packages/js-logger/turbo.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 packages/js-logger/turbo.json diff --git a/packages/js-logger/turbo.json b/packages/js-logger/turbo.json new file mode 100644 index 00000000..2e15a234 --- /dev/null +++ b/packages/js-logger/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.com/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "cache": false, + "outputs": ["$TURBO_EXTENDS$", "src/**"] + } + } +} From 6e55e816decd555ec1844fa444168320399f8065 Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Sun, 8 Mar 2026 09:21:14 +0200 Subject: [PATCH 3/7] chore(global): release express-access-log-middleware 4.1.0 (#142) * chore(global): release express-access-log-middleware 5.0.0 * chore(express-access-log-middleware): fix release --------- Co-authored-by: CptSchnitz <12687466+CptSchnitz@users.noreply.github.com> --- .release-please-manifest.json | 4 ++-- packages/express-access-log-middleware/CHANGELOG.md | 6 ++++++ packages/express-access-log-middleware/package.json | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 73692d79..f474c41d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -5,10 +5,10 @@ "packages/eslint-plugin": "0.1.0", "packages/typescript-config": "2.0.0", "packages/error-express-handler": "4.0.0", - "packages/express-access-log-middleware": "4.0.0", + "packages/express-access-log-middleware": "5.0.0", "packages/js-logger": "4.0.0", "packages/read-pkg": "2.0.0", - "packages/openapi-express-viewer": "5.0.0", + "packages/openapi-express-viewer": "4.1.0", "packages/openapi-helpers": "5.1.0", "packages/semantic-conventions": "1.0.0", "packages/tracing": "1.0.0", diff --git a/packages/express-access-log-middleware/CHANGELOG.md b/packages/express-access-log-middleware/CHANGELOG.md index 36062314..0e65ff16 100644 --- a/packages/express-access-log-middleware/CHANGELOG.md +++ b/packages/express-access-log-middleware/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [4.1.0](https://github.com/MapColonies/infra-packages/compare/express-access-log-middleware-v4.0.0...express-access-log-middleware-v4.1.0) (2026-03-08) + +### 🐛 Bug Fixes + +* **express-access-log-middleware:** update attribute name from ATTR_URL_FULL to ATTR_URL_PATH ([#152](https://github.com/MapColonies/infra-packages/issues/152)) ([3905090](https://github.com/MapColonies/infra-packages/commit/39050901456ad0cff89256de41e601f7856c23dc)) + ## [4.0.0](https://github.com/MapColonies/infra-packages/compare/express-access-log-middleware-v3.0.1...express-access-log-middleware-v4.0.0) (2026-01-18) diff --git a/packages/express-access-log-middleware/package.json b/packages/express-access-log-middleware/package.json index 2fddc0aa..422de40f 100644 --- a/packages/express-access-log-middleware/package.json +++ b/packages/express-access-log-middleware/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/express-access-log-middleware", - "version": "4.0.0", + "version": "4.1.0", "description": "An access and error logger for express based on pino-http", "main": "./dist/index.js", "type": "commonjs", From 1cadb68a63a294fb616820a08aaeba9e36786c0f Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Sun, 8 Mar 2026 09:26:42 +0200 Subject: [PATCH 4/7] chore(global): release js-logger 4.1.0 (#139) * chore(global): release js-logger 4.1.0 * chore(js-logger): fix release --------- Co-authored-by: CptSchnitz <12687466+CptSchnitz@users.noreply.github.com> --- .release-please-manifest.json | 4 ++-- packages/js-logger/CHANGELOG.md | 12 ++++++++++++ packages/js-logger/package.json | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f474c41d..71e84a2c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -5,8 +5,8 @@ "packages/eslint-plugin": "0.1.0", "packages/typescript-config": "2.0.0", "packages/error-express-handler": "4.0.0", - "packages/express-access-log-middleware": "5.0.0", - "packages/js-logger": "4.0.0", + "packages/express-access-log-middleware": "4.1.0", + "packages/js-logger": "4.1.0", "packages/read-pkg": "2.0.0", "packages/openapi-express-viewer": "4.1.0", "packages/openapi-helpers": "5.1.0", diff --git a/packages/js-logger/CHANGELOG.md b/packages/js-logger/CHANGELOG.md index 864b448b..b7cb7521 100644 --- a/packages/js-logger/CHANGELOG.md +++ b/packages/js-logger/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [4.1.0](https://github.com/MapColonies/infra-packages/compare/js-logger-v4.0.0...js-logger-v4.1.0) (2026-03-08) + + +### 🐛 Bug Fixes + +* **js-logger:** removed formatter and added attributes so log parse correctly ([#151](https://github.com/MapColonies/infra-packages/issues/151)) ([482f709](https://github.com/MapColonies/infra-packages/commit/482f709522d604ddbc695e965405a91be05d3bbc)) + + +### 🔧 Miscellaneous Chores + +* **js-logger:** release 4.1.0 ([2a8a574](https://github.com/MapColonies/infra-packages/commit/2a8a574992a1cbf7f2b76f990ebfe436afb73ff5)) + ## [4.0.0](https://github.com/MapColonies/infra-packages/compare/js-logger-v3.0.2...js-logger-v4.0.0) (2026-01-18) diff --git a/packages/js-logger/package.json b/packages/js-logger/package.json index 095d3fb9..fec47f3e 100644 --- a/packages/js-logger/package.json +++ b/packages/js-logger/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/js-logger", - "version": "4.0.0", + "version": "4.1.0", "description": "Javascript and typescript logger for MapColonies based on pino", "main": "./dist/index.js", "type": "commonjs", From f48aaa4522b7987675308a1b3a1f5b692979534d Mon Sep 17 00:00:00 2001 From: Ofer <12687466+CptSchnitz@users.noreply.github.com> Date: Sun, 8 Mar 2026 17:08:43 +0200 Subject: [PATCH 5/7] feat(js-logger)!: added ability to define k8s resource attributes (#161) --- packages/js-logger/etc/js-logger.api.md | 2 +- packages/js-logger/package.json | 5 +- packages/js-logger/src/index.ts | 18 ++- packages/js-logger/tests/index.spec.ts | 14 +-- pnpm-lock.yaml | 160 ++++++++++++++---------- 5 files changed, 121 insertions(+), 78 deletions(-) diff --git a/packages/js-logger/etc/js-logger.api.md b/packages/js-logger/etc/js-logger.api.md index 65d20c17..43308b35 100644 --- a/packages/js-logger/etc/js-logger.api.md +++ b/packages/js-logger/etc/js-logger.api.md @@ -8,7 +8,7 @@ import { Logger } from 'pino'; import { LoggerOptions as LoggerOptions_2 } from 'pino'; // @public -export function jsLogger(options?: LoggerOptions, destination?: string | number): Logger; +export function jsLogger(options?: LoggerOptions, destination?: string | number): Promise; export { Logger } diff --git a/packages/js-logger/package.json b/packages/js-logger/package.json index fec47f3e..33ac807d 100644 --- a/packages/js-logger/package.json +++ b/packages/js-logger/package.json @@ -51,6 +51,9 @@ "pino": "^10.1.0", "pino-caller": "^4.0.0", "pino-opentelemetry-transport": "^2.0.0", - "pino-pretty": "^13.1.2" + "pino-pretty": "^13.1.2", + "@opentelemetry/resources": "^2.6.0", + "@opentelemetry/resource-detector-container": "^0.8.4", + "@opentelemetry/semantic-conventions": "^1.40.0" } } diff --git a/packages/js-logger/src/index.ts b/packages/js-logger/src/index.ts index 91a6383a..771cc200 100644 --- a/packages/js-logger/src/index.ts +++ b/packages/js-logger/src/index.ts @@ -6,6 +6,10 @@ import { transport as pinoTransport, type DestinationStream, } from 'pino'; +import { detectResources } from '@opentelemetry/resources'; +import { containerDetector } from '@opentelemetry/resource-detector-container'; +import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions'; +import { ATTR_K8S_POD_UID } from '@opentelemetry/semantic-conventions/incubating'; import { pinoCaller } from 'pino-caller'; import type { Options } from 'pino-opentelemetry-transport'; import { readPackageJsonSync } from '@map-colonies/read-pkg'; @@ -84,7 +88,7 @@ const baseOptions: PinoOptions = { * @returns The configured logger instance. * @public */ -export function jsLogger(options?: LoggerOptions, destination: string | number = 1): Logger { +export async function jsLogger(options?: LoggerOptions, destination: string | number = 1): Promise { let transport: TransportSingleOptions = { target: 'pino/file', options: { destination } }; /* istanbul ignore next */ @@ -96,10 +100,20 @@ export function jsLogger(options?: LoggerOptions, destination: string | number = if (options?.opentelemetryOptions?.enabled === true) { const pkg = readPackageJsonSync(); + + const detectedResources = detectResources({ detectors: [containerDetector] }); + await detectedResources.waitForAsyncAttributes?.(); + const otelOptions: Options = { loggerName: 'js-logger', serviceVersion: PACKAGE_VERSION, - resourceAttributes: { 'service.name': pkg.name, 'service.version': pkg.version, ...options.opentelemetryOptions.resourceAttributes }, + resourceAttributes: { + ...detectedResources.attributes, + [ATTR_SERVICE_NAME]: pkg.name, + [ATTR_SERVICE_VERSION]: pkg.version, + [ATTR_K8S_POD_UID]: process.env.K8S_POD_UID, + ...options.opentelemetryOptions.resourceAttributes, + }, logRecordProcessorOptions: [ { recordProcessorType: 'simple', diff --git a/packages/js-logger/tests/index.spec.ts b/packages/js-logger/tests/index.spec.ts index 398bcacf..177f5d61 100644 --- a/packages/js-logger/tests/index.spec.ts +++ b/packages/js-logger/tests/index.spec.ts @@ -4,15 +4,15 @@ import { jsLogger } from '../src'; import { waitForFileCreation } from './helpers'; describe('jsLogger', function () { - it('should initialize the logger without errors', function () { - const logger = jsLogger(); + it('should initialize the logger without errors', async function () { + const logger = await jsLogger(); expect(logger).toBeDefined(); expect(() => logger.info('test')).not.toThrow(); }); it('should support other destinations', async function () { - const logger = jsLogger({}, 'avi.log'); + const logger = await jsLogger({}, 'avi.log'); logger.info('avi'); @@ -24,7 +24,7 @@ describe('jsLogger', function () { }); it('should support base option', async function () { - const logger = jsLogger({ base: { key: 'value' } }, 'avi-base.log'); + const logger = await jsLogger({ base: { key: 'value' } }, 'avi-base.log'); logger.info('avi'); @@ -38,7 +38,7 @@ describe('jsLogger', function () { }); it('should include caller information if enabled', async function () { - const logger = jsLogger({ pinoCaller: true }, 'avi-caller.log'); + const logger = await jsLogger({ pinoCaller: true }, 'avi-caller.log'); logger.info('avi'); @@ -51,8 +51,8 @@ describe('jsLogger', function () { expect(logLine).toHaveProperty('caller'); }); - it('should still output logs when opentelemetry is enabled', function () { - const logger = jsLogger({ opentelemetryOptions: { enabled: true } }); + it('should still output logs when opentelemetry is enabled', async function () { + const logger = await jsLogger({ opentelemetryOptions: { enabled: true } }); expect(logger).toBeDefined(); expect(() => logger.info('test otel')).not.toThrow(); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6340b7e4..19a06d11 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -370,6 +370,15 @@ importers: '@map-colonies/read-pkg': specifier: workspace:^ version: link:../read-pkg + '@opentelemetry/resource-detector-container': + specifier: ^0.8.4 + version: 0.8.4(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': + specifier: ^2.6.0 + version: 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': + specifier: ^1.40.0 + version: 1.40.0 pino: specifier: ^10.1.0 version: 10.1.0 @@ -704,7 +713,7 @@ importers: version: link:../read-pkg '@opentelemetry/auto-instrumentations-node': specifier: ^0.68.0 - version: 0.68.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0)) + version: 0.68.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.6.0(@opentelemetry/api@1.9.0)) '@opentelemetry/exporter-trace-otlp-proto': specifier: ^0.210.0 version: 0.210.0(@opentelemetry/api@1.9.0) @@ -1423,6 +1432,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@2.6.0': + resolution: {integrity: sha512-HLM1v2cbZ4TgYN6KEOj+Bbj8rAKriOdkF9Ed3tG25FoprSiQl7kYc+RRT6fUZGOvx0oMi5U67GoFdT+XUn8zEg==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/exporter-logs-otlp-grpc@0.206.0': resolution: {integrity: sha512-kJKxKBaGwqWop95d6tcluz260IWwIgOG0BH8oVm6429tg8LxY2PJb7Om8d5s+5vOFM8DkUYCnIpn9d/13/RcKQ==} engines: {node: ^18.19.0 || >=20.6.0} @@ -1829,8 +1844,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 - '@opentelemetry/resource-detector-container@0.8.1': - resolution: {integrity: sha512-LacHjqQJRqtoeh5RCAa8hEGfQ4rPDNNI1+J1RPrLSFWfFWxR56/iiAmBOwDhYwE1c3keBe3wTITbnWGxlhQDsA==} + '@opentelemetry/resource-detector-container@0.8.4': + resolution: {integrity: sha512-kIvGHkMSacp+kb7btTuXbOAIWLyOCO+P/h/8xxaeLcp5ptmHRZ67uEdLAQo61ApdayFB/uqjJ9gY4x2/i/KsoA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.0.0 @@ -1853,14 +1868,14 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/resources@2.3.0': - resolution: {integrity: sha512-shlr2l5g+87J8wqYlsLyaUsgKVRO7RtX70Ckd5CtDOWtImZgaUDmf4Z2ozuSKQLM2wPDR0TE/3bPVBNJtRm/cQ==} + '@opentelemetry/resources@2.4.0': + resolution: {integrity: sha512-RWvGLj2lMDZd7M/5tjkI/2VHMpXebLgPKvBUd9LRasEWR2xAynDwEYZuLvY9P2NGG73HF07jbbgWX2C9oavcQg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/resources@2.4.0': - resolution: {integrity: sha512-RWvGLj2lMDZd7M/5tjkI/2VHMpXebLgPKvBUd9LRasEWR2xAynDwEYZuLvY9P2NGG73HF07jbbgWX2C9oavcQg==} + '@opentelemetry/resources@2.6.0': + resolution: {integrity: sha512-D4y/+OGe3JSuYUCBxtH5T9DSAWNcvCb/nQWIga8HNtXTVPQn59j0nTBAgaAXxUVBDl40mG3Tc76b46wPlZaiJQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -1917,6 +1932,10 @@ packages: resolution: {integrity: sha512-kocjix+/sSggfJhwXqClZ3i9Y/MI0fp7b+g7kCRm6psy2dsf8uApTRclwG18h8Avm7C9+fnt+O36PspJ/OzoWg==} engines: {node: '>=14'} + '@opentelemetry/semantic-conventions@1.40.0': + resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==} + engines: {node: '>=14'} + '@opentelemetry/sql-common@0.41.2': resolution: {integrity: sha512-4mhWm3Z8z+i508zQJ7r6Xi7y4mmoJpdvH0fZPFRkWrdp5fq7hhZ2HhYokEOLkfqSMgPR4Z9EyB3DBkbKGOqZiQ==} engines: {node: ^18.19.0 || >=20.6.0} @@ -6098,10 +6117,10 @@ snapshots: '@opentelemetry/api@1.9.0': {} - '@opentelemetry/auto-instrumentations-node@0.68.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0))': + '@opentelemetry/auto-instrumentations-node@0.68.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@2.6.0(@opentelemetry/api@1.9.0))': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-amqplib': 0.57.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-aws-lambda': 0.62.0(@opentelemetry/api@1.9.0) @@ -6147,9 +6166,9 @@ snapshots: '@opentelemetry/resource-detector-alibaba-cloud': 0.33.0(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-aws': 2.10.0(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-azure': 0.18.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resource-detector-container': 0.8.1(@opentelemetry/api@1.9.0) + '@opentelemetry/resource-detector-container': 0.8.4(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-gcp': 0.45.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.3.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-node': 0.210.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - encoding @@ -6168,22 +6187,27 @@ snapshots: '@opentelemetry/core@2.1.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/core@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/core@2.3.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/core@2.4.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 + + '@opentelemetry/core@2.6.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/exporter-logs-otlp-grpc@0.206.0(@opentelemetry/api@1.9.0)': dependencies: @@ -6318,14 +6342,14 @@ snapshots: '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/instrumentation-amqplib@0.57.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6333,7 +6357,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/aws-lambda': 8.10.159 transitivePeerDependencies: - supports-color @@ -6343,7 +6367,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6360,7 +6384,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6369,7 +6393,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/connect': 3.4.38 transitivePeerDependencies: - supports-color @@ -6378,7 +6402,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6401,7 +6425,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6410,7 +6434,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6440,7 +6464,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6449,7 +6473,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6458,7 +6482,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 forwarded-parse: 2.1.2 transitivePeerDependencies: - supports-color @@ -6468,7 +6492,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.2 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6476,7 +6500,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6484,7 +6508,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6493,7 +6517,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6508,7 +6532,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/memcached': 2.2.10 transitivePeerDependencies: - supports-color @@ -6517,7 +6541,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6526,7 +6550,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6534,7 +6558,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -6543,7 +6567,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/mysql': 2.15.27 transitivePeerDependencies: - supports-color @@ -6552,7 +6576,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6560,7 +6584,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6569,7 +6593,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.210.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6577,7 +6601,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/oracledb': 6.5.2 transitivePeerDependencies: - supports-color @@ -6587,7 +6611,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sql-common': 0.41.2(@opentelemetry/api@1.9.0) '@types/pg': 8.15.6 '@types/pg-pool': 2.0.7 @@ -6608,7 +6632,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.38.2 - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6617,7 +6641,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6625,7 +6649,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6647,7 +6671,7 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@types/tedious': 4.0.14 transitivePeerDependencies: - supports-color @@ -6657,7 +6681,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.210.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6744,33 +6768,33 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.3.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-aws@2.10.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/resource-detector-azure@0.18.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/resource-detector-container@0.8.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/resource-detector-container@0.8.4(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.3.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) '@opentelemetry/resource-detector-gcp@0.45.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.3.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) gcp-metadata: 6.1.1 transitivePeerDependencies: - encoding @@ -6780,25 +6804,25 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/resources@2.2.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.2.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/resources@2.3.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/resources@2.4.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.3.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 - '@opentelemetry/resources@2.4.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/resources@2.6.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/core': 2.6.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sdk-logs@0.206.0(@opentelemetry/api@1.9.0)': dependencies: @@ -6852,7 +6876,7 @@ snapshots: '@opentelemetry/sdk-metrics': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-node': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 transitivePeerDependencies: - supports-color @@ -6861,14 +6885,14 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.1.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sdk-trace-base@2.4.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.4.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 2.4.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.38.0 + '@opentelemetry/semantic-conventions': 1.40.0 '@opentelemetry/sdk-trace-node@2.4.0(@opentelemetry/api@1.9.0)': dependencies: @@ -6879,6 +6903,8 @@ snapshots: '@opentelemetry/semantic-conventions@1.38.0': {} + '@opentelemetry/semantic-conventions@1.40.0': {} + '@opentelemetry/sql-common@0.41.2(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -9630,7 +9656,7 @@ snapshots: '@opentelemetry/exporter-logs-otlp-grpc': 0.206.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-logs-otlp-http': 0.206.0(@opentelemetry/api@1.9.0) '@opentelemetry/exporter-logs-otlp-proto': 0.206.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 2.2.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 2.6.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-logs': 0.206.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - '@opentelemetry/api' From 173ba224ad367ff9218c03b028703436e6173027 Mon Sep 17 00:00:00 2001 From: mapcolonies-devops <143094402+mapcolonies-devops@users.noreply.github.com> Date: Sun, 8 Mar 2026 17:11:36 +0200 Subject: [PATCH 6/7] chore(global): release js-logger 5.0.0 (#162) --- .release-please-manifest.json | 2 +- packages/js-logger/CHANGELOG.md | 11 +++++++++++ packages/js-logger/package.json | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 71e84a2c..aa198a84 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -6,7 +6,7 @@ "packages/typescript-config": "2.0.0", "packages/error-express-handler": "4.0.0", "packages/express-access-log-middleware": "4.1.0", - "packages/js-logger": "4.1.0", + "packages/js-logger": "5.0.0", "packages/read-pkg": "2.0.0", "packages/openapi-express-viewer": "4.1.0", "packages/openapi-helpers": "5.1.0", diff --git a/packages/js-logger/CHANGELOG.md b/packages/js-logger/CHANGELOG.md index b7cb7521..3d4c7418 100644 --- a/packages/js-logger/CHANGELOG.md +++ b/packages/js-logger/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [5.0.0](https://github.com/MapColonies/infra-packages/compare/js-logger-v4.1.0...js-logger-v5.0.0) (2026-03-08) + + +### ⚠ BREAKING CHANGES + +* **js-logger:** added ability to define k8s resource attributes ([#161](https://github.com/MapColonies/infra-packages/issues/161)) + +### 🎉 Features + +* **js-logger:** added ability to define k8s resource attributes ([#161](https://github.com/MapColonies/infra-packages/issues/161)) ([f48aaa4](https://github.com/MapColonies/infra-packages/commit/f48aaa4522b7987675308a1b3a1f5b692979534d)) + ## [4.1.0](https://github.com/MapColonies/infra-packages/compare/js-logger-v4.0.0...js-logger-v4.1.0) (2026-03-08) diff --git a/packages/js-logger/package.json b/packages/js-logger/package.json index 33ac807d..3ec0fe1d 100644 --- a/packages/js-logger/package.json +++ b/packages/js-logger/package.json @@ -1,6 +1,6 @@ { "name": "@map-colonies/js-logger", - "version": "4.1.0", + "version": "5.0.0", "description": "Javascript and typescript logger for MapColonies based on pino", "main": "./dist/index.js", "type": "commonjs", From 9ac995344cfc501ef838857252bac2161c87e663 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 6 Apr 2026 09:10:38 +0000 Subject: [PATCH 7/7] ci(global): update dawidd6/action-download-artifact action to v20 --- .github/workflows/renovate.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/renovate.yaml b/.github/workflows/renovate.yaml index 97304eaa..4664917a 100644 --- a/.github/workflows/renovate.yaml +++ b/.github/workflows/renovate.yaml @@ -35,7 +35,7 @@ jobs: # cache wouldn't necessarily upload when it changes. actions/download-artifact also doesn't work # because it only handles artifacts uploaded in the same run, and we want to restore from the # previous successful run. - - uses: dawidd6/action-download-artifact@0bd50d53a6d7fb5cb921e607957e9cc12b4ce392 # v12 + - uses: dawidd6/action-download-artifact@8305c0f1062bb0d184d09ef4493ecb9288447732 # v20 if: github.event.inputs.repoCache != 'disabled' continue-on-error: true with: