diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 69a75a8b..209bb31e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,7 @@ updates: open-pull-requests-limit: 10 schedule: interval: "monthly" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index bb63cd56..64b395c2 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -19,15 +19,15 @@ jobs: timeout-minutes: 30 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up JDK ${{ matrix.jdk }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.jdk }} distribution: 'temurin' cache: maven - name: Cache local Maven repository - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} diff --git a/CHANGES.md b/CHANGES.md index 0db08eb5..18fb8290 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,30 @@ Unreleased ---------- +3.0.4 (2026-06-02) +------------------ + +### Fixes + +* WAT extractor not to fail on metadata records without WARC-Target-URI [#150](https://github.com/iipc/webarchive-commons/pull/150) + +### Dependency upgrades + +* **commons-codec**: 1.21.0 → 1.22.0 +* **commons-io**: 2.21.0 → 2.22.0 +* **guava**: 33.5.0-jre → 33.6.0-jre +* **hadoop** (hadoop-common, hadoop-mapreduce-client-core): 3.4.2 → 3.4.3 + +3.0.3 (2025-02-06) +------------------ + +### Dependency upgrades + +* **commons-codec**: 1.20.0 → 1.21.0 +* **commons-lang3**: 3.19.0 → 3.20.0 +* **json**: 20250517 → 20251224 +* **junit-jupiter**: 5.14.1 → 5.14.2 + 3.0.2 (2025-11-14) ------------------ diff --git a/pom.xml b/pom.xml index 0874e9b7..4c019aae 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.netpreserve.commons webarchive-commons - 3.0.3-SNAPSHOT + 3.0.5-SNAPSHOT jar webarchive-commons @@ -41,7 +41,7 @@ scm:git:git@github.com:iipc/webarchive-commons.git scm:git:git@github.com:iipc/webarchive-commons.git https://github.com/iipc/webarchive-commons - webarchive-commons-2.0.0 + webarchive-commons-3.0.4 @@ -55,20 +55,20 @@ org.junit.jupiter junit-jupiter - 5.14.2 + 5.14.4 test com.google.guava guava - 33.5.0-jre + 33.6.0-jre org.json json - 20251224 + 20260522 org.htmlparser @@ -85,7 +85,7 @@ commons-codec commons-codec - 1.21.0 + 1.22.0 @@ -97,7 +97,7 @@ org.apache.hadoop hadoop-common - 3.4.2 + 3.4.3 true @@ -110,7 +110,7 @@ org.apache.hadoop hadoop-mapreduce-client-core - 3.4.2 + 3.4.3 true @@ -142,7 +142,7 @@ commons-io commons-io - 2.21.0 + 2.22.0 @@ -163,7 +163,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.14.1 + 3.15.0 ${java.version} ${java.version} @@ -172,7 +172,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.4 + 3.5.6 de.thetaphi @@ -224,6 +224,7 @@ true central + true diff --git a/src/main/java/org/archive/extract/WATExtractorOutput.java b/src/main/java/org/archive/extract/WATExtractorOutput.java index 621656b7..f695796f 100644 --- a/src/main/java/org/archive/extract/WATExtractorOutput.java +++ b/src/main/java/org/archive/extract/WATExtractorOutput.java @@ -152,6 +152,9 @@ private void writeWARC(OutputStream recOut, MetaData md) throws IOException { String targetURI; if(warcType.equals("warcinfo")) { targetURI = JSONUtils.extractSingle(md, "Envelope.WARC-Header-Metadata.WARC-Filename"); + } else if (warcType.equals("metadata")) { + // WARC-Target-URI is optional in metadata records + targetURI = JSONUtils.extractSingle(md, "Envelope.Metadata-Header-Metadata.WARC-Target-URI"); } else { targetURI = extractOrIO(md, "Envelope.WARC-Header-Metadata.WARC-Target-URI"); }