Skip to content

chore(master): release 10.4.5#485

Open
miracum-bot wants to merge 1 commit intomasterfrom
release-please--branches--master
Open

chore(master): release 10.4.5#485
miracum-bot wants to merge 1 commit intomasterfrom
release-please--branches--master

Conversation

@miracum-bot
Copy link
Contributor

@miracum-bot miracum-bot commented Sep 30, 2025

🤖 I have created a release beep boop

10.4.5 (2026-02-04)

Bug Fixes

  • deps: update dependency axios to v1.12.0 [security] (#464) (4f0f2d4)
  • deps: update dependency checkstyle to v12 (#503) (9075011)
  • deps: update dependency checkstyle to v13 (#532) (50a08b1)
  • deps: update dependency com.approvaltests:approvaltests to v26 (#533) (82693ab)
  • deps: update dependency io.trino:trino-jdbc to v478 (#504) (770d291)
  • deps: update dependency io.trino:trino-jdbc to v479 (#534) (469a208)
  • deps: update dependency js-yaml to v4.1.1 [security] (#519) (a476676)
  • deps: update dependency net.logstash.logback:logstash-logback-encoder to v9 (#505) (aec3ac5)
  • deps: update dependency pino to v10 (#506) (b0e206e)
  • deps: update dependency pino-http to v11 (#507) (f95bcf9)
  • deps: update dependency retry-axios to v4 (#508) (eced221)

Miscellaneous Chores


This PR was generated with Release Please. See documentation.

@github-actions
Copy link

github-actions bot commented Sep 30, 2025

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ ACTION actionlint 14 0 0 0.29s
✅ BASH bash-exec 7 0 0 0.06s
✅ BASH shellcheck 4 0 0 0.2s
⚠️ BASH shfmt 7 1 0 0.01s
✅ CSHARP csharpier 3 0 0 2.0s
⚠️ CSHARP roslynator 1 1 0 11.76s
✅ CSS stylelint 1 0 0 1.85s
✅ DOCKERFILE hadolint 5 0 0 0.23s
✅ EDITORCONFIG editorconfig-checker 435 0 0 2.53s
✅ ENV dotenv-linter 1 0 0 0.0s
⚠️ GROOVY npm-groovy-lint 8 0 20 25.29s
✅ HTML djlint 2 0 0 2.53s
✅ HTML htmlhint 2 0 0 0.31s
⚠️ JAVA checkstyle 64 0 90 10.4s
✅ JSON jsonlint 53 0 0 0.53s
✅ JSON prettier 53 0 0 6.27s
✅ JSON v8r 53 0 0 34.31s
⚠️ MARKDOWN markdownlint 23 279 0 2.31s
✅ PYTHON bandit 1 0 0 2.37s
✅ PYTHON black 1 0 0 1.16s
✅ PYTHON flake8 1 0 0 0.96s
✅ PYTHON isort 1 0 0 0.69s
✅ PYTHON mypy 1 0 0 11.5s
✅ PYTHON ruff 1 0 0 0.04s
✅ REPOSITORY checkov yes no no 45.72s
✅ REPOSITORY gitleaks yes no no 5.93s
✅ REPOSITORY git_diff yes no no 0.46s
⚠️ REPOSITORY kics yes no 109 55.14s
✅ REPOSITORY secretlint yes no no 3.74s
✅ REPOSITORY syft yes no no 17.44s
⚠️ REPOSITORY trivy yes 18 no 23.07s
✅ REPOSITORY trivy-sbom yes no no 7.01s
✅ REPOSITORY trufflehog yes no no 6.73s
✅ XML xmllint 4 0 0 1.82s
✅ YAML prettier 118 0 0 3.15s

Detailed Issues

⚠️ JAVA / checkstyle - 90 warnings
warning: First sentence of Javadoc is missing an ending period.

warning: First sentence of Javadoc is missing an ending period.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Line is longer than 100 characters (found 103).

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: First sentence of Javadoc is missing an ending period.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Line is longer than 100 characters (found 107).

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: First sentence of Javadoc is missing an ending period.

warning: Line is longer than 100 characters (found 115).

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Missing a Javadoc comment.

warning: Line is longer than 100 characters (found 220).

warning: Line is longer than 100 characters (found 104).

warning: Line is longer than 100 characters (found 117).

warning: Line is longer than 100 characters (found 154).

warning: Line is longer than 100 characters (found 111).

warning: Line is longer than 100 characters (found 128).

warning: Line is longer than 100 characters (found 142).

warning: Missing a Javadoc comment.

warning: Line is longer than 100 characters (found 104).

warning: Line is longer than 100 characters (found 132).

warning: Line is longer than 100 characters (found 141).

warning: 90 warnings emitted
⚠️ REPOSITORY / kics - 109 warnings
warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
  ┌─ src/list/frontend/deploy/docker-compose.dev.yml:2:1
  │
2 │   fhir:
  │ ^^^^^^^
  │
  = Container Capabilities Unrestricted
  = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/list/frontend/deploy/docker-compose.dev.yml:51:1
   │
51 │   fhir-pseudonymizer:
   │ ^^^^^^^^^^^^^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ docker-compose/docker-compose.staging.yaml:25:1
   │
25 │   omopdb:
   │ ^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/list/frontend/tests/e2e/docker-compose.yaml:72:1
   │
72 │   jaeger:
   │ ^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/notify/tests/e2e/docker-compose.yaml:47:1
   │
47 │   fhir:
   │ ^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
  ┌─ src/list/frontend/tests/e2e/docker-compose.yaml:2:1
  │
2 │   list:
  │ ^^^^^^^
  │
  = Container Capabilities Unrestricted
  = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
    ┌─ docker-compose/docker-compose.staging.yaml:142:1
    │
142 │   fhir-db:
    │ ^^^^^^^^^^
    │
    = Container Capabilities Unrestricted
    = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/query/tests/e2e/docker-compose.yaml:28:1
   │
28 │   tester:
   │ ^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/notify/tests/e2e/docker-compose.yaml:26:1
   │
26 │   jobstore-db:
   │ ^^^^^^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/list/frontend/tests/e2e/docker-compose.yaml:59:1
   │
59 │   keycloak:
   │ ^^^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/list/frontend/tests/e2e/docker-compose.yaml:19:1
   │
19 │   tester:
   │ ^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
   ┌─ src/query/tests/e2e/docker-compose.yaml:45:1
   │
45 │   broadsea-atlasdb:
   │ ^^^^^^^^^^^^^^^^^^^
   │
   = Container Capabilities Unrestricted
   = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Docker compose file doesn't have 'cap_drop' attribute. Make sure your container only has necessary capabilities.
  ┌─ src/query/tests/e2e/docker-compose.yaml:2:1
  │
2 │   query:
  │ ^^^^^^^^
  │
  = Container Capabilities Unrestricted
  = Some capabilities are not needed in certain (or any) containers. Make sure that you only add capabilities that your container needs. Drop unnecessary capabilities as well.

warning: Doc

(Truncated to 5714 characters out of 33943)
⚠️ MARKDOWN / markdownlint - 279 errors
CHANGELOG.md:5 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:11:121 MD013/line-length Line length [Expected: 120; Actual: 220]
CHANGELOG.md:15:121 MD013/line-length Line length [Expected: 120; Actual: 233]
CHANGELOG.md:20 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:49 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:50 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:53:121 MD013/line-length Line length [Expected: 120; Actual: 232]
CHANGELOG.md:54:121 MD013/line-length Line length [Expected: 120; Actual: 220]
CHANGELOG.md:57 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:58 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Miscellaneous Chores"]
CHANGELOG.md:68 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:69 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:74 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:75 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Miscellaneous Chores"]
CHANGELOG.md:89 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:96 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:97 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:100:121 MD013/line-length Line length [Expected: 120; Actual: 220]
CHANGELOG.md:103 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:104 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Miscellaneous Chores"]
CHANGELOG.md:110:121 MD013/line-length Line length [Expected: 120; Actual: 241]
CHANGELOG.md:117 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:118 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:125:121 MD013/line-length Line length [Expected: 120; Actual: 220]
CHANGELOG.md:130 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:135 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:136 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Miscellaneous Chores"]
CHANGELOG.md:149:121 MD013/line-length Line length [Expected: 120; Actual: 229]
CHANGELOG.md:150:121 MD013/line-length Line length [Expected: 120; Actual: 228]
CHANGELOG.md:153:121 MD013/line-length Line length [Expected: 120; Actual: 237]
CHANGELOG.md:166 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:169:121 MD013/line-length Line length [Expected: 120; Actual: 224]
CHANGELOG.md:171 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:172 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:176 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:177 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Miscellaneous Chores"]
CHANGELOG.md:183 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:184 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:188 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:189 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Miscellaneous Chores"]
CHANGELOG.md:195 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:196 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:202 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:203 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Features"]
CHANGELOG.md:207 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:208 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Bug Fixes"]
CHANGELOG.md:211:121 MD013/line-length Line length [Expected: 120; Actual: 219]
CHANGELOG.md:212:121 MD013/line-length Line length [Expected: 120; Actual: 221]
CHANGELOG.md:213:121 MD013/line-length Line length [Expected: 120; Actual: 228]
CHANGELOG.md:214:121 MD013/line-length Line length [Expected: 120; Actual: 220]
CHANGELOG.md:215:121 MD013/line-length Line length [Expected: 120; Actual: 232]
CHANGELOG.md:221:121 MD013/line-length Line length [Expected: 120; Actual: 233]
CHANGELOG.md:224 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:225 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Documentation"]
CHANGELOG.md:229 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]
CHANGELOG.md:230 MD024/no-duplicate-heading Multiple headings with the same content [Context: "Miscellaneous Chores"]
CHANGELOG.md:251:121 MD013/line-length Line length [Expected: 120; Actual: 228]
CHANGELOG.md:253:121 MD013/line-length Line length [Expected: 120; Actual: 230]
CHANGELOG.md:255:121 MD013/line-length Line length [Expected: 120; Actual: 232]
CHANGELOG.md:256:121 MD013/line-le

(Truncated to 5714 characters out of 26629)
⚠️ GROOVY / npm-groovy-lint - 20 warnings
note: Class should be marked with one of @GrailsCompileStatic, @CompileStatic or @CompileDynamic
 = Check that classes are explicitely annotated with either @GrailsCompileStatic, @CompileStatic or @CompileDynamic

note: Class should be marked with one of @GrailsCompileStatic, @CompileStatic or @CompileDynamic
 = Check that classes are explicitely annotated with either @GrailsCompileStatic, @CompileStatic or @CompileDynamic

note: The String 'spring-boot-loader' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:71:24
   │
71 │             intoLayer("spring-boot-loader") {
   │                        ^^^^^^^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'org/springframework/boot/loader/**' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:72:26
   │
72 │                 include("org/springframework/boot/loader/**")
   │                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'application' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:74:24
   │
74 │             intoLayer("application")
   │                        ^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'module-dependencies' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:77:24
   │
77 │             intoLayer("module-dependencies") {
   │                        ^^^^^^^^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'org.miracum:*:*' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:78:26
   │
78 │                 include("org.miracum:*:*")
   │                          ^^^^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'dependencies' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:80:24
   │
80 │             intoLayer("dependencies")
   │                        ^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'dependencies' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:82:25
   │
82 │         layerOrder = [ "dependencies", "spring-boot-loader", "module-dependencies", "application" ]
   │                         ^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'spring-boot-loader' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:82:41
   │
82 │         layerOrder = [ "dependencies", "spring-boot-loader", "module-dependencies", "application" ]
   │                                         ^^^^^^^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'module-dependencies' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:82:63
   │
82 │         layerOrder = [ "dependencies", "spring-boot-loader", "module-dependencies", "application" ]
   │                                                               ^^^^^^^^^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: The String 'application' can be wrapped in single quotes instead of double quotes
   ┌─ src/buildSrc/src/main/groovy/org.miracum.recruit.java-application-conventions.gradle:82:86
   │
82 │         layerOrder = [ "dependencies", "spring-boot-loader", "module-dependencies", "application" ]
   │                                                                                      ^^^^^^^^^^^
   │
   = String objects should be created with single quotes, and GString objects created with double quotes. Creating normal String objects with double quotes is confusing to readers.

note: Class should be marked with one of @GrailsCompileStatic, @CompileStatic or @CompileDynamic
 = Check that classes are explicitely annotated with ei

(Truncated to 5714 characters out of 7255)
⚠️ CSHARP / roslynator - 1 error
Results of roslynator linter (version 0.11.0.0)
See documentation on https://megalinter.io/9.2.0/descriptors/csharp_roslynator/
-----------------------------------------------

❌ [ERROR] tests/chaos/tester/tester.csproj
    Loading project 'tests/chaos/tester/tester.csproj'...
    Analyze 'tester'
      Program.cs(50,32): error CS0103: The name 'TimeSpan' does not exist in the current context
      Program.cs(108,5): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(115,28): error CS0103: The name 'File' does not exist in the current context
      Program.cs(117,9): error CS0103: The name 'JsonSerializer' does not exist in the current context
      Program.cs(125,9): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(127,22): error CS0103: The name 'Policy' does not exist in the current context
      Program.cs(140,9): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(141,15): error CS0103: The name 'System' does not exist in the current context
      Program.cs(141,49): error CS0103: The name 'TimeSpan' does not exist in the current context
      Program.cs(147,5): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(155,5): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(160,5): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(169,5): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(184,13): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(192,19): error CS0103: The name 'System' does not exist in the current context
      Program.cs(192,53): error CS0103: The name 'TimeSpan' does not exist in the current context
      Program.cs(196,9): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(202,13): error CS0103: The name 'Console' does not exist in the current context
      Program.cs(213,15): error CS0103: The name 'System' does not exist in the current context
      Program.cs(213,49): error CS0103: The name 'TimeSpan' does not exist in the current context
      Program.cs(101,42): error CS0161: 'RunTest(FileInfo, Uri, TimeSpan, int)': not all code paths return a value
      Program.cs(145,42): error CS0161: 'RunDeleteMessages(Uri)': not all code paths return a value
      Program.cs(163,42): error CS0161: 'RunAssert(Uri, int, int)': not all code paths return a value
      Program.cs(1,7): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(2,7): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(3,7): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(4,7): error CS0246: The type or namespace name 'Hl7' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(5,7): error CS0246: The type or namespace name 'Hl7' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(6,7): error CS0246: The type or namespace name 'Hl7' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(7,7): error CS0246: The type or namespace name 'Polly' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(9,23): error CS0246: The type or namespace name 'RootCommand' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(11,35): error CS0246: The type or namespace name 'Option<>' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(11,42): error CS0246: The type or namespace name 'Uri' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(18,33): error CS0246: The type or namespace name 'Command' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(26,22): error CS0246: The type or namespace name 'Option<>' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(26,29): error CS0246: The type or namespace name 'FileInfo' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(34,27): error CS0246: The type or namespace name 'Option<>' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(40,31): error CS0246: The type or namespace name 'Option<>' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(40,38): error CS0246: The type or namespace name 'Uri' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(44,41): error CS0246: The type or namespace name 'Uri' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(46,26): error CS0246: The type or namespace name 'Option<>' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(46,33): error CS0246: The type or namespace name 'TimeSpan' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(52,23): error CS0246: The type or namespace name 'Command' could not be found (are you missing a using directive or an assembly reference?)
      Program.cs(73,38): error CS0246: The type or namesp

(Truncated to 5714 characters out of 26578)
⚠️ BASH / shfmt - 1 error
diff src/gradlew.orig src/gradlew
--- src/gradlew.orig
+++ src/gradlew
@@ -71,15 +71,15 @@
 
 # Need this for daisy-chained symlinks.
 while
-    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
-    [ -h "$app_path" ]
+  APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
+  [ -h "$app_path" ]
 do
-    ls=$( ls -ld "$app_path" )
-    link=${ls#*' -> '}
-    case $link in             #(
-      /*)   app_path=$link ;; #(
-      *)    app_path=$APP_HOME$link ;;
-    esac
+  ls=$(ls -ld "$app_path")
+  link=${ls#*' -> '}
+  case $link in         #(
+  /*) app_path=$link ;; #(
+  *) app_path=$APP_HOME$link ;;
+  esac
 done
 
 # This is normally unused
@@ -86,20 +86,20 @@
 # shellcheck disable=SC2034
 APP_BASE_NAME=${0##*/}
 # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
+APP_HOME=$(cd -P "${APP_HOME:-./}" >/dev/null && printf '%s\n' "$PWD") || exit
 
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD=maximum
 
-warn () {
-    echo "$*"
-} >&2
-
-die () {
-    echo
-    echo "$*"
-    echo
-    exit 1
+warn() {
+  echo "$*"
+} >&2
+
+die() {
+  echo
+  echo "$*"
+  echo
+  exit 1
 } >&2
 
 # OS specific support (must be 'true' or 'false').
@@ -107,57 +107,56 @@
 msys=false
 darwin=false
 nonstop=false
-case "$( uname )" in                #(
-  CYGWIN* )         cygwin=true  ;; #(
-  Darwin* )         darwin=true  ;; #(
-  MSYS* | MINGW* )  msys=true    ;; #(
-  NONSTOP* )        nonstop=true ;;
+case "$(uname)" in           #(
+CYGWIN*) cygwin=true ;;      #(
+Darwin*) darwin=true ;;      #(
+MSYS* | MINGW*) msys=true ;; #(
+NONSTOP*) nonstop=true ;;
 esac
 
-
-
 # Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-        # IBM's JDK on AIX uses strange locations for the executables
-        JAVACMD=$JAVA_HOME/jre/sh/java
-    else
-        JAVACMD=$JAVA_HOME/bin/java
-    fi
-    if [ ! -x "$JAVACMD" ] ; then
-        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
+if [ -n "$JAVA_HOME" ]; then
+  if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+    # IBM's JDK on AIX uses strange locations for the executables
+    JAVACMD=$JAVA_HOME/jre/sh/java
+  else
+    JAVACMD=$JAVA_HOME/bin/java
+  fi
+  if [ ! -x "$JAVACMD" ]; then
+    die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+  fi
 else
-    JAVACMD=java
-    if ! command -v java >/dev/null 2>&1
-    then
-        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-    fi
+  JAVACMD=java
+  if ! command -v java >/dev/null 2>&1; then
+    die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+  fi
 fi
 
 # Increase the maximum file descriptors if we can.
-if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
-    case $MAX_FD in #(
-      max*)
-        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
-        # shellcheck disable=SC2039,SC3045
-        MAX_FD=$( ulimit -H -n ) ||
-            warn "Could not query maximum file descriptor limit"
-    esac
-    case $MAX_FD in  #(
-      '' | soft) :;; #(
-      *)
-        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
-        # shellcheck disable=SC2039,SC3045
-        ulimit -n "$MAX_FD" ||
-            warn "Could not set maximum file descriptor limit to $MAX_FD"
-    esac
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop"; then
+  case $MAX_FD in #(
+  max*)
+    # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+    # shellcheck disable=SC2039,SC3045
+    MAX_FD=$(ulimit -H -n) ||
+      warn "Could not query maximum file descriptor limit"
+    ;;
+  esac
+  case $MAX_FD in #(
+  '' | soft) : ;; #(
+  *)
+    # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+    # shellcheck disable=SC2039,SC3045
+    ulimit -n "$MAX_FD" ||
+      warn "Could not set maximum file descriptor limit to $MAX_FD"
+    ;;
+  esac
 fi
 
 # Collect all arguments for the java command, stacking in reverse order:
