diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml
index f5ef6e9..e43cf83 100644
--- a/.github/workflows/ci-build.yml
+++ b/.github/workflows/ci-build.yml
@@ -33,12 +33,13 @@ jobs:
fail-fast: false
matrix:
exasol_db_version: [
- 2025.1.11,
- 2026.1.0
+ 2026.1.1,
+ 2025.1.16,
+ 8.29.13
]
env: {
- DEFAULT_EXASOL_DB_VERSION: 2025.1.11
+ DEFAULT_EXASOL_DB_VERSION: 2026.1.1
}
steps:
- name: Free Disk Space
@@ -61,7 +62,7 @@ jobs:
distribution: temurin
java-version: |-
11
- 17
+ 21
cache: maven
- name: Cache SonarCloud packages
id: cache-sonar
@@ -226,7 +227,7 @@ jobs:
distribution: temurin
java-version: |-
11
- 17
+ 21
cache: maven
server-id: ossindex
server-username: OSSINDEX_USERNAME
@@ -304,7 +305,7 @@ jobs:
distribution: temurin
java-version: |-
11
- 17
+ 21
cache: maven
- name: Check if release is needed
id: check-release
diff --git a/.github/workflows/dependencies_check.yml b/.github/workflows/dependencies_check.yml
index b48d014..fa5164f 100644
--- a/.github/workflows/dependencies_check.yml
+++ b/.github/workflows/dependencies_check.yml
@@ -38,7 +38,7 @@ jobs:
distribution: temurin
java-version: |-
11
- 17
+ 21
cache: maven
server-id: ossindex
server-username: OSSINDEX_USERNAME
diff --git a/.github/workflows/dependencies_update.yml b/.github/workflows/dependencies_update.yml
index 283d8b9..1986eae 100644
--- a/.github/workflows/dependencies_update.yml
+++ b/.github/workflows/dependencies_update.yml
@@ -47,7 +47,7 @@ jobs:
distribution: temurin
java-version: |-
11
- 17
+ 21
cache: maven
- name: Print issues
id: debug-print-issues
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 66a8723..515d750 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -88,7 +88,7 @@ jobs:
distribution: temurin
java-version: |-
11
- 17
+ 21
server-id: maven-central-portal
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
@@ -102,7 +102,7 @@ jobs:
distribution: temurin
java-version: |-
11
- 17
+ 21
cache: maven
- name: Fail if not running on main or release branch
id: check-main-or-release-branch
diff --git a/.project-keeper.yml b/.project-keeper.yml
index 65a7f2b..46fac0c 100644
--- a/.project-keeper.yml
+++ b/.project-keeper.yml
@@ -7,8 +7,9 @@ sources:
build:
runnerOs: ubuntu-24.04
exasolDbVersions:
- - "2025.1.11" # LTS
- - "2026.1.0"
+ - "2026.1.1" # Latest version
+ - "2025.1.16" # LTS
+ - "8.29.13" # v8 LTS
workflows:
- name: ci-build.yml
stepCustomizations:
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index f5f6a72..6e2bc99 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -120,7 +120,7 @@ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.processAnnotations=disabled
-org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_arrows_in_switch_on_columns=false
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
@@ -504,6 +504,7 @@ org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=commo
org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.put_text_block_quotes_on_new_line=false
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.text_block_indentation=0
diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs
index 14b7a65..37cc471 100644
--- a/.settings/org.eclipse.jdt.ui.prefs
+++ b/.settings/org.eclipse.jdt.ui.prefs
@@ -1,211 +1,9 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=false
-cleanup.always_use_this_for_non_static_field_access=true
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=true
-cleanup.convert_to_enhanced_for_loop=true
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=true
-cleanup.make_parameters_final=true
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=true
-cleanup.organize_imports=false
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=false
-cleanup.remove_redundant_semicolons=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=true
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=true
-cleanup.use_this_for_non_static_field_access=true
-cleanup.use_this_for_non_static_field_access_only_if_necessary=false
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup_profile=_Exasol
cleanup_settings_version=2
eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
formatter_profile=_Exasol
formatter_settings_version=23
org.eclipse.jdt.ui.ignorelowercasenames=true
org.eclipse.jdt.ui.importorder=java;javax;org;com;
org.eclipse.jdt.ui.ondemandthreshold=3
org.eclipse.jdt.ui.staticondemandthreshold=3
-sp_cleanup.add_all=false
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.also_simplify_lambda=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=true
-sp_cleanup.always_use_this_for_non_static_field_access=true
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.array_with_curly=false
-sp_cleanup.arrays_fill=false
-sp_cleanup.bitwise_conditional_expression=false
-sp_cleanup.boolean_literal=false
-sp_cleanup.boolean_value_rather_than_comparison=false
-sp_cleanup.break_loop=false
-sp_cleanup.collection_cloning=false
-sp_cleanup.comparing_on_criteria=false
-sp_cleanup.comparison_statement=false
-sp_cleanup.controlflow_merge=false
-sp_cleanup.convert_functional_interfaces=true
-sp_cleanup.convert_to_enhanced_for_loop=true
-sp_cleanup.convert_to_enhanced_for_loop_if_loop_var_used=false
-sp_cleanup.convert_to_switch_expressions=false
-sp_cleanup.correct_indentation=true
-sp_cleanup.do_while_rather_than_while=false
-sp_cleanup.double_negation=false
-sp_cleanup.else_if=false
-sp_cleanup.embedded_if=false
-sp_cleanup.evaluate_nullable=false
-sp_cleanup.extract_increment=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.hash=false
-sp_cleanup.if_condition=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.instanceof=false
-sp_cleanup.instanceof_keyword=false
-sp_cleanup.invert_equals=false
-sp_cleanup.join=false
-sp_cleanup.lazy_logical_operator=false
-sp_cleanup.make_local_variable_final=true
-sp_cleanup.make_parameters_final=true
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.map_cloning=false
-sp_cleanup.merge_conditional_blocks=false
-sp_cleanup.multi_catch=false
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=false
-sp_cleanup.no_string_creation=false
-sp_cleanup.no_super=false
-sp_cleanup.number_suffix=false
-sp_cleanup.objects_equals=false
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.one_if_rather_than_duplicate_blocks_that_fall_through=false
-sp_cleanup.operand_factorization=false
-sp_cleanup.organize_imports=true
-sp_cleanup.overridden_assignment=false
-sp_cleanup.overridden_assignment_move_decl=false
-sp_cleanup.plain_replacement=false
-sp_cleanup.precompile_regex=false
-sp_cleanup.primitive_comparison=false
-sp_cleanup.primitive_parsing=false
-sp_cleanup.primitive_rather_than_wrapper=false
-sp_cleanup.primitive_serialization=false
-sp_cleanup.pull_out_if_from_if_else=false
-sp_cleanup.pull_up_assignment=false
-sp_cleanup.push_down_negation=false
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.reduce_indentation=false
-sp_cleanup.redundant_comparator=false
-sp_cleanup.redundant_falling_through_block_end=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=false
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_array_creation=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_method_parameters=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.replace_deprecated_calls=false
-sp_cleanup.return_expression=false
-sp_cleanup.simplify_lambda_expression_and_method_ref=false
-sp_cleanup.single_used_field=false
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.standard_comparison=false
-sp_cleanup.static_inner_class=false
-sp_cleanup.strictly_equal_or_different=false
-sp_cleanup.stringbuffer_to_stringbuilder=false
-sp_cleanup.stringbuilder=false
-sp_cleanup.stringbuilder_for_local_vars=false
-sp_cleanup.stringconcat_stringbuffer_stringbuilder=false
-sp_cleanup.stringconcat_to_textblock=false
-sp_cleanup.substring=false
-sp_cleanup.switch=false
-sp_cleanup.system_property=false
-sp_cleanup.system_property_boolean=false
-sp_cleanup.system_property_file_encoding=false
-sp_cleanup.system_property_file_separator=false
-sp_cleanup.system_property_line_separator=false
-sp_cleanup.system_property_path_separator=false
-sp_cleanup.ternary_operator=false
-sp_cleanup.try_with_resource=false
-sp_cleanup.unlooped_while=false
-sp_cleanup.unreachable_block=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_autoboxing=false
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_directly_map_method=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=true
-sp_cleanup.use_string_is_blank=false
-sp_cleanup.use_this_for_non_static_field_access=true
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=false
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_unboxing=false
-sp_cleanup.use_var=false
-sp_cleanup.useless_continue=false
-sp_cleanup.useless_return=false
-sp_cleanup.valueof_rather_than_instantiation=false
+org.eclipse.jdt.ui.text.custom_code_templates=
diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md
index b9d17d2..88a79ff 100644
--- a/doc/changes/changelog.md
+++ b/doc/changes/changelog.md
@@ -1,5 +1,6 @@
# Changes
+* [0.6.21](changes_0.6.21.md)
* [0.6.20](changes_0.6.20.md)
* [0.6.19](changes_0.6.19.md)
* [0.6.18](changes_0.6.18.md)
diff --git a/doc/changes/changes_0.6.21.md b/doc/changes/changes_0.6.21.md
new file mode 100644
index 0000000..7b7e0cb
--- /dev/null
+++ b/doc/changes/changes_0.6.21.md
@@ -0,0 +1,40 @@
+# Udf Debugging Java 0.6.21, released 2026-09-14
+
+Code name: Fixed vulnerability CVE-2026-86231 in com.github.mwiede:jsch:jar:2.28.4:provided
+
+## Summary
+
+This release fixes the following vulnerability:
+
+### CVE-2026-86231 (CWE-298) in dependency `com.github.mwiede:jsch:jar:2.28.4:provided`
+A security flaw has been discovered in mwiede jsch up to 2.28.5. Affected is the function getRevokedKeys of the file src/main/java/com/jcraft/jsch/KnownHosts.java. Performing a manipulation of the argument known_hosts results in improper check for certificate revocation. The attack is possible to be carried out remotely. The attack is considered to have high complexity. The exploitability is told to be difficult. The exploit has been released to the public and may be used for attacks. Upgrading to version 2.28.6 is able to address this issue. The patch is named 194a2f76a5c0f1c3f778565be3fd66bcafc42d23. You should upgrade the affected component.
+#### References
+* https://guide.sonatype.com/vulnerability/CVE-2026-86231?component-type=maven&component-name=com.github.mwiede%2Fjsch&utm_source=ossindex-client&utm_medium=integration&utm_content=1.8.1
+* http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2026-86231
+* https://github.com/mwiede/jsch/issues/1091
+* https://github.com/mwiede/jsch/pull/1098
+* https://github.com/mwiede/jsch/releases/tag/jsch-2.28.6
+
+## Security
+
+* #88: Fixed vulnerability CVE-2026-86231 in dependency `com.github.mwiede:jsch:jar:2.28.4:provided`
+
+## Dependency Updates
+
+### Compile Dependency Updates
+
+* Updated `com.exasol:bucketfs-java:4.0.0` to `5.0.0`
+* Updated `org.slf4j:slf4j-jdk14:2.0.18` to `2.0.19`
+
+### Test Dependency Updates
+
+* Updated `com.exasol:exasol-testcontainers:7.3.0` to `8.0.2`
+* Updated `com.exasol:test-db-builder-java:4.0.1` to `4.0.2`
+
+### Plugin Dependency Updates
+
+* Updated `com.exasol:error-code-crawler-maven-plugin:2.1.0` to `2.1.1`
+* Updated `com.exasol:project-keeper-maven-plugin:5.7.3` to `5.7.5`
+* Updated `io.github.git-commit-id:git-commit-id-maven-plugin:10.0.0` to `10.0.1`
+* Updated `org.apache.maven.plugins:maven-toolchains-plugin:3.2.0` to `3.3.0`
+* Updated `org.codehaus.mojo:flatten-maven-plugin:1.7.3` to `1.8.0`
diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom
index d776ad2..77b3187 100644
--- a/pk_generated_parent.pom
+++ b/pk_generated_parent.pom
@@ -3,7 +3,7 @@
4.0.0
com.exasol
udf-debugging-java-generated-parent
- 0.6.20
+ 0.6.21
pom
UTF-8
@@ -85,7 +85,7 @@
org.apache.maven.plugins
maven-toolchains-plugin
- 3.2.0
+ 3.3.0
@@ -140,7 +140,7 @@
org.codehaus.mojo
flatten-maven-plugin
- 1.7.3
+ 1.8.0
true
oss
@@ -467,7 +467,7 @@
com.exasol
error-code-crawler-maven-plugin
- 2.1.0
+ 2.1.1
verify
@@ -480,7 +480,7 @@
io.github.git-commit-id
git-commit-id-maven-plugin
- 10.0.0
+ 10.0.1
get-the-git-infos
diff --git a/pom.xml b/pom.xml
index 685740a..5429798 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0
udf-debugging-java
- 0.6.20
+ 0.6.21
udf-debugging-java
Utilities for debugging, profiling and code coverage measure for UDFs.
https://github.com/exasol/udf-debugging-java/
@@ -41,12 +41,12 @@
com.exasol
bucketfs-java
- 4.0.0
+ 5.0.0
com.exasol
exasol-test-setup-abstraction-java
- 3.0.0
+ 3.0.1
org.slf4j
slf4j-jdk14
- 2.0.18
+ 2.0.19
@@ -133,7 +133,7 @@
com.exasol
project-keeper-maven-plugin
- 5.7.3
+ 5.7.5
@@ -147,7 +147,7 @@
udf-debugging-java-generated-parent
com.exasol
- 0.6.20
+ 0.6.21
pk_generated_parent.pom