diff --git a/CHANGELOG.json b/CHANGELOG.json index f713143b..0434168f 100644 --- a/CHANGELOG.json +++ b/CHANGELOG.json @@ -1,7 +1,7 @@ { "nextVersion" : { "major" : 0, - "minor" : 4, + "minor" : 5, "patch" : 0, "preReleaseParts" : [ ], "buildMetaDataParts" : [ ], @@ -12,7 +12,7 @@ }, "lastVersion" : { "major" : 0, - "minor" : 3, + "minor" : 4, "patch" : 0, "preReleaseParts" : [ ], "buildMetaDataParts" : [ ], @@ -22,6 +22,390 @@ "stable" : true }, "tags" : [ { + "version" : { + "major" : 0, + "minor" : 4, + "patch" : 0, + "preReleaseParts" : [ ], + "buildMetaDataParts" : [ ], + "preRelease" : "", + "buildMetaData" : "", + "initialDevelopment" : true, + "stable" : true + }, + "releaseDate" : "2021-03-18 14:29:36.000 +0100", + "sections" : [ { + "title" : "Bug Fixes", + "commits" : [ { + "hashFull" : "df67723915edcdade47b04e38490ffbb64e73985", + "hash" : "df67723915edcda", + "hash7" : "df67723", + "hash8" : "df677239", + "commitTime" : "2021-03-12 14:04:30.000 +0100", + "commitTimeLong" : 1615554270, + "message" : "fix: flaky WatchVerticleTest", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-12 11:40:58.000 +0100", + "name" : "Pascal Krause", + "email" : "pascal.krause@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-12 14:04:30.000 +0100", + "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/df67723915edcdade47b04e38490ffbb64e73985", + "commitType" : "fix", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "flaky WatchVerticleTest", + "commitBody" : null, + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "fix", + "rawCommitScope" : null, + "rawCommitSubject" : "flaky WatchVerticleTest", + "messageTitle" : "fix: flaky WatchVerticleTest", + "messageBody" : "" + }, { + "hashFull" : "eddbd5b27c2f01cb5c893a7ef6469a4a70a138b7", + "hash" : "eddbd5b27c2f01c", + "hash7" : "eddbd5b", + "hash8" : "eddbd5b2", + "commitTime" : "2021-03-18 14:29:36.000 +0100", + "commitTimeLong" : 1616074176, + "message" : "fix: echo the correct project name\n", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-18 14:22:21.000 +0100", + "name" : "Sebastian Heid", + "email" : "sebastian.heid@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-18 14:29:36.000 +0100", + "name" : "Sebastian Heid", + "email" : "sebastian.heid@sap.com" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/eddbd5b27c2f01cb5c893a7ef6469a4a70a138b7", + "commitType" : "fix", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "echo the correct project name", + "commitBody" : null, + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "fix", + "rawCommitScope" : null, + "rawCommitSubject" : "echo the correct project name", + "messageTitle" : "fix: echo the correct project name", + "messageBody" : "" + } ] + }, { + "title" : "Code Refactoring", + "commits" : [ { + "hashFull" : "6bd0a214305e4432b4a3e7a3afe5c7e402cd0e8f", + "hash" : "6bd0a214305e443", + "hash7" : "6bd0a21", + "hash8" : "6bd0a214", + "commitTime" : "2021-03-12 16:51:29.000 +0100", + "commitTimeLong" : 1615564289, + "message" : "refactor: simplify EntityProcessor\n\nThis 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.", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-11 15:08:09.000 +0100", + "name" : "Pascal Krause", + "email" : "pascal.krause@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-12 16:51:29.000 +0100", + "name" : "Danilo Pizzonia", + "email" : "31094041+SAPDaniloWork@users.noreply.github.com" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/6bd0a214305e4432b4a3e7a3afe5c7e402cd0e8f", + "commitType" : "refactor", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "simplify EntityProcessor", + "commitBody" : "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.", + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "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." + } ] + }, { + "title" : "Features", + "commits" : [ { + "hashFull" : "6c5d07909d4695bde4bce1ba37a12aeaa5d16888", + "hash" : "6c5d07909d4695b", + "hash7" : "6c5d079", + "hash8" : "6c5d0790", + "commitTime" : "2021-03-16 08:06:53.000 +0100", + "commitTimeLong" : 1615878413, + "message" : "feat: add $expand support for entities\n\nThis 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", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-12 14:06:10.000 +0100", + "name" : "Pascal Krause", + "email" : "pascal.krause@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-16 08:06:53.000 +0100", + "name" : "Danilo Pizzonia", + "email" : "31094041+SAPDaniloWork@users.noreply.github.com" + }, + "quickActions" : { }, + "closeIssues" : [ ], + "subjectIssues" : [ ], + "bodyIssues" : [ ], + "mentions" : [ ], + "locales" : [ ], + "defaultLang" : "en", + "commitUrl" : "https://github.com/SAP/neonbee/commit/6c5d07909d4695bde4bce1ba37a12aeaa5d16888", + "commitType" : "feat", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "add $expand support for entities", + "commitBody" : "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", + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "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" + } ] + }, { + "title" : "Documentation", + "commits" : [ { + "hashFull" : "c0df69f79e96f52ff1cd86c4165c3e87b0e3370d", + "hash" : "c0df69f79e96f52", + "hash7" : "c0df69f", + "hash8" : "c0df69f7", + "commitTime" : "2021-03-15 15:27:33.000 +0100", + "commitTimeLong" : 1615818453, + "message" : "docs: add coverage badge\n", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-15 10:59:50.000 +0100", + "name" : "Sebastian Heid", + "email" : "sebastian.heid@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-15 15:27:33.000 +0100", + "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/c0df69f79e96f52ff1cd86c4165c3e87b0e3370d", + "commitType" : "docs", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "add coverage badge", + "commitBody" : null, + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "docs", + "rawCommitScope" : null, + "rawCommitSubject" : "add coverage badge", + "messageTitle" : "docs: add coverage badge", + "messageBody" : "" + } ] + }, { + "title" : "Build System", + "commits" : [ { + "hashFull" : "111301dd60f18e3f30e5e4425396a0bcd1f4fed9", + "hash" : "111301dd60f18e3", + "hash7" : "111301d", + "hash8" : "111301dd", + "commitTime" : "2021-03-18 14:17:38.000 +0100", + "commitTimeLong" : 1616073458, + "message" : "build(deps): bump `vertx` from 4.0.0 to 4.0.3\n", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-18 10:41:45.000 +0100", + "name" : "Sebastian Heid", + "email" : "sebastian.heid@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-18 14:17:38.000 +0100", + "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/111301dd60f18e3f30e5e4425396a0bcd1f4fed9", + "commitType" : "build", + "commitPackage" : null, + "commitScope" : "deps", + "commitSubject" : "bump `vertx` from 4.0.0 to 4.0.3", + "commitBody" : null, + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "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" : "" + } ] + }, { + "title" : "Continuous Integration", + "commits" : [ { + "hashFull" : "710f42743f038541e58925818ac7ddf792154430", + "hash" : "710f42743f03854", + "hash7" : "710f427", + "hash8" : "710f4274", + "commitTime" : "2021-03-11 12:11:27.000 +0100", + "commitTimeLong" : 1615461087, + "message" : "ci: use custom GitHub token for protected branches\n\nIn 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.\n", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-10 21:07:50.000 +0100", + "name" : "Sebastian Heid", + "email" : "sebastian.heid@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-11 12:11:27.000 +0100", + "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/710f42743f038541e58925818ac7ddf792154430", + "commitType" : "ci", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "use custom GitHub token for protected branches", + "commitBody" : "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.", + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "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." + }, { + "hashFull" : "52f43ab21a57d835f4c79178658bbf5cbb2d6c53", + "hash" : "52f43ab21a57d83", + "hash7" : "52f43ab", + "hash8" : "52f43ab2", + "commitTime" : "2021-03-12 16:21:53.000 +0100", + "commitTimeLong" : 1615562513, + "message" : "ci: add sonarqube to github voter\n", + "merge" : false, + "authorIdent" : { + "when" : "2021-03-11 14:43:51.000 +0100", + "name" : "Sebastian Heid", + "email" : "sebastian.heid@sap.com" + }, + "committerIdent" : { + "when" : "2021-03-12 16:21:53.000 +0100", + "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/52f43ab21a57d835f4c79178658bbf5cbb2d6c53", + "commitType" : "ci", + "commitPackage" : null, + "commitScope" : null, + "commitSubject" : "add sonarqube to github voter", + "commitBody" : null, + "attention" : false, + "breakingChange" : false, + "deprecated" : false, + "commitIssue" : null, + "localeMap" : null, + "firstLocaleCommitType" : null, + "firstLocaleCommitScope" : null, + "rawCommitType" : "ci", + "rawCommitScope" : null, + "rawCommitSubject" : "add sonarqube to github voter", + "messageTitle" : "ci: add sonarqube to github voter", + "messageBody" : "" + } ] + } ] + }, { "version" : { "major" : 0, "minor" : 3, @@ -33,7 +417,7 @@ "initialDevelopment" : true, "stable" : true }, - "releaseDate" : "2021-03-10 16:15:49.000 +0100", + "releaseDate" : "2021-03-10 16:24:12.000 +0100", "sections" : [ { "title" : "Bug Fixes", "commits" : [ { @@ -78,8 +462,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "fix: 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." }, { "hashFull" : "e60a6a3b51862aeb37310420570e0688ea37f60d", "hash" : "e60a6a3b51862ae", @@ -122,8 +506,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "fix: 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." }, { "hashFull" : "1ed24b9f5b09609a80ccd4f4178fb7230e1e67a7", "hash" : "1ed24b9f5b09609", @@ -166,8 +550,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "wrong hazelcast configuration version", - "messageBody" : "The hazelcast configuration file referred to the wrong version number.", - "messageTitle" : "fix: wrong hazelcast configuration version" + "messageTitle" : "fix: wrong hazelcast configuration version", + "messageBody" : "The hazelcast configuration file referred to the wrong version number." }, { "hashFull" : "ba0c0e98dc3ddf864a756670ac1d96c678424ee5", "hash" : "ba0c0e98dc3ddf8", @@ -210,8 +594,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "Usage of wrong verticles folder in WorkingDirectoryBuilder", - "messageBody" : "", - "messageTitle" : "fix: Usage of wrong verticles folder in WorkingDirectoryBuilder" + "messageTitle" : "fix: Usage of wrong verticles folder in WorkingDirectoryBuilder", + "messageBody" : "" }, { "hashFull" : "4808ea9a095a166d8685a32d74ff10e18497893e", "hash" : "4808ea9a095a166", @@ -254,8 +638,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "Eclipse Formatter rules for VS Code", - "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" + "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." }, { "hashFull" : "eabd7742c59ee4b4688544d06eb430a5663e2c5e", "hash" : "eabd7742c59ee4b", @@ -298,8 +682,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "fix: 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." }, { "hashFull" : "b64bbe3ca033d0f28fbb783b024bd5856eb3b05c", "hash" : "b64bbe3ca033d0f", @@ -342,8 +726,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "match correct version pattern when releasing", - "messageBody" : "", - "messageTitle" : "fix: match correct version pattern when releasing" + "messageTitle" : "fix: match correct version pattern when releasing", + "messageBody" : "" }, { "hashFull" : "9627ea732784955c1591ff9327899f2d2550ebea", "hash" : "9627ea732784955", @@ -386,8 +770,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "fix: 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." }, { "hashFull" : "8aaf1654fd31ecb5a9690725eae1b471e338b507", "hash" : "8aaf1654fd31ecb", @@ -430,8 +814,8 @@ "rawCommitType" : "fix", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "fix: 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." } ] }, { "title" : "Code Refactoring", @@ -477,8 +861,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "Improve NeonBee ASCII art logo", - "messageBody" : "", - "messageTitle" : "refactor: Improve NeonBee ASCII art logo" + "messageTitle" : "refactor: Improve NeonBee ASCII art logo", + "messageBody" : "" }, { "hashFull" : "d183a2ab9177113a3a14a16f05f2653f2c5454a6", "hash" : "d183a2ab9177113", @@ -531,8 +915,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "refactor: 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." }, { "hashFull" : "02b1309f5e692cc135784788f944419267f94463", "hash" : "02b1309f5e692cc", @@ -575,8 +959,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "refactor: 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." }, { "hashFull" : "d299658b82c96a76a016ad56d398b1bff27696b1", "hash" : "d299658b82c96a7", @@ -619,8 +1003,8 @@ "rawCommitType" : "refactor", "rawCommitScope" : null, "rawCommitSubject" : "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", - "messageTitle" : "refactor: 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" } ] }, { "title" : "Features", @@ -666,8 +1050,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "feat: 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." }, { "hashFull" : "92dbcde7f196daac58b2acbe2d7f82a01702431b", "hash" : "92dbcde7f196daa", @@ -710,8 +1094,8 @@ "rawCommitType" : "feat", "rawCommitScope" : null, "rawCommitSubject" : "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", - "messageTitle" : "feat: 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" } ] }, { "title" : "Documentation", @@ -757,8 +1141,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "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", - "messageTitle" : "docs: 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" }, { "hashFull" : "c14c4ecbafb215a49830d8cc831667486b1eead7", "hash" : "c14c4ecbafb215a", @@ -801,8 +1185,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "docs: 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." }, { "hashFull" : "3e3d9a320d7ff17cc7129d6d6251ef680ef5f33c", "hash" : "3e3d9a320d7ff17", @@ -845,8 +1229,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "add licensing and contributing information", - "messageBody" : "", - "messageTitle" : "docs: add licensing and contributing information" + "messageTitle" : "docs: add licensing and contributing information", + "messageBody" : "" }, { "hashFull" : "2bd264e8e0c8b0e15fb774f3f5ad341a969c065e", "hash" : "2bd264e8e0c8b0e", @@ -889,8 +1273,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "change NeonBee description in README.md", - "messageBody" : "", - "messageTitle" : "docs: change NeonBee description in README.md" + "messageTitle" : "docs: change NeonBee description in README.md", + "messageBody" : "" }, { "hashFull" : "209abcde09508b41bc71c79885450bdf16b00f5c", "hash" : "209abcde09508b4", @@ -933,8 +1317,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "docs: 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." }, { "hashFull" : "d06c9ba969bf0ec7706edda5e42a97d4c9f8f308", "hash" : "d06c9ba969bf0ec", @@ -977,8 +1361,8 @@ "rawCommitType" : "docs", "rawCommitScope" : null, "rawCommitSubject" : "adapt docs for GitHub release workflow", - "messageBody" : "", - "messageTitle" : "docs: adapt docs for GitHub release workflow" + "messageTitle" : "docs: adapt docs for GitHub release workflow", + "messageBody" : "" } ] }, { "title" : "Chores", @@ -1024,8 +1408,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "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\".", - "messageTitle" : "chore: 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\"." }, { "hashFull" : "5b8aef2d6062f462c19327223863ccfe3f24f56c", "hash" : "5b8aef2d6062f46", @@ -1068,8 +1452,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "update issue templates", - "messageBody" : "", - "messageTitle" : "chore: update issue templates" + "messageTitle" : "chore: update issue templates", + "messageBody" : "" }, { "hashFull" : "e20fb48ce6663b3123ddcc3e2db54146aec01512", "hash" : "e20fb48ce6663b3", @@ -1112,8 +1496,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "Adding missing license information", - "messageBody" : "", - "messageTitle" : "chore: Adding missing license information" + "messageTitle" : "chore: Adding missing license information", + "messageBody" : "" }, { "hashFull" : "e41957b604daf26080366bd637653d766ac01c0d", "hash" : "e41957b604daf26", @@ -1156,8 +1540,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "add codeowners", - "messageBody" : "", - "messageTitle" : "chore: add codeowners" + "messageTitle" : "chore: add codeowners", + "messageBody" : "" }, { "hashFull" : "99b1b7c721fccf57b4376cc562fa1b6759af7ee1", "hash" : "99b1b7c721fccf5", @@ -1200,8 +1584,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "Setup voter with github actions", - "messageBody" : "", - "messageTitle" : "chore: Setup voter with github actions" + "messageTitle" : "chore: Setup voter with github actions", + "messageBody" : "" }, { "hashFull" : "726dae053569e49633c9e258b3dbbf7f859c0389", "hash" : "726dae053569e49", @@ -1244,8 +1628,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "lint commit messages on push", - "messageBody" : "", - "messageTitle" : "chore: lint commit messages on push" + "messageTitle" : "chore: lint commit messages on push", + "messageBody" : "" }, { "hashFull" : "de63afe15a3b0a6c12964c5c4daf4ce77f38f746", "hash" : "de63afe15a3b0a6", @@ -1288,8 +1672,8 @@ "rawCommitType" : "chore", "rawCommitScope" : null, "rawCommitSubject" : "disable body-max-line-length for commitlint", - "messageBody" : "", - "messageTitle" : "chore: disable body-max-line-length for commitlint" + "messageTitle" : "chore: disable body-max-line-length for commitlint", + "messageBody" : "" } ] }, { "title" : "Tests", @@ -1335,8 +1719,8 @@ "rawCommitType" : "test", "rawCommitScope" : null, "rawCommitSubject" : "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", - "messageTitle" : "test: 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" } ] }, { "title" : "Build System", @@ -1382,8 +1766,8 @@ "rawCommitType" : "build", "rawCommitScope" : "deps", "rawCommitSubject" : "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.", - "messageTitle" : "build(deps): 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." }, { "hashFull" : "87b16311f17b231657c6c74bc68279f838c95a4f", "hash" : "87b16311f17b231", @@ -1426,8 +1810,8 @@ "rawCommitType" : "build", "rawCommitScope" : "gradle", "rawCommitSubject" : "disable errorprone checks for TypeParameterUnusedInFormals", - "messageBody" : "", - "messageTitle" : "build(gradle): disable errorprone checks for TypeParameterUnusedInFormals" + "messageTitle" : "build(gradle): disable errorprone checks for TypeParameterUnusedInFormals", + "messageBody" : "" }, { "hashFull" : "2dec63a933c0e85593f3c2926fc833e6055d4793", "hash" : "2dec63a933c0e85", @@ -1470,8 +1854,8 @@ "rawCommitType" : "build", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "build: 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." }, { "hashFull" : "8226af83a66178e73b0105cfeabe271a80ba8345", "hash" : "8226af83a66178e", @@ -1514,8 +1898,8 @@ "rawCommitType" : "build", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "build: 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." }, { "hashFull" : "9cc50e4b927c4ae408c94cf7b7475c2edbba5b40", "hash" : "9cc50e4b927c4ae", @@ -1558,8 +1942,8 @@ "rawCommitType" : "build", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "build: 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." } ] }, { "title" : "Continuous Integration", @@ -1605,8 +1989,8 @@ "rawCommitType" : "ci", "rawCommitScope" : "actions", "rawCommitSubject" : "add reuse compliance workflow", - "messageBody" : "", - "messageTitle" : "ci(actions): add reuse compliance workflow" + "messageTitle" : "ci(actions): add reuse compliance workflow", + "messageBody" : "" }, { "hashFull" : "8ee0bdb6a6e1e8653f5e2afd7c05179e288056a6", "hash" : "8ee0bdb6a6e1e86", @@ -1649,8 +2033,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "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", - "messageTitle" : "ci: 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" }, { "hashFull" : "12e5b4fc9d8cd5109837db257fe600a660972145", "hash" : "12e5b4fc9d8cd51", @@ -1693,8 +2077,8 @@ "rawCommitType" : "ci", "rawCommitScope" : null, "rawCommitSubject" : "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.", - "messageTitle" : "ci: 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." } ] }, { "title" : "Others", @@ -1740,8 +2124,8 @@ "rawCommitType" : "bump", "rawCommitScope" : "deps", "rawCommitSubject" : "Mockito to 3.7.7", - "messageBody" : "With Mockito 3.7.7 it is possible to also mock static methods.", - "messageTitle" : "bump(deps): 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." } ] } ] } ] diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cf3dd90..3a276090 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,39 @@ # Changelog +## 0.4.0 (2021-03-18) + +### Bug Fixes + +- flaky WatchVerticleTest ([df677239](https://github.com/SAP/neonbee/commit/df67723915edcdade47b04e38490ffbb64e73985)) +- echo the correct project name ([eddbd5b2](https://github.com/SAP/neonbee/commit/eddbd5b27c2f01cb5c893a7ef6469a4a70a138b7)) + + +### Code Refactoring + +- simplify EntityProcessor ([6bd0a214](https://github.com/SAP/neonbee/commit/6bd0a214305e4432b4a3e7a3afe5c7e402cd0e8f)) + + +### Features + +- add $expand support for entities ([6c5d0790](https://github.com/SAP/neonbee/commit/6c5d07909d4695bde4bce1ba37a12aeaa5d16888)) + + +### Documentation + +- add coverage badge ([c0df69f7](https://github.com/SAP/neonbee/commit/c0df69f79e96f52ff1cd86c4165c3e87b0e3370d)) + + +### Build System + +- **deps**: bump `vertx` from 4.0.0 to 4.0.3 ([111301dd](https://github.com/SAP/neonbee/commit/111301dd60f18e3f30e5e4425396a0bcd1f4fed9)) + + +### Continuous Integration + +- use custom GitHub token for protected branches ([710f4274](https://github.com/SAP/neonbee/commit/710f42743f038541e58925818ac7ddf792154430)) +- add sonarqube to github voter ([52f43ab2](https://github.com/SAP/neonbee/commit/52f43ab21a57d835f4c79178658bbf5cbb2d6c53)) + + ## 0.3.0 (2021-03-10) ### Bug Fixes diff --git a/build.gradle b/build.gradle index 3da13d2b..f2254c85 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ plugins { } group = 'io.neonbee' -version = '0.3.1-SNAPSHOT' +version = '0.4.0' mainClassName = 'io.neonbee.Launcher' archivesBaseName = 'neonbee-core' sourceCompatibility = 11