@@ -169,35 +168,36 @@
 #   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
 
 # For Cygwin or MSYS, switch paths to Windows format before running java
-if "$cygwin" || "$msys" ; then
-    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
-
-    JAVACMD=$( cygpath --unix "$JAVACMD" )
-
-    # Now convert the arguments - kludge to limit ourselves to /bin/sh
-    for arg do
-        if
-            case $arg in                                #(
-              -*)   false ;;                            # don't mess with options #(
-              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
-                    [ -e "$t" ] ;;                      #(
-              *)    false ;;
-            esac
-        then
-            arg=$( cygpath --path --ignore --mixed "$arg" )
-        fi
-        # Roll the args list around exactly as many times as the number of
-        # args, so each arg

(Truncated to 5714 characters out of 8251)
⚠️ REPOSITORY / trivy - 18 errors
error: Package: form-data
Installed Version: 2.3.3
Vulnerability CVE-2025-7783
Severity: CRITICAL
Fixed Version: 2.5.4, 3.0.4, 4.0.4
Link: [CVE-2025-7783](https://avd.aquasec.com/nvd/cve-2025-7783)
    ┌─ src/list/frontend/tests/e2e/package-lock.json:925:1
    │  
925 │ ╭     "node_modules/form-data": {
926 │ │       "version": "2.3.3",
927 │ │       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
928 │ │       "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
    · │
938 │ │       }
939 │ │     },
    │ ╰^
    │  
    = form-data: Unsafe random function in form-data
    = Use of Insufficiently Random Values vulnerability in form-data allows HTTP Parameter Pollution (HPP). This vulnerability is associated with program files lib/form_data.Js.
      
      This issue affects form-data: < 2.5.4, 3.0.0 - 3.0.3, 4.0.0 - 4.0.3.

error: Package: qs
Installed Version: 6.10.4
Vulnerability CVE-2025-15284
Severity: HIGH
Fixed Version: 6.14.1
Link: [CVE-2025-15284](https://avd.aquasec.com/nvd/cve-2025-15284)
     ┌─ src/list/frontend/tests/e2e/package-lock.json:1683:1
     │  
1683 │ ╭     "node_modules/qs": {
1684 │ │       "version": "6.10.4",
1685 │ │       "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz",
1686 │ │       "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==",
     · │
1697 │ │       }
1698 │ │     },
     │ ╰^
     │  
     = qs: qs: Denial of Service via improper input validation in array parsing
     = Improper Input Validation vulnerability in qs (parse modules) allows HTTP DoS.This issue affects qs: < 6.14.1.
       
       
       SummaryThe arrayLimit option in qs does not enforce limits for bracket notation (a[]=1&a[]=2), allowing attackers to cause denial-of-service via memory exhaustion. Applications using arrayLimit for DoS protection are vulnerable.
       
       DetailsThe arrayLimit option only checks limits for indexed notation (a[0]=1&a[1]=2) but completely bypasses it for bracket notation (a[]=1&a[]=2).
       
       Vulnerable code (lib/parse.js:159-162):
       
       if (root === '[]' && options.parseArrays) {
           obj = utils.combine([], leaf);  // No arrayLimit check
       }
       
       
       
       
       
       Working code (lib/parse.js:175):
       
       else if (index <= options.arrayLimit) {  // Limit checked here
           obj = [];
           obj[index] = leaf;
       }
       
       
       
       
       
       The bracket notation handler at line 159 uses utils.combine([], leaf) without validating against options.arrayLimit, while indexed notation at line 175 checks index <= options.arrayLimit before creating arrays.
       
       PoCTest 1 - Basic bypass:
       
       npm install qs
       
       
       
       
       
       const qs = require('qs');
       const result = qs.parse('a[]=1&a[]=2&a[]=3&a[]=4&a[]=5&a[]=6', { arrayLimit: 5 });
       console.log(result.a.length);  // Output: 6 (should be max 5)
       
       
       
       
       
       Test 2 - DoS demonstration:
       
       const qs = require('qs');
       const attack = 'a[]=' + Array(10000).fill('x').join('&a[]=');
       const result = qs.parse(attack, { arrayLimit: 100 });
       console.log(result.a.length);  // Output: 10000 (should be max 100)
       
       
       
       
       
       Configuration:
       
         *  arrayLimit: 5 (test 1) or arrayLimit: 100 (test 2)
         *  Use bracket notation: a[]=value (not indexed a[0]=value)
       
       
       ImpactDenial of Service via memory exhaustion. Affects applications using qs.parse() with user-controlled input and arrayLimit for protection.
       
       Attack scenario:
       
         *  Attacker sends HTTP request: GET /api/search?filters[]=x&filters[]=x&...&filters[]=x (100,000+ times)
         *  Application parses with qs.parse(query, { arrayLimit: 100 })
         *  qs ignores limit, parses all 100,000 elements into array
         *  Server memory exhausted → application crashes or becomes unresponsive
         *  Service unavailable for all users
       Real-world impact:
       
         *  Single malicious request can crash server
         *  No authentication required
         *  Easy to automate and scale
         *  Affects any endpoint parsing query strings with bracket notation

error: Package: braces
Installed Version: 2.3.2
Vulnerability CVE-2024-4068
Severity: HIGH
Fixed Version: 3.0.3
Link: [CVE-2024-4068](https://avd.aquasec.com/nvd/cve-2024-4068)
      ┌─ src/list/package-lock.json:20463:1
      │  
20463 │ ╭     "node_modules/jscodeshift/node_modules/braces": {
20464 │ │       "version": "2.3.2",
20465 │ │       "license": "MIT",
20466 │ │       "optional": true,
      · │
20481 │ │       }
20482 │ │     },
      │ ╰^
      │  
      = braces: fails to limit the number of characters it can handle
      = The NPM package `braces`, versions prior to 3.0.3, fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. In `lib/parse.js,` if a malicious user sends "imbalanced braces" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash.

error: Package: cross-spawn
Installed Version: 6.0.5
Vulnerability CVE-2024-21538
Severity: HIGH
Fixed Version: 7.0.5, 6.0.6
Link: [CVE-2024-21538](https://avd.aquasec.com/nvd/cve-2024-21538)
      ┌─ src/list/package-lock.json:13820:1
      │  
13820 │ ╭     "node_modules/execa/node_module

(Truncated to 5714 characters out of 22461)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx [email protected] --custom-flavor-setup --custom-flavor-linters PYTHON_BLACK,PYTHON_FLAKE8,PYTHON_ISORT,PYTHON_BANDIT,PYTHON_MYPY,PYTHON_RUFF,ACTION_ACTIONLINT,BASH_EXEC,BASH_SHELLCHECK,BASH_SHFMT,CSHARP_CSHARPIER,CSHARP_ROSLYNATOR,CSS_STYLELINT,DOCKERFILE_HADOLINT,EDITORCONFIG_EDITORCONFIG_CHECKER,ENV_DOTENV_LINTER,GROOVY_NPM_GROOVY_LINT,HTML_DJLINT,HTML_HTMLHINT,JAVA_CHECKSTYLE,JSON_JSONLINT,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_KICS,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,XML_XMLLINT,YAML_PRETTIER

MegaLinter is graciously provided by OX Security

@miracum-bot miracum-bot force-pushed the release-please--branches--master branch 2 times, most recently from 35c0b8d to 083c06f Compare October 2, 2025 00:50
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch 6 times, most recently from 05b07b5 to e27b30e Compare November 6, 2025 23:00
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch 2 times, most recently from 47870d7 to 904ec36 Compare November 11, 2025 08:52
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch from 904ec36 to d1f8f4a Compare December 3, 2025 07:46
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch 5 times, most recently from 2fa0c2f to 3047b21 Compare December 14, 2025 21:50
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch 4 times, most recently from 66440da to f356802 Compare January 8, 2026 08:01
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch 7 times, most recently from 84a9deb to 35c5fb1 Compare February 4, 2026 14:52
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch from 35c5fb1 to 30c7f7d Compare February 4, 2026 14:53
@miracum-bot miracum-bot force-pushed the release-please--branches--master branch from 30c7f7d to 7d1ccd0 Compare February 4, 2026 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant