diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 967de3047..0078fcfb1 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -18,7 +18,7 @@ jobs:
if: always()
strategy:
matrix:
- java: [ '17', '20' ]
+ java: [ '17', '21' ]
runs-on: ubuntu-latest
steps:
- name: Check out
@@ -82,7 +82,7 @@ jobs:
if: always()
strategy:
matrix:
- java: [ '17', '20' ]
+ java: [ '17', '21' ]
db: [ 'h2', 'mariadb', 'postgresql', 'mysql', 'sqlserver', 'db2', 'oracle' ]
runs-on: ubuntu-latest
env:
@@ -102,7 +102,7 @@ jobs:
- name: Build
run: mvn -T1C --color=always -DskipTests -Dmaven.javadoc.skip=true -Dmaven.source.skip=true --am -pl nflow-tests install
- name: Run the integration tests
- run: mvn -T1C -Dsurefire.forkcount=2C --color=always -P ${{ matrix.db }} -rf :nflow-tests surefire:test
+ run: mvn -T1C -Dsurefire.forkcount=1 --color=always -rf :nflow-tests surefire:test
- name: Publish JUnit test report
uses: scacap/action-surefire-report@v1
if: always()
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7a353d168..9101ba49c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,27 @@
**Details**
+ - Dependency updates:
+ - Jetty 11.0.20
+ - Apache CFX 4.0.4
+ - Dropwizard metrics 4.2.19
+ - logback 1.5.3
+ - jackson 2.17.0
+ - h2 2.2.224
+ - protobuf 3.25.1
+ - db2 jcc 11.5.9.0
+ - mssql-jdbc 12.6.1
+ - mysql-connector 8.3.0
+ - ojdbc11 23.3.0.23.09
+ - postgresql 42.7.3
+ - mariadb-java-client 3.3.3
+ - HikariCP 5.1.0
+ - netty 4.1.107
+ - joda-time 2.12.5
+ - commons-lang3 3.14.0
+ - slf4j 2.0.12
+
+
## 9.0.0 (2023-08-30)
**Highlights**
diff --git a/findbugs-exclude.xml b/findbugs-exclude.xml
index 869481a54..ff7d70553 100644
--- a/findbugs-exclude.xml
+++ b/findbugs-exclude.xml
@@ -23,6 +23,9 @@
+
+
+
- 8.19.2
+ v20.12.1
+ 10.5.0
1.3
23.2.0.0
- 42.6.0
+ 42.7.3
UTF-8
UTF-8
- 3.5.9
- 1.1.10
+ 3.6.4
+ 1.1.17
0.10.2
- 2.0.7
- 4.7.3
- 7.4.6
- 4.7.3.5
+ 2.0.12
+ 4.8.3
+ 7.6.4
+ 4.8.3.1
6.0.11
- 2.2.15
+ 2.2.21
3.0.2
- 2.16.0
+ 2.16.2
@@ -221,6 +221,8 @@
true
1
${surefire.forkcount}
+
+ -Dorg.apache.cxf.transport.http.forceURLConnection=true
@@ -314,6 +316,31 @@
spotbugs
${spotbugs.version}
+
+ org.ow2.asm
+ asm
+ ${asm.version}
+
+
+ org.ow2.asm
+ asm-analysis
+ ${asm.version}
+
+
+ org.ow2.asm
+ asm-commons
+ ${asm.version}
+
+
+ org.ow2.asm
+ asm-tree
+ ${asm.version}
+
+
+ org.ow2.asm
+ asm-util
+ ${asm.version}
+
true
@@ -388,10 +415,11 @@
commons-logging:commons-logging
+ commons-lang:commons-lang
- 3.8
+ 3.8.8
${jdk.version}
@@ -408,9 +436,10 @@
https://docs.spring.io/spring/docs/${spring.version}/javadoc-api/
- io.nflow.engine.internal
+ io.nflow.engine.internal.storage.db,io.nflow.engine.internal.*
true
- true
+ true
+ false
@@ -508,14 +537,14 @@
maven-enforcer-plugin
- require-java11
+ require-java17
enforce
- [11,)
+ [17,)
diff --git a/scripts/setup-db-db2.sh b/scripts/setup-db-db2.sh
index cb8893bca..c17cf2b9c 100755
--- a/scripts/setup-db-db2.sh
+++ b/scripts/setup-db-db2.sh
@@ -5,15 +5,16 @@ tool=$(command -v podman)
[ -z "$tool" ] && echo "podman or docker required" && exit 1
DB_VERSION=${DB_VERSION:-latest}
+# podman search --list-tags icr.io/db2_community/db2
case $DB_VERSION in
old)
- DB_VERSION=11.5.0.0a
+ DB_VERSION=11.5.5.1
;;
latest)
- DB_VERSION=11.5.8.0
+ DB_VERSION=11.5.9.0
;;
esac
-$tool run --pull=always --rm --name db2 --cap-add IPC_LOCK --cap-add IPC_OWNER -e PERSISTENT_HOME=false -e DB2INST1_PASSWORD=nflow -e LICENSE=accept -e DBNAME=nflow -e ARCHIVE_LOGS=false --publish 50000:50000 --detach ibmcom/db2:$DB_VERSION
+$tool run --pull=always --rm --name db2 --cap-add IPC_LOCK --cap-add IPC_OWNER -e PERSISTENT_HOME=false -e DB2INST1_PASSWORD=nflow -e LICENSE=accept -e DBNAME=nflow -e ARCHIVE_LOGS=false --publish 50000:50000 --detach icr.io/db2_community/db2:$DB_VERSION
-fgrep -m1 'Setup has completed' <(timeout 240 $tool logs -f db2)
+grep -F -m1 'Setup has completed' <(timeout 240 $tool logs -f db2)
diff --git a/scripts/setup-db-mariadb.sh b/scripts/setup-db-mariadb.sh
index f792a58b4..21b28490e 100755
--- a/scripts/setup-db-mariadb.sh
+++ b/scripts/setup-db-mariadb.sh
@@ -7,13 +7,13 @@ tool=$(command -v podman)
DB_VERSION=${DB_VERSION:-latest}
case $DB_VERSION in
old)
- DB_VERSION=10.3 # supported until may/2023
+ DB_VERSION=10.4 # supported until Jun/2024
;;
latest)
- DB_VERSION=10.10
+ DB_VERSION=11.3.2
;;
esac
-$tool run --pull=always --rm --name mariadb -e MYSQL_RANDOM_ROOT_PASSWORD=yes -e MYSQL_DATABASE=nflow -e MYSQL_USER=nflow -e MYSQL_PASSWORD=nflow --publish 3306:3306 --detach mariadb:$DB_VERSION --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --sync-binlog=0 --innodb-flush-log-at-trx-commit=2
+$tool run --pull=always --rm --name mariadb -e MYSQL_RANDOM_ROOT_PASSWORD=yes -e MYSQL_DATABASE=nflow -e MYSQL_USER=nflow -e MYSQL_PASSWORD=nflow --publish 3306:3306 --detach docker.io/library/mariadb:$DB_VERSION --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --sync-binlog=0 --innodb-flush-log-at-trx-commit=2
-fgrep -m1 'ready for connections' <(timeout 240 $tool logs -f mariadb 2>&1)
+grep -F -m1 'ready for connections' <(timeout 240 $tool logs -f mariadb 2>&1)
diff --git a/scripts/setup-db-mysql.sh b/scripts/setup-db-mysql.sh
index e730d12b8..4a839b48e 100755
--- a/scripts/setup-db-mysql.sh
+++ b/scripts/setup-db-mysql.sh
@@ -7,13 +7,13 @@ tool=$(command -v podman)
DB_VERSION=${DB_VERSION:-latest}
case $DB_VERSION in
old)
- DB_VERSION=5.7 # supported until oct/2023
+ DB_VERSION=8.0 # supported until Apr/2026
;;
latest)
- DB_VERSION=8.0
+ DB_VERSION=8.3
;;
esac
$tool run --pull=always --rm --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=yes -e MYSQL_DATABASE=nflow -e MYSQL_USER=nflow -e MYSQL_PASSWORD=nflow --publish 3306:3306 --detach mysql:$DB_VERSION --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --sync-binlog=0 --innodb-flush-log-at-trx-commit=2
-fgrep -m1 'ready for connections' <(timeout 240 $tool logs -f mysql 2>&1)
+grep -F -m1 'ready for connections' <(timeout 240 $tool logs -f mysql 2>&1)
diff --git a/scripts/setup-db-oracle.sh b/scripts/setup-db-oracle.sh
index 6c0689cd6..2c636d62f 100755
--- a/scripts/setup-db-oracle.sh
+++ b/scripts/setup-db-oracle.sh
@@ -7,23 +7,14 @@ tool=$(command -v podman)
DB_VERSION=${DB_VERSION:-latest}
case $DB_VERSION in
old)
-# DB_VERSION=18.4.0-xe
+ IMAGE=docker.io/gvenzl/oracle-xe
DB_VERSION=18-slim
;;
latest)
-# DB_VERSION=21.3.0-xe
- DB_VERSION=21-slim
+ IMAGE=docker.io/gvenzl/oracle-free
+ DB_VERSION=23.3-slim
;;
esac
-#$tool run --pull=always --rm --name oracle --publish 1521:1521 -e ORACLE_PWD=nflow --detach container-registry.oracle.com/database/express:$DB_VERSION
-#$tool cp oracle:/opt/oracle/product/21c/dbhomeXE/jdbc/lib/ojdbc11.jar ojdbc11.jar
-
-#fgrep -m1 'DATABASE IS READY' <(timeout 240 $tool logs -f oracle)
-
-# create user nflow identified by nflow;
-# grant CONNECT, CREATE SESSION, ALTER SESSION, CREATE MATERIALIZED VIEW, CREATE PROCEDURE, CREATE PUBLIC SYNONYM, CREATE ROLE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE TRIGGER, CREATE TYPE, CREATE VIEW, UNLIMITED TABLESPACE to nflow;
-
-
-$tool run --pull=always --rm --name oracle --publish 1521:1521 -e ORACLE_PASSWORD=nflow -e APP_USER=nflow -e APP_USER_PASSWORD=nflow --detach gvenzl/oracle-xe:$DB_VERSION
-fgrep -m1 'DATABASE IS READY' <(timeout 240 $tool logs -f oracle)
+$tool run --pull=always --rm --name oracle --publish 1521:1521 -e ORACLE_DATABASE=nflow -e ORACLE_PASSWORD=nflow -e APP_USER=nflow -e APP_USER_PASSWORD=nflow --detach $IMAGE:$DB_VERSION
+grep -F -m1 'DATABASE IS READY' <(timeout 240 $tool logs -f oracle)
diff --git a/scripts/setup-db-postgresql.sh b/scripts/setup-db-postgresql.sh
index 722df8e1f..057b3fdef 100755
--- a/scripts/setup-db-postgresql.sh
+++ b/scripts/setup-db-postgresql.sh
@@ -7,13 +7,13 @@ tool=$(command -v podman)
DB_VERSION=${DB_VERSION:-latest}
case $DB_VERSION in
old)
- DB_VERSION=11 # supported until nov/2023
+ DB_VERSION=12 # supported until Nov/2024
;;
latest)
- DB_VERSION=15
+ DB_VERSION=16
;;
esac
-$tool run --pull=always --rm --name postgres -e POSTGRES_DB=nflow -e POSTGRES_USER=nflow -e POSTGRES_PASSWORD=nflow --publish 5432:5432 --detach postgres:$DB_VERSION -c fsync=off -c full_page_writes=off
+$tool run --pull=always --rm --name postgres -e POSTGRES_DB=nflow -e POSTGRES_USER=nflow -e POSTGRES_PASSWORD=nflow --publish 5432:5432 --detach docker.io/library/postgres:$DB_VERSION -c fsync=off -c full_page_writes=off
-fgrep -m1 'listening on IPv4' <(timeout 240 $tool logs -f postgres 2>&1)
+grep -F -m1 'listening on IPv4' <(timeout 240 $tool logs -f postgres 2>&1)
diff --git a/scripts/setup-db-sqlserver.sh b/scripts/setup-db-sqlserver.sh
index f527af4b5..6d6dc329d 100755
--- a/scripts/setup-db-sqlserver.sh
+++ b/scripts/setup-db-sqlserver.sh
@@ -16,7 +16,7 @@ esac
$tool run --pull=always --rm --name mssql -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=passWord1%' --publish 1433:1433 --detach mcr.microsoft.com/mssql/server:$DB_VERSION
-fgrep -m1 'Recovery is complete' <(timeout 240 $tool logs -f mssql 2>&1)
+grep -F -m1 'Recovery is complete' <(timeout 240 $tool logs -f mssql 2>&1)
sqlcmd="$tool exec -t mssql /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P passWord1% -e -x"
$sqlcmd -Q "create database nflow"