diff --git a/dev/scripts/dbschema-generate.sh b/dev/scripts/dbschema-generate.sh
index 3df6ee8da..f97f77742 100755
--- a/dev/scripts/dbschema-generate.sh
+++ b/dev/scripts/dbschema-generate.sh
@@ -32,7 +32,9 @@ username=dtrack
password=dtrack
EOF
-mvn liquibase:update -Dliquibase.propertyFile="$(basename "${TMP_LIQUIBASE_CONFIG_FILE}")"; \
+mvn liquibase:update \
+ -Dliquibase.analytics.enabled=false \
+ -Dliquibase.propertyFile="$(basename "${TMP_LIQUIBASE_CONFIG_FILE}")"; \
docker exec "${CONTAINER_ID}" pg_dump -Udtrack --schema-only --no-owner --no-privileges dtrack | sed -e '/^--/d' | cat -s > "${ROOT_DIR}/schema.sql"; \
docker stop "${CONTAINER_ID}"; \
rm "${TMP_LIQUIBASE_CONFIG_FILE}"
diff --git a/pom.xml b/pom.xml
index 41f0c8bcd..f69c750f7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,8 +86,8 @@
${project.parent.version}
4.2.2
0.5.1
- 10.17.0
- 1.20.0
+ 10.20.1
+ 1.21.0
1.27.1
2.1.0
1.4.3
@@ -95,25 +95,25 @@
9.0.5
0.2.0
4.0.5
- 3.45.4
+ 3.47.0
4.0.0
4.13.2
3.8.0
- 4.29.2
+ 4.30.0
0.2.2
8.5.13
2.0.0
3.9.2
1.5.0
- 0.5.3.1
+ 0.5.3.2
3.2.2
4.28.3
1.20.4
2.2.0
- 2.1.22
+ 2.1.23
1.19.0
0.7.0
- 7.0.0
+ 7.1.0
1.1.1
2.0.16
4.5.14
diff --git a/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java b/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java
index 8f9d002f0..f9912dcda 100644
--- a/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java
+++ b/src/main/java/org/dependencytrack/persistence/migration/MigrationInitializer.java
@@ -22,11 +22,10 @@
import alpine.common.logging.Logger;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
-import jakarta.servlet.ServletContextEvent;
-import jakarta.servlet.ServletContextListener;
import liquibase.Liquibase;
import liquibase.Scope;
import liquibase.UpdateSummaryOutputEnum;
+import liquibase.analytics.configuration.AnalyticsArgs;
import liquibase.command.CommandScope;
import liquibase.command.core.UpdateCommandStep;
import liquibase.command.core.helpers.DbUrlConnectionArgumentsCommandStep;
@@ -38,6 +37,8 @@
import liquibase.ui.LoggerUIService;
import org.dependencytrack.common.ConfigKey;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Optional;
@@ -97,6 +98,7 @@ public static void runMigration(final DataSource dataSource) throws Exception {
public static void runMigration(final DataSource dataSource, final String changelogResourcePath) throws Exception {
final var scopeAttributes = new HashMap();
+ scopeAttributes.put(AnalyticsArgs.ENABLED.getKey(), false);
scopeAttributes.put(Scope.Attr.logService.name(), new LiquibaseLogger.LogService());
scopeAttributes.put(Scope.Attr.ui.name(), new LoggerUIService());
diff --git a/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java b/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java
index 6603950a2..11476d09b 100644
--- a/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java
+++ b/src/test/java/org/dependencytrack/persistence/jdbi/ApiRequestStatementCustomizerTest.java
@@ -74,8 +74,7 @@ public void testWithoutAlpineRequest() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -98,8 +97,7 @@ public void testWithAlpineRequestFilter() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE AND 'foo' = :apiFilter
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{apiFilter:foo}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{named:{apiFilter:foo}}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -123,8 +121,7 @@ public void testWithAlpineRequestPagination() {
OFFSET :paginationOffset FETCH NEXT :paginationLimit ROWS ONLY
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{paginationOffset:0,paginationLimit:100}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{named:{paginationOffset:0,paginationLimit:100}}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -187,8 +184,7 @@ public void testWithAlpineRequestOrderingWithAllowedColumns() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -259,8 +255,7 @@ public void testWithAlpineRequestOrderingWithAlwaysByMatchingOrderBy() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -287,8 +282,7 @@ public void testWithAlpineRequestOrderingWithAlwaysBy() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC, "valueB"
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -315,8 +309,7 @@ public void testWithAlpineRequestOrderingWithAlwaysByAndDirection() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE ORDER BY "valueA" DESC, "valueB" asc
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -349,8 +342,7 @@ public void testWithPortfolioAclDisabled() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -383,8 +375,7 @@ public void testWithPortfolioAclEnabledWithNoTeams() {
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE AND FALSE
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -423,8 +414,7 @@ public void testWithPortfolioAclEnabledWithApiKeyHavingAccessManagementPermissio
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -463,8 +453,7 @@ public void testWithPortfolioAclEnabledWithManagedUserHavingAccessManagementPerm
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -503,8 +492,7 @@ public void testWithPortfolioAclEnabledWithLdapUserHavingAccessManagementPermiss
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -543,8 +531,7 @@ public void testWithPortfolioAclEnabledWithOidcUserHavingAccessManagementPermiss
SELECT 1 AS "valueA", 2 AS "valueB" FROM "PROJECT" WHERE TRUE
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{}, finder:[]}""");
+ assertThat(ctx.getBinding()).hasToString("{}");
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)
@@ -586,8 +573,7 @@ AND EXISTS (SELECT 1
)
""");
- assertThat(ctx.getBinding()).hasToString("""
- {positional:{}, named:{projectAclTeamIds:[%s]}, finder:[]}""".formatted(team.getId()));
+ assertThat(ctx.getBinding()).hasToString("{named:{projectAclTeamIds:[%s]}}".formatted(team.getId()));
}))
.createQuery(TEST_QUERY_TEMPLATE)
.mapTo(Integer.class)