diff --git a/Dockerfile b/Dockerfile index e64fdb30114..c3f906b126e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:23 AS build +FROM eclipse-temurin:25 AS build COPY . /home/gradle/src USER root WORKDIR /home/gradle/src diff --git a/Ghidra/Extensions/MachineLearning/build.gradle b/Ghidra/Extensions/MachineLearning/build.gradle index 0623ca49307..164c89ae6a1 100644 --- a/Ghidra/Extensions/MachineLearning/build.gradle +++ b/Ghidra/Extensions/MachineLearning/build.gradle @@ -26,15 +26,15 @@ def protobufVersion = getProperty("ghidra.protobuf.java.version") dependencies { api project(':Base') - api "com.oracle.labs.olcut:olcut-config-protobuf:5.2.0" //{exclude group: "com.google.protobuf", module: "protobuf-java"} - api ("com.oracle.labs.olcut:olcut-core:5.2.0") {exclude group: "org.jline"} - api "org.tribuo:tribuo-classification-core:4.2.0" - api "org.tribuo:tribuo-classification-tree:4.2.0" - api "org.tribuo:tribuo-common-tree:4.2.0" - api 'org.tribuo:tribuo-core:4.2.0' - api ("org.tribuo:tribuo-data:4.2.0") {exclude group: "com.opencsv"} - api "org.tribuo:tribuo-math:4.2.0" - api ("org.tribuo:tribuo-util-onnx:4.2.0") //{exclude group: "com.google.protobuf", module: "protobuf-java"} + api "com.oracle.labs.olcut:olcut-config-protobuf:5.3.1" //{exclude group: "com.google.protobuf", module: "protobuf-java"} + api ("com.oracle.labs.olcut:olcut-core:5.3.1") {exclude group: "org.jline"} + api "org.tribuo:tribuo-classification-core:4.3.2" + api "org.tribuo:tribuo-classification-tree:4.3.2" + api "org.tribuo:tribuo-common-tree:4.3.2" + api 'org.tribuo:tribuo-core:4.3.2' + api ("org.tribuo:tribuo-data:4.3.2") {exclude group: "com.opencsv"} + api "org.tribuo:tribuo-math:4.3.2" + api ("org.tribuo:tribuo-util-onnx:4.3.2") //{exclude group: "com.google.protobuf", module: "protobuf-java"} testImplementation project(path: ':SoftwareModeling', configuration: 'testArtifacts') testImplementation "com.google.protobuf:protobuf-java:${protobufVersion}" diff --git a/Ghidra/Features/BSim/build.gradle b/Ghidra/Features/BSim/build.gradle index 47600e5a075..d7450ca4a26 100755 --- a/Ghidra/Features/BSim/build.gradle +++ b/Ghidra/Features/BSim/build.gradle @@ -32,11 +32,11 @@ dependencies { api project(":Decompiler") api project(":CodeCompare") - api "org.postgresql:postgresql:42.7.6" - api "org.apache.commons:commons-dbcp2:2.9.0" - api "org.apache.commons:commons-pool2:2.11.1" - api "commons-logging:commons-logging:1.2" - api "com.h2database:h2:2.2.220" + api "org.postgresql:postgresql:42.7.8" + api "org.apache.commons:commons-dbcp2:2.14.0" + api "org.apache.commons:commons-pool2:2.13.1" + api "commons-logging:commons-logging:1.3.5" + api "com.h2database:h2:2.4.240" } // Copy postgresql source distro, lshvector plugin source, and make-postgres.sh diff --git a/Ghidra/Features/Base/build.gradle b/Ghidra/Features/Base/build.gradle index eb9a2c34862..d9bdd6391a1 100644 --- a/Ghidra/Features/Base/build.gradle +++ b/Ghidra/Features/Base/build.gradle @@ -43,12 +43,12 @@ dependencies { api 'org.apache.felix:org.apache.felix.framework:7.0.5' api 'com.github.rotty3000:phidias:0.3.7' - api 'biz.aQute.bnd:biz.aQute.bnd.util:7.0.0' - api ('biz.aQute.bnd:biz.aQute.bndlib:7.0.0') {exclude group: 'org.osgi'} + api 'biz.aQute.bnd:biz.aQute.bnd.util:7.2.0' + api ('biz.aQute.bnd:biz.aQute.bndlib:7.2.0') {exclude group: 'org.osgi'} api ('org.osgi:org.osgi.util.promise:1.3.0') {exclude group: 'org.osgi'} - api 'org.slf4j:slf4j-api:1.7.25' + api 'org.slf4j:slf4j-api:2.0.17' - runtimeOnly "org.slf4j:slf4j-nop:1.7.25" + runtimeOnly "org.slf4j:slf4j-nop:2.0.17" // use this if you want slf4j log messages sent to log4j // runtimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:2.17.1" @@ -62,7 +62,7 @@ dependencies { testImplementation project(path: ':SoftwareModeling', configuration: 'testArtifacts') testImplementation project(path: ':DB', configuration: 'testArtifacts') - javacc 'net.java.dev.javacc:javacc:5.0' + javacc 'net.java.dev.javacc:javacc:7.0.13' } diff --git a/Ghidra/Features/FileFormats/build.gradle b/Ghidra/Features/FileFormats/build.gradle index 2c77ea6cbf1..7294a42d85e 100644 --- a/Ghidra/Features/FileFormats/build.gradle +++ b/Ghidra/Features/FileFormats/build.gradle @@ -32,10 +32,10 @@ dependencies { // Used by "Android DEX to JAR" file system // dex2jar depends on asm-9.7.1, which is declared in Framework/Emulation - api 'de.femtopedia.dex2jar:dex-ir:2.4.24' - api 'de.femtopedia.dex2jar:dex-reader:2.4.24' - api 'de.femtopedia.dex2jar:dex-reader-api:2.4.24' - api 'de.femtopedia.dex2jar:dex-translator:2.4.24' + api 'de.femtopedia.dex2jar:dex-ir:2.4.34' + api 'de.femtopedia.dex2jar:dex-reader:2.4.34' + api 'de.femtopedia.dex2jar:dex-reader-api:2.4.34' + api 'de.femtopedia.dex2jar:dex-translator:2.4.34' // Used by "Android DEX to SMALI" file system api 'org.smali:baksmali:2.5.2' // requires guava-27.1-android or later diff --git a/Ghidra/Features/GraphServices/build.gradle b/Ghidra/Features/GraphServices/build.gradle index 38dcd74452e..6586448f43b 100644 --- a/Ghidra/Features/GraphServices/build.gradle +++ b/Ghidra/Features/GraphServices/build.gradle @@ -30,11 +30,11 @@ dependencies { api ("com.github.tomnelson:jungrapht-visualization:1.4") { exclude group: "org.slf4j", module: "slf4j-api" } api ("com.github.tomnelson:jungrapht-layout:1.4") { exclude group: "org.slf4j", module: "slf4j-api" } - api "org.jgrapht:jgrapht-core:1.5.1" + api "org.jgrapht:jgrapht-core:1.5.2" // not using jgrapht-io code that depends on antlr, so exclude antlr - api ("org.jgrapht:jgrapht-io:1.5.1") { exclude group: "org.antlr", module: "antlr4-runtime" } + api ("org.jgrapht:jgrapht-io:1.5.2") { exclude group: "org.antlr", module: "antlr4-runtime" } - runtimeOnly "org.jheaps:jheaps:0.13" + runtimeOnly "org.jheaps:jheaps:0.14" } diff --git a/Ghidra/Features/PyGhidra/src/main/py/pyproject.toml b/Ghidra/Features/PyGhidra/src/main/py/pyproject.toml index 63fcb9c5a5f..99f3e5cfcc8 100644 --- a/Ghidra/Features/PyGhidra/src/main/py/pyproject.toml +++ b/Ghidra/Features/PyGhidra/src/main/py/pyproject.toml @@ -30,7 +30,7 @@ classifiers = [ "Programming Language :: Python :: 3.13", ] dependencies = [ - "Jpype1==1.5.2", + "Jpype1==1.6.0", "packaging" ] diff --git a/Ghidra/Framework/Emulation/build.gradle b/Ghidra/Framework/Emulation/build.gradle index e023ffa8e1a..5968d21ae10 100644 --- a/Ghidra/Framework/Emulation/build.gradle +++ b/Ghidra/Framework/Emulation/build.gradle @@ -27,9 +27,9 @@ dependencies { api project(':Generic') api project(':Utility') - api 'org.ow2.asm:asm:9.7.1' - api 'org.ow2.asm:asm-analysis:9.7.1' - api 'org.ow2.asm:asm-commons:9.7.1' - api 'org.ow2.asm:asm-tree:9.7.1' - api 'org.ow2.asm:asm-util:9.7.1' + api 'org.ow2.asm:asm:9.9.1' + api 'org.ow2.asm:asm-analysis:9.9.1' + api 'org.ow2.asm:asm-commons:9.9.1' + api 'org.ow2.asm:asm-tree:9.9.1' + api 'org.ow2.asm:asm-util:9.9.1' } diff --git a/Ghidra/Framework/Generic/build.gradle b/Ghidra/Framework/Generic/build.gradle index 1ff6a60f877..c701359f326 100644 --- a/Ghidra/Framework/Generic/build.gradle +++ b/Ghidra/Framework/Generic/build.gradle @@ -26,29 +26,29 @@ eclipse.project.name = 'Framework Generic' dependencies { api project(':Utility') - api ("com.google.guava:guava:32.1.3-jre") { + api ("com.google.guava:guava:33.5.0-jre") { exclude group: 'com.google.guava', module: 'listenablefuture' exclude group: 'com.google.errorprone', module: 'error_prone_annotations' exclude group: 'com.google.code.findbugs', module: 'jsr305' exclude group: 'org.checkerframework', module: 'checker-qual' } - api "com.google.guava:failureaccess:1.0.1" + api "com.google.guava:failureaccess:1.0.3" api "org.jdom:jdom-legacy:1.1.3" - api "org.apache.logging.log4j:log4j-api:2.17.1" - api "org.apache.logging.log4j:log4j-core:2.17.1" - api "org.apache.commons:commons-collections4:4.1" - api "org.apache.commons:commons-compress:1.27.1" // requires commons-codec - api "commons-codec:commons-codec:1.18.0" - api "org.apache.commons:commons-lang3:3.17.0" - api "org.apache.commons:commons-text:1.10.0" - api "commons-io:commons-io:2.19.0" - api "com.google.code.gson:gson:2.9.0" - api "org.bouncycastle:bcpkix-jdk18on:1.80" // requires bcutil and bcprov - api "org.bouncycastle:bcprov-jdk18on:1.80" - api "org.bouncycastle:bcutil-jdk18on:1.80" + api "org.apache.logging.log4j:log4j-api:2.25.3" + api "org.apache.logging.log4j:log4j-core:2.25.3" + api "org.apache.commons:commons-collections4:4.5.0" + api "org.apache.commons:commons-compress:1.28.0" // requires commons-codec + api "commons-codec:commons-codec:1.20.0" + api "org.apache.commons:commons-lang3:3.20.0" + api "org.apache.commons:commons-text:1.15.0" + api "commons-io:commons-io:2.21.0" + api "com.google.code.gson:gson:2.13.2" + api "org.bouncycastle:bcpkix-jdk18on:1.83" // requires bcutil and bcprov + api "org.bouncycastle:bcprov-jdk18on:1.83" + api "org.bouncycastle:bcutil-jdk18on:1.83" compileOnly "junit:junit:4.13.2" - compileOnly "org.hamcrest:hamcrest:2.2" + compileOnly "org.hamcrest:hamcrest:3.0" constraints { api("com.google.guava:guava") { diff --git a/Ghidra/Framework/Graph/build.gradle b/Ghidra/Framework/Graph/build.gradle index 254d5372d14..879a27e3ec4 100644 --- a/Ghidra/Framework/Graph/build.gradle +++ b/Ghidra/Framework/Graph/build.gradle @@ -34,10 +34,10 @@ dependencies { api "net.sf.jung:jung-graph-impl:2.1.1" api "net.sf.jung:jung-visualization:2.1.1" - api "org.jgrapht:jgrapht-core:1.5.1" + api "org.jgrapht:jgrapht-core:1.5.2" // not using jgrapht-io code that depends on antlr, so exclude antlr - api ("org.jgrapht:jgrapht-io:1.5.1") { exclude group: "org.antlr", module: "antlr4-runtime" } + api ("org.jgrapht:jgrapht-io:1.5.2") { exclude group: "org.antlr", module: "antlr4-runtime" } // These have abstract test classes and stubs needed by this module testImplementation project(path: ':Docking', configuration: 'testArtifacts') diff --git a/Ghidra/Framework/Gui/build.gradle b/Ghidra/Framework/Gui/build.gradle index e9ea535086b..72660e248c7 100644 --- a/Ghidra/Framework/Gui/build.gradle +++ b/Ghidra/Framework/Gui/build.gradle @@ -26,7 +26,7 @@ eclipse.project.name = 'Framework Gui' dependencies { api project(':Generic') - api 'com.formdev:flatlaf:3.5.4' + api 'com.formdev:flatlaf:3.7' compileOnly "junit:junit:4.13.2" diff --git a/Ghidra/Framework/Project/build.gradle b/Ghidra/Framework/Project/build.gradle index 065c2757c0f..24671ef027b 100644 --- a/Ghidra/Framework/Project/build.gradle +++ b/Ghidra/Framework/Project/build.gradle @@ -27,6 +27,6 @@ dependencies { api project(':FileSystem') testImplementation project(path: ':Generic', configuration: 'testArtifacts') - api "org.tukaani:xz:1.9" + api "org.tukaani:xz:1.11" } diff --git a/Ghidra/Framework/Pty/build.gradle b/Ghidra/Framework/Pty/build.gradle index d751ad129b3..ff573992b1e 100644 --- a/Ghidra/Framework/Pty/build.gradle +++ b/Ghidra/Framework/Pty/build.gradle @@ -25,8 +25,8 @@ apply plugin: 'eclipse' eclipse.project.name = 'Framework Pty' dependencies { - api "net.java.dev.jna:jna:5.14.0" - api "net.java.dev.jna:jna-platform:5.14.0" + api "net.java.dev.jna:jna:5.18.1" + api "net.java.dev.jna:jna-platform:5.18.1" api project(":Docking") testImplementation project(":Generic") diff --git a/Ghidra/Framework/SoftwareModeling/build.gradle b/Ghidra/Framework/SoftwareModeling/build.gradle index 36187041b6e..49b0f7441a1 100644 --- a/Ghidra/Framework/SoftwareModeling/build.gradle +++ b/Ghidra/Framework/SoftwareModeling/build.gradle @@ -37,17 +37,17 @@ dependencies { api "msv:msv:20050913" api "msv:xsdlib:20050913" - api "org.antlr:antlr-runtime:3.5.2" + api "org.antlr:antlr-runtime:3.5.3" runtimeOnly "msv:relaxngDatatype:20050913" api "msv:isorelax:20050913" // Must specify the specific antlr implementation to use or it will default to trying to find // version 2.7.7 (which we don't have) - antlr "org.antlr:antlr:3.5.2" + antlr "org.antlr:antlr:3.5.3" // need to add in the antlr dependencies for when we build from flat jar dirs - antlr "org.antlr:antlr-runtime:3.5.2" - antlr "org.antlr:ST4:4.0.8" + antlr "org.antlr:antlr-runtime:3.5.3" + antlr "org.antlr:ST4:4.3.4" } def genSrcDir = 'generated-src/antlr/main' diff --git a/GhidraBuild/BuildFiles/Doclets/build.gradle b/GhidraBuild/BuildFiles/Doclets/build.gradle index 8115975f7fa..f479dc8d200 100644 --- a/GhidraBuild/BuildFiles/Doclets/build.gradle +++ b/GhidraBuild/BuildFiles/Doclets/build.gradle @@ -24,7 +24,7 @@ java { } dependencies { - api "com.google.code.gson:gson:2.9.0" + api "com.google.code.gson:gson:2.13.2" } rootProject.createJsondocs.dependsOn jar diff --git a/GhidraBuild/MarkdownSupport/build.gradle b/GhidraBuild/MarkdownSupport/build.gradle index 6143085dea6..c64ee6db874 100644 --- a/GhidraBuild/MarkdownSupport/build.gradle +++ b/GhidraBuild/MarkdownSupport/build.gradle @@ -18,8 +18,8 @@ apply plugin: 'eclipse' eclipse.project.name = '_MarkdownSupport' dependencies { - implementation 'org.commonmark:commonmark:0.23.0' - implementation 'org.commonmark:commonmark-ext-heading-anchor:0.23.0' - implementation 'org.commonmark:commonmark-ext-footnotes:0.23.0' - implementation 'org.commonmark:commonmark-ext-gfm-tables:0.23.0' + implementation 'org.commonmark:commonmark:0.27.0' + implementation 'org.commonmark:commonmark-ext-heading-anchor:0.27.0' + implementation 'org.commonmark:commonmark-ext-footnotes:0.27.0' + implementation 'org.commonmark:commonmark-ext-gfm-tables:0.27.0' } diff --git a/docker/Dockerfile b/docker/Dockerfile index 533dac2d958..9b675b847d7 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,7 +5,7 @@ # a ghidra release using the command # docker build -f docker/Dockerfile -t ############################################################### -FROM alpine:3.20 AS base +FROM alpine:3.23 AS base LABEL org.opencontainers.image.title="ghidra" \ org.opencontainers.image.description="Docker image for Ghidra" \ diff --git a/gradle.properties b/gradle.properties index 506214ca9e0..d8303d44ced 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,4 +6,4 @@ org.gradle.jvmargs=-Xmx2G -Duser.language=en -Duser.country=US org.gradle.archives.use-file-system-permissions=true # Set Ghidra protobuf version -ghidra.protobuf.java.version=4.31.0 +ghidra.protobuf.java.version=4.33.3 diff --git a/gradle/jacocoProject.gradle b/gradle/jacocoProject.gradle index 21542001015..37717cd064b 100644 --- a/gradle/jacocoProject.gradle +++ b/gradle/jacocoProject.gradle @@ -31,8 +31,8 @@ apply plugin:'jacoco' dependencies { - jacocoAnt 'org.jacoco:org.jacoco.ant:0.8.11' - jacocoAgent 'org.jacoco:org.jacoco.agent:0.8.11' + jacocoAnt 'org.jacoco:org.jacoco.ant:0.8.14' + jacocoAgent 'org.jacoco:org.jacoco.agent:0.8.14' } // Clean any jacoco files that may have been left behind previously. diff --git a/gradle/javaProject.gradle b/gradle/javaProject.gradle index b9d9ea3bcfa..8147854a47c 100644 --- a/gradle/javaProject.gradle +++ b/gradle/javaProject.gradle @@ -157,9 +157,9 @@ artifacts { Provide test dependencies here so each build file does not have to. */ dependencies { - integrationTestImplementation "org.hamcrest:hamcrest:2.2" + integrationTestImplementation "org.hamcrest:hamcrest:3.0" - testImplementation "org.hamcrest:hamcrest:2.2" + testImplementation "org.hamcrest:hamcrest:3.0" testImplementation "junit:junit:4.13.2" pcodeTestImplementation "junit:junit:4.13.2" diff --git a/gradle/root/jacoco.gradle b/gradle/root/jacoco.gradle index f821464391b..d25b7cbef19 100644 --- a/gradle/root/jacoco.gradle +++ b/gradle/root/jacoco.gradle @@ -18,8 +18,8 @@ import groovy.io.FileType; apply plugin:'jacoco' dependencies { - jacocoAnt 'org.jacoco:org.jacoco.ant:0.8.11' - jacocoAgent 'org.jacoco:org.jacoco.agent:0.8.11' + jacocoAnt 'org.jacoco:org.jacoco.ant:0.8.14' + jacocoAgent 'org.jacoco:org.jacoco.agent:0.8.14' } /********************************************************************************* diff --git a/gradle/support/fetchDependencies.gradle b/gradle/support/fetchDependencies.gradle index d414f189123..f0ff9bd98c8 100644 --- a/gradle/support/fetchDependencies.gradle +++ b/gradle/support/fetchDependencies.gradle @@ -41,7 +41,7 @@ import org.apache.commons.io.filefilter.WildcardFileFilter; initscript { repositories { mavenCentral() } - dependencies { classpath 'commons-io:commons-io:2.11.0' } + dependencies { classpath 'commons-io:commons-io:2.21.0' } } ext.NUM_RETRIES = 3 // # of times to try to download a file before failing diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 37f853b1c84..23449a2b543 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME