From ca6e68dd1c6d687c768eaeae5b9bdc458b35d221 Mon Sep 17 00:00:00 2001 From: Sebastian Heid Date: Thu, 29 Jun 2023 15:00:56 +0200 Subject: [PATCH] release: 0.26.0 --- CHANGELOG.json | 1694 +++++++++++++++++++++++++----------------------- CHANGELOG.md | 9 +- build.gradle | 2 +- 3 files changed, 883 insertions(+), 822 deletions(-) diff --git a/CHANGELOG.json b/CHANGELOG.json index a6d58cc5..fd915a49 100644 --- a/CHANGELOG.json +++ b/CHANGELOG.json @@ -1,7 +1,7 @@ { "nextVersion" : { "major" : 0, - "minor" : 26, + "minor" : 27, "patch" : 0, "preReleaseParts" : [ ], "buildMetaDataParts" : [ ], @@ -12,7 +12,7 @@ }, "lastVersion" : { "major" : 0, - "minor" : 25, + "minor" : 26, "patch" : 0, "preReleaseParts" : [ ], "buildMetaDataParts" : [ ], @@ -23,204 +23,258 @@ }, "tags" : [ { "version" : { - "major" : 0, - "minor" : 25, - "patch" : 0, - "preReleaseParts" : [ ], - "buildMetaDataParts" : [ ], - "preRelease" : "", - "buildMetaData" : "", - "initialDevelopment" : true, - "stable" : true + "major" : 0, + "minor" : 26, + "patch" : 0, + "preReleaseParts" : [ ], + "buildMetaDataParts" : [ ], + "preRelease" : "", + "buildMetaData" : "", + "initialDevelopment" : true, + "stable" : true }, - "releaseDate" : "2023-06-26 08:52:59.000 +0200", - "sections" : [ - { - "title" : "Build System", - "commits" : [ - { - "hashFull" : "17558c498389dc9a6e1164d6fc02fa0be0492e69", - "hash" : "17558c498389dc9", - "hash7" : "17558c4", - "hash8" : "17558c49", - "commitTime" : "2023-06-20 13:42:39.000 +0200", - "commitTimeLong" : 1687261359, - "message" : "build(deps): bump io.micrometer:micrometer-registry-prometheus\n\nBumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.11.0 to 1.11.1.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.0...v1.11.1)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "merge" : false, - "authorIdent" : { - "when" : "2023-06-19 17:01:21.000 +0200", - "name" : "dependabot[bot]", - "email" : "49699333+dependabot[bot]@users.noreply.github.com" - }, - "committerIdent" : { - "when" : "2023-06-20 13:42:39.000 +0200", - "name" : "Pascal", - "email" : "23715608+pk-work@users.noreply.github.com" - }, - "quickActions" : { }, - "closeIssues" : [ ], - "subjectIssues" : [ ], - "bodyIssues" : [ ], - "mentions" : [ ], - "locales" : [ ], - "defaultLang" : "en", - "commitUrl" : "https://github.com/SAP/neonbee/commit/17558c498389dc9a6e1164d6fc02fa0be0492e69", - "commitType" : "build", - "commitPackage" : null, - "commitScope" : "deps", - "commitSubject" : "bump io.micrometer:micrometer-registry-prometheus", - "commitBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.11.0 to 1.11.1.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.0...v1.11.1)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "attention" : false, - "breakingChange" : false, - "deprecated" : false, - "commitIssue" : null, - "localeMap" : null, - "rawCommitType" : "build", - "rawCommitScope" : "deps", - "firstLocaleCommitType" : null, - "rawCommitSubject" : "bump io.micrometer:micrometer-registry-prometheus", - "firstLocaleCommitScope" : null, - "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.11.0 to 1.11.1.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.0...v1.11.1)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus" - }, - { - "hashFull" : "c9cb23a41668404da1193d1c0964277c5a73fa09", - "hash" : "c9cb23a41668404", - "hash7" : "c9cb23a", - "hash8" : "c9cb23a4", - "commitTime" : "2023-06-20 13:42:52.000 +0200", - "commitTimeLong" : 1687261372, - "message" : "build(deps): bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8\n\nBumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.4.7 to 1.4.8.\n- [Commits](https://github.com/qos-ch/logback/compare/v_1.4.7...v_1.4.8)\n\n---\nupdated-dependencies:\n- dependency-name: ch.qos.logback:logback-classic\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "merge" : false, - "authorIdent" : { - "when" : "2023-06-19 17:01:24.000 +0200", - "name" : "dependabot[bot]", - "email" : "49699333+dependabot[bot]@users.noreply.github.com" - }, - "committerIdent" : { - "when" : "2023-06-20 13:42:52.000 +0200", - "name" : "Pascal", - "email" : "23715608+pk-work@users.noreply.github.com" - }, - "quickActions" : { }, - "closeIssues" : [ ], - "subjectIssues" : [ ], - "bodyIssues" : [ ], - "mentions" : [ ], - "locales" : [ ], - "defaultLang" : "en", - "commitUrl" : "https://github.com/SAP/neonbee/commit/c9cb23a41668404da1193d1c0964277c5a73fa09", - "commitType" : "build", - "commitPackage" : null, - "commitScope" : "deps", - "commitSubject" : "bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8", - "commitBody" : "Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.4.7 to 1.4.8.\n- [Commits](https://github.com/qos-ch/logback/compare/v_1.4.7...v_1.4.8)\n\n---\nupdated-dependencies:\n- dependency-name: ch.qos.logback:logback-classic\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "attention" : false, - "breakingChange" : false, - "deprecated" : false, - "commitIssue" : null, - "localeMap" : null, - "rawCommitType" : "build", - "rawCommitScope" : "deps", - "firstLocaleCommitType" : null, - "rawCommitSubject" : "bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8", - "firstLocaleCommitScope" : null, - "messageBody" : "Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.4.7 to 1.4.8.\n- [Commits](https://github.com/qos-ch/logback/compare/v_1.4.7...v_1.4.8)\n\n---\nupdated-dependencies:\n- dependency-name: ch.qos.logback:logback-classic\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "messageTitle" : "build(deps): bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8" - }, - { - "hashFull" : "04dc73c4cb746fcb1867957cf401f22c0b6fec32", - "hash" : "04dc73c4cb746fc", - "hash7" : "04dc73c", - "hash8" : "04dc73c4", - "commitTime" : "2023-06-26 08:52:44.000 +0200", - "commitTimeLong" : 1687762364, - "message" : "build(deps): upgrade `vertx` to 4.4.4", - "merge" : false, - "authorIdent" : { - "when" : "2023-06-26 02:12:01.000 +0200", - "name" : "github-actions[bot]", - "email" : "github-actions[bot]@users.noreply.github.com" - }, - "committerIdent" : { - "when" : "2023-06-26 08:52:44.000 +0200", - "name" : "Pascal", - "email" : "23715608+pk-work@users.noreply.github.com" - }, - "quickActions" : { }, - "closeIssues" : [ ], - "subjectIssues" : [ ], - "bodyIssues" : [ ], - "mentions" : [ ], - "locales" : [ ], - "defaultLang" : "en", - "commitUrl" : "https://github.com/SAP/neonbee/commit/04dc73c4cb746fcb1867957cf401f22c0b6fec32", - "commitType" : "build", - "commitPackage" : null, - "commitScope" : "deps", - "commitSubject" : "upgrade `vertx` to 4.4.4", - "commitBody" : null, - "attention" : false, - "breakingChange" : false, - "deprecated" : false, - "commitIssue" : null, - "localeMap" : null, - "rawCommitType" : "build", - "rawCommitScope" : "deps", - "firstLocaleCommitType" : null, - "rawCommitSubject" : "upgrade `vertx` to 4.4.4", - "firstLocaleCommitScope" : null, - "messageBody" : "", - "messageTitle" : "build(deps): upgrade `vertx` to 4.4.4" - }, - { - "hashFull" : "e194283a2991c3626bd454d313add04df9146fe1", - "hash" : "e194283a2991c36", - "hash7" : "e194283", - "hash8" : "e194283a", - "commitTime" : "2023-06-26 08:52:59.000 +0200", - "commitTimeLong" : 1687762379, - "message" : "build(deps): bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168\n\nBumps org.sonarqube from 4.2.0.3129 to 4.2.1.3168.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "merge" : false, - "authorIdent" : { - "when" : "2023-06-26 08:41:56.000 +0200", - "name" : "dependabot[bot]", - "email" : "49699333+dependabot[bot]@users.noreply.github.com" - }, - "committerIdent" : { - "when" : "2023-06-26 08:52:59.000 +0200", - "name" : "Pascal", - "email" : "23715608+pk-work@users.noreply.github.com" - }, - "quickActions" : { }, - "closeIssues" : [ ], - "subjectIssues" : [ ], - "bodyIssues" : [ ], - "mentions" : [ ], - "locales" : [ ], - "defaultLang" : "en", - "commitUrl" : "https://github.com/SAP/neonbee/commit/e194283a2991c3626bd454d313add04df9146fe1", - "commitType" : "build", - "commitPackage" : null, - "commitScope" : "deps", - "commitSubject" : "bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168", - "commitBody" : "Bumps org.sonarqube from 4.2.0.3129 to 4.2.1.3168.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "attention" : false, - "breakingChange" : false, - "deprecated" : false, - "commitIssue" : null, - "localeMap" : null, - "rawCommitType" : "build", - "rawCommitScope" : "deps", - "firstLocaleCommitType" : null, - "rawCommitSubject" : "bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168", - "firstLocaleCommitScope" : null, - "messageBody" : "Bumps org.sonarqube from 4.2.0.3129 to 4.2.1.3168.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", - "messageTitle" : "build(deps): bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168" - } - ] - } - ] + "releaseDate" : "2023-06-29 14:56:58.000 +0200", + "sections" : [ { + "title" : "Bug Fixes", + "commits" : [ { + "hashFull" : "e22979a566d4c28646795443bf36add3f9bc92c0", + "hash" : "e22979a566d4c28", + "hash7" : "e22979a", + "hash8" : "e22979a5", + "commitTime" : "2023-06-29 14:56:58.000 +0200", + "commitTimeLong" : 1688043418, + "message" : "fix: revert SelfCleaningRegistry change, due to conceptual issues\n\nThis reverts commit 5f981326ad77546611a1a0e8bdd9f76788d12f17.\n", + "merge" : false, + "authorIdent" : { + "when" : "2023-06-29 14:28:08.000 +0200", + "name" : "Kristian Kraljic", + "email" : "kris@kra.lc" + }, + "committerIdent" : { + "when" : "2023-06-29 14:56:58.000 +0200", + "name" : "Kristian Kraljic", + "email" : "kris@kra.lc" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/e22979a566d4c28646795443bf36add3f9bc92c0", + "commitType" : "fix", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "revert SelfCleaningRegistry change, due to conceptual issues", + "commitBody" : "This reverts commit 5f981326ad77546611a1a0e8bdd9f76788d12f17.", + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "fix", + "rawCommitScope" : null, + "rawCommitSubject" : "revert SelfCleaningRegistry change, due to conceptual issues", + "messageBody" : "This reverts commit 5f981326ad77546611a1a0e8bdd9f76788d12f17.", + "messageTitle" : "fix: revert SelfCleaningRegistry change, due to conceptual issues" + } ] + } ] + }, { + "version" : { + "major" : 0, + "minor" : 25, + "patch" : 0, + "preReleaseParts" : [ ], + "buildMetaDataParts" : [ ], + "preRelease" : "", + "buildMetaData" : "", + "initialDevelopment" : true, + "stable" : true + }, + "releaseDate" : "2023-06-27 16:06:58.000 +0200", + "sections" : [ { + "title" : "Build System", + "commits" : [ { + "hashFull" : "17558c498389dc9a6e1164d6fc02fa0be0492e69", + "hash" : "17558c498389dc9", + "hash7" : "17558c4", + "hash8" : "17558c49", + "commitTime" : "2023-06-20 13:42:39.000 +0200", + "commitTimeLong" : 1687261359, + "message" : "build(deps): bump io.micrometer:micrometer-registry-prometheus\n\nBumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.11.0 to 1.11.1.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.0...v1.11.1)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "merge" : false, + "authorIdent" : { + "when" : "2023-06-19 17:01:21.000 +0200", + "name" : "dependabot[bot]", + "email" : "49699333+dependabot[bot]@users.noreply.github.com" + }, + "committerIdent" : { + "when" : "2023-06-20 13:42:39.000 +0200", + "name" : "Pascal", + "email" : "23715608+pk-work@users.noreply.github.com" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/17558c498389dc9a6e1164d6fc02fa0be0492e69", + "commitType" : "build", + "commitPackage" : null, + "commitScope" : "deps", + "commitSubject" : "bump io.micrometer:micrometer-registry-prometheus", + "commitBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.11.0 to 1.11.1.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.0...v1.11.1)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "build", + "rawCommitScope" : "deps", + "rawCommitSubject" : "bump io.micrometer:micrometer-registry-prometheus", + "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.11.0 to 1.11.1.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.0...v1.11.1)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus" + }, { + "hashFull" : "c9cb23a41668404da1193d1c0964277c5a73fa09", + "hash" : "c9cb23a41668404", + "hash7" : "c9cb23a", + "hash8" : "c9cb23a4", + "commitTime" : "2023-06-20 13:42:52.000 +0200", + "commitTimeLong" : 1687261372, + "message" : "build(deps): bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8\n\nBumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.4.7 to 1.4.8.\n- [Commits](https://github.com/qos-ch/logback/compare/v_1.4.7...v_1.4.8)\n\n---\nupdated-dependencies:\n- dependency-name: ch.qos.logback:logback-classic\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "merge" : false, + "authorIdent" : { + "when" : "2023-06-19 17:01:24.000 +0200", + "name" : "dependabot[bot]", + "email" : "49699333+dependabot[bot]@users.noreply.github.com" + }, + "committerIdent" : { + "when" : "2023-06-20 13:42:52.000 +0200", + "name" : "Pascal", + "email" : "23715608+pk-work@users.noreply.github.com" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/c9cb23a41668404da1193d1c0964277c5a73fa09", + "commitType" : "build", + "commitPackage" : null, + "commitScope" : "deps", + "commitSubject" : "bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8", + "commitBody" : "Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.4.7 to 1.4.8.\n- [Commits](https://github.com/qos-ch/logback/compare/v_1.4.7...v_1.4.8)\n\n---\nupdated-dependencies:\n- dependency-name: ch.qos.logback:logback-classic\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "build", + "rawCommitScope" : "deps", + "rawCommitSubject" : "bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8", + "messageBody" : "Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.4.7 to 1.4.8.\n- [Commits](https://github.com/qos-ch/logback/compare/v_1.4.7...v_1.4.8)\n\n---\nupdated-dependencies:\n- dependency-name: ch.qos.logback:logback-classic\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump ch.qos.logback:logback-classic from 1.4.7 to 1.4.8" + }, { + "hashFull" : "04dc73c4cb746fcb1867957cf401f22c0b6fec32", + "hash" : "04dc73c4cb746fc", + "hash7" : "04dc73c", + "hash8" : "04dc73c4", + "commitTime" : "2023-06-26 08:52:44.000 +0200", + "commitTimeLong" : 1687762364, + "message" : "build(deps): upgrade `vertx` to 4.4.4", + "merge" : false, + "authorIdent" : { + "when" : "2023-06-26 02:12:01.000 +0200", + "name" : "github-actions[bot]", + "email" : "github-actions[bot]@users.noreply.github.com" + }, + "committerIdent" : { + "when" : "2023-06-26 08:52:44.000 +0200", + "name" : "Pascal", + "email" : "23715608+pk-work@users.noreply.github.com" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/04dc73c4cb746fcb1867957cf401f22c0b6fec32", + "commitType" : "build", + "commitPackage" : null, + "commitScope" : "deps", + "commitSubject" : "upgrade `vertx` to 4.4.4", + "commitBody" : null, + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "build", + "rawCommitScope" : "deps", + "rawCommitSubject" : "upgrade `vertx` to 4.4.4", + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.4.4" + }, { + "hashFull" : "e194283a2991c3626bd454d313add04df9146fe1", + "hash" : "e194283a2991c36", + "hash7" : "e194283", + "hash8" : "e194283a", + "commitTime" : "2023-06-26 08:52:59.000 +0200", + "commitTimeLong" : 1687762379, + "message" : "build(deps): bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168\n\nBumps org.sonarqube from 4.2.0.3129 to 4.2.1.3168.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "merge" : false, + "authorIdent" : { + "when" : "2023-06-26 08:41:56.000 +0200", + "name" : "dependabot[bot]", + "email" : "49699333+dependabot[bot]@users.noreply.github.com" + }, + "committerIdent" : { + "when" : "2023-06-26 08:52:59.000 +0200", + "name" : "Pascal", + "email" : "23715608+pk-work@users.noreply.github.com" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/e194283a2991c3626bd454d313add04df9146fe1", + "commitType" : "build", + "commitPackage" : null, + "commitScope" : "deps", + "commitSubject" : "bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168", + "commitBody" : "Bumps org.sonarqube from 4.2.0.3129 to 4.2.1.3168.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "build", + "rawCommitScope" : "deps", + "rawCommitSubject" : "bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168", + "messageBody" : "Bumps org.sonarqube from 4.2.0.3129 to 4.2.1.3168.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.sonarqube from 4.2.0.3129 to 4.2.1.3168" + } ] + } ] }, { "version" : { "major" : 0, @@ -233,7 +287,7 @@ "initialDevelopment" : true, "stable" : true }, - "releaseDate" : "2023-06-19 12:02:56.000 +0200", + "releaseDate" : "2023-06-19 13:07:52.000 +0200", "sections" : [ { "title" : "Features", "commits" : [ { @@ -278,8 +332,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "expose module registration for Databind codec", - "messageTitle" : "feat: expose module registration for Databind codec", - "messageBody" : "This change enables the registration of custom modules for a DatabindCodec.\nIt also improves the selection logic for the deserialization codec." + "messageBody" : "This change enables the registration of custom modules for a DatabindCodec.\nIt also improves the selection logic for the deserialization codec.", + "messageTitle" : "feat: expose module registration for Databind codec" } ] } ] }, { @@ -339,8 +393,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "disable unstable JobVerticle test", - "messageTitle" : "fix: disable unstable JobVerticle test", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: disable unstable JobVerticle test" }, { "hashFull" : "997e8efad1a0dd52f233547253e31d6c25297236", "hash" : "997e8efad1a0dd5", @@ -383,8 +437,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "removed Timout annotations", - "messageTitle" : "fix: removed Timout annotations", - "messageBody" : "The timeouts for unit tests are controlled via the environment, see [1].\n\n[1] https://github.com/SAP/neonbee/commit/02d22528" + "messageBody" : "The timeouts for unit tests are controlled via the environment, see [1].\n\n[1] https://github.com/SAP/neonbee/commit/02d22528", + "messageTitle" : "fix: removed Timout annotations" } ] }, { "title" : "Features", @@ -430,8 +484,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "update logback to 1.4.7 and slf4j to 2.0.7", - "messageTitle" : "feat: update logback to 1.4.7 and slf4j to 2.0.7", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: update logback to 1.4.7 and slf4j to 2.0.7" }, { "hashFull" : "5aacd27978a5fd7cc880233293e15b16c0261c4b", "hash" : "5aacd27978a5fd7", @@ -474,8 +528,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "return 201 (not 204) for POST requests to entity verticles and optional Location-header", - "messageTitle" : "feat: return 201 (not 204) for POST requests to entity verticles and optional Location-header", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: return 201 (not 204) for POST requests to entity verticles and optional Location-header" }, { "hashFull" : "9f30e7422b4cc844a8eea8745001a2950032e36f", "hash" : "9f30e7422b4cc84", @@ -518,8 +572,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add BufferingDataVerticle", - "messageTitle" : "feat: add BufferingDataVerticle", - "messageBody" : "In addition to CachingDataVerticle, BufferingDataVerticle can be used to extend the caching concept of CachingDataVerticle with a less volatile storage option, e.g. on database." + "messageBody" : "In addition to CachingDataVerticle, BufferingDataVerticle can be used to extend the caching concept of CachingDataVerticle with a less volatile storage option, e.g. on database.", + "messageTitle" : "feat: add BufferingDataVerticle" }, { "hashFull" : "5b5b00555a64d7c5e13fe2bf2fa0cbcd72206ab1", "hash" : "5b5b00555a64d7c", @@ -562,8 +616,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "introduce in-memory caching / request coalescing", - "messageTitle" : "feat: introduce in-memory caching / request coalescing", - "messageBody" : "This change introduces an in-memory caching concept for DataVerticle, as well as an option to coalesce same requests sent to a verticle in parallel. The new CachingDataVerticle allows to define an arbitrary cacheKey that is used to store responses received by the DataVerticle in-memory. The next time data with the same cacheKey is requested, neither the required data verticles, nor the original requireData method is being invoked. Instead the data is returned straight from the in-memory cache. This also allows for request coalescing, meaning that if multiple requests are sent to the verticle with the same cacheKey at the same time, the verticle will only do one call to requestData and return the data straight from cache for the other request instead." + "messageBody" : "This change introduces an in-memory caching concept for DataVerticle, as well as an option to coalesce same requests sent to a verticle in parallel. The new CachingDataVerticle allows to define an arbitrary cacheKey that is used to store responses received by the DataVerticle in-memory. The next time data with the same cacheKey is requested, neither the required data verticles, nor the original requireData method is being invoked. Instead the data is returned straight from the in-memory cache. This also allows for request coalescing, meaning that if multiple requests are sent to the verticle with the same cacheKey at the same time, the verticle will only do one call to requestData and return the data straight from cache for the other request instead.", + "messageTitle" : "feat: introduce in-memory caching / request coalescing" }, { "hashFull" : "5f981326ad77546611a1a0e8bdd9f76788d12f17", "hash" : "5f981326ad77546", @@ -606,8 +660,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add SelfCleaningRegistry and make Registry interface type safe", - "messageTitle" : "feat: add SelfCleaningRegistry and make Registry interface type safe", - "messageBody" : "This change introduces a SelfCleaningRegistry. The SelfCleaningRegistry knows which values were added by which cluster\nnode. When a node leaves the cluster, all node-related values are removed from the registry.\n\nThis change also changes the Registry interface. Now a Registry is type safe and offers supports registration of\nmultiple values for the same key." + "messageBody" : "This change introduces a SelfCleaningRegistry. The SelfCleaningRegistry knows which values were added by which cluster\nnode. When a node leaves the cluster, all node-related values are removed from the registry.\n\nThis change also changes the Registry interface. Now a Registry is type safe and offers supports registration of\nmultiple values for the same key.", + "messageTitle" : "feat: add SelfCleaningRegistry and make Registry interface type safe" }, { "hashFull" : "c2377c2372a33c20410c9bb5cd790bad5d121f13", "hash" : "c2377c2372a33c2", @@ -650,8 +704,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "disable tests influenced by available CPU time on GitHub CI", - "messageTitle" : "feat: disable tests influenced by available CPU time on GitHub CI", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: disable tests influenced by available CPU time on GitHub CI" }, { "hashFull" : "2d978f269c8a161963757a785f2bd22c43fe6b11", "hash" : "2d978f269c8a161", @@ -694,8 +748,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add jsonMaxStringSize configuration", - "messageTitle" : "feat: add jsonMaxStringSize configuration", - "messageBody" : "This change makes the maximum string size that is parsed by Jackson customizable. This is achieved by a new ConfigurableJsonFactory SPI that Vert.x can use instead of the default JacksonCodec.\n\nWith upgrading to Vert.x v4.4.2, Jackson v2.15 introduced a maximum string parsing limit of 5 Million characters, which equals about 5MB in size. This was further increased to 10 Million / 10 MB with Jackson v2.15.1. However with NeonBee we would like to allow users to deal with larger payloads if required.\n\nThis change further improves exception handling on the Vert.x event bus, as a negative side-effect of the Jackson change was that event-bus messages reaching the maximum JSON size resulted in uncached exceptions and thus event bus message timing out, which is the worst case scenario. This change now adds specific tests for failures in different lifecycle states of a message (e.g. when being deserialized on the retriever side vs. being deserialized on the message return), as well as handles failing messages much more gracefully and with a descriptive error message." + "messageBody" : "This change makes the maximum string size that is parsed by Jackson customizable. This is achieved by a new ConfigurableJsonFactory SPI that Vert.x can use instead of the default JacksonCodec.\n\nWith upgrading to Vert.x v4.4.2, Jackson v2.15 introduced a maximum string parsing limit of 5 Million characters, which equals about 5MB in size. This was further increased to 10 Million / 10 MB with Jackson v2.15.1. However with NeonBee we would like to allow users to deal with larger payloads if required.\n\nThis change further improves exception handling on the Vert.x event bus, as a negative side-effect of the Jackson change was that event-bus messages reaching the maximum JSON size resulted in uncached exceptions and thus event bus message timing out, which is the worst case scenario. This change now adds specific tests for failures in different lifecycle states of a message (e.g. when being deserialized on the retriever side vs. being deserialized on the message return), as well as handles failing messages much more gracefully and with a descriptive error message.", + "messageTitle" : "feat: add jsonMaxStringSize configuration" }, { "hashFull" : "9f4e2ca7fc87ffe99ba7533e9a8a771c2316169f", "hash" : "9f4e2ca7fc87ffe", @@ -738,8 +792,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "remove methods which became deprecated in previous versions", - "messageTitle" : "feat: remove methods which became deprecated in previous versions", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: remove methods which became deprecated in previous versions" }, { "hashFull" : "46d5fd53e91d26996c1d4fbafa0dacdc9e96e456", "hash" : "46d5fd53e91d269", @@ -782,8 +836,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "bump Vert.x to 4.4.3 and deprecate joinComposite and allComposite", - "messageTitle" : "feat: bump Vert.x to 4.4.3 and deprecate joinComposite and allComposite", - "messageBody" : "In Vert.x 4.4.3 the Future API supports lists with typed Futures, which makes the AsyncHelper methods joinComposite\nand allComposite unnecessary. For this reason they have been marked as deprecated." + "messageBody" : "In Vert.x 4.4.3 the Future API supports lists with typed Futures, which makes the AsyncHelper methods joinComposite\nand allComposite unnecessary. For this reason they have been marked as deprecated.", + "messageTitle" : "feat: bump Vert.x to 4.4.3 and deprecate joinComposite and allComposite" } ] }, { "title" : "Build System", @@ -829,8 +883,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump io.micrometer:micrometer-registry-prometheus", - "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus", - "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.7 to 1.11.0.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.7...v1.11.0)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.7 to 1.11.0.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.7...v1.11.0)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus" }, { "hashFull" : "97041d80a00b7474510144011fa576da9fe67e02", "hash" : "97041d80a00b747", @@ -873,8 +927,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.diffplug.spotless from 6.18.0 to 6.19.0", - "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.18.0 to 6.19.0", - "messageBody" : "Bumps com.diffplug.spotless from 6.18.0 to 6.19.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.diffplug.spotless from 6.18.0 to 6.19.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.18.0 to 6.19.0" }, { "hashFull" : "82de2b2c311ca17cccdd96a61151d7aabbc76909", "hash" : "82de2b2c311ca17", @@ -917,8 +971,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.infinispan:infinispan-component-annotations", - "messageTitle" : "build(deps): bump org.infinispan:infinispan-component-annotations", - "messageBody" : "Bumps org.infinispan:infinispan-component-annotations from 13.0.15.Final to 13.0.16.Final.\n\n---\nupdated-dependencies:\n- dependency-name: org.infinispan:infinispan-component-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.infinispan:infinispan-component-annotations from 13.0.15.Final to 13.0.16.Final.\n\n---\nupdated-dependencies:\n- dependency-name: org.infinispan:infinispan-component-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.infinispan:infinispan-component-annotations" }, { "hashFull" : "3fdd58367adc5f1cbaa472538906259d613bb10a", "hash" : "3fdd58367adc5f1", @@ -961,8 +1015,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.google.guava:guava from 31.1-jre to 32.0.0-jre", - "messageTitle" : "build(deps): bump com.google.guava:guava from 31.1-jre to 32.0.0-jre", - "messageBody" : "Bumps [com.google.guava:guava](https://github.com/google/guava) from 31.1-jre to 32.0.0-jre.\n- [Release notes](https://github.com/google/guava/releases)\n- [Commits](https://github.com/google/guava/commits)\n\n---\nupdated-dependencies:\n- dependency-name: com.google.guava:guava\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [com.google.guava:guava](https://github.com/google/guava) from 31.1-jre to 32.0.0-jre.\n- [Release notes](https://github.com/google/guava/releases)\n- [Commits](https://github.com/google/guava/commits)\n\n---\nupdated-dependencies:\n- dependency-name: com.google.guava:guava\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.google.guava:guava from 31.1-jre to 32.0.0-jre" }, { "hashFull" : "53f0d83be43afd06ccd912d779de94fa9e3c5b1e", "hash" : "53f0d83be43afd0", @@ -1005,8 +1059,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.sonarqube from 4.0.0.2929 to 4.1.0.3113", - "messageTitle" : "build(deps): bump org.sonarqube from 4.0.0.2929 to 4.1.0.3113", - "messageBody" : "Bumps org.sonarqube from 4.0.0.2929 to 4.1.0.3113.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.sonarqube from 4.0.0.2929 to 4.1.0.3113.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.sonarqube from 4.0.0.2929 to 4.1.0.3113" }, { "hashFull" : "84a72becc374f0fe17dd76403f154765bc9736e9", "hash" : "84a72becc374f0f", @@ -1049,8 +1103,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump se.bjurr.violations.violations-gradle-plugin", - "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin", - "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.52.5 to 1.52.6.\n\n---\nupdated-dependencies:\n- dependency-name: se.bjurr.violations.violations-gradle-plugin\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.52.5 to 1.52.6.\n\n---\nupdated-dependencies:\n- dependency-name: se.bjurr.violations.violations-gradle-plugin\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin" }, { "hashFull" : "4066a12b7b903228d32dd02dba7cda699a3c392c", "hash" : "4066a12b7b90322", @@ -1093,8 +1147,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.sonarqube from 4.1.0.3113 to 4.2.0.3129", - "messageTitle" : "build(deps): bump org.sonarqube from 4.1.0.3113 to 4.2.0.3129", - "messageBody" : "Bumps org.sonarqube from 4.1.0.3113 to 4.2.0.3129.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.sonarqube from 4.1.0.3113 to 4.2.0.3129.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.sonarqube from 4.1.0.3113 to 4.2.0.3129" }, { "hashFull" : "7f2358a16b8227b8bb5a13e96ed7035010993fc3", "hash" : "7f2358a16b8227b", @@ -1137,8 +1191,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.infinispan:infinispan-component-annotations", - "messageTitle" : "build(deps): bump org.infinispan:infinispan-component-annotations", - "messageBody" : "Bumps org.infinispan:infinispan-component-annotations from 13.0.16.Final to 13.0.18.Final.\n\n---\nupdated-dependencies:\n- dependency-name: org.infinispan:infinispan-component-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.infinispan:infinispan-component-annotations from 13.0.16.Final to 13.0.18.Final.\n\n---\nupdated-dependencies:\n- dependency-name: org.infinispan:infinispan-component-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.infinispan:infinispan-component-annotations" } ] } ] }, { @@ -1198,8 +1252,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "dynatrace null or empty dimension warning", - "messageTitle" : "fix: dynatrace null or empty dimension warning", - "messageBody" : "dynatrace logs the following warning when a Tag with a null or empty\nvalue is added:\nWarning: null or empty dimension value passed to normalization.\nTo avoid this warning, an additional check if the value is empty is\nadded." + "messageBody" : "dynatrace logs the following warning when a Tag with a null or empty\nvalue is added:\nWarning: null or empty dimension value passed to normalization.\nTo avoid this warning, an additional check if the value is empty is\nadded.", + "messageTitle" : "fix: dynatrace null or empty dimension warning" } ] }, { "title" : "Features", @@ -1245,8 +1299,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "update to Vert.x 4.4.2", - "messageTitle" : "feat: update to Vert.x 4.4.2", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: update to Vert.x 4.4.2" } ] }, { "title" : "Build System", @@ -1292,8 +1346,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.github.spotbugs from 5.0.13 to 5.0.14", - "messageTitle" : "build(deps): bump com.github.spotbugs from 5.0.13 to 5.0.14", - "messageBody" : "Bumps com.github.spotbugs from 5.0.13 to 5.0.14.\n\n---\nupdated-dependencies:\n- dependency-name: com.github.spotbugs\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.github.spotbugs from 5.0.13 to 5.0.14.\n\n---\nupdated-dependencies:\n- dependency-name: com.github.spotbugs\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.github.spotbugs from 5.0.13 to 5.0.14" }, { "hashFull" : "f63cf50d7388836834a15766d0c2abd36d5a7072", "hash" : "f63cf50d7388836", @@ -1336,8 +1390,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.ow2.asm:asm from 9.4 to 9.5", - "messageTitle" : "build(deps): bump org.ow2.asm:asm from 9.4 to 9.5", - "messageBody" : "Bumps org.ow2.asm:asm from 9.4 to 9.5.\n\n---\nupdated-dependencies:\n- dependency-name: org.ow2.asm:asm\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.ow2.asm:asm from 9.4 to 9.5.\n\n---\nupdated-dependencies:\n- dependency-name: org.ow2.asm:asm\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.ow2.asm:asm from 9.4 to 9.5" }, { "hashFull" : "abf616a248427b141a4530975dbe6c3baa882fe9", "hash" : "abf616a248427b1", @@ -1380,8 +1434,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.sap.cds:cds4j-core from 1.36.0 to 1.37.0", - "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.36.0 to 1.37.0", - "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.36.0 to 1.37.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.36.0 to 1.37.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.36.0 to 1.37.0" }, { "hashFull" : "e3995df040701f8f0d04438a13f8adb4a1214c02", "hash" : "e3995df040701f8", @@ -1424,8 +1478,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.4.1", - "messageTitle" : "build(deps): upgrade `vertx` to 4.4.1", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.4.1" }, { "hashFull" : "e91141fcf854f147cfa0908570b1e3bb86724a51", "hash" : "e91141fcf854f14", @@ -1468,8 +1522,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.diffplug.spotless from 6.17.0 to 6.18.0", - "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.17.0 to 6.18.0", - "messageBody" : "Bumps com.diffplug.spotless from 6.17.0 to 6.18.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.diffplug.spotless from 6.17.0 to 6.18.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.17.0 to 6.18.0" }, { "hashFull" : "4ca7dbf26a633ae87a81901d9b79889df2dccbea", "hash" : "4ca7dbf26a633ae", @@ -1512,8 +1566,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.ajoberstar.grgit from 5.0.0 to 5.2.0", - "messageTitle" : "build(deps): bump org.ajoberstar.grgit from 5.0.0 to 5.2.0", - "messageBody" : "Bumps [org.ajoberstar.grgit](https://github.com/ajoberstar/grgit) from 5.0.0 to 5.2.0.\n- [Release notes](https://github.com/ajoberstar/grgit/releases)\n- [Commits](https://github.com/ajoberstar/grgit/compare/5.0.0...5.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: org.ajoberstar.grgit\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [org.ajoberstar.grgit](https://github.com/ajoberstar/grgit) from 5.0.0 to 5.2.0.\n- [Release notes](https://github.com/ajoberstar/grgit/releases)\n- [Commits](https://github.com/ajoberstar/grgit/compare/5.0.0...5.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: org.ajoberstar.grgit\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.ajoberstar.grgit from 5.0.0 to 5.2.0" }, { "hashFull" : "861409e02cbe064020c08c740d7fa770a9d2d190", "hash" : "861409e02cbe064", @@ -1556,8 +1610,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.sap.cds:cds4j-core from 1.37.0 to 1.37.1", - "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.37.0 to 1.37.1", - "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.37.0 to 1.37.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.37.0 to 1.37.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.37.0 to 1.37.1" }, { "hashFull" : "2a8c7e1b813379c7af938eafd44aeab4e7dc4a2e", "hash" : "2a8c7e1b813379c", @@ -1600,8 +1654,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump net.ltgt.errorprone from 3.0.1 to 3.1.0", - "messageTitle" : "build(deps): bump net.ltgt.errorprone from 3.0.1 to 3.1.0", - "messageBody" : "Bumps net.ltgt.errorprone from 3.0.1 to 3.1.0.\n\n---\nupdated-dependencies:\n- dependency-name: net.ltgt.errorprone\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps net.ltgt.errorprone from 3.0.1 to 3.1.0.\n\n---\nupdated-dependencies:\n- dependency-name: net.ltgt.errorprone\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump net.ltgt.errorprone from 3.0.1 to 3.1.0" }, { "hashFull" : "03af4791c28e65887eccc59da91af27c0b7e5b42", "hash" : "03af4791c28e658", @@ -1644,8 +1698,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump io.micrometer:micrometer-registry-prometheus", - "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus", - "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.5 to 1.10.6.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.5...v1.10.6)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.5 to 1.10.6.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.5...v1.10.6)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus" }, { "hashFull" : "5a35d2eb9f17af7ec420a815fbd8d70985261c7b", "hash" : "5a35d2eb9f17af7", @@ -1688,8 +1742,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump sapmachine from 11.0.18 to 11.0.19", - "messageTitle" : "build(deps): bump sapmachine from 11.0.18 to 11.0.19", - "messageBody" : "Bumps sapmachine from 11.0.18 to 11.0.19.\n\n---\nupdated-dependencies:\n- dependency-name: sapmachine\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps sapmachine from 11.0.18 to 11.0.19.\n\n---\nupdated-dependencies:\n- dependency-name: sapmachine\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump sapmachine from 11.0.18 to 11.0.19" }, { "hashFull" : "d8b237ac22b0af9f93d705d3a44af880b782d6ec", "hash" : "d8b237ac22b0af9", @@ -1732,8 +1786,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.sap.cds:cds4j-core from 1.37.1 to 1.38.1", - "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.37.1 to 1.38.1", - "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.37.1 to 1.38.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.37.1 to 1.38.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.37.1 to 1.38.1" } ] } ] }, { @@ -1793,8 +1847,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "allow to pass count value via response hints", - "messageTitle" : "feat: allow to pass count value via response hints", - "messageBody" : "This commit allows to pass the count information via response hint, which is a\nhugh performance benefit, because it is no longer necessary to send all entities\nback to the ODataEndpoint." + "messageBody" : "This commit allows to pass the count information via response hint, which is a\nhugh performance benefit, because it is no longer necessary to send all entities\nback to the ODataEndpoint.", + "messageTitle" : "feat: allow to pass count value via response hints" }, { "hashFull" : "22eb10ee2d332be41be37c039583f6981befcb12", "hash" : "22eb10ee2d332be", @@ -1837,8 +1891,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make HealthCheck collection configurable", - "messageTitle" : "feat: make HealthCheck collection configurable", - "messageBody" : "This change allows to configure the HealthCheck collection behavior when NeonBee is running in clustered mode." + "messageBody" : "This change allows to configure the HealthCheck collection behavior when NeonBee is running in clustered mode.", + "messageTitle" : "feat: make HealthCheck collection configurable" }, { "hashFull" : "8070092549404f1d80116243e294802908f9cf5c", "hash" : "8070092549404f1", @@ -1881,8 +1935,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add CorsHandlerFactory", - "messageTitle" : "feat: add CorsHandlerFactory", - "messageBody" : "This change adds a CorsHandlerFactory, that allows to add and configure a CORS handler via the ServerConfig." + "messageBody" : "This change adds a CorsHandlerFactory, that allows to add and configure a CORS handler via the ServerConfig.", + "messageTitle" : "feat: add CorsHandlerFactory" } ] }, { "title" : "Chores", @@ -1928,8 +1982,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "improve error message when no verticle is registered for an entity type", - "messageTitle" : "chore: improve error message when no verticle is registered for an entity type", - "messageBody" : "When a request is made to a verticle which requests data from other verticles,\nwhich due to some issue are not registered in the shared map, it becomes difficult\nto understand for which entity type there is no verticle registered. Providing the\nFQN of the entity type in the error message, makes it easier to identify for which\nentity type there is no verticle registered." + "messageBody" : "When a request is made to a verticle which requests data from other verticles,\nwhich due to some issue are not registered in the shared map, it becomes difficult\nto understand for which entity type there is no verticle registered. Providing the\nFQN of the entity type in the error message, makes it easier to identify for which\nentity type there is no verticle registered.", + "messageTitle" : "chore: improve error message when no verticle is registered for an entity type" } ] }, { "title" : "Documentation", @@ -1975,8 +2029,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "add documentation for gradle tasks", - "messageTitle" : "docs: add documentation for gradle tasks", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: add documentation for gradle tasks" } ] }, { "title" : "Build System", @@ -2022,8 +2076,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.diffplug.spotless from 6.16.0 to 6.17.0", - "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.16.0 to 6.17.0", - "messageBody" : "Bumps com.diffplug.spotless from 6.16.0 to 6.17.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.diffplug.spotless from 6.16.0 to 6.17.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.16.0 to 6.17.0" }, { "hashFull" : "12f73b8a1a89d0dedc423d5b54aa6e3e0cd78b9e", "hash" : "12f73b8a1a89d0d", @@ -2066,8 +2120,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump se.bjurr.violations.violations-gradle-plugin", - "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin", - "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.52.4 to 1.52.5.\n\n---\nupdated-dependencies:\n- dependency-name: se.bjurr.violations.violations-gradle-plugin\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.52.4 to 1.52.5.\n\n---\nupdated-dependencies:\n- dependency-name: se.bjurr.violations.violations-gradle-plugin\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin" }, { "hashFull" : "e85258230f1ccd592c4a275d747290d17d1d85d2", "hash" : "e85258230f1ccd5", @@ -2110,8 +2164,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump io.micrometer:micrometer-registry-prometheus", - "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus", - "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.4 to 1.10.5.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.4...v1.10.5)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.4 to 1.10.5.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.4...v1.10.5)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus" } ] } ] }, { @@ -2171,8 +2225,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "assertion for test verifyJobExecuted in JobVerticleTest", - "messageTitle" : "fix: assertion for test verifyJobExecuted in JobVerticleTest", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: assertion for test verifyJobExecuted in JobVerticleTest" } ] }, { "title" : "Chores", @@ -2218,8 +2272,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "remove unused docker plugin", - "messageTitle" : "chore: remove unused docker plugin", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: remove unused docker plugin" }, { "hashFull" : "14f29a189a12bebb65803f6821e885077981bcfb", "hash" : "14f29a189a12beb", @@ -2274,8 +2328,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "remove webserver name from X-Instance-Info header", - "messageTitle" : "chore: remove webserver name from X-Instance-Info header", - "messageBody" : "For security reasons, the webserver name should not be public, because\nthis allows attackers to gather information about the application and\npotentially identify new attack surfaces. The NeonBee prefix in the\nX-Instance-Info header does not provide any benefit, and therefore\ncan be removed.\n\nCloses #268" + "messageBody" : "For security reasons, the webserver name should not be public, because\nthis allows attackers to gather information about the application and\npotentially identify new attack surfaces. The NeonBee prefix in the\nX-Instance-Info header does not provide any benefit, and therefore\ncan be removed.\n\nCloses #268", + "messageTitle" : "chore: remove webserver name from X-Instance-Info header" } ] }, { "title" : "Tests", @@ -2321,8 +2375,8 @@ "rawCommitType" : "test", "rawCommitScope" : "odata", "rawCommitSubject" : "unit tests for OData Batch Request handling", - "messageTitle" : "test(odata): unit tests for OData Batch Request handling", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "test(odata): unit tests for OData Batch Request handling" }, { "hashFull" : "c1cdaef593d81a9cd7ea921165a349808ab328bd", "hash" : "c1cdaef593d81a9", @@ -2365,8 +2419,8 @@ "rawCommitType" : "test", "rawCommitScope" : "odata", "rawCommitSubject" : "implement ODataMetadataRequest and deprecate ODataRequest#setMetadata", - "messageTitle" : "test(odata): implement ODataMetadataRequest and deprecate ODataRequest#setMetadata", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "test(odata): implement ODataMetadataRequest and deprecate ODataRequest#setMetadata" } ] }, { "title" : "Documentation", @@ -2412,8 +2466,8 @@ "rawCommitType" : "docs", "rawCommitScope" : "health", "rawCommitSubject" : "fix register checks via SPI", - "messageTitle" : "docs(health): fix register checks via SPI", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs(health): fix register checks via SPI" } ] }, { "title" : "Build System", @@ -2459,8 +2513,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump jackson-databind from 2.13.4.2 to 2.14.2", - "messageTitle" : "build(deps): bump jackson-databind from 2.13.4.2 to 2.14.2", - "messageBody" : "Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.13.4.2 to 2.14.2.\n- [Release notes](https://github.com/FasterXML/jackson/releases)\n- [Commits](https://github.com/FasterXML/jackson/commits)\n\n---\nupdated-dependencies:\n- dependency-name: com.fasterxml.jackson.core:jackson-databind\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.13.4.2 to 2.14.2.\n- [Release notes](https://github.com/FasterXML/jackson/releases)\n- [Commits](https://github.com/FasterXML/jackson/commits)\n\n---\nupdated-dependencies:\n- dependency-name: com.fasterxml.jackson.core:jackson-databind\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump jackson-databind from 2.13.4.2 to 2.14.2" }, { "hashFull" : "dda0c5548b059ce71ec551c1aebdaa2e1937846b", "hash" : "dda0c5548b059ce", @@ -2503,8 +2557,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump net.ltgt.errorprone from 2.0.2 to 3.0.1", - "messageTitle" : "build(deps): bump net.ltgt.errorprone from 2.0.2 to 3.0.1", - "messageBody" : "Bumps net.ltgt.errorprone from 2.0.2 to 3.0.1.\n\n---\nupdated-dependencies:\n- dependency-name: net.ltgt.errorprone\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps net.ltgt.errorprone from 2.0.2 to 3.0.1.\n\n---\nupdated-dependencies:\n- dependency-name: net.ltgt.errorprone\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump net.ltgt.errorprone from 2.0.2 to 3.0.1" }, { "hashFull" : "d8081a8f9cf9bd55953e02f266c702d4ea522cac", "hash" : "d8081a8f9cf9bd5", @@ -2547,8 +2601,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.sonarqube from 3.3 to 3.5.0.2730", - "messageTitle" : "build(deps): bump org.sonarqube from 3.3 to 3.5.0.2730", - "messageBody" : "Bumps org.sonarqube from 3.3 to 3.5.0.2730.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.sonarqube from 3.3 to 3.5.0.2730.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.sonarqube from 3.3 to 3.5.0.2730" }, { "hashFull" : "573e91e634ebb6be6b7f368febd44a5c2be762b9", "hash" : "573e91e634ebb6b", @@ -2591,8 +2645,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump micrometer-registry-prometheus from 1.9.2 to 1.10.3", - "messageTitle" : "build(deps): bump micrometer-registry-prometheus from 1.9.2 to 1.10.3", - "messageBody" : "Bumps [micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.9.2 to 1.10.3.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.9.2...v1.10.3)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.9.2 to 1.10.3.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.9.2...v1.10.3)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump micrometer-registry-prometheus from 1.9.2 to 1.10.3" }, { "hashFull" : "11f097cb25f3b4cb1441a51320bea190e07a0aa5", "hash" : "11f097cb25f3b4c", @@ -2635,8 +2689,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.ajoberstar.grgit from 4.1.1 to 5.0.0", - "messageTitle" : "build(deps): bump org.ajoberstar.grgit from 4.1.1 to 5.0.0", - "messageBody" : "Bumps [org.ajoberstar.grgit](https://github.com/ajoberstar/grgit) from 4.1.1 to 5.0.0.\n- [Release notes](https://github.com/ajoberstar/grgit/releases)\n- [Commits](https://github.com/ajoberstar/grgit/compare/4.1.1...5.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: org.ajoberstar.grgit\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [org.ajoberstar.grgit](https://github.com/ajoberstar/grgit) from 4.1.1 to 5.0.0.\n- [Release notes](https://github.com/ajoberstar/grgit/releases)\n- [Commits](https://github.com/ajoberstar/grgit/compare/4.1.1...5.0.0)\n\n---\nupdated-dependencies:\n- dependency-name: org.ajoberstar.grgit\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.ajoberstar.grgit from 4.1.1 to 5.0.0" }, { "hashFull" : "5213a54bf7f4497844ca2aba998fb614b30c1f0f", "hash" : "5213a54bf7f4497", @@ -2679,8 +2733,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.diffplug.spotless from 6.0.5 to 6.14.1", - "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.0.5 to 6.14.1", - "messageBody" : "Bumps com.diffplug.spotless from 6.0.5 to 6.14.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.diffplug.spotless from 6.0.5 to 6.14.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.0.5 to 6.14.1" }, { "hashFull" : "48800a6bfd7c8cb700f697f7dff72b18ea47402f", "hash" : "48800a6bfd7c8cb", @@ -2723,8 +2777,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.ow2.asm:asm from 9.3 to 9.4", - "messageTitle" : "build(deps): bump org.ow2.asm:asm from 9.3 to 9.4", - "messageBody" : "Bumps org.ow2.asm:asm from 9.3 to 9.4.\n\n---\nupdated-dependencies:\n- dependency-name: org.ow2.asm:asm\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.ow2.asm:asm from 9.3 to 9.4.\n\n---\nupdated-dependencies:\n- dependency-name: org.ow2.asm:asm\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.ow2.asm:asm from 9.3 to 9.4" }, { "hashFull" : "8a000604b8e8c078e524e9fcb3065b4f60bbf693", "hash" : "8a000604b8e8c07", @@ -2767,8 +2821,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.github.spotbugs:spotbugs-annotations", - "messageTitle" : "build(deps): bump com.github.spotbugs:spotbugs-annotations", - "messageBody" : "Bumps [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) from 4.7.1 to 4.7.3.\n- [Release notes](https://github.com/spotbugs/spotbugs/releases)\n- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/spotbugs/spotbugs/compare/4.7.1...4.7.3)\n\n---\nupdated-dependencies:\n- dependency-name: com.github.spotbugs:spotbugs-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) from 4.7.1 to 4.7.3.\n- [Release notes](https://github.com/spotbugs/spotbugs/releases)\n- [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/spotbugs/spotbugs/compare/4.7.1...4.7.3)\n\n---\nupdated-dependencies:\n- dependency-name: com.github.spotbugs:spotbugs-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.github.spotbugs:spotbugs-annotations" }, { "hashFull" : "73a3fd782deb78ba677b5e045848d41841283794", "hash" : "73a3fd782deb78b", @@ -2811,8 +2865,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.github.johnrengelman.shadow from 7.1.0 to 7.1.2", - "messageTitle" : "build(deps): bump com.github.johnrengelman.shadow from 7.1.0 to 7.1.2", - "messageBody" : "Bumps com.github.johnrengelman.shadow from 7.1.0 to 7.1.2.\n\n---\nupdated-dependencies:\n- dependency-name: com.github.johnrengelman.shadow\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.github.johnrengelman.shadow from 7.1.0 to 7.1.2.\n\n---\nupdated-dependencies:\n- dependency-name: com.github.johnrengelman.shadow\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.github.johnrengelman.shadow from 7.1.0 to 7.1.2" }, { "hashFull" : "a5404865703fb3af99d4baefc71c0d6683a69a85", "hash" : "a5404865703fb3a", @@ -2855,8 +2909,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.sap.cds:cds4j-core from 1.30.0 to 1.35.1", - "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.30.0 to 1.35.1", - "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.30.0 to 1.35.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.30.0 to 1.35.1.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.30.0 to 1.35.1" }, { "hashFull" : "80443bee2fb00fc5799a966e2db7e51aa570ecea", "hash" : "80443bee2fb00fc", @@ -2899,8 +2953,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.infinispan:infinispan-component-annotations", - "messageTitle" : "build(deps): bump org.infinispan:infinispan-component-annotations", - "messageBody" : "Bumps org.infinispan:infinispan-component-annotations from 13.0.10.Final to 13.0.15.Final.\n\n---\nupdated-dependencies:\n- dependency-name: org.infinispan:infinispan-component-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.infinispan:infinispan-component-annotations from 13.0.10.Final to 13.0.15.Final.\n\n---\nupdated-dependencies:\n- dependency-name: org.infinispan:infinispan-component-annotations\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.infinispan:infinispan-component-annotations" }, { "hashFull" : "8fbacd885191e0a9bc452bd4691a1cc53e46a6a9", "hash" : "8fbacd885191e0a", @@ -2943,8 +2997,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump sapmachine from 11.0.15.0.1 to 11.0.18", - "messageTitle" : "build(deps): bump sapmachine from 11.0.15.0.1 to 11.0.18", - "messageBody" : "Bumps sapmachine from 11.0.15.0.1 to 11.0.18.\n\n---\nupdated-dependencies:\n- dependency-name: sapmachine\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps sapmachine from 11.0.15.0.1 to 11.0.18.\n\n---\nupdated-dependencies:\n- dependency-name: sapmachine\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump sapmachine from 11.0.15.0.1 to 11.0.18" }, { "hashFull" : "4e4e5ed2d973f0778855f564e08c886400bb5dba", "hash" : "4e4e5ed2d973f07", @@ -2987,8 +3041,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.github.spotbugs from 5.0.3 to 5.0.13", - "messageTitle" : "build(deps): bump com.github.spotbugs from 5.0.3 to 5.0.13", - "messageBody" : "Bumps com.github.spotbugs from 5.0.3 to 5.0.13.\n\n---\nupdated-dependencies:\n- dependency-name: com.github.spotbugs\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.github.spotbugs from 5.0.3 to 5.0.13.\n\n---\nupdated-dependencies:\n- dependency-name: com.github.spotbugs\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.github.spotbugs from 5.0.3 to 5.0.13" }, { "hashFull" : "b7eadcb8b58625c397ba0f8850031bdf637958f9", "hash" : "b7eadcb8b58625c", @@ -3031,8 +3085,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump se.bjurr.violations.violations-gradle-plugin", - "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin", - "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.50.16 to 1.52.3." + "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.50.16 to 1.52.3.", + "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin" }, { "hashFull" : "d781e5056532d4fda85e60e3808d91eb7f6023f6", "hash" : "d781e5056532d4f", @@ -3075,8 +3129,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump Vert.x to 4.3.8", - "messageTitle" : "build(deps): bump Vert.x to 4.3.8", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump Vert.x to 4.3.8" }, { "hashFull" : "52cb1bcb82c99ce1963058d54d6ec42b9d8aef3d", "hash" : "52cb1bcb82c99ce", @@ -3119,8 +3173,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump a few dependencies", - "messageTitle" : "build(deps): bump a few dependencies", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump a few dependencies" }, { "hashFull" : "083f5d54940a824fdc103b38ec00fcc55f152228", "hash" : "083f5d54940a824", @@ -3163,8 +3217,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.diffplug.spotless from 6.14.1 to 6.15.0", - "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.14.1 to 6.15.0", - "messageBody" : "Bumps com.diffplug.spotless from 6.14.1 to 6.15.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.diffplug.spotless from 6.14.1 to 6.15.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.14.1 to 6.15.0" }, { "hashFull" : "ad9d7974e26bbfb166a2fa0348257906fadecb1f", "hash" : "ad9d7974e26bbfb", @@ -3207,8 +3261,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump checkstyle from 9.2 to 10.7.0", - "messageTitle" : "build(deps): bump checkstyle from 9.2 to 10.7.0", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump checkstyle from 9.2 to 10.7.0" }, { "hashFull" : "5bc945da6ed46da78fb177a2e086b5ca856d9f25", "hash" : "5bc945da6ed46da", @@ -3251,8 +3305,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump org.sonarqube from 3.5.0.2730 to 4.0.0.2929", - "messageTitle" : "build(deps): bump org.sonarqube from 3.5.0.2730 to 4.0.0.2929", - "messageBody" : "Bumps org.sonarqube from 3.5.0.2730 to 4.0.0.2929.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps org.sonarqube from 3.5.0.2730 to 4.0.0.2929.\n\n---\nupdated-dependencies:\n- dependency-name: org.sonarqube\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump org.sonarqube from 3.5.0.2730 to 4.0.0.2929" }, { "hashFull" : "ccc9558363809dbc98bf297d91371d1471933e0d", "hash" : "ccc9558363809db", @@ -3295,8 +3349,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump io.micrometer:micrometer-registry-prometheus", - "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus", - "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.3 to 1.10.4.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.3...v1.10.4)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) from 1.10.3 to 1.10.4.\n- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)\n- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.10.3...v1.10.4)\n\n---\nupdated-dependencies:\n- dependency-name: io.micrometer:micrometer-registry-prometheus\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump io.micrometer:micrometer-registry-prometheus" }, { "hashFull" : "53d679e77f46521e47819fb2a445b6c7d4e5f85c", "hash" : "53d679e77f46521", @@ -3339,8 +3393,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.sap.cds:cds4j-core from 1.35.1 to 1.36.0", - "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.35.1 to 1.36.0", - "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.35.1 to 1.36.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.sap.cds:cds4j-core from 1.35.1 to 1.36.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.sap.cds:cds4j-core\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.35.1 to 1.36.0" }, { "hashFull" : "afae401a4cb4352e458d4ca06715b7d3f13e5b8d", "hash" : "afae401a4cb4352", @@ -3383,8 +3437,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump se.bjurr.violations.violations-gradle-plugin", - "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin", - "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.52.3 to 1.52.4.\n\n---\nupdated-dependencies:\n- dependency-name: se.bjurr.violations.violations-gradle-plugin\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps se.bjurr.violations.violations-gradle-plugin from 1.52.3 to 1.52.4.\n\n---\nupdated-dependencies:\n- dependency-name: se.bjurr.violations.violations-gradle-plugin\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump se.bjurr.violations.violations-gradle-plugin" }, { "hashFull" : "a27696c2f884ad2dd07b0b9d30e315ea7d64be93", "hash" : "a27696c2f884ad2", @@ -3427,8 +3481,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.diffplug.spotless from 6.15.0 to 6.16.0", - "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.15.0 to 6.16.0", - "messageBody" : "Bumps com.diffplug.spotless from 6.15.0 to 6.16.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] " + "messageBody" : "Bumps com.diffplug.spotless from 6.15.0 to 6.16.0.\n\n---\nupdated-dependencies:\n- dependency-name: com.diffplug.spotless\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ", + "messageTitle" : "build(deps): bump com.diffplug.spotless from 6.15.0 to 6.16.0" }, { "hashFull" : "05c8bdf4f17886fe9cb12725ea7de5196e3ae97e", "hash" : "05c8bdf4f17886f", @@ -3471,8 +3525,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump Vert.x to 4.4.0 and switch to vertx-openapi", - "messageTitle" : "build(deps): bump Vert.x to 4.4.0 and switch to vertx-openapi", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump Vert.x to 4.4.0 and switch to vertx-openapi" } ] }, { "title" : "Continuous Integration", @@ -3518,8 +3572,8 @@ "rawCommitType" : "ci", "rawCommitScope" : "dependabot", "rawCommitSubject" : "configure dependencies to ignore", - "messageTitle" : "ci(dependabot): configure dependencies to ignore", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci(dependabot): configure dependencies to ignore" }, { "hashFull" : "050454e9910ba77e49d0175d1365f875b9535b80", "hash" : "050454e9910ba77", @@ -3562,8 +3616,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add dependabot configuration", - "messageTitle" : "ci: add dependabot configuration", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add dependabot configuration" } ] } ] }, { @@ -3628,8 +3682,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "case-insensitive headers", - "messageTitle" : "fix: case-insensitive headers", - "messageBody" : "Closes #188" + "messageBody" : "Closes #188", + "messageTitle" : "fix: case-insensitive headers" }, { "hashFull" : "10537b00878e636bd5e09ed9cc8bd90b5ccde742", "hash" : "10537b00878e636", @@ -3672,8 +3726,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "getName for dummy EntityVerticle", - "messageTitle" : "fix: getName for dummy EntityVerticle", - "messageBody" : "The EntityVerticle#getName returns the same name for each\nEntityVerticle created with the createDummyEntityVerticle method.\nTherefore, all created EntityVerticles are listing on the same event\nbus address and Vert.x is calling the EntityVerticles in a round-robin\nfashion.\n\nTo fix this, the getName method for the created EntityVerticle objects\nis overridden with Mockito#spy." + "messageBody" : "The EntityVerticle#getName returns the same name for each\nEntityVerticle created with the createDummyEntityVerticle method.\nTherefore, all created EntityVerticles are listing on the same event\nbus address and Vert.x is calling the EntityVerticles in a round-robin\nfashion.\n\nTo fix this, the getName method for the created EntityVerticle objects\nis overridden with Mockito#spy.", + "messageTitle" : "fix: getName for dummy EntityVerticle" }, { "hashFull" : "d86ccd5ae95d790818342c5a7ef2bca87ebd4eec", "hash" : "d86ccd5ae95d790", @@ -3716,8 +3770,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "test execution order leads to failed test", - "messageTitle" : "fix: test execution order leads to failed test", - "messageBody" : "Because of dynamic naming in the BeforeEach, there was an execution\norder that caused an error in the testCompare. When the logger1 got the\nname LoggerConfigurationTest9 and the logger2 got the name\nLoggerConfigurationTest10 then logger2.compareTo(logger1) returns -8." + "messageBody" : "Because of dynamic naming in the BeforeEach, there was an execution\norder that caused an error in the testCompare. When the logger1 got the\nname LoggerConfigurationTest9 and the logger2 got the name\nLoggerConfigurationTest10 then logger2.compareTo(logger1) returns -8.", + "messageTitle" : "fix: test execution order leads to failed test" }, { "hashFull" : "79af576a7c0bf980fd09744b99f1c39b80101190", "hash" : "79af576a7c0bf98", @@ -3760,8 +3814,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "address already in use BindException", - "messageTitle" : "fix: address already in use BindException", - "messageBody" : "The SystemHelper.getFreePort was not thread save." + "messageBody" : "The SystemHelper.getFreePort was not thread save.", + "messageTitle" : "fix: address already in use BindException" }, { "hashFull" : "73f09810784e0a520f465b9ff6314687554afeef", "hash" : "73f09810784e0a5", @@ -3804,8 +3858,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "test fails when tests run slowly", - "messageTitle" : "fix: test fails when tests run slowly", - "messageBody" : "The verifyJobSchedule test failed when the execution took longer than\nexpected. This was fixed by making the required method return a fixed\ndate and time value." + "messageBody" : "The verifyJobSchedule test failed when the execution took longer than\nexpected. This was fixed by making the required method return a fixed\ndate and time value.", + "messageTitle" : "fix: test fails when tests run slowly" }, { "hashFull" : "21aadd4e146da5bbc94961bac52b7be7933d5011", "hash" : "21aadd4e146da5b", @@ -3848,8 +3902,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "set await-initial-transfer to false", - "messageTitle" : "fix: set await-initial-transfer to false", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: set await-initial-transfer to false" }, { "hashFull" : "1e94222679f96b2b40d5007673e4001e2d027295", "hash" : "1e94222679f96b2", @@ -3892,8 +3946,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "isolate and run tests in EventLoopHealthCheckTest sequentially", - "messageTitle" : "fix: isolate and run tests in EventLoopHealthCheckTest sequentially", - "messageBody" : "when tests are running in parallel, it can sometime happen that the\ntests in the EventLoopHealthCheckTest are running on the same thread\nas other tests." + "messageBody" : "when tests are running in parallel, it can sometime happen that the\ntests in the EventLoopHealthCheckTest are running on the same thread\nas other tests.", + "messageTitle" : "fix: isolate and run tests in EventLoopHealthCheckTest sequentially" }, { "hashFull" : "1488c06db44831f4c78419cd232c32fa7dc26f8c", "hash" : "1488c06db44831f", @@ -3936,8 +3990,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "neonBee is null NPE", - "messageTitle" : "fix: neonBee is null NPE", - "messageBody" : "In a multithreading environment it can happen that not all entries are\npresent in the map. If the thread whose vertx instance is missing in\nthe map retrieves the NeonBee instance by calling NeonBee.get(Vertx)\nnull is returned and that caused the NPE." + "messageBody" : "In a multithreading environment it can happen that not all entries are\npresent in the map. If the thread whose vertx instance is missing in\nthe map retrieves the NeonBee instance by calling NeonBee.get(Vertx)\nnull is returned and that caused the NPE.", + "messageTitle" : "fix: neonBee is null NPE" }, { "hashFull" : "42f50320e9943c912118873c2333c75279b686af", "hash" : "42f50320e9943c9", @@ -3980,8 +4034,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "make verifyJobExecuted test more resilient", - "messageTitle" : "fix: make verifyJobExecuted test more resilient", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: make verifyJobExecuted test more resilient" } ] }, { "title" : "Features", @@ -4027,8 +4081,8 @@ "rawCommitType" : "feat", "rawCommitScope" : "health", "rawCommitSubject" : "add status endpoint & support filtering", - "messageTitle" : "feat(health): add status endpoint & support filtering", - "messageBody" : "With this change a `StatusEndpoint` is introduced, which allows to\ndisplay health onformation in a non-verbose way. This endpoint is meant\nto be public and usable for external system monitoring tools. The\nendpoint is mounted at /status and is part of the default endpoints of\nNeonBee. The /health endpoint will continue to serve health data in a\nverbose way, and it should be considered by the user to protect this\nendpoint as it might expose system information that should not be\navailable to external parties.\n\nIn addition, the `HealthCheckHandler` is extended to support health\ncheck based filtering vie the request path of the /health endpoint." + "messageBody" : "With this change a `StatusEndpoint` is introduced, which allows to\ndisplay health onformation in a non-verbose way. This endpoint is meant\nto be public and usable for external system monitoring tools. The\nendpoint is mounted at /status and is part of the default endpoints of\nNeonBee. The /health endpoint will continue to serve health data in a\nverbose way, and it should be considered by the user to protect this\nendpoint as it might expose system information that should not be\navailable to external parties.\n\nIn addition, the `HealthCheckHandler` is extended to support health\ncheck based filtering vie the request path of the /health endpoint.", + "messageTitle" : "feat(health): add status endpoint & support filtering" }, { "hashFull" : "6b80cb20d42ae6070a5e4aa927a0b02aaf9774bb", "hash" : "6b80cb20d42ae60", @@ -4071,8 +4125,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "deploy HealthCheckVerticle only if HealthChecks are enabled", - "messageTitle" : "feat: deploy HealthCheckVerticle only if HealthChecks are enabled", - "messageBody" : "In case that HealthChecks are disabled by the config, there is no need to deploy\nthe HealthCheckVerticle which is serving the results from the HealthChecks." + "messageBody" : "In case that HealthChecks are disabled by the config, there is no need to deploy\nthe HealthCheckVerticle which is serving the results from the HealthChecks.", + "messageTitle" : "feat: deploy HealthCheckVerticle only if HealthChecks are enabled" }, { "hashFull" : "08ee561a07b1ea48d0a4801f68482bb237571246", "hash" : "08ee561a07b1ea4", @@ -4115,8 +4169,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "remove MetricsVerticle", - "messageTitle" : "feat: remove MetricsVerticle", - "messageBody" : "Obviously the MetricsVerticle only exists to log continuously metrics if TRACE is\nactivated. This is a very special purpose and shouldn't be part of the system,\nverticles. Also, the name MetricsVerticle potentially raises false expectations." + "messageBody" : "Obviously the MetricsVerticle only exists to log continuously metrics if TRACE is\nactivated. This is a very special purpose and shouldn't be part of the system,\nverticles. Also, the name MetricsVerticle potentially raises false expectations.", + "messageTitle" : "feat: remove MetricsVerticle" }, { "hashFull" : "62e437bba03f5cd37943eb232bb2bd123c75e23d", "hash" : "62e437bba03f5cd", @@ -4159,8 +4213,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "unregister entities from shared map", - "messageTitle" : "feat: unregister entities from shared map", - "messageBody" : "NeonBee uses the shared map to manage the registration fo entities to\nEntityVerticles e.g:\n(\"Products\" -> \"ProductsVerticle\")\n(\"OrderTypes\" -> \"C4SOrderTypesVerticle\")\nDuring the boot up of an EntityVerticle \"announceEntityVerticle\" is\nused to register:\n\"Entity Products\" is handled by \"me\" (EntityProductsVerticle)\nCurrently no \"stop()\" method is implemented, and no fallback handling\nwas implemented (so the map may contain entries of verticles that no\nlonger exist)\n\nThis commit adds two methods to delete the registered entities from\nthe shared map.\nThe `UnregisterEntityModelHook#unregisterOnShutdown` method is executed\nif a node shuts down gracefully.\nThe `UnregisterEntityModelHook#cleanup` method is executed when the\ncluster detects that a node has left\n\nCo-authored-by: i536037 " + "messageBody" : "NeonBee uses the shared map to manage the registration fo entities to\nEntityVerticles e.g:\n(\"Products\" -> \"ProductsVerticle\")\n(\"OrderTypes\" -> \"C4SOrderTypesVerticle\")\nDuring the boot up of an EntityVerticle \"announceEntityVerticle\" is\nused to register:\n\"Entity Products\" is handled by \"me\" (EntityProductsVerticle)\nCurrently no \"stop()\" method is implemented, and no fallback handling\nwas implemented (so the map may contain entries of verticles that no\nlonger exist)\n\nThis commit adds two methods to delete the registered entities from\nthe shared map.\nThe `UnregisterEntityModelHook#unregisterOnShutdown` method is executed\nif a node shuts down gracefully.\nThe `UnregisterEntityModelHook#cleanup` method is executed when the\ncluster detects that a node has left\n\nCo-authored-by: i536037 ", + "messageTitle" : "feat: unregister entities from shared map" }, { "hashFull" : "520256fe5bd78f743a47813b4bad09229d95de78", "hash" : "520256fe5bd78f7", @@ -4203,8 +4257,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add NODE_ADDED, NODE_LEFT hooks", - "messageTitle" : "feat: add NODE_ADDED, NODE_LEFT hooks", - "messageBody" : "These hooks can be used to respond to nodes leaving or joining the\ncluster." + "messageBody" : "These hooks can be used to respond to nodes leaving or joining the\ncluster.", + "messageTitle" : "feat: add NODE_ADDED, NODE_LEFT hooks" } ] }, { "title" : "Code Refactoring", @@ -4250,8 +4304,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "extract registry logic", - "messageTitle" : "refactor: extract registry logic", - "messageBody" : "There is a registry logic that is commonly used. In order to reuse this\nlogic, I have moved this logic to a new WriteSafeRegistry class." + "messageBody" : "There is a registry logic that is commonly used. In order to reuse this\nlogic, I have moved this logic to a new WriteSafeRegistry class.", + "messageTitle" : "refactor: extract registry logic" } ] }, { "title" : "Chores", @@ -4297,8 +4351,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "change spotless code formatter", - "messageTitle" : "chore: change spotless code formatter", - "messageBody" : "Never join already wrapped lines." + "messageBody" : "Never join already wrapped lines.", + "messageTitle" : "chore: change spotless code formatter" } ] }, { "title" : "Documentation", @@ -4344,8 +4398,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "add user documentation", - "messageTitle" : "docs: add user documentation", - "messageBody" : "Adds user documentation for hooks, neonbee configuration options,\nverticle configuration. Changes the structure of the docs folder to\nbetter distinguish between development and user documentation." + "messageBody" : "Adds user documentation for hooks, neonbee configuration options,\nverticle configuration. Changes the structure of the docs folder to\nbetter distinguish between development and user documentation.", + "messageTitle" : "docs: add user documentation" }, { "hashFull" : "05d2bfbafeea873a1b5b88c7bdb84788967f3424", "hash" : "05d2bfbafeea873", @@ -4388,8 +4442,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "replace getting started section with link to neonbee-examples and add TOC", - "messageTitle" : "docs: replace getting started section with link to neonbee-examples and add TOC", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: replace getting started section with link to neonbee-examples and add TOC" } ] }, { "title" : "Build System", @@ -4435,8 +4489,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade vert.x to 4.3.7", - "messageTitle" : "build(deps): upgrade vert.x to 4.3.7", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade vert.x to 4.3.7" } ] } ] }, { @@ -4496,8 +4550,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "generated files have changed", - "messageTitle" : "fix: generated files have changed", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: generated files have changed" }, { "hashFull" : "ae52053a831c4e8c86931529a5f17445c229bda3", "hash" : "ae52053a831c4e8", @@ -4540,8 +4594,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "odata query encoding in EntityVerticle", - "messageTitle" : "fix: odata query encoding in EntityVerticle", - "messageBody" : "The parseUri method expects the query parameter to be in percent\nencoding, but it was decoded." + "messageBody" : "The parseUri method expects the query parameter to be in percent\nencoding, but it was decoded.", + "messageTitle" : "fix: odata query encoding in EntityVerticle" }, { "hashFull" : "4cccf60bd738557c898f24797ebb5405b1334b39", "hash" : "4cccf60bd738557", @@ -4584,8 +4638,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "dataquery cannot correctly process query strings", - "messageTitle" : "fix: dataquery cannot correctly process query strings", - "messageBody" : "The DataQuery expects a decoded query string in the setQuery method and\nin the constructors that accept a query parameter. These methods are\nnow deprecated since this cannot be fixed. A new method setRawQuery is\nintroduced which accepts the encoded query string and creates the\nparameters from it." + "messageBody" : "The DataQuery expects a decoded query string in the setQuery method and\nin the constructors that accept a query parameter. These methods are\nnow deprecated since this cannot be fixed. A new method setRawQuery is\nintroduced which accepts the encoded query string and creates the\nparameters from it.", + "messageTitle" : "fix: dataquery cannot correctly process query strings" } ] }, { "title" : "Features", @@ -4636,8 +4690,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "include a version file inside jar files", - "messageTitle" : "feat: include a version file inside jar files", - "messageBody" : "closes #198" + "messageBody" : "closes #198", + "messageTitle" : "feat: include a version file inside jar files" }, { "hashFull" : "f721875a5edb9454bc2df1dc420d9ca676a6d82a", "hash" : "f721875a5edb945", @@ -4680,8 +4734,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "load Hazelcast configuration from file", - "messageTitle" : "feat: load Hazelcast configuration from file", - "messageBody" : "Add loading hazelcast configurations from a file outside the classpath.\nFirst we search for the file on the classpath. If the file cannot be\nfound, we try to load the file with FileSystemXmlConfig.\n\nCo-authored-by: i536037 " + "messageBody" : "Add loading hazelcast configurations from a file outside the classpath.\nFirst we search for the file on the classpath. If the file cannot be\nfound, we try to load the file with FileSystemXmlConfig.\n\nCo-authored-by: i536037 ", + "messageTitle" : "feat: load Hazelcast configuration from file" } ] }, { "title" : "Build System", @@ -4727,8 +4781,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `com.fasterxml.jackson` to 2.13.4.2", - "messageTitle" : "build(deps): upgrade `com.fasterxml.jackson` to 2.13.4.2", - "messageBody" : "Fixes two CVEs:\n\n- [CVE-2022-42003](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42003)\n- [CVE-2022-42004](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42004)" + "messageBody" : "Fixes two CVEs:\n\n- [CVE-2022-42003](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42003)\n- [CVE-2022-42004](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42004)", + "messageTitle" : "build(deps): upgrade `com.fasterxml.jackson` to 2.13.4.2" }, { "hashFull" : "cb1be0edff012d809bc39e0812a5c5e7751c5bb0", "hash" : "cb1be0edff012d8", @@ -4771,8 +4825,8 @@ "rawCommitType" : "build", "rawCommitScope" : "docker", "rawCommitSubject" : "pin gradle version to 7.2", - "messageTitle" : "build(docker): pin gradle version to 7.2", - "messageBody" : "Keeps the gradle version of the project in sync with the one used to\nbuild neonbee within docker." + "messageBody" : "Keeps the gradle version of the project in sync with the one used to\nbuild neonbee within docker.", + "messageTitle" : "build(docker): pin gradle version to 7.2" } ] } ] }, { @@ -4832,8 +4886,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "multi-release issue w/ Infinispan", - "messageTitle" : "fix: multi-release issue w/ Infinispan", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: multi-release issue w/ Infinispan" }, { "hashFull" : "57616a86e072af9e04d72d4423ec91cf3223d079", "hash" : "57616a86e072af9", @@ -4876,8 +4930,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "close Infinispan cache container after NeonBee shutdown", - "messageTitle" : "fix: close Infinispan cache container after NeonBee shutdown", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: close Infinispan cache container after NeonBee shutdown" }, { "hashFull" : "d6130468bf22e32c42c6c467568c786607f59146", "hash" : "d6130468bf22e32", @@ -4920,8 +4974,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "#199, add tracing to EntityModelLoader and improve logging", - "messageTitle" : "fix: #199, add tracing to EntityModelLoader and improve logging", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: #199, add tracing to EntityModelLoader and improve logging" }, { "hashFull" : "869d68750e3af4bffe89fa66da3ffde9d53e434e", "hash" : "869d68750e3af4b", @@ -4964,8 +5018,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "odata query encoding", - "messageTitle" : "fix: odata query encoding", - "messageBody" : "The OdataRequest RawQueryPath is expected to be in Percent-encoding,\nbut it was decoded." + "messageBody" : "The OdataRequest RawQueryPath is expected to be in Percent-encoding,\nbut it was decoded.", + "messageTitle" : "fix: odata query encoding" } ] }, { "title" : "Features", @@ -5011,8 +5065,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "introduce a NeonBeeExtension.TestBase", - "messageTitle" : "feat: introduce a NeonBeeExtension.TestBase", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: introduce a NeonBeeExtension.TestBase" } ] }, { "title" : "Continuous Integration", @@ -5061,8 +5115,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "fix tests", - "messageTitle" : "ci: fix tests", - "messageBody" : "- Re-enable parallel test execution (old issues are fixed)\n- Better to reset the FakeClusterManager more often than not\n- The Infinispan cluster manager must be stopped after tests\n- A test with a timeout of over a hour is not good\n- Tests that create own Vert.x instances or NeonBee(s) must take care to also shut them down properly, which can be very tricky. Generally it is recommended to use existing test bases or extensios, as they take care to properly shut down the instance(s).\n- Tests that use the FakeClusterManager must run isolated\n- Test methods that are in a NeonBeeTestBase, but not require NeonBee, can now be tagged with a @Tag(DOESNT_REQUIRE_NEONBEE)\n- Improve StaleThreadChecker to locate all tests creating stale threads (set VERBOSE = true, disable parallel execution and enable showStandardStreams in build.gradle to run analysis)" + "messageBody" : "- Re-enable parallel test execution (old issues are fixed)\n- Better to reset the FakeClusterManager more often than not\n- The Infinispan cluster manager must be stopped after tests\n- A test with a timeout of over a hour is not good\n- Tests that create own Vert.x instances or NeonBee(s) must take care to also shut them down properly, which can be very tricky. Generally it is recommended to use existing test bases or extensios, as they take care to properly shut down the instance(s).\n- Tests that use the FakeClusterManager must run isolated\n- Test methods that are in a NeonBeeTestBase, but not require NeonBee, can now be tagged with a @Tag(DOESNT_REQUIRE_NEONBEE)\n- Improve StaleThreadChecker to locate all tests creating stale threads (set VERBOSE = true, disable parallel execution and enable showStandardStreams in build.gradle to run analysis)", + "messageTitle" : "ci: fix tests" } ] } ] }, { @@ -5122,8 +5176,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "pass SystemClassLoader to cluster manager configuration", - "messageTitle" : "fix: pass SystemClassLoader to cluster manager configuration", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: pass SystemClassLoader to cluster manager configuration" } ] } ] }, { @@ -5183,8 +5237,8 @@ "rawCommitType" : "fix", "rawCommitScope" : "health", "rawCommitSubject" : "make health check collection more resilient", - "messageTitle" : "fix(health): make health check collection more resilient", - "messageBody" : "Whenever a health check verticle did not answer, a failed future was\nreturned by the health check registry in the attempt of collecting all\nhealth check data. Especially in the clustered case this might\nhappen quite often due to restarts caused by a deployment, for instance.\nIn that case an error would be reported, although all relevent data\nmight be available.\n\nTherefore, this change makes the data collection more resilient by\nrespecting that some verticles might not be able to answer.\n\nOnce the de-registering of health check verticles from the shared map is\navailable/implemented, it should be less likely that this situation\nhappens, but still possible." + "messageBody" : "Whenever a health check verticle did not answer, a failed future was\nreturned by the health check registry in the attempt of collecting all\nhealth check data. Especially in the clustered case this might\nhappen quite often due to restarts caused by a deployment, for instance.\nIn that case an error would be reported, although all relevent data\nmight be available.\n\nTherefore, this change makes the data collection more resilient by\nrespecting that some verticles might not be able to answer.\n\nOnce the de-registering of health check verticles from the shared map is\navailable/implemented, it should be less likely that this situation\nhappens, but still possible.", + "messageTitle" : "fix(health): make health check collection more resilient" }, { "hashFull" : "44cd03799231f03e99fe2779e9869db0b6b8eab9", "hash" : "44cd03799231f03", @@ -5227,8 +5281,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "removed docker image tag with sha", - "messageTitle" : "fix: removed docker image tag with sha", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: removed docker image tag with sha" }, { "hashFull" : "5d3999b2cd152521e39703d1ffd0b62f164b2af1", "hash" : "5d3999b2cd15252", @@ -5271,8 +5325,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "register NeonBee mock", - "messageTitle" : "fix: register NeonBee mock", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: register NeonBee mock" }, { "hashFull" : "d8b9b1f2fde33df7127ba03b31124db05f8ddc0f", "hash" : "d8b9b1f2fde33df", @@ -5315,8 +5369,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "make SystemClassLoader available to Infinispan", - "messageTitle" : "fix: make SystemClassLoader available to Infinispan", - "messageBody" : "When Infinispan is initialized it is using the ContextClassLoader of the current Thread to resolve resources. The ContextClassLoader of a Vert.x event loop is initially null, which causes Infinispan to fail." + "messageBody" : "When Infinispan is initialized it is using the ContextClassLoader of the current Thread to resolve resources. The ContextClassLoader of a Vert.x event loop is initially null, which causes Infinispan to fail.", + "messageTitle" : "fix: make SystemClassLoader available to Infinispan" } ] }, { "title" : "Features", @@ -5362,8 +5416,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add option to set metrics registry name", - "messageTitle" : "feat: add option to set metrics registry name", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add option to set metrics registry name" } ] }, { "title" : "Code Refactoring", @@ -5409,8 +5463,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "registerNeonBeeMock should not influence mock", - "messageTitle" : "refactor: registerNeonBeeMock should not influence mock", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: registerNeonBeeMock should not influence mock" } ] } ] }, { @@ -5470,8 +5524,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "failing metrics test on Github", - "messageTitle" : "fix: failing metrics test on Github", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: failing metrics test on Github" } ] }, { "title" : "Features", @@ -5517,8 +5571,8 @@ "rawCommitType" : "feat", "rawCommitScope" : "health", "rawCommitSubject" : "add event-loop health check", - "messageTitle" : "feat(health): add event-loop health check", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat(health): add event-loop health check" }, { "hashFull" : "e522452fd9dc647b3d3d36ac25f8968258f08bbb", "hash" : "e522452fd9dc647", @@ -5561,8 +5615,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "use Vert.x FakeClusterManager in NeonBeeExtension", - "messageTitle" : "feat: use Vert.x FakeClusterManager in NeonBeeExtension", - "messageBody" : "Tests based on NeonBeeExtension are very slow, because NeonBeeExtension always constructs a real\nHazelcast cluster. With this change NeonBeeExtension will use the Vert.x FakeClusterManager which\nspeed up these tests dramatically." + "messageBody" : "Tests based on NeonBeeExtension are very slow, because NeonBeeExtension always constructs a real\nHazelcast cluster. With this change NeonBeeExtension will use the Vert.x FakeClusterManager which\nspeed up these tests dramatically.", + "messageTitle" : "feat: use Vert.x FakeClusterManager in NeonBeeExtension" }, { "hashFull" : "32e5d120aabf42801494f17f2d2d61252d7d9c83", "hash" : "32e5d120aabf428", @@ -5605,8 +5659,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make test cluster manager configurable", - "messageTitle" : "feat: make test cluster manager configurable", - "messageBody" : "This change allows to choose the ClusterManager that will be used for\nthe test execution. The default is the vert.x FakeClusterManager. You\ncan choose other ClusterManagers by setting the testClusterManager\nvalue in the NeonBeeInstanceConfiguration annotation." + "messageBody" : "This change allows to choose the ClusterManager that will be used for\nthe test execution. The default is the vert.x FakeClusterManager. You\ncan choose other ClusterManagers by setting the testClusterManager\nvalue in the NeonBeeInstanceConfiguration annotation.", + "messageTitle" : "feat: make test cluster manager configurable" }, { "hashFull" : "26bb382e86532383e2ac9ceca19776eae93d09cf", "hash" : "26bb382e8653238", @@ -5649,8 +5703,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add Infinispan ClusterManager", - "messageTitle" : "feat: add Infinispan ClusterManager", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add Infinispan ClusterManager" } ] }, { "title" : "Code Refactoring", @@ -5696,8 +5750,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "remove redundant code", - "messageTitle" : "refactor: remove redundant code", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: remove redundant code" } ] }, { "title" : "Documentation", @@ -5743,8 +5797,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "add docker login step to docs", - "messageTitle" : "docs: add docker login step to docs", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: add docker login step to docs" } ] }, { "title" : "Build System", @@ -5790,8 +5844,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.3.4", - "messageTitle" : "build(deps): upgrade `vertx` to 4.3.4", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.3.4" } ] }, { "title" : "Continuous Integration", @@ -5837,8 +5891,8 @@ "rawCommitType" : "ci", "rawCommitScope" : "github", "rawCommitSubject" : "update issue templates", - "messageTitle" : "ci(github): update issue templates", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci(github): update issue templates" }, { "hashFull" : "7152dba0bfb8cd93b8aea5aa6d74e1e3c0f87fad", "hash" : "7152dba0bfb8cd9", @@ -5881,8 +5935,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add workflow step to publish docker image to ghcr", - "messageTitle" : "ci: add workflow step to publish docker image to ghcr", - "messageBody" : "With this change the publish workflow is extended by another step which\nbuilds the docker image and pushes it to GitHub Container Registry\n(ghcr).\n\nCo-authored-by: Sebastian Heid " + "messageBody" : "With this change the publish workflow is extended by another step which\nbuilds the docker image and pushes it to GitHub Container Registry\n(ghcr).\n\nCo-authored-by: Sebastian Heid ", + "messageTitle" : "ci: add workflow step to publish docker image to ghcr" } ] } ] }, { @@ -5942,8 +5996,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "same NeonBee nodeId for multiple instances", - "messageTitle" : "fix: same NeonBee nodeId for multiple instances", - "messageBody" : "The random NeonBee NODE_ID is the same for all NeonBee instances loaded\nfrom the same classloader. This fix makes the NeonBee nodeId an instance\nvariable so that each NeonBee instance has its own nodeId." + "messageBody" : "The random NeonBee NODE_ID is the same for all NeonBee instances loaded\nfrom the same classloader. This fix makes the NeonBee nodeId an instance\nvariable so that each NeonBee instance has its own nodeId.", + "messageTitle" : "fix: same NeonBee nodeId for multiple instances" }, { "hashFull" : "05559de7245b1828487465eee93b3f8641e84bd5", "hash" : "05559de7245b182", @@ -5986,8 +6040,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "pass vertx instance to NeonBee for the metrics config", - "messageTitle" : "fix: pass vertx instance to NeonBee for the metrics config", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: pass vertx instance to NeonBee for the metrics config" } ] }, { "title" : "Features", @@ -6033,8 +6087,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "support response hint", - "messageTitle" : "feat: support response hint", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: support response hint" }, { "hashFull" : "c7fa2bdb0b80fea421d95175a5af88bcde0c4cf7", "hash" : "c7fa2bdb0b80fea", @@ -6077,8 +6131,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add failureDetail to DataException", - "messageTitle" : "feat: add failureDetail to DataException", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add failureDetail to DataException" } ] } ] }, { @@ -6138,8 +6192,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "speed up the test execution", - "messageTitle" : "fix: speed up the test execution", - "messageBody" : "The test method NeonBeeMetricsTest#testCustomMetric occasionally takes\nmore than a minute to execute. By setting setIgnoreClassPath to true,\nthe test will execute in less than 15 seconds." + "messageBody" : "The test method NeonBeeMetricsTest#testCustomMetric occasionally takes\nmore than a minute to execute. By setting setIgnoreClassPath to true,\nthe test will execute in less than 15 seconds.", + "messageTitle" : "fix: speed up the test execution" }, { "hashFull" : "1e29e130dde52f14f55e9a3498e843baf9ab2b34", "hash" : "1e29e130dde52f1", @@ -6182,8 +6236,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "disable unstable test on github", - "messageTitle" : "fix: disable unstable test on github", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: disable unstable test on github" } ] }, { "title" : "Features", @@ -6229,8 +6283,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make ServerVerticle handler configurable", - "messageTitle" : "feat: make ServerVerticle handler configurable", - "messageBody" : "The `ServerVerticle` attaches request handlers to the route. The request\nhandlers attached to the route cannot be changed at the moment. This\nchange makes the request handlers that the `ServerVerticle` attaches to\nthe route configurable.\n\nA `RoutingHandlerFactory` is used to create an instance of the\n`Handler` class. In the `ServerConfig`, a list of\n`RoutingHandlerFactory` class names is used to specify the\n`RoutingHandlerFactory`. The handler created by the\n`RoutingHandlerFactory` is then added to the root route. The request\nhandlers are added in the order specified in the `ServerConfig` list." + "messageBody" : "The `ServerVerticle` attaches request handlers to the route. The request\nhandlers attached to the route cannot be changed at the moment. This\nchange makes the request handlers that the `ServerVerticle` attaches to\nthe route configurable.\n\nA `RoutingHandlerFactory` is used to create an instance of the\n`Handler` class. In the `ServerConfig`, a list of\n`RoutingHandlerFactory` class names is used to specify the\n`RoutingHandlerFactory`. The handler created by the\n`RoutingHandlerFactory` is then added to the root route. The request\nhandlers are added in the order specified in the `ServerConfig` list.", + "messageTitle" : "feat: make ServerVerticle handler configurable" } ] }, { "title" : "Documentation", @@ -6276,8 +6330,8 @@ "rawCommitType" : "docs", "rawCommitScope" : "health", "rawCommitSubject" : "add documentation for the health feature", - "messageTitle" : "docs(health): add documentation for the health feature", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs(health): add documentation for the health feature" } ] }, { "title" : "Build System", @@ -6323,8 +6377,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.3.3", - "messageTitle" : "build(deps): upgrade `vertx` to 4.3.3", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.3.3" } ] } ] }, { @@ -6384,8 +6438,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "log the NeonBee Id", - "messageTitle" : "chore: log the NeonBee Id", - "messageBody" : "Logging the NeonBee Id is helpful for correlating the started NeonBee\nwith an instance in case of a multi-node clustered deployment.\nEspecially, for node-specific health checks this is necessary in order\nto identify the nodes." + "messageBody" : "Logging the NeonBee Id is helpful for correlating the started NeonBee\nwith an instance in case of a multi-node clustered deployment.\nEspecially, for node-specific health checks this is necessary in order\nto identify the nodes.", + "messageTitle" : "chore: log the NeonBee Id" }, { "hashFull" : "367eef5b690666dc91b08939d940073b172a6599", "hash" : "367eef5b690666d", @@ -6428,8 +6482,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "remove physical memory from health check data", - "messageTitle" : "chore: remove physical memory from health check data", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: remove physical memory from health check data" } ] }, { "title" : "Build System", @@ -6475,8 +6529,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.3.2", - "messageTitle" : "build(deps): upgrade `vertx` to 4.3.2", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.3.2" }, { "hashFull" : "88d89b1e45bebec5d60bf754f8e98920d0f696ec", "hash" : "88d89b1e45bebec", @@ -6519,8 +6573,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade org.ow2.asm to version 9.3", - "messageTitle" : "build(deps): upgrade org.ow2.asm to version 9.3", - "messageBody" : "Upgrading asm to version 9.3 is required, otherwise NeonBee ClasspathScanner is\nno longer able to scan class files compiled with java 12 or higher." + "messageBody" : "Upgrading asm to version 9.3 is required, otherwise NeonBee ClasspathScanner is\nno longer able to scan class files compiled with java 12 or higher.", + "messageTitle" : "build(deps): upgrade org.ow2.asm to version 9.3" }, { "hashFull" : "479456f99ae643f4dcc0f68c3186911d5fd3ec42", "hash" : "479456f99ae643f", @@ -6563,8 +6617,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade dependencies", - "messageTitle" : "build(deps): upgrade dependencies", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade dependencies" } ] } ] }, { @@ -6624,8 +6678,8 @@ "rawCommitType" : "fix", "rawCommitScope" : "health", "rawCommitSubject" : "succeed if health check config not found", - "messageTitle" : "fix(health): succeed if health check config not found", - "messageBody" : "This change ensures that reading the health check config file from the\nconfig directory succeeds in case the file does not exist and returns\nthe default configuration otherwise." + "messageBody" : "This change ensures that reading the health check config file from the\nconfig directory succeeds in case the file does not exist and returns\nthe default configuration otherwise.", + "messageTitle" : "fix(health): succeed if health check config not found" }, { "hashFull" : "8238ec8d1aebca301e0b17333c83c17dd5f31100", "hash" : "8238ec8d1aebca3", @@ -6680,8 +6734,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "do not mock NeonBee logger in NeonBeeMockHelper", - "messageTitle" : "fix: do not mock NeonBee logger in NeonBeeMockHelper", - "messageBody" : "Since, the logger was chenged to a constant in the NeonBee class, it is\nno longer neccessary to create a logger in the `NeonBeeMockHelper`.\n\nResolves #130" + "messageBody" : "Since, the logger was chenged to a constant in the NeonBee class, it is\nno longer neccessary to create a logger in the `NeonBeeMockHelper`.\n\nResolves #130", + "messageTitle" : "fix: do not mock NeonBee logger in NeonBeeMockHelper" }, { "hashFull" : "03d9e5350fd3fc7dbd5dcf12dacec9f1220e0009", "hash" : "03d9e5350fd3fc7", @@ -6724,8 +6778,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "avoid printing warnings when using NeonBeeMockHelper", - "messageTitle" : "fix: avoid printing warnings when using NeonBeeMockHelper", - "messageBody" : "In the defaultVertxMock() method of the `NeonBeeMockHelper`,\n`VertxInternal` should be mocked instead of `Vertx` as the Vertx mock\ndoes not have a method addCloseHook(). Since the method\n`NeonBee.registerCloseHandler()` is accessing `addCloseHook` on the\nmocked Vertx, it is unkown and thus fails. This prints a warning to the\nconsole when executing tests that pass the Vertx mock created by\ndefaultVertxMock(...) to the registerNeonBeeMock(...) method." + "messageBody" : "In the defaultVertxMock() method of the `NeonBeeMockHelper`,\n`VertxInternal` should be mocked instead of `Vertx` as the Vertx mock\ndoes not have a method addCloseHook(). Since the method\n`NeonBee.registerCloseHandler()` is accessing `addCloseHook` on the\nmocked Vertx, it is unkown and thus fails. This prints a warning to the\nconsole when executing tests that pass the Vertx mock created by\ndefaultVertxMock(...) to the registerNeonBeeMock(...) method.", + "messageTitle" : "fix: avoid printing warnings when using NeonBeeMockHelper" } ] }, { "title" : "Features", @@ -6771,8 +6825,8 @@ "rawCommitType" : "feat", "rawCommitScope" : "health", "rawCommitSubject" : "add health check verticle", - "messageTitle" : "feat(health): add health check verticle", - "messageBody" : "With this change a `HealthCheckVerticle` is introduced which which is\nregistering its name into the shared map of NeonBee. It also implements\nthe `retrieveData` method, which invokes all health checks that are\nregistered to the health check registry and returns the results of the\nchecks.\n\nRetrieving and consolidating the data from all HealthCheckVerticles that\nare deployed (and registered in the shared map), is done in the\n`HealthCheckRegistry` which now offers a new `createRequests` method.\nThe method returns a consolidated result of all nodes (including both\nglobal and node-specific checks).\n\nThe memory and hazelcast cluster health check naming patterns contained\na `/` which is used by the vertx-health-check extension to differentiate\ngroups. This causes node-specific check to only contain everything after\nthe last `/` of the id of a check. Therefore, `.` is now used as a new\nseparator for health check names." + "messageBody" : "With this change a `HealthCheckVerticle` is introduced which which is\nregistering its name into the shared map of NeonBee. It also implements\nthe `retrieveData` method, which invokes all health checks that are\nregistered to the health check registry and returns the results of the\nchecks.\n\nRetrieving and consolidating the data from all HealthCheckVerticles that\nare deployed (and registered in the shared map), is done in the\n`HealthCheckRegistry` which now offers a new `createRequests` method.\nThe method returns a consolidated result of all nodes (including both\nglobal and node-specific checks).\n\nThe memory and hazelcast cluster health check naming patterns contained\na `/` which is used by the vertx-health-check extension to differentiate\ngroups. This causes node-specific check to only contain everything after\nthe last `/` of the id of a check. Therefore, `.` is now used as a new\nseparator for health check names.", + "messageTitle" : "feat(health): add health check verticle" }, { "hashFull" : "151cf6e211aed7d8de50fe76eb90ab5c3ba3145c", "hash" : "151cf6e211aed7d", @@ -6815,8 +6869,8 @@ "rawCommitType" : "feat", "rawCommitScope" : "health", "rawCommitSubject" : "provide a `/health` endpoint", - "messageTitle" : "feat(health): provide a `/health` endpoint", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat(health): provide a `/health` endpoint" }, { "hashFull" : "1afca66cda6a0eff520035a6ddf177bf4a4ce5a7", "hash" : "1afca66cda6a0ef", @@ -6859,8 +6913,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add metrics to DataVerticle", - "messageTitle" : "feat: add metrics to DataVerticle", - "messageBody" : "This feature adds metrics for the DataVertical methods requestData and\nretrieveData. Four metrics are implemented.\nTime metric How long it takes to retrieve the data.\nStatus counter How many requests completed successfully, how many\n requests failed\nNumber of requests Total of all requests\nActive requests How many requests are currently open\n\nThe metrics are disabled by default. You can enable the metrics for all DataVerticle by setting\nthe NeonBeeConfig metrics.enabled value to true. The metrics can be also configured using the\nverticle configuration. To enable the metrics for a individual DataVerticle, it is necessary to\nadd the config.metrics.enabled key with the value true. In addition, you can enable only specific\nmetrics by specifying the metrics configuration name and a true value in the verticle\nconfiguration. If you have added a metrics configuration key, only the values with the specified\ntrue value are enabled. All others are disabled.\n\nComplete yaml example configuration to enable the metrics:\nconfig:\n metrics:\n enabled: true\n meterRegistryName: SomeRegistryName\n reportNumberOfRequests: true\n reportActiveRequests: true\n reportStatusCounter: true\n reportTiming: true" + "messageBody" : "This feature adds metrics for the DataVertical methods requestData and\nretrieveData. Four metrics are implemented.\nTime metric How long it takes to retrieve the data.\nStatus counter How many requests completed successfully, how many\n requests failed\nNumber of requests Total of all requests\nActive requests How many requests are currently open\n\nThe metrics are disabled by default. You can enable the metrics for all DataVerticle by setting\nthe NeonBeeConfig metrics.enabled value to true. The metrics can be also configured using the\nverticle configuration. To enable the metrics for a individual DataVerticle, it is necessary to\nadd the config.metrics.enabled key with the value true. In addition, you can enable only specific\nmetrics by specifying the metrics configuration name and a true value in the verticle\nconfiguration. If you have added a metrics configuration key, only the values with the specified\ntrue value are enabled. All others are disabled.\n\nComplete yaml example configuration to enable the metrics:\nconfig:\n metrics:\n enabled: true\n meterRegistryName: SomeRegistryName\n reportNumberOfRequests: true\n reportActiveRequests: true\n reportStatusCounter: true\n reportTiming: true", + "messageTitle" : "feat: add metrics to DataVerticle" }, { "hashFull" : "71e754e1278fd48da21820cf0eb4cef46114d88e", "hash" : "71e754e1278fd48", @@ -6903,8 +6957,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make health checks addable via SPI", - "messageTitle" : "feat: make health checks addable via SPI", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: make health checks addable via SPI" } ] } ] }, { @@ -6964,8 +7018,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "broken ChainAuthHandler", - "messageTitle" : "fix: broken ChainAuthHandler", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: broken ChainAuthHandler" } ] } ] }, { @@ -7025,8 +7079,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "remove LauncherPreProcessor", - "messageTitle" : "feat: remove LauncherPreProcessor", - "messageBody" : "This change removes the LauncherPreProcessor.\n\nBREAKING CHANGE: It was decided that the LauncherPreProcessor is not needed, and therefore it is removed." + "messageBody" : "This change removes the LauncherPreProcessor.\n\nBREAKING CHANGE: It was decided that the LauncherPreProcessor is not needed, and therefore it is removed.", + "messageTitle" : "feat: remove LauncherPreProcessor" } ] }, { "title" : "Bug Fixes", @@ -7072,8 +7126,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "assertDataFailure should return a succeeded future", - "messageTitle" : "fix: assertDataFailure should return a succeeded future", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: assertDataFailure should return a succeeded future" }, { "hashFull" : "f263eac5c35b15549daf4a410641a844b7edeb08", "hash" : "f263eac5c35b155", @@ -7116,8 +7170,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "enable tests to run in intellij idea with coverage", - "messageTitle" : "fix: enable tests to run in intellij idea with coverage", - "messageBody" : "IntelliJ IDEA seems to inject a bunch of libraries to the\nclasspath/classloader when running tests in coverage mode. This leads to\nissues when running tests where classpath scanning is involved, because\nfor example classes like:\norg.jetbrains.coverage.org.objectweb.asm.ClassReader and\norg.jetbrains.coverage.org.objectweb.asm.Opcodes (as well as many more)\nare found during the classpath scan even if they not match the lookup\ncriteria.\n\nTherefore, the list of found files is filtered to clean it up from\nIntelliJ IDEA injected classes." + "messageBody" : "IntelliJ IDEA seems to inject a bunch of libraries to the\nclasspath/classloader when running tests in coverage mode. This leads to\nissues when running tests where classpath scanning is involved, because\nfor example classes like:\norg.jetbrains.coverage.org.objectweb.asm.ClassReader and\norg.jetbrains.coverage.org.objectweb.asm.Opcodes (as well as many more)\nare found during the classpath scan even if they not match the lookup\ncriteria.\n\nTherefore, the list of found files is filtered to clean it up from\nIntelliJ IDEA injected classes.", + "messageTitle" : "fix: enable tests to run in intellij idea with coverage" }, { "hashFull" : "649b54c9a181196d0812bca9d922fdd4a030c12c", "hash" : "649b54c9a181196", @@ -7160,8 +7214,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "loading the NeonBee configuration", - "messageTitle" : "fix: loading the NeonBee configuration", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: loading the NeonBee configuration" } ] }, { "title" : "Features", @@ -7207,8 +7261,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add temporary vertx instance", - "messageTitle" : "feat: add temporary vertx instance", - "messageBody" : "Add a temporary Vert.x instance to load the NeonBeeConfig in the\nLauncher. This Vert.x instance is also passed to the new\nLauncherPreProcessor execute method. The MicrometerRegistryLoader has\nbeen modified accordingly to add the ability to pass a Vert.x instance\nto the load method." + "messageBody" : "Add a temporary Vert.x instance to load the NeonBeeConfig in the\nLauncher. This Vert.x instance is also passed to the new\nLauncherPreProcessor execute method. The MicrometerRegistryLoader has\nbeen modified accordingly to add the ability to pass a Vert.x instance\nto the load method.", + "messageTitle" : "feat: add temporary vertx instance" }, { "hashFull" : "89036cca64103677197b16759641ddc3c56bf140", "hash" : "89036cca6410367", @@ -7251,8 +7305,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "load endpoints asynchronously", - "messageTitle" : "feat!: load endpoints asynchronously", - "messageBody" : "In order to be able to use Vert.x OpenAPI, it is required that NeonBee\ncan load its endpoints asynchronous.\n\nBreaking Change: This change is breaking, because the return value of\nEndpoint.createEndpointRouter() changes from Router to Future." + "messageBody" : "In order to be able to use Vert.x OpenAPI, it is required that NeonBee\ncan load its endpoints asynchronous.\n\nBreaking Change: This change is breaking, because the return value of\nEndpoint.createEndpointRouter() changes from Router to Future.", + "messageTitle" : "feat!: load endpoints asynchronously" }, { "hashFull" : "4032df4bd2701afbfc2f41e7c237a2b70f009f80", "hash" : "4032df4bd2701af", @@ -7295,8 +7349,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add abstract OpenAPI endpoint", - "messageTitle" : "feat: add abstract OpenAPI endpoint", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add abstract OpenAPI endpoint" }, { "hashFull" : "e4e93552479589d0b321855efd2d7dc6a3812553", "hash" : "e4e93552479589d", @@ -7351,8 +7405,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add health checks", - "messageTitle" : "feat: add health checks", - "messageBody" : "In order to provide a generic and extendable way of creating health\nchecks in NeonBee, a central registry is needed where health checks can\nbe provided. To achieve this, a `HealthCheckRegistry` is added to\nNeonBee which will keep track of all default health checks of NeonBee\nand custom health checks provided by the NeonBee user.\n\nVert.x already comes with a health check plugin which will be used for\nthe health check objects that can be registered on to the registry.\nHowever, as the plugin does not prevent overriding of already existing\nhealth check procedures, a wrapper is necessary to provide this\nfunctionality. In addition, a caching mechanism is implemented which can\nbe controlled via the retention time. The retention time is the time\nfrom the last health check until a new health check procedure is\ntriggered. If the next health check is inside this retention window, the\ncached result of the previous health check will be returned.\n\nThe health checks can be be globally enabled / disabled and a timeout\nfor the checks can be set via the NeonBeeConfig.\n\nResolves #117" + "messageBody" : "In order to provide a generic and extendable way of creating health\nchecks in NeonBee, a central registry is needed where health checks can\nbe provided. To achieve this, a `HealthCheckRegistry` is added to\nNeonBee which will keep track of all default health checks of NeonBee\nand custom health checks provided by the NeonBee user.\n\nVert.x already comes with a health check plugin which will be used for\nthe health check objects that can be registered on to the registry.\nHowever, as the plugin does not prevent overriding of already existing\nhealth check procedures, a wrapper is necessary to provide this\nfunctionality. In addition, a caching mechanism is implemented which can\nbe controlled via the retention time. The retention time is the time\nfrom the last health check until a new health check procedure is\ntriggered. If the next health check is inside this retention window, the\ncached result of the previous health check will be returned.\n\nThe health checks can be be globally enabled / disabled and a timeout\nfor the checks can be set via the NeonBeeConfig.\n\nResolves #117", + "messageTitle" : "feat: add health checks" }, { "hashFull" : "6adeaad73022757dd8517b312fda2484b986f603", "hash" : "6adeaad73022757", @@ -7395,8 +7449,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "ensure compatibility with Java 17", - "messageTitle" : "feat: ensure compatibility with Java 17", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: ensure compatibility with Java 17" } ] }, { "title" : "Code Refactoring", @@ -7442,8 +7496,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "created methods to reuse code", - "messageTitle" : "refactor: created methods to reuse code", - "messageBody" : "Created methods to be able to reuse the code to parse the command line options." + "messageBody" : "Created methods to be able to reuse the code to parse the command line options.", + "messageTitle" : "refactor: created methods to reuse code" } ] }, { "title" : "Build System", @@ -7489,8 +7543,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.2.5", - "messageTitle" : "build(deps): upgrade `vertx` to 4.2.5", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.2.5" }, { "hashFull" : "624de7dee090f563280bc09a1b4659054e8c6466", "hash" : "624de7dee090f56", @@ -7533,8 +7587,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.2.6", - "messageTitle" : "build(deps): upgrade `vertx` to 4.2.6", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.2.6" }, { "hashFull" : "368451f10540bcd72f5b8f4382796e68c8cbf030", "hash" : "368451f10540bcd", @@ -7577,8 +7631,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.2.7", - "messageTitle" : "build(deps): upgrade `vertx` to 4.2.7", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `vertx` to 4.2.7" } ] } ] }, { @@ -7638,8 +7692,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "allow no active profile, make ALL the default", - "messageTitle" : "fix: allow no active profile, make ALL the default", - "messageBody" : "Allow to set null / an empty list as active profiles, which means that no profiles are to be deployed and NeonBee will start with the system verticles only." + "messageBody" : "Allow to set null / an empty list as active profiles, which means that no profiles are to be deployed and NeonBee will start with the system verticles only.", + "messageTitle" : "fix: allow no active profile, make ALL the default" }, { "hashFull" : "9d01198bb66ee32c1afedcdba4b52cdfeb145e28", "hash" : "9d01198bb66ee32", @@ -7682,8 +7736,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "prefer loading Vert.x/NeonBee from system class loader", - "messageTitle" : "fix: prefer loading Vert.x/NeonBee from system class loader", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: prefer loading Vert.x/NeonBee from system class loader" } ] }, { "title" : "Features", @@ -7729,8 +7783,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add NeonBee vs. Vert.x to README.md", - "messageTitle" : "feat: add NeonBee vs. Vert.x to README.md", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add NeonBee vs. Vert.x to README.md" }, { "hashFull" : "ca5d8be2e6c4d93e534bb3dc38ee873413a5832c", "hash" : "ca5d8be2e6c4d93", @@ -7773,8 +7827,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make NeonBee boot logging a little more verbose", - "messageTitle" : "feat: make NeonBee boot logging a little more verbose", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: make NeonBee boot logging a little more verbose" } ] }, { "title" : "Code Refactoring", @@ -7820,8 +7874,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "change to futurized interfaces", - "messageTitle" : "refactor: change to futurized interfaces", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: change to futurized interfaces" }, { "hashFull" : "e98615bbb62797ba28cd974576c7af8bc4a90d44", "hash" : "e98615bbb62797b", @@ -7864,8 +7918,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "improve wildcard handling in SelfFirstClassLoader", - "messageTitle" : "refactor: improve wildcard handling in SelfFirstClassLoader", - "messageBody" : "So far the SelfFirstClassLoader only allowed to specify parentPreferred className if the wildcard was at the end of the string like:\n\nio.neonbee.*\n\nIf the wildcard was in any other position, the check failed. In additional the general implementation of the check was implemented inefficiently, because of a list traversal, on every check, which is, for modules, every class that is to be loaded.\n\nThis change improves the wildcard logic, by compiling a pattern on initialization of the SelfFirstClassLoader, also allowing more complex patterns like:\n\nio.neonbee.*.TestClass" + "messageBody" : "So far the SelfFirstClassLoader only allowed to specify parentPreferred className if the wildcard was at the end of the string like:\n\nio.neonbee.*\n\nIf the wildcard was in any other position, the check failed. In additional the general implementation of the check was implemented inefficiently, because of a list traversal, on every check, which is, for modules, every class that is to be loaded.\n\nThis change improves the wildcard logic, by compiling a pattern on initialization of the SelfFirstClassLoader, also allowing more complex patterns like:\n\nio.neonbee.*.TestClass", + "messageTitle" : "refactor: improve wildcard handling in SelfFirstClassLoader" } ] }, { "title" : "Continuous Integration", @@ -7911,8 +7965,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "automate dependency upgrade (of vertx)", - "messageTitle" : "ci: automate dependency upgrade (of vertx)", - "messageBody" : "With the dependency upgrade workflow, bumping the version of vertx (and\nin the future also other dependencies) will be automated.\n\nThe workflow checks every day at midnight if a new release version of\nvertx is available. If it finds a new version, a pull request will be\ncreated which updates the version in the build.gradle." + "messageBody" : "With the dependency upgrade workflow, bumping the version of vertx (and\nin the future also other dependencies) will be automated.\n\nThe workflow checks every day at midnight if a new release version of\nvertx is available. If it finds a new version, a pull request will be\ncreated which updates the version in the build.gradle.", + "messageTitle" : "ci: automate dependency upgrade (of vertx)" } ] } ] }, { @@ -7972,8 +8026,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "NPE ImmutableJsonObject/Array for null values", - "messageTitle" : "fix: NPE ImmutableJsonObject/Array for null values", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: NPE ImmutableJsonObject/Array for null values" } ] } ] }, { @@ -8033,8 +8087,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "null values queried with contains", - "messageTitle" : "fix: null values queried with contains", - "messageBody" : "This fixes the problem that if an entity attribute can contain null\nvalues, it was not possible to query this attribute with a query like\ncontains(x,'y') or contains(x,'Y')" + "messageBody" : "This fixes the problem that if an entity attribute can contain null\nvalues, it was not possible to query this attribute with a query like\ncontains(x,'y') or contains(x,'Y')", + "messageTitle" : "fix: null values queried with contains" } ] }, { "title" : "Features", @@ -8080,8 +8134,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "made `EntityModelManager` a non-static class", - "messageTitle" : "feat: made `EntityModelManager` a non-static class", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: made `EntityModelManager` a non-static class" }, { "hashFull" : "b578bace738e82646da062b2723f61909da33b62", "hash" : "b578bace738e826", @@ -8124,8 +8178,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "improve `Launcher`, `Deployable`, `EntityModelManager` and more", - "messageTitle" : "feat: improve `Launcher`, `Deployable`, `EntityModelManager` and more", - "messageBody" : "This change is huge... I am sorry, but here is a video of me explaining why the change got so huge [1]. Sorry? Good news tough: All changes have been made interface and thus downwards compatible to the old NeonBee version, thus no adaptions to existing functionality should become necessary. Let me go into detail what changed and which quality of life / boy scout rule improvements have been made:\n\n- Many NeonBee methods had been introduced in a pre-Vert.x 4-era. Meaning they did not take advantage of the futurization process Vert.x went through. This change rewrites many methods and simplifies them by switching the futurized methods, instead of methods using handlers.\n\n- Improved the NeonBee bootstrap by making it more asynchronous, by changing the structure of method calls throughout the boot process and wrapping blocking code in `AsyncHelper.executeBlocking` calls.\n\n- Simplified implementation of the `Launcher` class. Instead of manually defining and parsing all options in the launcher to get to a `NeonBeeOption` instance, instead switching to Vert.x's annotation-based `CLIConfigurator` implementation. Annotations are now defined directly in the `NeonBeeOptions` and injected into the `NeonBeeOptions` instance by the `CLIConfigurator`. This makes it much simpler and less error prone to define options and makes it also clear: everything that is in `NeonBeeOptions` can be defined through the command-line or environment. For the latter a `EnvironmentAwareCommandLine` was introduced, that also considers the environment variables if no options are set as arguments, deprecating all \"helper methods\" that have been there for only this reason.\n\n- Added a new `development_conventions.md` document, that elaborates many \"hidden rules\" that we came up over the years, when it comes to coding conventions, such as: naming conventions for NeonBee variables, whether to use an instance to `NeonBee` or to `Vertx`, where to place `Context` variables in method signatures and how to properly correlate log messages. Then, in this change, a couple of old methods have been cleaned up to fit this new guiding document.\n\n- The old naming choice for the \"/verticles\" subfolder does no longer make sense, because not only verticles are deployed by the `DeployerVerticle`, but full \"modules\". Thus, introduced a new `getModulesDirectory` method to `NeonBeeOptions` and deprecated the old `getVerticlesDirectory`. Two `DeployerVerticle` will now take care to deploy the old and the new directory if necessary (present).\n\n- Introduced a new --module-jar-paths option to NeonBee options, that allows to define paths to module JARs, that will get deployed during the bootstrap phase of NeonBee into own self-first class-loaders. Previously the only option to deploy modules was through NeonBees `DeployerVerticle`, that was watching the `verticles` sub-directory for changes. The new option grants to also deploy modules that are not physically in that folder.\n\n- Split up `EntityModelManager` into its (previously embedded) sub-classes by introducing a package private `EntityModelLoader` class. Futurized many of its methods and improved the concept for registering \"external models\": Previously modules did register / unregister models to the `EntityModelManager` by using their module identifier as a unique key. The `EntityModelManager` kept a private map of these IDs (`BUFFERED_MODULE_MODELS`) mapping to a set of compiled `EntityModel` objects. Now the concept was changed by introducing a new `EntityModelDefinition` object, that can be used to influence compilation of models of the `EntityModelManager`. Whenever a `EntityModelDefinition` is added / removed from the `EntityModelManager` it will attempt to compile a new \"global\" set of models. This allows for inter-dependent models and sets up the `EntityModelManager` for an upcoming change to be completely remodeled in order to support versioned models going forward (see the roadmap). It also makes managing the \"external models\" more easy, because no longer we need to hold a map of identifiers, but only a `Set` to be maintained by the `EntityModelManager`. This makes it useful not only to modules, but any object that needs to deal with model generation can now supply a `EntityModelDefinition`.\n\n- Removed `NeonBeeModule` in favor of a new `DeployableModule`. The `Deployable` interface was thought to become a generic object. Everything that can be deployed to NeonBee should inherit `Deployable`. `NeonBeeModule` violated this pattern and implemented much the same logic. Now the whole `io.neonbee.internal.deploy` package is consistent again, by introducing a `DeployableModels` (that can deploy `EntityModelDefinition` object), `DeployableModule` (that parses JAR files and splits them up into `DeployableModels` and `DeployableVerticles`) and a generic `Deployables` class, that handles deployments of multiple `Deployable` objects. This makes the whole deployment much cleaner, as for NeonBee everything is now a `Deployable` and the logic, whether it is a module, or a verticle, or a model that is being deployed, is now completely hidden away inside of the respective `Deployable` implementation. After deployment, everything results in the same `Deployment` instance, that can be undeployed again in the same fashion.\n\n- Quality of life improvements to `AsyncHelper` by introducing runnables, cosumers and suppliers that can throw an exception. This allowed to replace existing calls like `AsyncHelper.executeBlocking(vertx, () -> { try { ... } catch (e) { return failedFuture(e); } })` with `AsyncHelper.executeBlocking(vertx, () -> ...)`.\n\n- Simplified `ClassPathScanner` and introduced a new `CloseableClassPathScanner` that closes the underlying `URLClassLoader` to stop leaking resources.\n\n- Introduced a new `ThreadHelper` class, that can be used to retrieve the calling or own class, as well as the class-loader of the current thread.\n\n- Made `NeonBeeProfile` behave the same as for `moduleJarPaths` when getting parsed, meaning that you can define multiple profiles separated by comma.\n\n- Renamed CollectionsHelper to CollectionHelper, because it was the only helper with a plural name.\n\n- Improve many tests (esp. Deployable ones) mainly by mocking more and spying less.\n\n- Made `setEnvironment` and `withEnvironment` work on Windows, to be able to remove `@DisableOnOS` annotation for tests changing environment variables." + "messageBody" : "This change is huge... I am sorry, but here is a video of me explaining why the change got so huge [1]. Sorry? Good news tough: All changes have been made interface and thus downwards compatible to the old NeonBee version, thus no adaptions to existing functionality should become necessary. Let me go into detail what changed and which quality of life / boy scout rule improvements have been made:\n\n- Many NeonBee methods had been introduced in a pre-Vert.x 4-era. Meaning they did not take advantage of the futurization process Vert.x went through. This change rewrites many methods and simplifies them by switching the futurized methods, instead of methods using handlers.\n\n- Improved the NeonBee bootstrap by making it more asynchronous, by changing the structure of method calls throughout the boot process and wrapping blocking code in `AsyncHelper.executeBlocking` calls.\n\n- Simplified implementation of the `Launcher` class. Instead of manually defining and parsing all options in the launcher to get to a `NeonBeeOption` instance, instead switching to Vert.x's annotation-based `CLIConfigurator` implementation. Annotations are now defined directly in the `NeonBeeOptions` and injected into the `NeonBeeOptions` instance by the `CLIConfigurator`. This makes it much simpler and less error prone to define options and makes it also clear: everything that is in `NeonBeeOptions` can be defined through the command-line or environment. For the latter a `EnvironmentAwareCommandLine` was introduced, that also considers the environment variables if no options are set as arguments, deprecating all \"helper methods\" that have been there for only this reason.\n\n- Added a new `development_conventions.md` document, that elaborates many \"hidden rules\" that we came up over the years, when it comes to coding conventions, such as: naming conventions for NeonBee variables, whether to use an instance to `NeonBee` or to `Vertx`, where to place `Context` variables in method signatures and how to properly correlate log messages. Then, in this change, a couple of old methods have been cleaned up to fit this new guiding document.\n\n- The old naming choice for the \"/verticles\" subfolder does no longer make sense, because not only verticles are deployed by the `DeployerVerticle`, but full \"modules\". Thus, introduced a new `getModulesDirectory` method to `NeonBeeOptions` and deprecated the old `getVerticlesDirectory`. Two `DeployerVerticle` will now take care to deploy the old and the new directory if necessary (present).\n\n- Introduced a new --module-jar-paths option to NeonBee options, that allows to define paths to module JARs, that will get deployed during the bootstrap phase of NeonBee into own self-first class-loaders. Previously the only option to deploy modules was through NeonBees `DeployerVerticle`, that was watching the `verticles` sub-directory for changes. The new option grants to also deploy modules that are not physically in that folder.\n\n- Split up `EntityModelManager` into its (previously embedded) sub-classes by introducing a package private `EntityModelLoader` class. Futurized many of its methods and improved the concept for registering \"external models\": Previously modules did register / unregister models to the `EntityModelManager` by using their module identifier as a unique key. The `EntityModelManager` kept a private map of these IDs (`BUFFERED_MODULE_MODELS`) mapping to a set of compiled `EntityModel` objects. Now the concept was changed by introducing a new `EntityModelDefinition` object, that can be used to influence compilation of models of the `EntityModelManager`. Whenever a `EntityModelDefinition` is added / removed from the `EntityModelManager` it will attempt to compile a new \"global\" set of models. This allows for inter-dependent models and sets up the `EntityModelManager` for an upcoming change to be completely remodeled in order to support versioned models going forward (see the roadmap). It also makes managing the \"external models\" more easy, because no longer we need to hold a map of identifiers, but only a `Set` to be maintained by the `EntityModelManager`. This makes it useful not only to modules, but any object that needs to deal with model generation can now supply a `EntityModelDefinition`.\n\n- Removed `NeonBeeModule` in favor of a new `DeployableModule`. The `Deployable` interface was thought to become a generic object. Everything that can be deployed to NeonBee should inherit `Deployable`. `NeonBeeModule` violated this pattern and implemented much the same logic. Now the whole `io.neonbee.internal.deploy` package is consistent again, by introducing a `DeployableModels` (that can deploy `EntityModelDefinition` object), `DeployableModule` (that parses JAR files and splits them up into `DeployableModels` and `DeployableVerticles`) and a generic `Deployables` class, that handles deployments of multiple `Deployable` objects. This makes the whole deployment much cleaner, as for NeonBee everything is now a `Deployable` and the logic, whether it is a module, or a verticle, or a model that is being deployed, is now completely hidden away inside of the respective `Deployable` implementation. After deployment, everything results in the same `Deployment` instance, that can be undeployed again in the same fashion.\n\n- Quality of life improvements to `AsyncHelper` by introducing runnables, cosumers and suppliers that can throw an exception. This allowed to replace existing calls like `AsyncHelper.executeBlocking(vertx, () -> { try { ... } catch (e) { return failedFuture(e); } })` with `AsyncHelper.executeBlocking(vertx, () -> ...)`.\n\n- Simplified `ClassPathScanner` and introduced a new `CloseableClassPathScanner` that closes the underlying `URLClassLoader` to stop leaking resources.\n\n- Introduced a new `ThreadHelper` class, that can be used to retrieve the calling or own class, as well as the class-loader of the current thread.\n\n- Made `NeonBeeProfile` behave the same as for `moduleJarPaths` when getting parsed, meaning that you can define multiple profiles separated by comma.\n\n- Renamed CollectionsHelper to CollectionHelper, because it was the only helper with a plural name.\n\n- Improve many tests (esp. Deployable ones) mainly by mocking more and spying less.\n\n- Made `setEnvironment` and `withEnvironment` work on Windows, to be able to remove `@DisableOnOS` annotation for tests changing environment variables.", + "messageTitle" : "feat: improve `Launcher`, `Deployable`, `EntityModelManager` and more" } ] } ] }, { @@ -8185,8 +8239,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add custom micrometer registries via NeonBeeConfig", - "messageTitle" : "feat: add custom micrometer registries via NeonBeeConfig", - "messageBody" : "With this change the config parameter micrometerRegistries is\nintroduced which allows the user to specify a list of (full qualified) class\nnames, which must implement the load() method of the functional interface\nMicrometerRegistryLoader. The load method must return a\nMeterRegistry, which will be added to the micrometer registries by\nNeonBee. The PrometheusMeterRegistry will be the default\nregistry, which is only available when the MetricsEndpoint is loaded.\n\nCo-authored-by: Michael Halberstadt " + "messageBody" : "With this change the config parameter micrometerRegistries is\nintroduced which allows the user to specify a list of (full qualified) class\nnames, which must implement the load() method of the functional interface\nMicrometerRegistryLoader. The load method must return a\nMeterRegistry, which will be added to the micrometer registries by\nNeonBee. The PrometheusMeterRegistry will be the default\nregistry, which is only available when the MetricsEndpoint is loaded.\n\nCo-authored-by: Michael Halberstadt ", + "messageTitle" : "feat: add custom micrometer registries via NeonBeeConfig" } ] }, { "title" : "Documentation", @@ -8232,8 +8286,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "fix typo in github release guide", - "messageTitle" : "docs: fix typo in github release guide", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: fix typo in github release guide" } ] }, { "title" : "Build System", @@ -8279,8 +8333,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `vertx` to 4.2.3", - "messageTitle" : "build(deps): upgrade `vertx` to 4.2.3", - "messageBody" : "This upgrade of Vert.x comes with an update of the Jackson library to\n2.13.1. Therefore, Jackson will also be pinned to this version in\nNeonBee." + "messageBody" : "This upgrade of Vert.x comes with an update of the Jackson library to\n2.13.1. Therefore, Jackson will also be pinned to this version in\nNeonBee.", + "messageTitle" : "build(deps): upgrade `vertx` to 4.2.3" }, { "hashFull" : "c1b4168c320e5db780ee5a7f521eddc8cbd63c90", "hash" : "c1b4168c320e5db", @@ -8323,8 +8377,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `micrometer-registry-prometheus` to 1.8.1", - "messageTitle" : "build(deps): upgrade `micrometer-registry-prometheus` to 1.8.1", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `micrometer-registry-prometheus` to 1.8.1" }, { "hashFull" : "c1408cbd1fcd3b72f75fcfcb4d40aae67e51a4b8", "hash" : "c1408cbd1fcd3b7", @@ -8367,8 +8421,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `cds4j-core` to 1.25.0", - "messageTitle" : "build(deps): upgrade `cds4j-core` to 1.25.0", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `cds4j-core` to 1.25.0" }, { "hashFull" : "b78c3448722553fa19e2c080d27a940b17663d76", "hash" : "b78c3448722553f", @@ -8411,8 +8465,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `mockito` to 4.2.0", - "messageTitle" : "build(deps): upgrade `mockito` to 4.2.0", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `mockito` to 4.2.0" }, { "hashFull" : "ac8d9c366f1f7823f6bd27b34520d47ad6976c38", "hash" : "ac8d9c366f1f782", @@ -8455,8 +8509,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `junit` to 5.8.2", - "messageTitle" : "build(deps): upgrade `junit` to 5.8.2", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `junit` to 5.8.2" }, { "hashFull" : "9911f35654f68e1a689594e35a1b9046d8ad529b", "hash" : "9911f35654f68e1", @@ -8499,8 +8553,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `guava` to 31.0.1-jre", - "messageTitle" : "build(deps): upgrade `guava` to 31.0.1-jre", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `guava` to 31.0.1-jre" }, { "hashFull" : "7e7bdcec890f600ec1a96f920eac6fbfe6e30410", "hash" : "7e7bdcec890f600", @@ -8543,8 +8597,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade gradle plugin dependencies", - "messageTitle" : "build(deps): upgrade gradle plugin dependencies", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade gradle plugin dependencies" }, { "hashFull" : "67fff8318103dad71a00bdb0e597bcbdc772bea1", "hash" : "67fff8318103dad", @@ -8587,8 +8641,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `logback-classic` to 1.2.9", - "messageTitle" : "build(deps): upgrade `logback-classic` to 1.2.9", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `logback-classic` to 1.2.9" }, { "hashFull" : "18feb6d7a43794d482473d63ca2df60ff98b84c3", "hash" : "18feb6d7a43794d", @@ -8631,8 +8685,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `junit-platform` to 1.8.2", - "messageTitle" : "build(deps): upgrade `junit-platform` to 1.8.2", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `junit-platform` to 1.8.2" }, { "hashFull" : "0953e4018e7d9d0fca60f83197c5180a8defc4bf", "hash" : "0953e4018e7d9d0", @@ -8675,8 +8729,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "upgrade `slf4j-api` to 1.7.32", - "messageTitle" : "build(deps): upgrade `slf4j-api` to 1.7.32", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): upgrade `slf4j-api` to 1.7.32" } ] }, { "title" : "Continuous Integration", @@ -8732,8 +8786,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "update commitlint github action to `@v4`, fixes #91", - "messageTitle" : "ci: update commitlint github action to `@v4`, fixes #91", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: update commitlint github action to `@v4`, fixes #91" } ] } ] }, { @@ -8793,8 +8847,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "move MetricOptions to NeonBeeOptions", - "messageTitle" : "feat: move MetricOptions to NeonBeeOptions", - "messageBody" : "By moving the MetricOptions to the NeonBeeOptions, we are able to change the MetricOptions in a LauncherPreProcessor." + "messageBody" : "By moving the MetricOptions to the NeonBeeOptions, we are able to change the MetricOptions in a LauncherPreProcessor.", + "messageTitle" : "feat: move MetricOptions to NeonBeeOptions" }, { "hashFull" : "56a160131e71bb87bda8ad2e948a0e4e57706767", "hash" : "56a160131e71bb8", @@ -8837,8 +8891,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make usage of createQualifiedName more resilient", - "messageTitle" : "feat: make usage of createQualifiedName more resilient", - "messageBody" : "When defining a name space via annotation, it is automatically casted to\nlower case. Now createQualifiedName follows the same rules by casting\npassed name spaces automatically to lower case." + "messageBody" : "When defining a name space via annotation, it is automatically casted to\nlower case. Now createQualifiedName follows the same rules by casting\npassed name spaces automatically to lower case.", + "messageTitle" : "feat: make usage of createQualifiedName more resilient" } ] }, { "title" : "Code Refactoring", @@ -8884,8 +8938,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "remove dependency to CompilingClassLoader of Vert.x", - "messageTitle" : "refactor: remove dependency to CompilingClassLoader of Vert.x", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: remove dependency to CompilingClassLoader of Vert.x" } ] }, { "title" : "Build System", @@ -8931,8 +8985,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump Vert.x from 4.1.0 to 4.2.1", - "messageTitle" : "build(deps): bump Vert.x from 4.1.0 to 4.2.1", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump Vert.x from 4.1.0 to 4.2.1" }, { "hashFull" : "db17790568652b9b9dafb85dcefe2e6006b4bc8c", "hash" : "db17790568652b9", @@ -8975,8 +9029,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump Vert.x from 4.2.1 to 4.2.2", - "messageTitle" : "build(deps): bump Vert.x from 4.2.1 to 4.2.2", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump Vert.x from 4.2.1 to 4.2.2" } ] } ] }, { @@ -9036,8 +9090,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "solve static code issues", - "messageTitle" : "fix: solve static code issues", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: solve static code issues" } ] }, { "title" : "Features", @@ -9083,8 +9137,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "offer a new ErrorHandler which can be initialized asynchronously", - "messageTitle" : "feat: offer a new ErrorHandler which can be initialized asynchronously", - "messageBody" : "A class that implements the new ErrorHandler interface MUST have a\ndefault constructor. Otherwise NeonBee can't instantiate the class\nduring bootstrap phase.\n\nThe purpose of the initialize method is to allow the execution of\nblocking code." + "messageBody" : "A class that implements the new ErrorHandler interface MUST have a\ndefault constructor. Otherwise NeonBee can't instantiate the class\nduring bootstrap phase.\n\nThe purpose of the initialize method is to allow the execution of\nblocking code.", + "messageTitle" : "feat: offer a new ErrorHandler which can be initialized asynchronously" } ] } ] }, { @@ -9144,8 +9198,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "make `ImmutableJsonArray/Object.equals` behave better", - "messageTitle" : "fix: make `ImmutableJsonArray/Object.equals` behave better", - "messageBody" : "Make `ImmutableJsonArray/Object.equals` behave like `ImmutableBuffer.equals`, so that it can compare to regular `JsonArrayObject`s." + "messageBody" : "Make `ImmutableJsonArray/Object.equals` behave like `ImmutableBuffer.equals`, so that it can compare to regular `JsonArrayObject`s.", + "messageTitle" : "fix: make `ImmutableJsonArray/Object.equals` behave better" } ] } ] }, { @@ -9205,8 +9259,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "rephrase error handler properties in config", - "messageTitle" : "fix: rephrase error handler properties in config", - "messageBody" : "With this fix, the properties `errorHandler` and `errorTemplate`, which\ncan be configured in the ServerVerticle config, will be working again. A\nregression in the ServerConfig caused that these properties are ignored." + "messageBody" : "With this fix, the properties `errorHandler` and `errorTemplate`, which\ncan be configured in the ServerVerticle config, will be working again. A\nregression in the ServerConfig caused that these properties are ignored.", + "messageTitle" : "fix: rephrase error handler properties in config" }, { "hashFull" : "67b6b9774a8b9bda2325938ffa56256cde28c36a", "hash" : "67b6b9774a8b9bd", @@ -9249,8 +9303,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "switch to Vert.x-owned Hazelcast instance creation", - "messageTitle" : "fix: switch to Vert.x-owned Hazelcast instance creation", - "messageBody" : "Previously we initialized a new Hazelcast instance in our own code and passed it to Vert.x. This initialization scheme signals to Vert.x, that we‘d like to be responsible to also take care of shutting down, which we didn‘t want to be in the first place. This commit chages the behaviour so that Vert.x feels responsible to shut down the Hazelcast instance on its own." + "messageBody" : "Previously we initialized a new Hazelcast instance in our own code and passed it to Vert.x. This initialization scheme signals to Vert.x, that we‘d like to be responsible to also take care of shutting down, which we didn‘t want to be in the first place. This commit chages the behaviour so that Vert.x feels responsible to shut down the Hazelcast instance on its own.", + "messageTitle" : "fix: switch to Vert.x-owned Hazelcast instance creation" } ] }, { "title" : "Features", @@ -9296,8 +9350,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add JobSchedule validation", - "messageTitle" : "feat: add JobSchedule validation", - "messageBody" : "A periodic JobSchedule with an interval of 0 could result into an\nendless loop when JobVerticle tries to calculate the next execution." + "messageBody" : "A periodic JobSchedule with an interval of 0 could result into an\nendless loop when JobVerticle tries to calculate the next execution.", + "messageTitle" : "feat: add JobSchedule validation" }, { "hashFull" : "8fce18285048a1c560af60aa053f766353ec775e", "hash" : "8fce18285048a1c", @@ -9340,8 +9394,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add session id to DataContext", - "messageTitle" : "feat: add session id to DataContext", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add session id to DataContext" }, { "hashFull" : "d614545492090cf89d5a0a048810eccbc0beca4b", "hash" : "d614545492090cf", @@ -9384,8 +9438,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add a `ImmutableBuffer` class", - "messageTitle" : "feat: add a `ImmutableBuffer` class", - "messageBody" : "`ImmutableBuffer` throws an `UnsupportedOperationException` for any operation that attempts writing to the buffer. This comes with the advantage that `ImmutableBuffer` can be transfered over the local event bus very efficiently, eliminating the need of being copied." + "messageBody" : "`ImmutableBuffer` throws an `UnsupportedOperationException` for any operation that attempts writing to the buffer. This comes with the advantage that `ImmutableBuffer` can be transfered over the local event bus very efficiently, eliminating the need of being copied.", + "messageTitle" : "feat: add a `ImmutableBuffer` class" }, { "hashFull" : "a2c3a5d5d7ab3c76269ba59544c89b4861a588ef", "hash" : "a2c3a5d5d7ab3c7", @@ -9428,8 +9482,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add NO_WEB profile", - "messageTitle" : "feat: add NO_WEB profile", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add NO_WEB profile" }, { "hashFull" : "946049be3ad91302352a6fab44448124535141b3", "hash" : "946049be3ad9130", @@ -9472,8 +9526,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add a `CompositeBuffer` class", - "messageTitle" : "feat: add a `CompositeBuffer` class", - "messageBody" : "Allows efficient chaining of buffers, without having to create copies of them. Especially useful when transferring large data sets via the event bus." + "messageBody" : "Allows efficient chaining of buffers, without having to create copies of them. Especially useful when transferring large data sets via the event bus.", + "messageTitle" : "feat: add a `CompositeBuffer` class" }, { "hashFull" : "69771636d46a42dc88afae66b1c9abc5efd307d3", "hash" : "69771636d46a42d", @@ -9516,8 +9570,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add/removeActiveProfile to/from NeonBeeOptions.Mutable", - "messageTitle" : "feat: add/removeActiveProfile to/from NeonBeeOptions.Mutable", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add/removeActiveProfile to/from NeonBeeOptions.Mutable" }, { "hashFull" : "2e4c79347768618c9579f3adcf38c12b90733ea3", "hash" : "2e4c79347768618", @@ -9560,8 +9614,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add doNotWatchFiles option to not watch for file changes", - "messageTitle" : "feat: add doNotWatchFiles option to not watch for file changes", - "messageBody" : "The WatchVerticle monitors given directories and/or files for changes. Currently it is implemented by the DeployerVerticle and the ModelRefreshVerticle in order to react on file changes.\n\nSimilar to the ignoreClassPath option a new doNotWatchFiles option was added, so watching for local file changes can be disabled (e.g. in tests). This also prevents the creation of any WatchService threads on Linux." + "messageBody" : "The WatchVerticle monitors given directories and/or files for changes. Currently it is implemented by the DeployerVerticle and the ModelRefreshVerticle in order to react on file changes.\n\nSimilar to the ignoreClassPath option a new doNotWatchFiles option was added, so watching for local file changes can be disabled (e.g. in tests). This also prevents the creation of any WatchService threads on Linux.", + "messageTitle" : "feat: add doNotWatchFiles option to not watch for file changes" } ] }, { "title" : "Code Refactoring", @@ -9607,8 +9661,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "do not fail start of `WatchVerticle` if doNotWatchFiles", - "messageTitle" : "refactor: do not fail start of `WatchVerticle` if doNotWatchFiles", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: do not fail start of `WatchVerticle` if doNotWatchFiles" } ] }, { "title" : "Chores", @@ -9654,8 +9708,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "don't start gradle as a daemon", - "messageTitle" : "chore: don't start gradle as a daemon", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: don't start gradle as a daemon" } ] }, { "title" : "Documentation", @@ -9701,8 +9755,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "add how-to debug tests", - "messageTitle" : "docs: add how-to debug tests", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: add how-to debug tests" } ] }, { "title" : "Build System", @@ -9748,8 +9802,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump com.sap.cds:cds4j-core from 1.19.0 to 1.22.1", - "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.19.0 to 1.22.1", - "messageBody" : "Bump com.sap.cds:cds4j-core dependency to 1.22.1 (latest available\nversion) to get rid of CVE in transitive dependency\nnet.minidev:json-smart:2.3 CVE-2021-27568." + "messageBody" : "Bump com.sap.cds:cds4j-core dependency to 1.22.1 (latest available\nversion) to get rid of CVE in transitive dependency\nnet.minidev:json-smart:2.3 CVE-2021-27568.", + "messageTitle" : "build(deps): bump com.sap.cds:cds4j-core from 1.19.0 to 1.22.1" }, { "hashFull" : "c035ebf4fb1f289f58e0807cee1be231d1298b82", "hash" : "c035ebf4fb1f289", @@ -9792,8 +9846,8 @@ "rawCommitType" : "build", "rawCommitScope" : null, "rawCommitSubject" : "upgrade to Gradle 7.2 and bump all test tooling", - "messageTitle" : "build: upgrade to Gradle 7.2 and bump all test tooling", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build: upgrade to Gradle 7.2 and bump all test tooling" } ] }, { "title" : "Continuous Integration", @@ -9839,8 +9893,8 @@ "rawCommitType" : "ci", "rawCommitScope" : "gh-actions", "rawCommitSubject" : "add maven central section in release body", - "messageTitle" : "ci(gh-actions): add maven central section in release body", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci(gh-actions): add maven central section in release body" }, { "hashFull" : "dab61cdf110f1ae4aa05727d5d6cd59f7d178f46", "hash" : "dab61cdf110f1ae", @@ -9883,8 +9937,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add NO_WEB profile to all tests not using the server verticle", - "messageTitle" : "ci: add NO_WEB profile to all tests not using the server verticle", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add NO_WEB profile to all tests not using the server verticle" }, { "hashFull" : "d97bdce0c458889a9d58322fe4028ed8330c3e26", "hash" : "d97bdce0c458889", @@ -9927,8 +9981,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add a RunningTest- and a AliveThreadReporter", - "messageTitle" : "ci: add a RunningTest- and a AliveThreadReporter", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add a RunningTest- and a AliveThreadReporter" }, { "hashFull" : "cf17fa404f96ddecff3c255547d290cfc559ec0d", "hash" : "cf17fa404f96dde", @@ -9971,8 +10025,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add NeonBeeTestExecutionListener to check for stale threads", - "messageTitle" : "ci: add NeonBeeTestExecutionListener to check for stale threads", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add NeonBeeTestExecutionListener to check for stale threads" }, { "hashFull" : "cbd53b5ce0355a9c605edca27f0b28091005db76", "hash" : "cbd53b5ce0355a9", @@ -10015,8 +10069,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "fix NeonBeeTestBaseTest on GitHub", - "messageTitle" : "ci: fix NeonBeeTestBaseTest on GitHub", - "messageBody" : "After many CI related fixes, the NeonBeeTestBaseTest was the last test that did fail on the GitHub workflow, for a long thought inexplicable reason. The root cause finally identfied, revealed a series of yet unfound issues.\n\nThe reason why the NeonBeeTestBaseTest failed in the first place, is that if a custom provideUserPrincipal method was provided in a test, the NeonBeeTestBase attempted to replace the ServerVerticle with a custom ServerVerticle that was invoking provideUserPrincipal to retrieve the user principal it should return. However due to an issue causing the port to already be blocked for the second deployment of ServerVerticle, the setUp of NeonBeeTestBase failed. Due to a bug in the setUp code, the CountDownLatch used to stop JUnit from invoking more `@BeforeEach` methods, before NeonBee was initialized, the thread was blocked forever and JUnit (as well as any built-in logic in the `@Timeout` annotation) was not able to finish the test and the execution stalled.\n\nThis commit fixes all issues related to this behaviour by:\n\n- check all latches and make sure they ALWAYS use timeouts\n- have NeonBee not close Vert.x that had been supplied from the outside\n- make injecting a custom user principal more reslient to failure" + "messageBody" : "After many CI related fixes, the NeonBeeTestBaseTest was the last test that did fail on the GitHub workflow, for a long thought inexplicable reason. The root cause finally identfied, revealed a series of yet unfound issues.\n\nThe reason why the NeonBeeTestBaseTest failed in the first place, is that if a custom provideUserPrincipal method was provided in a test, the NeonBeeTestBase attempted to replace the ServerVerticle with a custom ServerVerticle that was invoking provideUserPrincipal to retrieve the user principal it should return. However due to an issue causing the port to already be blocked for the second deployment of ServerVerticle, the setUp of NeonBeeTestBase failed. Due to a bug in the setUp code, the CountDownLatch used to stop JUnit from invoking more `@BeforeEach` methods, before NeonBee was initialized, the thread was blocked forever and JUnit (as well as any built-in logic in the `@Timeout` annotation) was not able to finish the test and the execution stalled.\n\nThis commit fixes all issues related to this behaviour by:\n\n- check all latches and make sure they ALWAYS use timeouts\n- have NeonBee not close Vert.x that had been supplied from the outside\n- make injecting a custom user principal more reslient to failure", + "messageTitle" : "ci: fix NeonBeeTestBaseTest on GitHub" }, { "hashFull" : "bb443d52a8b6b2b0e59b44c7dd406ab7c2eb7e7a", "hash" : "bb443d52a8b6b2b", @@ -10059,8 +10113,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add better getFreePort implementation", - "messageTitle" : "ci: add better getFreePort implementation", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add better getFreePort implementation" }, { "hashFull" : "88df6657a918c29bc01c1ae689d5c38c5abc149d", "hash" : "88df6657a918c29", @@ -10103,8 +10157,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add cluster termination for tests", - "messageTitle" : "ci: add cluster termination for tests", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add cluster termination for tests" }, { "hashFull" : "77ab4b1cd3d94841018b331642fd7c9963c9257d", "hash" : "77ab4b1cd3d9484", @@ -10147,8 +10201,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add some additional logging", - "messageTitle" : "ci: add some additional logging", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add some additional logging" }, { "hashFull" : "6c8fea84a0cc729b3c63ccf725d7f9515a870c93", "hash" : "6c8fea84a0cc729", @@ -10191,8 +10245,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add and adapt test timeouts", - "messageTitle" : "ci: add and adapt test timeouts", - "messageBody" : "On Windows, but also running on GitHub via actions some tests timeouts where set too tightly. Also not every asynchronous method featured a timeout or the timeout was set to multiple hours, which had the risk of the tests not finishing." + "messageBody" : "On Windows, but also running on GitHub via actions some tests timeouts where set too tightly. Also not every asynchronous method featured a timeout or the timeout was set to multiple hours, which had the risk of the tests not finishing.", + "messageTitle" : "ci: add and adapt test timeouts" }, { "hashFull" : "48f6d5729ab98881281a88b4a98b987857ffbeef", "hash" : "48f6d5729ab9888", @@ -10235,8 +10289,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add do not watch files test for WatchVerticle", - "messageTitle" : "ci: add do not watch files test for WatchVerticle", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add do not watch files test for WatchVerticle" }, { "hashFull" : "3b6bb5df61ee7e31f9cbbc1e6d66e261d7c95e60", "hash" : "3b6bb5df61ee7e3", @@ -10279,8 +10333,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "switch to setup-java@v2 cache for Gradle", - "messageTitle" : "ci: switch to setup-java@v2 cache for Gradle", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: switch to setup-java@v2 cache for Gradle" }, { "hashFull" : "336db173b2c188cc45e8ac5789a585a25be18d2f", "hash" : "336db173b2c188c", @@ -10323,8 +10377,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "isolate tests modifying global resources", - "messageTitle" : "ci: isolate tests modifying global resources", - "messageBody" : "The SelfFirstClassLoaderTest is modifying the current threads class-loader. Thus it should run isolated to not risk breaking other tests. Similarely the LauncherTest is modifying the global system environment and thus should run isolated.\n\nFor LocalPreferredClusterTest *no* SAME_THREAD isolation is required." + "messageBody" : "The SelfFirstClassLoaderTest is modifying the current threads class-loader. Thus it should run isolated to not risk breaking other tests. Similarely the LauncherTest is modifying the global system environment and thus should run isolated.\n\nFor LocalPreferredClusterTest *no* SAME_THREAD isolation is required.", + "messageTitle" : "ci: isolate tests modifying global resources" }, { "hashFull" : "28f03861d59c5af3539c0f9500d2b1dddd22ee42", "hash" : "28f03861d59c5af", @@ -10367,8 +10421,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "always close Vert.x if tests create own instances", - "messageTitle" : "ci: always close Vert.x if tests create own instances", - "messageBody" : "Similar to how in the previous commit NeonBee was created in different ways, also a new Vert.x instance was:\n\n- Injected via the VertxExtension (best case),\n- Injected via the NeonBee instance of the NeonBeeExtension,\n- Via NeonBee.newVertx, or simply with a good old\n- Vertx.vertx() call.\n\nCreation is not that bad, but sometimes it was fogotten to close the associated Vert.x instance leading to stale objects, as if the test was executed on the main thread, it could result in a frozen situation where the GitHub workflows never finish, as non-deamon threads had been still running. E.g. when a cluster was started, but never closed, due to vertx.close() never beeing called. In other cases, eventhough the Vert.x was injected, it was closed by the tests, which led to undeterministic side effects. This commit fixes all instances where a new Vert.x is created." + "messageBody" : "Similar to how in the previous commit NeonBee was created in different ways, also a new Vert.x instance was:\n\n- Injected via the VertxExtension (best case),\n- Injected via the NeonBee instance of the NeonBeeExtension,\n- Via NeonBee.newVertx, or simply with a good old\n- Vertx.vertx() call.\n\nCreation is not that bad, but sometimes it was fogotten to close the associated Vert.x instance leading to stale objects, as if the test was executed on the main thread, it could result in a frozen situation where the GitHub workflows never finish, as non-deamon threads had been still running. E.g. when a cluster was started, but never closed, due to vertx.close() never beeing called. In other cases, eventhough the Vert.x was injected, it was closed by the tests, which led to undeterministic side effects. This commit fixes all instances where a new Vert.x is created.", + "messageTitle" : "ci: always close Vert.x if tests create own instances" }, { "hashFull" : "20cb77c15ed59c385acc684beec88e382bca42c9", "hash" : "20cb77c15ed59c3", @@ -10411,8 +10465,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add vertx-parameters for tests", - "messageTitle" : "ci: add vertx-parameters for tests", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add vertx-parameters for tests" }, { "hashFull" : "1b386199f3af1c65692a60b23b2de375ba82589d", "hash" : "1b386199f3af1c6", @@ -10455,8 +10509,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "refactor NeonBeeTestExecutionListener into a StaleVertx/ThreadChecker", - "messageTitle" : "ci: refactor NeonBeeTestExecutionListener into a StaleVertx/ThreadChecker", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: refactor NeonBeeTestExecutionListener into a StaleVertx/ThreadChecker" }, { "hashFull" : "14128512404f16284a0abe228253174a169e38f2", "hash" : "14128512404f162", @@ -10499,8 +10553,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "use better default options for NeonBee in tests", - "messageTitle" : "ci: use better default options for NeonBee in tests", - "messageBody" : "During investigation of build problems the issue was located that in our tests we have had multiple different ways we used to initialize NeonBee sometimes with and sometimes without a associated NeonBee instance:\n\n- NeonBee.create\n- registerNeonBeeMock\n- NeonBeeExtension/NeonBeeInstanceConfiguration\n\nEach time NeonBee was initialized we used a different set of options. Especially for tests particular set of NeonBeeOptions is important, e.g. not to scan the class path or not starting the WatchVerticles. Because of the different options how to start Vert.x these options have often been neglected. This commit uses the same set of default options for all the different ways a NeonBee instance is created.\n\nNow when creating a request (with the NeonBeeTestBase.createRequest method), in case the server port is specified in the options, it is preferred over the server port in the server verticle configuration file." + "messageBody" : "During investigation of build problems the issue was located that in our tests we have had multiple different ways we used to initialize NeonBee sometimes with and sometimes without a associated NeonBee instance:\n\n- NeonBee.create\n- registerNeonBeeMock\n- NeonBeeExtension/NeonBeeInstanceConfiguration\n\nEach time NeonBee was initialized we used a different set of options. Especially for tests particular set of NeonBeeOptions is important, e.g. not to scan the class path or not starting the WatchVerticles. Because of the different options how to start Vert.x these options have often been neglected. This commit uses the same set of default options for all the different ways a NeonBee instance is created.\n\nNow when creating a request (with the NeonBeeTestBase.createRequest method), in case the server port is specified in the options, it is preferred over the server port in the server verticle configuration file.", + "messageTitle" : "ci: use better default options for NeonBee in tests" }, { "hashFull" : "007b8ce664a11bbb6c6ce776303a4a6b33057d2d", "hash" : "007b8ce664a11bb", @@ -10543,8 +10597,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "fix typos, provide explanation why `@BeforeEach` ignores testContext", - "messageTitle" : "ci: fix typos, provide explanation why `@BeforeEach` ignores testContext", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: fix typos, provide explanation why `@BeforeEach` ignores testContext" }, { "hashFull" : "b5f27df27ba8bc860ef76032cd363ffc6f1b5dbf", "hash" : "b5f27df27ba8bc8", @@ -10587,8 +10641,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "fix publish", - "messageTitle" : "ci: fix publish", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: fix publish" }, { "hashFull" : "a6b256ad298944d93e6578e6570594b9d1677307", "hash" : "a6b256ad298944d", @@ -10631,8 +10685,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add changelog again", - "messageTitle" : "ci: add changelog again", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add changelog again" } ] } ] }, { @@ -10692,8 +10746,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "decode query parameters in odata requests", - "messageTitle" : "fix: decode query parameters in odata requests", - "messageBody" : "Co-authored-by: Pascal Krause " + "messageBody" : "Co-authored-by: Pascal Krause ", + "messageTitle" : "fix: decode query parameters in odata requests" }, { "hashFull" : "ae31b8638dc66b9c4d272b23eeb463760267fe1b", "hash" : "ae31b8638dc66b9", @@ -10736,8 +10790,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "prepend uri paths of entity requests with a slash", - "messageTitle" : "fix: prepend uri paths of entity requests with a slash", - "messageBody" : "Co-authored-by: Sebastian Heid " + "messageBody" : "Co-authored-by: Sebastian Heid ", + "messageTitle" : "fix: prepend uri paths of entity requests with a slash" } ] }, { "title" : "Features", @@ -10783,8 +10837,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "allow multiple MANIFST.MF files when parsing NeonBee-Module", - "messageTitle" : "feat: allow multiple MANIFST.MF files when parsing NeonBee-Module", - "messageBody" : "Normally there is exactly one MANIFEST.MF on the classpath, because when\nparsing a NeonBee-Module a complete isolated classloader is used. But at\nthe end it doesn't matter how many MANIFEST.MF files are existing as\nlong as there is only one that contains the NeonBee-Module attributes.\nTherefore this change adds more tolerance to the NeonBee-Module\nvalidation.\n\nThis also helps in case that a third party library (like Dynatrace)\nmanipulates the classpath of every URLClassloader by adding own JARs." + "messageBody" : "Normally there is exactly one MANIFEST.MF on the classpath, because when\nparsing a NeonBee-Module a complete isolated classloader is used. But at\nthe end it doesn't matter how many MANIFEST.MF files are existing as\nlong as there is only one that contains the NeonBee-Module attributes.\nTherefore this change adds more tolerance to the NeonBee-Module\nvalidation.\n\nThis also helps in case that a third party library (like Dynatrace)\nmanipulates the classpath of every URLClassloader by adding own JARs.", + "messageTitle" : "feat: allow multiple MANIFST.MF files when parsing NeonBee-Module" } ] }, { "title" : "Code Refactoring", @@ -10830,8 +10884,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : "processor", "rawCommitSubject" : "extract common methods into helper", - "messageTitle" : "refactor(processor): extract common methods into helper", - "messageBody" : "With this change a helper class will be introduced, which offers a\nstatic method `forwardRequests` that maps an ODataRequest into an entity\nrequest and sends it to the related entity verticles. Before, this logic\nwas included in most of the handlers.\n\nCo-authored-by: Pascal Krause " + "messageBody" : "With this change a helper class will be introduced, which offers a\nstatic method `forwardRequests` that maps an ODataRequest into an entity\nrequest and sends it to the related entity verticles. Before, this logic\nwas included in most of the handlers.\n\nCo-authored-by: Pascal Krause ", + "messageTitle" : "refactor(processor): extract common methods into helper" }, { "hashFull" : "dc1902100297100511ad59a584a92a4ee60c35a0", "hash" : "dc1902100297100", @@ -10874,8 +10928,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "made the ClassPathScanner non-blocking", - "messageTitle" : "refactor: made the ClassPathScanner non-blocking", - "messageBody" : "Followed by the the DeployableScanner and the HookScanner, resulting in unblocking NeonBeeModule, the EntityModelManager and the NeonBee bootstrap overall.\n\nNicer implementation of closing the NeonBeeModule's associated SelfFirstClassLoader and fixing a bug in the HookScanner, which previously ignored hooks in the manifest file." + "messageBody" : "Followed by the the DeployableScanner and the HookScanner, resulting in unblocking NeonBeeModule, the EntityModelManager and the NeonBee bootstrap overall.\n\nNicer implementation of closing the NeonBeeModule's associated SelfFirstClassLoader and fixing a bug in the HookScanner, which previously ignored hooks in the manifest file.", + "messageTitle" : "refactor: made the ClassPathScanner non-blocking" }, { "hashFull" : "71e328ff32dfa400ff52d4a29a0e864135f18a64", "hash" : "71e328ff32dfa40", @@ -10918,8 +10972,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "move error handler configuration to ServerConfig class", - "messageTitle" : "refactor: move error handler configuration to ServerConfig class", - "messageBody" : "Before this change the JsonObject passed to the ServerVerticle was used to read the configuration for the custom error template to use. With this change the JsonObject was replaced by the ServerConfig object. In addition to a custom errorHandlerClassName a new errorHandlerTemplate property was added, which can be used to just specify a different (HTML) template to use in the DefaultErrorHandler.\n\nSwitched to promisified interfaces in FileSystemHelper. Increased the code coverage error threshold to 80% instead of 81%, as the violation plugin did fail at 81.0% eventhough the failIfLessThanThresholdError was set." + "messageBody" : "Before this change the JsonObject passed to the ServerVerticle was used to read the configuration for the custom error template to use. With this change the JsonObject was replaced by the ServerConfig object. In addition to a custom errorHandlerClassName a new errorHandlerTemplate property was added, which can be used to just specify a different (HTML) template to use in the DefaultErrorHandler.\n\nSwitched to promisified interfaces in FileSystemHelper. Increased the code coverage error threshold to 80% instead of 81%, as the violation plugin did fail at 81.0% eventhough the failIfLessThanThresholdError was set.", + "messageTitle" : "refactor: move error handler configuration to ServerConfig class" } ] }, { "title" : "Documentation", @@ -10965,8 +11019,8 @@ "rawCommitType" : "docs", "rawCommitScope" : "readme", "rawCommitSubject" : "add example repository", - "messageTitle" : "docs(readme): add example repository", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs(readme): add example repository" } ] } ] }, { @@ -11026,8 +11080,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "use gradle task for setting new version", - "messageTitle" : "fix: use gradle task for setting new version", - "messageBody" : "The regex pattern which was used in the sed command did not work when\nrunning on linux." + "messageBody" : "The regex pattern which was used in the sed command did not work when\nrunning on linux.", + "messageTitle" : "fix: use gradle task for setting new version" }, { "hashFull" : "d340192ea4f837d7c8186c47a8bb8b921f230981", "hash" : "d340192ea4f837d", @@ -11070,8 +11124,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "correct typos", - "messageTitle" : "fix: correct typos", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: correct typos" }, { "hashFull" : "880b338b04bbaee03fc7aede7cf6fe823f3d85d8", "hash" : "880b338b04bbaee", @@ -11114,8 +11168,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "switch to async. log appender", - "messageTitle" : "fix: switch to async. log appender", - "messageBody" : "The default configuration for logback currently is using blocking appenders which, in Vert.x, is generally discouraged. Switching to logbacks AsyncAppender interface, for unblocking the logging threads." + "messageBody" : "The default configuration for logback currently is using blocking appenders which, in Vert.x, is generally discouraged. Switching to logbacks AsyncAppender interface, for unblocking the logging threads.", + "messageTitle" : "fix: switch to async. log appender" }, { "hashFull" : "3d2af584f49f6272d06c0c8f82c6aaae3cd197c9", "hash" : "3d2af584f49f627", @@ -11158,8 +11212,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "add fake URI path to navigation properties requests", - "messageTitle" : "fix: add fake URI path to navigation properties requests", - "messageBody" : "This is required if the related EntityVerticle is serving multiple\nentities and needs to decide which type should be returned. This is a\nworkaround until inter-verticle entity exchange [1] has been improved.\n\n[1] https://github.com/SAP/neonbee/blob/main/docs/milestones/E1_MS02_entity_exchange.md" + "messageBody" : "This is required if the related EntityVerticle is serving multiple\nentities and needs to decide which type should be returned. This is a\nworkaround until inter-verticle entity exchange [1] has been improved.\n\n[1] https://github.com/SAP/neonbee/blob/main/docs/milestones/E1_MS02_entity_exchange.md", + "messageTitle" : "fix: add fake URI path to navigation properties requests" }, { "hashFull" : "fea16bdece36b846559cf6353f638345240c1b63", "hash" : "fea16bdece36b84", @@ -11202,8 +11256,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "enable parseUriInfo for OData URIs containing properties", - "messageTitle" : "fix: enable parseUriInfo for OData URIs containing properties", - "messageBody" : "Before this patch it was not possible to parse OData URIs that were\ncontaining a property as last segment of the path." + "messageBody" : "Before this patch it was not possible to parse OData URIs that were\ncontaining a property as last segment of the path.", + "messageTitle" : "fix: enable parseUriInfo for OData URIs containing properties" }, { "hashFull" : "d90c40f80537d71fdb2df5abd4c5d7671f674391", "hash" : "d90c40f80537d71", @@ -11246,8 +11300,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "re-enable system query count", - "messageTitle" : "fix: re-enable system query count", - "messageBody" : "The method countEntityCollection of CountEntityCollectionProcessor is\nonly called for requests that ends with /$count. In case that count is\npart of a system query, it must be implemented in the regular\nreadEntityCollection method." + "messageBody" : "The method countEntityCollection of CountEntityCollectionProcessor is\nonly called for requests that ends with /$count. In case that count is\npart of a system query, it must be implemented in the regular\nreadEntityCollection method.", + "messageTitle" : "fix: re-enable system query count" }, { "hashFull" : "35bd1dcea21a95f464e8b0ff14b26476b760d7ac", "hash" : "35bd1dcea21a95f", @@ -11290,8 +11344,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "calculation of system query count", - "messageTitle" : "fix: calculation of system query count", - "messageBody" : "Mistakenly it was assumed that also filters are ignored when calculating\nthe system query count." + "messageBody" : "Mistakenly it was assumed that also filters are ignored when calculating\nthe system query count.", + "messageTitle" : "fix: calculation of system query count" }, { "hashFull" : "4cdbd1506cc28ed5709ce385a42e7817d12d2144", "hash" : "4cdbd1506cc28ed", @@ -11334,8 +11388,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "respect HTTP server port configuration in NeonBee options", - "messageTitle" : "fix: respect HTTP server port configuration in NeonBee options", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: respect HTTP server port configuration in NeonBee options" }, { "hashFull" : "2509bfcc27f8aa71bc60b0146ec6546b9c0875c5", "hash" : "2509bfcc27f8aa7", @@ -11378,8 +11432,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "example for ServerVerticle (ServerConfig)", - "messageTitle" : "fix: example for ServerVerticle (ServerConfig)", - "messageBody" : "Creating ServerConfig from file uses generic converter classes generated\nby Vert.x code generator. In case that these converters need to convert\na String into an Enum, it simply uses Enum.valueOf(..). This requires\nthat the Enum values represented by the Strings are upper case.\n\nIt also fixes the wrong endpoint types." + "messageBody" : "Creating ServerConfig from file uses generic converter classes generated\nby Vert.x code generator. In case that these converters need to convert\na String into an Enum, it simply uses Enum.valueOf(..). This requires\nthat the Enum values represented by the Strings are upper case.\n\nIt also fixes the wrong endpoint types.", + "messageTitle" : "fix: example for ServerVerticle (ServerConfig)" } ] }, { "title" : "Features", @@ -11425,8 +11479,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add limited support for OData navigation properties", - "messageTitle" : "feat: add limited support for OData navigation properties", - "messageBody" : "This implementation has the following limitations:\n- Only works for read requests\n- Only works for properties of the requested entity\n- No support for applying query options on navigation properties" + "messageBody" : "This implementation has the following limitations:\n- Only works for read requests\n- Only works for properties of the requested entity\n- No support for applying query options on navigation properties", + "messageTitle" : "feat: add limited support for OData navigation properties" }, { "hashFull" : "f51886d00d6125fe90ea821300cb32943e685475", "hash" : "f51886d00d6125f", @@ -11469,8 +11523,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make launcher options configurable via env", - "messageTitle" : "feat: make launcher options configurable via env", - "messageBody" : "For deployment on cloud environments, it is beneficial to provide the\nlauncher options via environment variables instead of command line\narguments. This change supports reading options either from command line\nor environment variable.\n\nThe `withEnvironment` method is a newly introduced helper method which\nis useful when certain code should be executed in a context that exports\na set of environment variables." + "messageBody" : "For deployment on cloud environments, it is beneficial to provide the\nlauncher options via environment variables instead of command line\narguments. This change supports reading options either from command line\nor environment variable.\n\nThe `withEnvironment` method is a newly introduced helper method which\nis useful when certain code should be executed in a context that exports\na set of environment variables.", + "messageTitle" : "feat: make launcher options configurable via env" }, { "hashFull" : "e026ab194618cb77f4ebe1a191e86b882531c540", "hash" : "e026ab194618cb7", @@ -11513,8 +11567,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add Vert.x code generation and made NeonBeeConfig a DataObject", - "messageTitle" : "feat!: add Vert.x code generation and made NeonBeeConfig a DataObject", - "messageBody" : "This change adds Vert.x code generation to NeonBee, thus simplifying\nNeonBeeConfig to be a DataObject with generated conversion to / from\nJSON. This change is done as preparation for the endpoints change, where\nmore than just the NeonBeeConfig is needed to be configured." + "messageBody" : "This change adds Vert.x code generation to NeonBee, thus simplifying\nNeonBeeConfig to be a DataObject with generated conversion to / from\nJSON. This change is done as preparation for the endpoints change, where\nmore than just the NeonBeeConfig is needed to be configured.", + "messageTitle" : "feat!: add Vert.x code generation and made NeonBeeConfig a DataObject" }, { "hashFull" : "9608bcca7b1045747fc8b66421c549fe7bbacf7f", "hash" : "9608bcca7b10457", @@ -11557,8 +11611,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add missing tests for NeonBeeOptions", - "messageTitle" : "feat: add missing tests for NeonBeeOptions", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add missing tests for NeonBeeOptions" }, { "hashFull" : "40b66db0ac8ea592ffa560b370d3e52a6a42edcc", "hash" : "40b66db0ac8ea59", @@ -11601,8 +11655,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add missing tests for NeonBeeConfig", - "messageTitle" : "feat: add missing tests for NeonBeeConfig", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add missing tests for NeonBeeConfig" }, { "hashFull" : "7871036dedbef47d84116dee0cdcd092b2bb7354", "hash" : "7871036dedbef47", @@ -11645,8 +11699,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "make the ServerVerticle and its endpoints fully configurable", - "messageTitle" : "feat!: make the ServerVerticle and its endpoints fully configurable", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat!: make the ServerVerticle and its endpoints fully configurable" }, { "hashFull" : "0b34d82cf0682ad9698011446576e3152cbe7973", "hash" : "0b34d82cf0682ad", @@ -11689,8 +11743,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add support for custom error handlers", - "messageTitle" : "feat: add support for custom error handlers", - "messageBody" : "- rename ErrorHandler to DefaultErrorHandler\n- remove create() pattern from the handler, because the\nDefaultErrorHandler is a class and not an interface like the\nErrorHandler in Vert.x\n- As in Vert.x an ErrorHandler interface already exists, reuse this\ninterface when implementing our own error handler.\n- add errorHandler property to the ServerVerticleConfig\n\nCo-authored-by: Pascal Krause " + "messageBody" : "- rename ErrorHandler to DefaultErrorHandler\n- remove create() pattern from the handler, because the\nDefaultErrorHandler is a class and not an interface like the\nErrorHandler in Vert.x\n- As in Vert.x an ErrorHandler interface already exists, reuse this\ninterface when implementing our own error handler.\n- add errorHandler property to the ServerVerticleConfig\n\nCo-authored-by: Pascal Krause ", + "messageTitle" : "feat: add support for custom error handlers" }, { "hashFull" : "ac544cfa75ac64a5f46d26730601be0305b4da55", "hash" : "ac544cfa75ac64a", @@ -11733,8 +11787,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add test for JWT AuthHandler creation", - "messageTitle" : "feat: add test for JWT AuthHandler creation", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "feat: add test for JWT AuthHandler creation" }, { "hashFull" : "2c4e8356bbd37705fefe36b0fe2cf87be9691696", "hash" : "2c4e8356bbd3770", @@ -11777,8 +11831,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "introduce exposedEntities/Verticles allow/block lists", - "messageTitle" : "feat!: introduce exposedEntities/Verticles allow/block lists", - "messageBody" : "This change introduces new properties exposedEntities for the\nODataV4Endpoint and exposedVerticles for the RawEndpoint. These settings\ncan be used to initialize a new RegexBlockList, which can be used to\nlimit the verticles / entities exposed from a given endpoint." + "messageBody" : "This change introduces new properties exposedEntities for the\nODataV4Endpoint and exposedVerticles for the RawEndpoint. These settings\ncan be used to initialize a new RegexBlockList, which can be used to\nlimit the verticles / entities exposed from a given endpoint.", + "messageTitle" : "feat!: introduce exposedEntities/Verticles allow/block lists" } ] }, { "title" : "Code Refactoring", @@ -11824,8 +11878,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "remove annotation provider leftovers", - "messageTitle" : "refactor: remove annotation provider leftovers", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: remove annotation provider leftovers" }, { "hashFull" : "aacf9ff802db23d80929030610630b3e4d78bb48", "hash" : "aacf9ff802db23d", @@ -11868,8 +11922,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "split up god-class \"Helper\"", - "messageTitle" : "refactor: split up god-class \"Helper\"", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: split up god-class \"Helper\"" }, { "hashFull" : "6180040137d717b8d2be66acd236e5867a397f82", "hash" : "6180040137d717b", @@ -11912,8 +11966,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "refactor NeonBee class", - "messageTitle" : "refactor!: refactor NeonBee class", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor!: refactor NeonBee class" }, { "hashFull" : "0f47cec27a0963e16d8acbd911637926db95745d", "hash" : "0f47cec27a0963e", @@ -11956,8 +12010,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "move files to prepare upcoming NeonBeeConfig change", - "messageTitle" : "refactor!: move files to prepare upcoming NeonBeeConfig change", - "messageBody" : "Moving and modifying the same file in a commit, could lead to the\nsituation that git diff [1] does not detect the move. This could be\nprevented by splitting movement and modification into two separate\ncommits.\n\nThis commit won't build and is only valid in combination with its\nfollowing partner commit, which represents the modification part.\n\n[1] https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---find-renamesltngt" + "messageBody" : "Moving and modifying the same file in a commit, could lead to the\nsituation that git diff [1] does not detect the move. This could be\nprevented by splitting movement and modification into two separate\ncommits.\n\nThis commit won't build and is only valid in combination with its\nfollowing partner commit, which represents the modification part.\n\n[1] https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---find-renamesltngt", + "messageTitle" : "refactor!: move files to prepare upcoming NeonBeeConfig change" }, { "hashFull" : "9499d2f3a84f69fc863e62fa3527991867e73cbc", "hash" : "9499d2f3a84f69f", @@ -12000,8 +12054,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "serverPort + timeZone in options / config and Launcher", - "messageTitle" : "refactor!: serverPort + timeZone in options / config and Launcher", - "messageBody" : "move timezone from options to config and rename server verticle port to\nsimply server port" + "messageBody" : "move timezone from options to config and rename server verticle port to\nsimply server port", + "messageTitle" : "refactor!: serverPort + timeZone in options / config and Launcher" }, { "hashFull" : "ddb9c29d562377f0ae19584f27008ee35cfe7359", "hash" : "ddb9c29d562377f", @@ -12044,8 +12098,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "move files to prepare endpoints change", - "messageTitle" : "refactor!: move files to prepare endpoints change", - "messageBody" : "For milestone E1_MS06 configurable endpoints, all logic for populating\nthe server verticle with endpoints should be moved to individual\npackages and made configurable. This requires to move many files.\n\nMoving and modifying the same file in a commit, could lead to the\nsituation that git diff [1] does not detect the move. This could be\nprevented by splitting movement and modification into two separate\ncommits.\n\nThis commit won't build and is only valid in combination with its\nfollowing partner commit, which represents the modification part.\n\n[1] https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---find-renamesltngt" + "messageBody" : "For milestone E1_MS06 configurable endpoints, all logic for populating\nthe server verticle with endpoints should be moved to individual\npackages and made configurable. This requires to move many files.\n\nMoving and modifying the same file in a commit, could lead to the\nsituation that git diff [1] does not detect the move. This could be\nprevented by splitting movement and modification into two separate\ncommits.\n\nThis commit won't build and is only valid in combination with its\nfollowing partner commit, which represents the modification part.\n\n[1] https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---find-renamesltngt", + "messageTitle" : "refactor!: move files to prepare endpoints change" } ] }, { "title" : "Chores", @@ -12091,8 +12145,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "add PMD rules to avoid unnecessary modifiers in tests", - "messageTitle" : "chore: add PMD rules to avoid unnecessary modifiers in tests", - "messageBody" : "JUnit5 is more tolerant regarding the visibilities of Test classes and\nmethods than JUnit4, which required everything to be public. JUnit5\nsupports default package, public and protected visibility, even if it is\nrecommended to use the default package visibility, which improves the\nreadability of code.\n\nThese rules enforce the recommended standard.\n\nCo-authored-by: Pascal Krause " + "messageBody" : "JUnit5 is more tolerant regarding the visibilities of Test classes and\nmethods than JUnit4, which required everything to be public. JUnit5\nsupports default package, public and protected visibility, even if it is\nrecommended to use the default package visibility, which improves the\nreadability of code.\n\nThese rules enforce the recommended standard.\n\nCo-authored-by: Pascal Krause ", + "messageTitle" : "chore: add PMD rules to avoid unnecessary modifiers in tests" }, { "hashFull" : "decc350d5384972d3f66f28b81d7e5ae7f027571", "hash" : "decc350d5384972", @@ -12135,8 +12189,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "add java doc build for test sources to the voter", - "messageTitle" : "chore: add java doc build for test sources to the voter", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: add java doc build for test sources to the voter" }, { "hashFull" : "59a1ba87042348785908ad7735f165f4d7d4231b", "hash" : "59a1ba870423487", @@ -12179,8 +12233,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "bump static code dependencies", - "messageTitle" : "chore: bump static code dependencies", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: bump static code dependencies" } ] }, { "title" : "Documentation", @@ -12226,8 +12280,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "update roadmap", - "messageTitle" : "docs: update roadmap", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: update roadmap" }, { "hashFull" : "e200385258894225ff83cd88c24475d6d7060b7a", "hash" : "e20038525889422", @@ -12270,8 +12324,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "mark configurable endpoints milestone as done", - "messageTitle" : "docs: mark configurable endpoints milestone as done", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: mark configurable endpoints milestone as done" } ] }, { "title" : "Build System", @@ -12317,8 +12371,8 @@ "rawCommitType" : "build", "rawCommitScope" : "ci", "rawCommitSubject" : "set Github Actions OS to ubuntu-18.04", - "messageTitle" : "build(ci): set Github Actions OS to ubuntu-18.04", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(ci): set Github Actions OS to ubuntu-18.04" }, { "hashFull" : "1a80e51d4a1edd02f385b6bab5353b8afaaf997b", "hash" : "1a80e51d4a1edd0", @@ -12361,8 +12415,8 @@ "rawCommitType" : "build", "rawCommitScope" : "commitlint", "rawCommitSubject" : "allow pascal-case scopes", - "messageTitle" : "build(commitlint): allow pascal-case scopes", - "messageBody" : "Allowing pascal-case in the scope for the sake of setting Java classes\nas scope of the commit message." + "messageBody" : "Allowing pascal-case in the scope for the sake of setting Java classes\nas scope of the commit message.", + "messageTitle" : "build(commitlint): allow pascal-case scopes" }, { "hashFull" : "a72d2d0e95511610cc219b8c3dc6e867a8fab4ae", "hash" : "a72d2d0e9551161", @@ -12405,8 +12459,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "replace cds-services-impl with cds4j-core", - "messageTitle" : "build(deps): replace cds-services-impl with cds4j-core", - "messageBody" : "cds4j-core is a dependency of cds-services-impl, but in NeonBee only\nfunctionality from cds4j-core is used. With refining this dependency it\nis possible to save ~1 MB of unnecessary dependencies." + "messageBody" : "cds4j-core is a dependency of cds-services-impl, but in NeonBee only\nfunctionality from cds4j-core is used. With refining this dependency it\nis possible to save ~1 MB of unnecessary dependencies.", + "messageTitle" : "build(deps): replace cds-services-impl with cds4j-core" }, { "hashFull" : "55753cbd9ae50544be857453c66e5e89fc29536e", "hash" : "55753cbd9ae5054", @@ -12449,8 +12503,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump `vertx` from 4.0.3 to 4.1.0", - "messageTitle" : "build(deps): bump `vertx` from 4.0.3 to 4.1.0", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump `vertx` from 4.0.3 to 4.1.0" } ] }, { "title" : "Continuous Integration", @@ -12496,8 +12550,8 @@ "rawCommitType" : "ci", "rawCommitScope" : "actions", "rawCommitSubject" : "disable sonarqube on forks", - "messageTitle" : "ci(actions): disable sonarqube on forks", - "messageBody" : "When pull requests are opened from a branch that sits on a fork,\nthe sonarqube task fails. Therefore, disabling the sonarqube task for\nforks in the CI." + "messageBody" : "When pull requests are opened from a branch that sits on a fork,\nthe sonarqube task fails. Therefore, disabling the sonarqube task for\nforks in the CI.", + "messageTitle" : "ci(actions): disable sonarqube on forks" }, { "hashFull" : "0f1135a792efadece349464ba423ebe472f903f2", "hash" : "0f1135a792efade", @@ -12540,8 +12594,8 @@ "rawCommitType" : "ci", "rawCommitScope" : "actions", "rawCommitSubject" : "disable sonarqube on pull requests", - "messageTitle" : "ci(actions): disable sonarqube on pull requests", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci(actions): disable sonarqube on pull requests" } ] } ] }, { @@ -12601,8 +12655,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "flaky WatchVerticleTest", - "messageTitle" : "fix: flaky WatchVerticleTest", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: flaky WatchVerticleTest" }, { "hashFull" : "eddbd5b27c2f01cb5c893a7ef6469a4a70a138b7", "hash" : "eddbd5b27c2f01c", @@ -12645,8 +12699,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "echo the correct project name", - "messageTitle" : "fix: echo the correct project name", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: echo the correct project name" } ] }, { "title" : "Features", @@ -12692,8 +12746,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add $expand support for entities", - "messageTitle" : "feat: add $expand support for entities", - "messageBody" : "This is a limited implementation of the $expand option. It has the\nfollowing limitations:\n- Only work for read requests\n- Only work for attributes of the requested entity\n- No support for applying query options on $expand" + "messageBody" : "This is a limited implementation of the $expand option. It has the\nfollowing limitations:\n- Only work for read requests\n- Only work for attributes of the requested entity\n- No support for applying query options on $expand", + "messageTitle" : "feat: add $expand support for entities" } ] }, { "title" : "Code Refactoring", @@ -12739,8 +12793,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "simplify EntityProcessor", - "messageTitle" : "refactor: simplify EntityProcessor", - "messageBody" : "This patch ...\n\n... simplifies the EntityProcessor by replacing ambiguous method names\nand logic.\n\n... removes the EntityProcessorTest, because all the tests are already\npart of ODataUpdateEntityTest, ODataCreateEntityTest,\nODataDeleteEntityTest and ODataReadEntityTest.\n\n... improves error handling in ODataEndpointHandler, by setting the\ncorrect status code in case that the error is of type\nODataApplicationException." + "messageBody" : "This patch ...\n\n... simplifies the EntityProcessor by replacing ambiguous method names\nand logic.\n\n... removes the EntityProcessorTest, because all the tests are already\npart of ODataUpdateEntityTest, ODataCreateEntityTest,\nODataDeleteEntityTest and ODataReadEntityTest.\n\n... improves error handling in ODataEndpointHandler, by setting the\ncorrect status code in case that the error is of type\nODataApplicationException.", + "messageTitle" : "refactor: simplify EntityProcessor" } ] }, { "title" : "Documentation", @@ -12786,8 +12840,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "add coverage badge", - "messageTitle" : "docs: add coverage badge", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: add coverage badge" } ] }, { "title" : "Build System", @@ -12833,8 +12887,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "bump `vertx` from 4.0.0 to 4.0.3", - "messageTitle" : "build(deps): bump `vertx` from 4.0.0 to 4.0.3", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(deps): bump `vertx` from 4.0.0 to 4.0.3" } ] }, { "title" : "Continuous Integration", @@ -12880,8 +12934,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "use custom GitHub token for protected branches", - "messageTitle" : "ci: use custom GitHub token for protected branches", - "messageBody" : "In the push step, a custom github token should be used, because the\ntoken which will be automatically generated by GitHub actions has not\nsufficient authorization scopes to push to the protected main branch.\n\nThe custom token must be added to repository secrets." + "messageBody" : "In the push step, a custom github token should be used, because the\ntoken which will be automatically generated by GitHub actions has not\nsufficient authorization scopes to push to the protected main branch.\n\nThe custom token must be added to repository secrets.", + "messageTitle" : "ci: use custom GitHub token for protected branches" }, { "hashFull" : "52f43ab21a57d835f4c79178658bbf5cbb2d6c53", "hash" : "52f43ab21a57d83", @@ -12924,8 +12978,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add sonarqube to github voter", - "messageTitle" : "ci: add sonarqube to github voter", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci: add sonarqube to github voter" } ] } ] }, { @@ -12985,8 +13039,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "PubKey extraction for JWT Authhandler and other fixes", - "messageTitle" : "fix: PubKey extraction for JWT Authhandler and other fixes", - "messageBody" : "With Vert.x 4.0 the way of passing public keys to the JWT AuthHandler\nhas changed. There was also a typo in NeonBeeOptions class and the order\nof Logger parameters in Deployable class was wrong." + "messageBody" : "With Vert.x 4.0 the way of passing public keys to the JWT AuthHandler\nhas changed. There was also a typo in NeonBeeOptions class and the order\nof Logger parameters in Deployable class was wrong.", + "messageTitle" : "fix: PubKey extraction for JWT Authhandler and other fixes" }, { "hashFull" : "e60a6a3b51862aeb37310420570e0688ea37f60d", "hash" : "e60a6a3b51862ae", @@ -13029,8 +13083,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "prevent UnsupportedOperationException when deploying NeonBeeModules", - "messageTitle" : "fix: prevent UnsupportedOperationException when deploying NeonBeeModules", - "messageBody" : "All model maps are stored in an unmodifiable map to ensure immutability.\nWhen a NeonBeeModule is deployed at runtime, additional models are\nregistered in this map, which causes an UnsupportedOperationException.\nThe same occurs during deregistration of module undeployment.\n\nTo avoid this exception, the unmodifiable map will be copied, changed\nand converted back to an unmodifiable map." + "messageBody" : "All model maps are stored in an unmodifiable map to ensure immutability.\nWhen a NeonBeeModule is deployed at runtime, additional models are\nregistered in this map, which causes an UnsupportedOperationException.\nThe same occurs during deregistration of module undeployment.\n\nTo avoid this exception, the unmodifiable map will be copied, changed\nand converted back to an unmodifiable map.", + "messageTitle" : "fix: prevent UnsupportedOperationException when deploying NeonBeeModules" }, { "hashFull" : "1ed24b9f5b09609a80ccd4f4178fb7230e1e67a7", "hash" : "1ed24b9f5b09609", @@ -13073,8 +13127,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "wrong hazelcast configuration version", - "messageTitle" : "fix: wrong hazelcast configuration version", - "messageBody" : "The hazelcast configuration file referred to the wrong version number." + "messageBody" : "The hazelcast configuration file referred to the wrong version number.", + "messageTitle" : "fix: wrong hazelcast configuration version" }, { "hashFull" : "ba0c0e98dc3ddf864a756670ac1d96c678424ee5", "hash" : "ba0c0e98dc3ddf8", @@ -13117,8 +13171,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "Usage of wrong verticles folder in WorkingDirectoryBuilder", - "messageTitle" : "fix: Usage of wrong verticles folder in WorkingDirectoryBuilder", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: Usage of wrong verticles folder in WorkingDirectoryBuilder" }, { "hashFull" : "4808ea9a095a166d8685a32d74ff10e18497893e", "hash" : "4808ea9a095a166", @@ -13161,8 +13215,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "Eclipse Formatter rules for VS Code", - "messageTitle" : "fix: Eclipse Formatter rules for VS Code", - "messageBody" : "Adapt the outdated settings URL in .vscode/settings.json causing\nwrong formatting in VS Code on save." + "messageBody" : "Adapt the outdated settings URL in .vscode/settings.json causing\nwrong formatting in VS Code on save.", + "messageTitle" : "fix: Eclipse Formatter rules for VS Code" }, { "hashFull" : "eabd7742c59ee4b4688544d06eb430a5663e2c5e", "hash" : "eabd7742c59ee4b", @@ -13205,8 +13259,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "Broken HTTP status code propagation in ODataEndpointHandler", - "messageTitle" : "fix: Broken HTTP status code propagation in ODataEndpointHandler", - "messageBody" : "If the error code of an exception is in the range from 100 to 999, the\nErrorHandler is responsible for setting the HTTP status code. Setting\nthe status code to -1 signals the ErrorHandler that it must set a\nproper status code, based on the passed exception.\n\nThis logic was broken, because in Vert.x 4.0 the behavior of failing a\nrouting context has changed. The new default status code has changed\nfrom -1 to 500." + "messageBody" : "If the error code of an exception is in the range from 100 to 999, the\nErrorHandler is responsible for setting the HTTP status code. Setting\nthe status code to -1 signals the ErrorHandler that it must set a\nproper status code, based on the passed exception.\n\nThis logic was broken, because in Vert.x 4.0 the behavior of failing a\nrouting context has changed. The new default status code has changed\nfrom -1 to 500.", + "messageTitle" : "fix: Broken HTTP status code propagation in ODataEndpointHandler" }, { "hashFull" : "b64bbe3ca033d0f28fbb783b024bd5856eb3b05c", "hash" : "b64bbe3ca033d0f", @@ -13249,8 +13303,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "match correct version pattern when releasing", - "messageTitle" : "fix: match correct version pattern when releasing", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "fix: match correct version pattern when releasing" }, { "hashFull" : "9627ea732784955c1591ff9327899f2d2550ebea", "hash" : "9627ea732784955", @@ -13293,8 +13347,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "Broken HTTP status code propagation to the client", - "messageTitle" : "fix: Broken HTTP status code propagation to the client", - "messageBody" : "If the error code of an exception is in the range from 100 to 999, the\nErrorHandler is responsible for setting the HTTP status code. Setting\nthe status code to -1 signals the ErrorHandler that it must set a\nproper status code, based on the passed exception.\n\nThis logic was broken, because in Vert.x 4.0 the behavior of failing a\nrouting context has changed. The new default status code has changed\nfrom -1 to 500." + "messageBody" : "If the error code of an exception is in the range from 100 to 999, the\nErrorHandler is responsible for setting the HTTP status code. Setting\nthe status code to -1 signals the ErrorHandler that it must set a\nproper status code, based on the passed exception.\n\nThis logic was broken, because in Vert.x 4.0 the behavior of failing a\nrouting context has changed. The new default status code has changed\nfrom -1 to 500.", + "messageTitle" : "fix: Broken HTTP status code propagation to the client" }, { "hashFull" : "8aaf1654fd31ecb5a9690725eae1b471e338b507", "hash" : "8aaf1654fd31ecb", @@ -13337,8 +13391,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "All static code errors", - "messageTitle" : "fix: All static code errors", - "messageBody" : "Due to an issue with the previous version of errorprone it was updated\nto the latest version. With that new static code check errors appeared.\nThus all static code check tools have been updated and all static code\nvilations have been resolved. For the rulesets deprecated rules have\nbeen removed or replaced by their suggested alternatives.\n\nWith this change the minimum severity of the violations plugin was\ndecreased to INFO level, thus requiring contributors to acknowlege or\nfix every violation found." + "messageBody" : "Due to an issue with the previous version of errorprone it was updated\nto the latest version. With that new static code check errors appeared.\nThus all static code check tools have been updated and all static code\nvilations have been resolved. For the rulesets deprecated rules have\nbeen removed or replaced by their suggested alternatives.\n\nWith this change the minimum severity of the violations plugin was\ndecreased to INFO level, thus requiring contributors to acknowlege or\nfix every violation found.", + "messageTitle" : "fix: All static code errors" } ] }, { "title" : "Features", @@ -13384,8 +13438,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "support forward basic HTTP exceptions", - "messageTitle" : "feat: support forward basic HTTP exceptions", - "messageBody" : "This changes allows to forward basic HTTP exceptions from a DataVerticle\nto the client. At the moment 400, 403 and 404 are supported." + "messageBody" : "This changes allows to forward basic HTTP exceptions from a DataVerticle\nto the client. At the moment 400, 403 and 404 are supported.", + "messageTitle" : "feat: support forward basic HTTP exceptions" }, { "hashFull" : "92dbcde7f196daac58b2acbe2d7f82a01702431b", "hash" : "92dbcde7f196daa", @@ -13428,8 +13482,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "add $expand support for entity collections", - "messageTitle" : "feat: add $expand support for entity collections", - "messageBody" : "This is a limited implementation of the $expand option. It has the\nfollowing limitations:\n- Only work for read requests\n- Only work for attributes of the requested entity\n- No support for filter options based on attributes of expanded entities\n\n[1] http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.html#_Toc453752359" + "messageBody" : "This is a limited implementation of the $expand option. It has the\nfollowing limitations:\n- Only work for read requests\n- Only work for attributes of the requested entity\n- No support for filter options based on attributes of expanded entities\n\n[1] http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-errata03-os-part2-url-conventions-complete.html#_Toc453752359", + "messageTitle" : "feat: add $expand support for entity collections" } ] }, { "title" : "Code Refactoring", @@ -13475,8 +13529,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "Improve NeonBee ASCII art logo", - "messageTitle" : "refactor: Improve NeonBee ASCII art logo", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "refactor: Improve NeonBee ASCII art logo" }, { "hashFull" : "d183a2ab9177113a3a14a16f05f2653f2c5454a6", "hash" : "d183a2ab9177113", @@ -13529,8 +13583,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "Remove broadcasting from DataRequest/simplify", - "messageTitle" : "refactor: Remove broadcasting from DataRequest/simplify", - "messageBody" : "LoggerManagerVerticle\n\nSee NeonBee/architecture/#18. In a recent change a \"broadcasting\" option\nwas added to DataRequest and DataVerticle, mainly to publish messages to\nevery listening verticle on the eventbus. The reason this was added was\ndue to a newly introduced \"LoggerManagerVerticle\", a DataVerticle to\nmaintain the levels of loggers. In order to be able to change the log\nlevels of all loggers in a clustered NeonBee instance at once, the\nbroadcasting option could be used to set the log levels to all cluster\nnodes.\n\nThe introduction of the broadcasting option however, caused multiple\nbreaks in the concept of inter DataVerticle communication: With the\nbroadcasting parameter of DataRequest in place any interface methods\nexposed in DataSource and DataSink will, in an undocumented manner, not\nfunction as expected:\n\nFor DataSource any data returned by the called verticle will simply end\nup in void. The called verticle does NOT know about this and thus will\nnot be able to react accordingly. Even worse, even the calling verticle\nhas no information whether and which verticles received the boadcsting\nrequest, thus rendering the full interface useless in my opinion. For\nDataSink similarely, the broadcasting event can not be tracked by the\ncalling verticle and a success / failure cannot be reported by by the\ncalled verticle either.\n\nAs this option is rather limited in use and will cause side-effects\neasily, it was decided in issue #18 to remove the parameter, to maybe be\nreintroduced later with a better concept. This however requried to\nre-implement parts of the mentioned LoggerManagerVerticle:\n\nIt was decided, that instead of using the DataVerticle implementation of\nthe LoggerManagerVerticle to handle the distribution of the logger\nlevel, the LoggerManagerVerticle will be reduced to a pure JSON-based\nDataVerticle which will publish a EventBus message to all cluster nodes\napplying a LoggerConfiguration object.\n\nBefore this change LoggerConfiguration was much like a POJO with three\nvalues: the logger name, a configuration level and an effective level.\nThe effective level however, unlike the name suggests, was not the\neffective level of the underlying logger, but could have been \"null\" or\neven a different value than the \"real\" effective logger value. This was\nconfusing. To overcome this, LoggerConfiguration was changed to\nrepresent only the logger name and a configuration level. The change can\nthen be applied to the logger by calling a new \"applyConfiguredLevel\"\nmethod, which will set the effective level. Also calling the\nset/getEffectiveLevel methods will now really retrieve or set the level\nof the associated logger, instead of just storing another value. This\nagain simplified the LoggerManagerVerticle implementation.\n\nLast, it was decided to remove the LoggerConfigurations class, which was\npreviously used for inter-verticle communcation. Instead of using the\nLoggerConfigurations class a default List / JsonArray was used, which\nshould allow for the LoggerManagerVerticle to be more easily used in an\nupcoming admin UI implementation for NeonBee. This again reduced the\namount of testable code in NeonBee." + "messageBody" : "LoggerManagerVerticle\n\nSee NeonBee/architecture/#18. In a recent change a \"broadcasting\" option\nwas added to DataRequest and DataVerticle, mainly to publish messages to\nevery listening verticle on the eventbus. The reason this was added was\ndue to a newly introduced \"LoggerManagerVerticle\", a DataVerticle to\nmaintain the levels of loggers. In order to be able to change the log\nlevels of all loggers in a clustered NeonBee instance at once, the\nbroadcasting option could be used to set the log levels to all cluster\nnodes.\n\nThe introduction of the broadcasting option however, caused multiple\nbreaks in the concept of inter DataVerticle communication: With the\nbroadcasting parameter of DataRequest in place any interface methods\nexposed in DataSource and DataSink will, in an undocumented manner, not\nfunction as expected:\n\nFor DataSource any data returned by the called verticle will simply end\nup in void. The called verticle does NOT know about this and thus will\nnot be able to react accordingly. Even worse, even the calling verticle\nhas no information whether and which verticles received the boadcsting\nrequest, thus rendering the full interface useless in my opinion. For\nDataSink similarely, the broadcasting event can not be tracked by the\ncalling verticle and a success / failure cannot be reported by by the\ncalled verticle either.\n\nAs this option is rather limited in use and will cause side-effects\neasily, it was decided in issue #18 to remove the parameter, to maybe be\nreintroduced later with a better concept. This however requried to\nre-implement parts of the mentioned LoggerManagerVerticle:\n\nIt was decided, that instead of using the DataVerticle implementation of\nthe LoggerManagerVerticle to handle the distribution of the logger\nlevel, the LoggerManagerVerticle will be reduced to a pure JSON-based\nDataVerticle which will publish a EventBus message to all cluster nodes\napplying a LoggerConfiguration object.\n\nBefore this change LoggerConfiguration was much like a POJO with three\nvalues: the logger name, a configuration level and an effective level.\nThe effective level however, unlike the name suggests, was not the\neffective level of the underlying logger, but could have been \"null\" or\neven a different value than the \"real\" effective logger value. This was\nconfusing. To overcome this, LoggerConfiguration was changed to\nrepresent only the logger name and a configuration level. The change can\nthen be applied to the logger by calling a new \"applyConfiguredLevel\"\nmethod, which will set the effective level. Also calling the\nset/getEffectiveLevel methods will now really retrieve or set the level\nof the associated logger, instead of just storing another value. This\nagain simplified the LoggerManagerVerticle implementation.\n\nLast, it was decided to remove the LoggerConfigurations class, which was\npreviously used for inter-verticle communcation. Instead of using the\nLoggerConfigurations class a default List / JsonArray was used, which\nshould allow for the LoggerManagerVerticle to be more easily used in an\nupcoming admin UI implementation for NeonBee. This again reduced the\namount of testable code in NeonBee.", + "messageTitle" : "refactor: Remove broadcasting from DataRequest/simplify" }, { "hashFull" : "02b1309f5e692cc135784788f944419267f94463", "hash" : "02b1309f5e692cc", @@ -13573,8 +13627,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "simplify the EntityCollectionProcessor", - "messageTitle" : "refactor: simplify the EntityCollectionProcessor", - "messageBody" : "This patch ...\n\n- ... renames getEntities(...) to applyFilterQueryOption(...) because\ngetEntities(...) was misleading and inconsistent.\n\n- ... removes isDebugEnabled(), because nothing was computed inside.\n\n- ... changes all apply...QueryOption method signatures to throw an\nerror instead of failing the passed processPromise. This is required,\nbecause if the processPromise has been failed the processing of the\nrequest must be stopped.\n\n- ... removes the count logic from readEntityCollection(...), because it\nwill be processed in countEntityCollection(...).\n\n- ... removes applySelectQueryOption(...), because it only builds a\nselect list which should be done at a more central place. This change is\nalso a prerequisite for the expand query option, which also needs to\nmodify the select list.\n\n- ... simplifies the countEntityCollection(...) method dramatically.\n\n- ... rename EntityCollectionProcessor into\nCountEntityCollectionProcessor, because we implement the\nCountEntityCollectionProcessor interface." + "messageBody" : "This patch ...\n\n- ... renames getEntities(...) to applyFilterQueryOption(...) because\ngetEntities(...) was misleading and inconsistent.\n\n- ... removes isDebugEnabled(), because nothing was computed inside.\n\n- ... changes all apply...QueryOption method signatures to throw an\nerror instead of failing the passed processPromise. This is required,\nbecause if the processPromise has been failed the processing of the\nrequest must be stopped.\n\n- ... removes the count logic from readEntityCollection(...), because it\nwill be processed in countEntityCollection(...).\n\n- ... removes applySelectQueryOption(...), because it only builds a\nselect list which should be done at a more central place. This change is\nalso a prerequisite for the expand query option, which also needs to\nmodify the select list.\n\n- ... simplifies the countEntityCollection(...) method dramatically.\n\n- ... rename EntityCollectionProcessor into\nCountEntityCollectionProcessor, because we implement the\nCountEntityCollectionProcessor interface.", + "messageTitle" : "refactor: simplify the EntityCollectionProcessor" }, { "hashFull" : "d299658b82c96a76a016ad56d398b1bff27696b1", "hash" : "d299658b82c96a7", @@ -13617,8 +13671,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "expose SLF4J Logger interface in LoggingFacade", - "messageTitle" : "refactor: expose SLF4J Logger interface in LoggingFacade", - "messageBody" : "Similar to other examples in NeonBee, NeonBee is trying to make the best\n/ state of the art choice, when it comes to be choosing certain\nunderlying frameworks. When it comes to a logging facade and backend,\nSLF4J / Logback was chosen by NeonBee. Previously NeonBee had its own\nimplementation for the LoggingFacade, possibly making wrong assumtions\nwhen converting arguments into an array before passing it down to the\nmasqueraded logger.\n\nThis change reduces the logging facade to be making as less as possible\nassumptions and clearly indicating that the underlying logger follows\nthe SLF4J rules, by exposing its interface. The JavaDoc was changed to\nindicate that masquarading the logger will loose its ability to deal\nwith markers, also indicated by a UnsupportedOperationExeption thrown\nwhen anyways trying.\n\nAs with the pre Vert.x 4 implementation the Vert.x logger did in fact\nreorder arguments before forwarding it to the underlying logger\nimplementation, the plain SLF4J logger and LoggingFacade is no longer\nreording arguments. Thus also NeonBee has to follow the SLF4J convention\n[1] of putting the throwable as a last parameter into the format list.\nThis change adapts all calls to any longer.\n\n[1] http://www.slf4j.org/faq.html#paramException" + "messageBody" : "Similar to other examples in NeonBee, NeonBee is trying to make the best\n/ state of the art choice, when it comes to be choosing certain\nunderlying frameworks. When it comes to a logging facade and backend,\nSLF4J / Logback was chosen by NeonBee. Previously NeonBee had its own\nimplementation for the LoggingFacade, possibly making wrong assumtions\nwhen converting arguments into an array before passing it down to the\nmasqueraded logger.\n\nThis change reduces the logging facade to be making as less as possible\nassumptions and clearly indicating that the underlying logger follows\nthe SLF4J rules, by exposing its interface. The JavaDoc was changed to\nindicate that masquarading the logger will loose its ability to deal\nwith markers, also indicated by a UnsupportedOperationExeption thrown\nwhen anyways trying.\n\nAs with the pre Vert.x 4 implementation the Vert.x logger did in fact\nreorder arguments before forwarding it to the underlying logger\nimplementation, the plain SLF4J logger and LoggingFacade is no longer\nreording arguments. Thus also NeonBee has to follow the SLF4J convention\n[1] of putting the throwable as a last parameter into the format list.\nThis change adapts all calls to any longer.\n\n[1] http://www.slf4j.org/faq.html#paramException", + "messageTitle" : "refactor: expose SLF4J Logger interface in LoggingFacade" } ] }, { "title" : "Chores", @@ -13664,8 +13718,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "Rename repository to just \"neonbee\"", - "messageTitle" : "chore: Rename repository to just \"neonbee\"", - "messageBody" : "Suggestion to rename the \"neonbee-core\" Git repository to just \"neonbee\"\nfor multiple reasons:\n\n- NeonBee Core can be considered not just a component, thus the root\nname fits better\n- Choosing neonbee instead of neonbee-core as the main repository name,\nallows people to find the main repository more easily\n- It is in compliance to Vert.x where the vertx-core repository is\nsimply called \"vert.x\"\n- The folder structure will be more clear in future as \"neonbee\" will be\non top of all it's components \"neonbee-xxx\"." + "messageBody" : "Suggestion to rename the \"neonbee-core\" Git repository to just \"neonbee\"\nfor multiple reasons:\n\n- NeonBee Core can be considered not just a component, thus the root\nname fits better\n- Choosing neonbee instead of neonbee-core as the main repository name,\nallows people to find the main repository more easily\n- It is in compliance to Vert.x where the vertx-core repository is\nsimply called \"vert.x\"\n- The folder structure will be more clear in future as \"neonbee\" will be\non top of all it's components \"neonbee-xxx\".", + "messageTitle" : "chore: Rename repository to just \"neonbee\"" }, { "hashFull" : "5b8aef2d6062f462c19327223863ccfe3f24f56c", "hash" : "5b8aef2d6062f46", @@ -13708,8 +13762,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "update issue templates", - "messageTitle" : "chore: update issue templates", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: update issue templates" }, { "hashFull" : "e20fb48ce6663b3123ddcc3e2db54146aec01512", "hash" : "e20fb48ce6663b3", @@ -13752,8 +13806,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "Adding missing license information", - "messageTitle" : "chore: Adding missing license information", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: Adding missing license information" }, { "hashFull" : "e41957b604daf26080366bd637653d766ac01c0d", "hash" : "e41957b604daf26", @@ -13796,8 +13850,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "add codeowners", - "messageTitle" : "chore: add codeowners", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: add codeowners" }, { "hashFull" : "99b1b7c721fccf57b4376cc562fa1b6759af7ee1", "hash" : "99b1b7c721fccf5", @@ -13840,8 +13894,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "Setup voter with github actions", - "messageTitle" : "chore: Setup voter with github actions", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: Setup voter with github actions" }, { "hashFull" : "726dae053569e49633c9e258b3dbbf7f859c0389", "hash" : "726dae053569e49", @@ -13884,8 +13938,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "lint commit messages on push", - "messageTitle" : "chore: lint commit messages on push", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: lint commit messages on push" }, { "hashFull" : "de63afe15a3b0a6c12964c5c4daf4ce77f38f746", "hash" : "de63afe15a3b0a6", @@ -13928,8 +13982,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "disable body-max-line-length for commitlint", - "messageTitle" : "chore: disable body-max-line-length for commitlint", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "chore: disable body-max-line-length for commitlint" } ] }, { "title" : "Tests", @@ -13975,8 +14029,8 @@ "rawCommitType" : "test", "rawCommitScope" : null, "rawCommitSubject" : "Fix all failing unit tests on Windows", - "messageTitle" : "test: Fix all failing unit tests on Windows", - "messageBody" : "Ironed out some platform specific unit test failures on Windows, namely:\n\n- Dates in windows come with a 6+ sub-nano second precission, regex was\nadjusted\n- The verifyHostIp test cannot change the env. variables on Windows and\nwas thus disabled\n- TrackingDataHandlingStrategy had side effects as it was defined as a\nfield in the test\n- Made the JobVerticleTest more forgiving, as on windows soemtimes\n(depending on the CPU utilization) it only managed to execute 18 times,\neven if 20 would have been possible given the time frame\n- A lot of fixes for file system operations by introducing short delays.\nIn Windows file handles are closed asynchronously. Which means even if\nVert.x reports the write / delete operation is done, a subsequent\noperation might fail, due to the file handles still beeing open.\nSimilarely for the WatchVerticle, an operation might be recorded with a\nslight delay, which messed up the tests.\n- Encoding issue with Gralde on Windows for EXPECTED_ENTITY_DATA_4" + "messageBody" : "Ironed out some platform specific unit test failures on Windows, namely:\n\n- Dates in windows come with a 6+ sub-nano second precission, regex was\nadjusted\n- The verifyHostIp test cannot change the env. variables on Windows and\nwas thus disabled\n- TrackingDataHandlingStrategy had side effects as it was defined as a\nfield in the test\n- Made the JobVerticleTest more forgiving, as on windows soemtimes\n(depending on the CPU utilization) it only managed to execute 18 times,\neven if 20 would have been possible given the time frame\n- A lot of fixes for file system operations by introducing short delays.\nIn Windows file handles are closed asynchronously. Which means even if\nVert.x reports the write / delete operation is done, a subsequent\noperation might fail, due to the file handles still beeing open.\nSimilarely for the WatchVerticle, an operation might be recorded with a\nslight delay, which messed up the tests.\n- Encoding issue with Gralde on Windows for EXPECTED_ENTITY_DATA_4", + "messageTitle" : "test: Fix all failing unit tests on Windows" } ] }, { "title" : "Documentation", @@ -14022,8 +14076,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "Add CONTRIBUTING.md", - "messageTitle" : "docs: Add CONTRIBUTING.md", - "messageBody" : "Following the convention of many other open source projects, including Vert.x a CONTRIBUTING.md describes the process contributing to our open source project. The guide should clarify how to interact with out project.\n\nAs a template the UI5 Tooling [1] CONTRIBUTING.md was taken as a reference. As another open source SAP library, they provided already some good recommendations how processes can be treated, like signing off contributions with the CLA assistant (which still needs to be set-up).\n\nRFCs for now are moved into the \"/docs\" folder. We may think of splitting this to a separate repository again in future.\n\n[1] https://github.com/SAP/ui5-tooling/blob/master/CONTRIBUTING.md" + "messageBody" : "Following the convention of many other open source projects, including Vert.x a CONTRIBUTING.md describes the process contributing to our open source project. The guide should clarify how to interact with out project.\n\nAs a template the UI5 Tooling [1] CONTRIBUTING.md was taken as a reference. As another open source SAP library, they provided already some good recommendations how processes can be treated, like signing off contributions with the CLA assistant (which still needs to be set-up).\n\nRFCs for now are moved into the \"/docs\" folder. We may think of splitting this to a separate repository again in future.\n\n[1] https://github.com/SAP/ui5-tooling/blob/master/CONTRIBUTING.md", + "messageTitle" : "docs: Add CONTRIBUTING.md" }, { "hashFull" : "c14c4ecbafb215a49830d8cc831667486b1eead7", "hash" : "c14c4ecbafb215a", @@ -14066,8 +14120,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "Add high-level milestones to docs/roadmap.md", - "messageTitle" : "docs: Add high-level milestones to docs/roadmap.md", - "messageBody" : "After a brainstorming session with all contributors, ideas and features which have been previously often discussed and requested, have been collected. A new file structure under docs/roadmap.md and docs/milestones/*.md was introduced explaining future milestones in NeonBee and making future usage scnearios more predictable. Also contributors will more easily find a high level description of the feature added and the milestone structure can be used documenting and addressing further accepted ideas in future. This helps putting them on a timeline so others may account for when to expect these kinds of functionallity.\n\nIn contrast to RFCs the milestone structure is more focused on project management, features, timeline, etc. and not so much on the actual technical implementation details." + "messageBody" : "After a brainstorming session with all contributors, ideas and features which have been previously often discussed and requested, have been collected. A new file structure under docs/roadmap.md and docs/milestones/*.md was introduced explaining future milestones in NeonBee and making future usage scnearios more predictable. Also contributors will more easily find a high level description of the feature added and the milestone structure can be used documenting and addressing further accepted ideas in future. This helps putting them on a timeline so others may account for when to expect these kinds of functionallity.\n\nIn contrast to RFCs the milestone structure is more focused on project management, features, timeline, etc. and not so much on the actual technical implementation details.", + "messageTitle" : "docs: Add high-level milestones to docs/roadmap.md" }, { "hashFull" : "3e3d9a320d7ff17cc7129d6d6251ef680ef5f33c", "hash" : "3e3d9a320d7ff17", @@ -14110,8 +14164,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "add licensing and contributing information", - "messageTitle" : "docs: add licensing and contributing information", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: add licensing and contributing information" }, { "hashFull" : "2bd264e8e0c8b0e15fb774f3f5ad341a969c065e", "hash" : "2bd264e8e0c8b0e", @@ -14154,8 +14208,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "change NeonBee description in README.md", - "messageTitle" : "docs: change NeonBee description in README.md", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: change NeonBee description in README.md" }, { "hashFull" : "209abcde09508b41bc71c79885450bdf16b00f5c", "hash" : "209abcde09508b4", @@ -14198,8 +14252,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "adapt more technical writing in README, add dataflow and roadmap items", - "messageTitle" : "docs: adapt more technical writing in README, add dataflow and roadmap items", - "messageBody" : "README.md was adapted to feature a more technical writing style, by reducing \"you\", \"your\", \"you'll\", removing ellipsis ..., remove unnecesarry words and senteces without meaning.\n\nThe section about data verticles was re-written and extended with an own document describing how dataflow is handled in NeonBee.\n\nTwo new roadmap items were added." + "messageBody" : "README.md was adapted to feature a more technical writing style, by reducing \"you\", \"your\", \"you'll\", removing ellipsis ..., remove unnecesarry words and senteces without meaning.\n\nThe section about data verticles was re-written and extended with an own document describing how dataflow is handled in NeonBee.\n\nTwo new roadmap items were added.", + "messageTitle" : "docs: adapt more technical writing in README, add dataflow and roadmap items" }, { "hashFull" : "d06c9ba969bf0ec7706edda5e42a97d4c9f8f308", "hash" : "d06c9ba969bf0ec", @@ -14242,8 +14296,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "adapt docs for GitHub release workflow", - "messageTitle" : "docs: adapt docs for GitHub release workflow", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "docs: adapt docs for GitHub release workflow" } ] }, { "title" : "Build System", @@ -14289,8 +14343,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "downgrade `jackson` from 2.12.0 to 2.11.3", - "messageTitle" : "build(deps): downgrade `jackson` from 2.12.0 to 2.11.3", - "messageBody" : "As Vert.x 4 seems to be compiled against jackson 2.11, the dependency\nmust be downgraded, because when using jackson 2.12 some methods cannot\nbe found and produce errors." + "messageBody" : "As Vert.x 4 seems to be compiled against jackson 2.11, the dependency\nmust be downgraded, because when using jackson 2.12 some methods cannot\nbe found and produce errors.", + "messageTitle" : "build(deps): downgrade `jackson` from 2.12.0 to 2.11.3" }, { "hashFull" : "87b16311f17b231657c6c74bc68279f838c95a4f", "hash" : "87b16311f17b231", @@ -14333,8 +14387,8 @@ "rawCommitType" : "build", "rawCommitScope" : "gradle", "rawCommitSubject" : "disable errorprone checks for TypeParameterUnusedInFormals", - "messageTitle" : "build(gradle): disable errorprone checks for TypeParameterUnusedInFormals", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "build(gradle): disable errorprone checks for TypeParameterUnusedInFormals" }, { "hashFull" : "2dec63a933c0e85593f3c2926fc833e6055d4793", "hash" : "2dec63a933c0e85", @@ -14377,8 +14431,8 @@ "rawCommitType" : "build", "rawCommitScope" : null, "rawCommitSubject" : "Move most .gradle files to /gradle and restructure", - "messageTitle" : "build: Move most .gradle files to /gradle and restructure", - "messageBody" : "dependencies.gradle\n\nTo have a more clean root folder structure moving all .gradle plugin\nfiles (except settings and build.gradle) to /gradle.\n\nAlso merged the dependencies.gralde into the build.gralde file, as this\nis where most people would expect the dependencies definition. With that\nalso introduced a small change to the structure of our dependencies\ndefinition:\n\nPreviously there was a big list of variables defining the versions of\nthe dependencies at the top of the dependencies definition. This made it\nvery hard to determine which specific dependency was meant, because the\nvariables where for instance named \"jsonassert_version\", for the\norg.skyscreamer.jsonassert dependency. This made it very hard to follow,\nwhich dependencies are being referenced. In order to simplify that, the\nvariables have been moved into the blocks where the dependencies are\ndefined and also only variables are used, if multiple dependencies\nshould always be referenced in the same version. For single dependencies\nthe version is now directly defined in the respective dependency\nstatement." + "messageBody" : "dependencies.gradle\n\nTo have a more clean root folder structure moving all .gradle plugin\nfiles (except settings and build.gradle) to /gradle.\n\nAlso merged the dependencies.gralde into the build.gralde file, as this\nis where most people would expect the dependencies definition. With that\nalso introduced a small change to the structure of our dependencies\ndefinition:\n\nPreviously there was a big list of variables defining the versions of\nthe dependencies at the top of the dependencies definition. This made it\nvery hard to determine which specific dependency was meant, because the\nvariables where for instance named \"jsonassert_version\", for the\norg.skyscreamer.jsonassert dependency. This made it very hard to follow,\nwhich dependencies are being referenced. In order to simplify that, the\nvariables have been moved into the blocks where the dependencies are\ndefined and also only variables are used, if multiple dependencies\nshould always be referenced in the same version. For single dependencies\nthe version is now directly defined in the respective dependency\nstatement.", + "messageTitle" : "build: Move most .gradle files to /gradle and restructure" }, { "hashFull" : "8226af83a66178e73b0105cfeabe271a80ba8345", "hash" : "8226af83a66178e", @@ -14421,8 +14475,8 @@ "rawCommitType" : "build", "rawCommitScope" : null, "rawCommitSubject" : "remove unnecessary repositories from Gradle files and bump Gradle", - "messageTitle" : "build: remove unnecessary repositories from Gradle files and bump Gradle", - "messageBody" : "Removing mavenLocal and gradlePluginPortal from repositories declaration\nand removing pluginManagement / repositories block in settings.gradle\nentirely.\n\nRemoving mavenLocal reduces the risk of local-only failure, due to some\nleftover / old / locally built build depenencies for Vert.x or any other\nof the used dependencies. Often times it would be next to impossible to\nlocate issues with a contributors failing local build, if mavenLocal\nstays in the configuration. If local references are required for\ntesting, contributors should be inclined adding mavenLocal to the\nrepositories block themselfs.\n\nHaving gradlePluginPortal in the repositories block makes no sense, as\nplugins are anyways loaded via the pluginManagement directive. After\nremoving mavenLocal from the pluginManagement / repositories section,\nthe leftover gradlePluginPortal section there is considered the default\nsetting in Gradle and thus the whole block could be removed." + "messageBody" : "Removing mavenLocal and gradlePluginPortal from repositories declaration\nand removing pluginManagement / repositories block in settings.gradle\nentirely.\n\nRemoving mavenLocal reduces the risk of local-only failure, due to some\nleftover / old / locally built build depenencies for Vert.x or any other\nof the used dependencies. Often times it would be next to impossible to\nlocate issues with a contributors failing local build, if mavenLocal\nstays in the configuration. If local references are required for\ntesting, contributors should be inclined adding mavenLocal to the\nrepositories block themselfs.\n\nHaving gradlePluginPortal in the repositories block makes no sense, as\nplugins are anyways loaded via the pluginManagement directive. After\nremoving mavenLocal from the pluginManagement / repositories section,\nthe leftover gradlePluginPortal section there is considered the default\nsetting in Gradle and thus the whole block could be removed.", + "messageTitle" : "build: remove unnecessary repositories from Gradle files and bump Gradle" }, { "hashFull" : "9cc50e4b927c4ae408c94cf7b7475c2edbba5b40", "hash" : "9cc50e4b927c4ae", @@ -14465,8 +14519,8 @@ "rawCommitType" : "build", "rawCommitScope" : null, "rawCommitSubject" : "add required configuration for publishing to maven central", - "messageTitle" : "build: add required configuration for publishing to maven central", - "messageBody" : "This patch ...\n\n* ... adds meta information for license, scm or developers to the\npom.xml which is required by maven central.\n\n* adds a task to create a test Javadoc artifact, which is required by\nmaven central.\n\n* adds fixes for violations in the test Javadoc\n\n* adds the script 'publishToMaven.sh' which can be used to add required\ncredentials when publishing to maven central." + "messageBody" : "This patch ...\n\n* ... adds meta information for license, scm or developers to the\npom.xml which is required by maven central.\n\n* adds a task to create a test Javadoc artifact, which is required by\nmaven central.\n\n* adds fixes for violations in the test Javadoc\n\n* adds the script 'publishToMaven.sh' which can be used to add required\ncredentials when publishing to maven central.", + "messageTitle" : "build: add required configuration for publishing to maven central" } ] }, { "title" : "Continuous Integration", @@ -14512,8 +14566,8 @@ "rawCommitType" : "ci", "rawCommitScope" : "actions", "rawCommitSubject" : "add reuse compliance workflow", - "messageTitle" : "ci(actions): add reuse compliance workflow", - "messageBody" : "" + "messageBody" : "", + "messageTitle" : "ci(actions): add reuse compliance workflow" }, { "hashFull" : "8ee0bdb6a6e1e8653f5e2afd7c05179e288056a6", "hash" : "8ee0bdb6a6e1e86", @@ -14556,8 +14610,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "Add commitlint GitHub workflow", - "messageTitle" : "ci: Add commitlint GitHub workflow", - "messageBody" : "commitlint [1] will validate the commit message when a pull request is created. A GitHub action was added to the repository, see [2].\n\n[1] https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional\n[2] https://github.com/wagoid/commitlint-github-action" + "messageBody" : "commitlint [1] will validate the commit message when a pull request is created. A GitHub action was added to the repository, see [2].\n\n[1] https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional\n[2] https://github.com/wagoid/commitlint-github-action", + "messageTitle" : "ci: Add commitlint GitHub workflow" }, { "hashFull" : "12e5b4fc9d8cd5109837db257fe600a660972145", "hash" : "12e5b4fc9d8cd51", @@ -14600,8 +14654,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "add publishing workflow", - "messageTitle" : "ci: add publishing workflow", - "messageBody" : "This change adds a GitHub Actions workflow which automates the\npublishing of releases to maven central and the creation of GitHub\nreleases." + "messageBody" : "This change adds a GitHub Actions workflow which automates the\npublishing of releases to maven central and the creation of GitHub\nreleases.", + "messageTitle" : "ci: add publishing workflow" } ] }, { "title" : "Others", @@ -14647,8 +14701,8 @@ "rawCommitType" : "bump", "rawCommitScope" : "deps", "rawCommitSubject" : "Mockito to 3.7.7", - "messageTitle" : "bump(deps): Mockito to 3.7.7", - "messageBody" : "With Mockito 3.7.7 it is possible to also mock static methods." + "messageBody" : "With Mockito 3.7.7 it is possible to also mock static methods.", + "messageTitle" : "bump(deps): Mockito to 3.7.7" } ] } ] } ] diff --git a/CHANGELOG.md b/CHANGELOG.md index c3e0c800..ed2cd0c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog -## 0.25.0 (2023-06-26) +## 0.26.0 (2023-06-29) + +### Bug Fixes + +- revert SelfCleaningRegistry change, due to conceptual issues ([e22979a5](https://github.com/SAP/neonbee/commit/e22979a566d4c28646795443bf36add3f9bc92c0)) + + +## 0.25.0 (2023-06-27) ### Build System diff --git a/build.gradle b/build.gradle index cd09c159..16194735 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ plugins { } group = 'io.neonbee' -version = '0.25.1-SNAPSHOT' +version = '0.26.0' mainClassName = 'io.neonbee.Launcher' archivesBaseName = 'neonbee-core' sourceCompatibility = 11