[Git][java-team/openrefine][upstream] New upstream version 3.9.5

Markus Koschany (@apo) gitlab at salsa.debian.org
Sat Sep 27 23:04:40 BST 2025



Markus Koschany pushed to branch upstream at Debian Java Maintainers / openrefine


Commits:
2d486cbe by Markus Koschany at 2025-09-27T22:09:06+02:00
New upstream version 3.9.5
- - - - -


25 changed files:

- .github/workflows/codeql_java.yml
- .github/workflows/codeql_javascript.yml
- .github/workflows/label_transfer.yml
- .github/workflows/pull_request_e2e.yml
- .github/workflows/pull_request_server.yml
- .github/workflows/snapshot_release.yml
- benchmark/pom.xml
- extensions/database/pom.xml
- extensions/jython/pom.xml
- extensions/pc-axis/pom.xml
- extensions/pom.xml
- extensions/wikibase/pom.xml
- extensions/wikibase/src/org/openrefine/wikibase/commands/ConnectionManager.java
- extensions/wikibase/src/org/openrefine/wikibase/commands/FetchManifestCommand.java
- extensions/wikibase/src/org/openrefine/wikibase/operations/PerformWikibaseEditsOperation.java
- + extensions/wikibase/src/org/openrefine/wikibase/utils/HttpClient.java
- extensions/wikibase/src/org/openrefine/wikibase/utils/LanguageCodeStore.java
- extensions/wikibase/tests/src/org/openrefine/wikibase/commands/LoginCommandTest.java
- main/pom.xml
- modules/core/pom.xml
- modules/core/src/main/java/com/google/refine/RefineServlet.java
- modules/grel/pom.xml
- packaging/pom.xml
- pom.xml
- server/pom.xml


Changes:

=====================================
.github/workflows/codeql_java.yml
=====================================
@@ -22,7 +22,7 @@ jobs:
 
     steps:
       - name: Checkout repository
-        uses: actions/checkout at v4
+        uses: actions/checkout at v5
 
       - name: Initialize CodeQL
         uses: github/codeql-action/init at v3


=====================================
.github/workflows/codeql_javascript.yml
=====================================
@@ -22,7 +22,7 @@ jobs:
 
     steps:
       - name: Checkout repository
-        uses: actions/checkout at v4
+        uses: actions/checkout at v5
 
       - name: Initialize CodeQL
         uses: github/codeql-action/init at v3


=====================================
.github/workflows/label_transfer.yml
=====================================
@@ -9,7 +9,7 @@ jobs:
   transfer_tags:
     runs-on: ubuntu-latest
     steps:
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v5
     - name: Set up Python 3.9
       uses: actions/setup-python at v5
       with:


=====================================
.github/workflows/pull_request_e2e.yml
=====================================
@@ -21,7 +21,7 @@ jobs:
     outputs:
       matrix: ${{ steps.set-matrix.outputs.matrix }}
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v5
       - name: Setup Node
         uses: actions/setup-node at v4
         with:
@@ -37,10 +37,10 @@ jobs:
     strategy:
       matrix: ${{fromJSON(needs.prepare_e2e_test_matrix.outputs.matrix)}}
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v5
 
       - name: Set up Java 17
-        uses: actions/setup-java at v4
+        uses: actions/setup-java at v5
         with:
           distribution: 'temurin'
           java-version: 17


=====================================
.github/workflows/pull_request_server.yml
=====================================
@@ -81,10 +81,10 @@ jobs:
         run: |
           echo "COVERALLS_TOKEN=$(echo eUVUVGRHOFJhQm9GMFJBYTNibjVhcWFEblpac1lmMlE3Cg== | base64 -d)" >> $GITHUB_ENV
 
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v5
 
       - name: Set up Java ${{ matrix.java }}
-        uses: actions/setup-java at v4
+        uses: actions/setup-java at v5
         with:
           distribution: 'temurin'
           java-version: ${{ matrix.java }}
@@ -169,10 +169,10 @@ jobs:
     runs-on: windows-latest
 
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v5
 
       - name: Set up Java 21
-        uses: actions/setup-java at v4
+        uses: actions/setup-java at v5
         with:
           distribution: 'temurin'
           java-version: 21


=====================================
.github/workflows/snapshot_release.yml
=====================================
@@ -17,7 +17,7 @@ jobs:
     outputs:
       matrix: ${{ steps.set-matrix.outputs.matrix }}
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v5
         with:
           ref: ${{ github.event.pull_request.head.ref }}
           repository: ${{ github.event.pull_request.head.repo.full_name }}
@@ -37,13 +37,13 @@ jobs:
     strategy:
       matrix: ${{fromJSON(needs.prepare_e2e_test_matrix.outputs.matrix)}}
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v5
         with:
           ref: ${{ github.event.pull_request.head.ref }}
           repository: ${{ github.event.pull_request.head.repo.full_name }}
 
       - name: Set up Java 11
-        uses: actions/setup-java at v4
+        uses: actions/setup-java at v5
         with:
           distribution: 'temurin'
           java-version: 11
@@ -120,7 +120,7 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v5
       with:
         fetch-depth: 0 # This is wasteful, but needed for git describe
 
@@ -129,14 +129,14 @@ jobs:
         echo "COVERALLS_TOKEN=$(echo eUVUVGRHOFJhQm9GMFJBYTNibjVhcWFEblpac1lmMlE3Cg== | base64 -d)" >> $GITHUB_ENV
 
     - name: Set up Java 11
-      uses: actions/setup-java at v4
+      uses: actions/setup-java at v5
       with:
         distribution: 'temurin'
         java-version: 11
         cache: 'maven'
-        server-id: ossrh
-        server-username: OSSRH_USER
-        server-password: OSSRH_PASS
+        server-id: ossrh-staging-api
+        server-username: CENTRAL_USER
+        server-password: CENTRAL_PASS
         
 
     - name: Install genisoimage and jq
@@ -167,7 +167,7 @@ jobs:
         github-token: ${{ env.COVERALLS_TOKEN }}
         format: jacoco
         flag-name: Java ${{ matrix.java }}
-        pull-request: ${{ github.event.number }}
+        build-number: ${{ github.event.number }}
         fail-on-error: false
 
     - name: Install webapp dependencies
@@ -184,17 +184,17 @@ jobs:
       version_number_string: ${{ steps.version_string_variable.outputs.output_value }}
 
     steps:
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v5
 
     - name: Set up Java 17
-      uses: actions/setup-java at v4
+      uses: actions/setup-java at v5
       with:
         distribution: 'temurin'
         java-version: 17
         cache: 'maven'
-        server-id: ossrh
-        server-username: OSSRH_USER
-        server-password: OSSRH_PASS
+        server-id: ossrh-staging-api
+        server-username: CENTRAL_USER
+        server-password: CENTRAL_PASS
         gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }}
         gpg-passphrase: GPG_PASSPHRASE
 
@@ -239,10 +239,12 @@ jobs:
 
     - name: Package and upload to OSSRH
       run: |
-        mvn -B deploy -DskipTests=true -DrepositoryId=ossrh -Dapple.notarization.username=$APPLE_USERNAME -Dapple.notarization.password=$APPLE_PASSWORD -Dapple.notarization.team.id=$APPLE_TEAM_ID -Dgpg.signer=bc
+        mvn -B deploy -DskipTests=true -DrepositoryId=ossrh-staging-api -Dapple.notarization.username=$APPLE_USERNAME -Dapple.notarization.password=$APPLE_PASSWORD -Dapple.notarization.team.id=$APPLE_TEAM_ID -Dgpg.signer=bc
+        # The below POST is documented as being necessary, but it seems to work without it. Also not clear if it needs to be authenticated.
+        # curl -X POST https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/org.openrefine
       env:
-        OSSRH_USER: ${{ secrets.OSSRH_USER }}
-        OSSRH_PASS: ${{ secrets.OSSRH_PASS }}
+        CENTRAL_USER: ${{ secrets.CENTRAL_USER }}
+        CENTRAL_PASS: ${{ secrets.CENTRAL_PASS }}
         MAVEN_GPG_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
         MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
         APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
@@ -252,7 +254,7 @@ jobs:
     - name: Upload release asset for Windows (with Java)
       id: upload-release-asset-win-with-java
       if: github.event_name == 'release'
-      uses: shogo82148/actions-upload-release-asset at v1.7.8
+      uses: shogo82148/actions-upload-release-asset at v1.9.0
       with:
         upload_url: ${{ steps.get_release_upload_url.outputs.upload_url }}
         asset_path: ./packaging/target/openrefine-win-with-java-${{ steps.version_string_variable.outputs.output_value }}.zip
@@ -280,7 +282,7 @@ jobs:
     - name: Upload Release Asset Linux
       id: upload-release-asset-linux
       if: github.event_name == 'release'
-      uses: shogo82148/actions-upload-release-asset at v1.7.8
+      uses: shogo82148/actions-upload-release-asset at v1.9.0
       with:
         upload_url: ${{ steps.get_release_upload_url.outputs.upload_url }}
         asset_path: ./packaging/target/openrefine-linux-${{ steps.version_string_variable.outputs.output_value }}.tar.gz
@@ -297,7 +299,7 @@ jobs:
     - name: Upload Release Asset Mac
       id: upload-release-asset-mac
       if: github.event_name == 'release'
-      uses: shogo82148/actions-upload-release-asset at v1.7.8
+      uses: shogo82148/actions-upload-release-asset at v1.9.0
       with:
         upload_url: ${{ steps.get_release_upload_url.outputs.upload_url }}
         asset_path: ./packaging/target/openrefine-mac-${{ steps.version_string_variable.outputs.output_value }}.dmg
@@ -317,7 +319,7 @@ jobs:
     needs: mac_test_and_deploy
 
     steps:
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v5
 
     - name: Get release upload URL
       id: get_release_upload_url
@@ -328,7 +330,7 @@ jobs:
 
     - name: Download build artifact for Windows Installer (with Java)
       id: download-build-artifact-win-with-java
-      uses: actions/download-artifact at v4
+      uses: actions/download-artifact at v5
       with:
         name: installertemp-win-with-java-${{ needs.mac_test_and_deploy.outputs.version_number_string }}
         path: ./packaging/target/openrefine-win-with-java-${{ needs.mac_test_and_deploy.outputs.version_number_string }}
@@ -385,7 +387,7 @@ jobs:
     - name: Upload release asset for Windows (with Java)
       id: upload-release-asset-win-with-java-installer
       if: github.event_name == 'release'
-      uses: shogo82148/actions-upload-release-asset at v1.7.8
+      uses: shogo82148/actions-upload-release-asset at v1.9.0
       with:
         upload_url: ${{ steps.get_release_upload_url.outputs.upload_url }}
         asset_path: ./packaging/target/openrefine-win-with-java-installer-${{ needs.mac_test_and_deploy.outputs.version_number_string }}.exe


=====================================
benchmark/pom.xml
=====================================
@@ -6,7 +6,7 @@
   <parent>
     <artifactId>openrefine</artifactId>
     <groupId>org.openrefine</groupId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <artifactId>benchmark</artifactId>
@@ -60,7 +60,6 @@
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.13.0</version>
         <configuration>
-          <compilerVersion>${javac.target}</compilerVersion>
           <source>${javac.target}</source>
           <target>${javac.target}</target>
         </configuration>


=====================================
extensions/database/pom.xml
=====================================
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>extensions</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <build>


=====================================
extensions/jython/pom.xml
=====================================
@@ -5,7 +5,7 @@
   <groupId>org.openrefine</groupId>
   <artifactId>jython</artifactId>
   <packaging>jar</packaging>
-  <version>3.9.3</version>
+  <version>3.9.5</version>
 
   <name>OpenRefine - Jython extension</name>
   <description>OpenRefine integration of Python as an expression language</description>
@@ -13,7 +13,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>extensions</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <build>


=====================================
extensions/pc-axis/pom.xml
=====================================
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>extensions</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <build>


=====================================
extensions/pom.xml
=====================================
@@ -5,7 +5,7 @@
   <groupId>org.openrefine</groupId>
   <artifactId>extensions</artifactId>
   <packaging>pom</packaging>
-  <version>3.9.3</version>
+  <version>3.9.5</version>
 
   <name>OpenRefine - extensions</name>
   <description>Extensions add importers, exporters and other sorts of features to OpenRefine</description>
@@ -14,7 +14,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>openrefine</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <modules>


=====================================
extensions/wikibase/pom.xml
=====================================
@@ -11,11 +11,11 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>extensions</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <properties>
-    <wdtk.version>0.16.0</wdtk.version>
+    <wdtk.version>0.17.0</wdtk.version>
   </properties>
 
   <build>


=====================================
extensions/wikibase/src/org/openrefine/wikibase/commands/ConnectionManager.java
=====================================
@@ -45,6 +45,8 @@ import org.wikidata.wdtk.wikibaseapi.apierrors.MediaWikiApiErrorException;
 import com.google.refine.ProjectManager;
 import com.google.refine.preference.PreferenceStore;
 
+import org.openrefine.wikibase.utils.HttpClient;
+
 /**
  * Manages a connection to the current Wikibase instance.
  * <p>
@@ -221,7 +223,17 @@ public class ConnectionManager {
         }
     }
 
-    private void setupConnection(ApiConnection connection) {
+    // Visible for testing only
+    static void setupConnection(ApiConnection connection) {
+        // Set our custom user agent (if it's not already set)
+        String defaultUserAgent = connection.getCustomUserAgent();
+        String agentLibrary = "";
+        if (defaultUserAgent != null && !defaultUserAgent.trim().isEmpty()) {
+            String[] parts = defaultUserAgent.trim().split(" ");
+            agentLibrary = parts.length > 0 ? parts[0] : "";
+        }
+        connection.setCustomUserAgent(HttpClient.USER_AGENT + (agentLibrary.isEmpty() ? "" : " " + agentLibrary));
+
         connection.setConnectTimeout(CONNECT_TIMEOUT);
         connection.setReadTimeout(READ_TIMEOUT);
     }


=====================================
extensions/wikibase/src/org/openrefine/wikibase/commands/FetchManifestCommand.java
=====================================
@@ -15,6 +15,8 @@ import okhttp3.Response;
 
 import com.google.refine.commands.Command;
 
+import org.openrefine.wikibase.utils.HttpClient;
+
 /**
  * Proxies Wikibase manifests to allow the client to bypass CORS restrictions.
  */
@@ -31,9 +33,13 @@ public class FetchManifestCommand extends Command {
             }
 
             // fetch the contents at the url with a plain get request and return the response
-            OkHttpClient client = new OkHttpClient();
+            OkHttpClient client = HttpClient.getClient();
             Request req = new Request.Builder().url(url).build();
             Response res = client.newCall(req).execute();
+            if (!res.isSuccessful()) {
+                response.sendError(res.code(), res.message());
+                return;
+            }
             response.setCharacterEncoding("UTF-8");
             response.setContentType("application/json");
             response.getWriter().write(res.body().string());


=====================================
extensions/wikibase/src/org/openrefine/wikibase/operations/PerformWikibaseEditsOperation.java
=====================================
@@ -82,6 +82,7 @@ import org.openrefine.wikibase.manifests.Manifest;
 import org.openrefine.wikibase.schema.WikibaseSchema;
 import org.openrefine.wikibase.schema.validation.ValidationState;
 import org.openrefine.wikibase.updates.EntityEdit;
+import org.openrefine.wikibase.utils.HttpClient;
 
 public class PerformWikibaseEditsOperation extends EngineDependentOperation {
 
@@ -294,7 +295,7 @@ public class PerformWikibaseEditsOperation extends EngineDependentOperation {
         @Override
         public void run() {
 
-            WebResourceFetcherImpl.setUserAgent("OpenRefine Wikidata extension");
+            WebResourceFetcherImpl.setUserAgent(HttpClient.USER_AGENT + " " + WebResourceFetcherImpl.getUserAgent());
             ConnectionManager manager = ConnectionManager.getInstance();
             String mediaWikiApiEndpoint = _schema.getMediaWikiApiEndpoint();
             if (!manager.isLoggedIn(mediaWikiApiEndpoint)) {


=====================================
extensions/wikibase/src/org/openrefine/wikibase/utils/HttpClient.java
=====================================
@@ -0,0 +1,37 @@
+
+package org.openrefine.wikibase.utils;
+
+import java.io.IOException;
+
+import okhttp3.Interceptor;
+import okhttp3.OkHttpClient;
+import okhttp3.Response;
+
+import com.google.refine.RefineServlet;
+
+public class HttpClient {
+
+    public static final String USER_AGENT = "OpenRefine-Wikibase-extension/" + RefineServlet.FULL_VERSION
+            + " (https://openrefine.org)";
+
+    public static OkHttpClient getClient() {
+        OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new UserAgentInterceptor(USER_AGENT + " okhttp/unknown")).build();
+        return client;
+    }
+
+    static class UserAgentInterceptor implements Interceptor {
+
+        private final String userAgent;
+
+        public UserAgentInterceptor(String userAgent) {
+            this.userAgent = userAgent;
+        }
+
+        @Override
+        public Response intercept(Chain chain) throws IOException {
+            return chain.proceed(chain.request().newBuilder()
+                    .header("User-Agent", userAgent)
+                    .build());
+        }
+    }
+}


=====================================
extensions/wikibase/src/org/openrefine/wikibase/utils/LanguageCodeStore.java
=====================================
@@ -56,16 +56,18 @@ public class LanguageCodeStore {
     private static Set<String> fetchLangCodes(String mediaWikiApiEndpoint) throws IOException {
         String url = mediaWikiApiEndpoint +
                 "?action=query&meta=wbcontentlanguages&wbclprop=code&wbclcontext=monolingualtext&format=json";
-        OkHttpClient client = new OkHttpClient.Builder().build();
+        OkHttpClient client = HttpClient.getClient();
         Request request = new Request.Builder().url(url).build();
         Response response = client.newCall(request).execute();
+        if (!response.isSuccessful()) {
+            throw new IOException("Failed to fetch Wikibase language codes. HTTP Response code: " + response.code());
+        }
         JsonNode jsonNode = new ObjectMapper().readTree(response.body().string());
         JsonNode languages = jsonNode.path("query").path("wbcontentlanguages");
         Set<String> supportedLangCodes = new HashSet<>();
         for (JsonNode language : languages) {
             supportedLangCodes.add(language.path("code").textValue());
         }
-
         return supportedLangCodes;
     }
 


=====================================
extensions/wikibase/tests/src/org/openrefine/wikibase/commands/LoginCommandTest.java
=====================================
@@ -234,6 +234,13 @@ public class LoginCommandTest extends CommandTest {
         when(connectionManager.getConnection(apiEndpoint)).thenReturn(connection);
         when(connection.getCurrentUser()).thenReturn(username);
 
+        // Make sure that we have a custom user agent set (not a very effective test, but the best we can do without
+        // refactoring
+        when(connection.getCustomUserAgent()).thenReturn("test-wdtk-lib");
+        connectionManager.setupConnection(connection);
+        verify(connection, times(1)).getCustomUserAgent();
+        verify(connection, times(1)).setCustomUserAgent(Mockito.matches("^OpenRefine-Wikibase-extension.* test-wdtk-lib$"));
+
         command.doPost(request, response);
 
         verify(connectionManager, times(1)).login(apiEndpoint, consumerToken, consumerSecret, accessToken, accessSecret);
@@ -267,6 +274,13 @@ public class LoginCommandTest extends CommandTest {
         when(connectionManager.getConnection(apiEndpoint)).thenReturn(connection);
         when(connection.getCurrentUser()).thenReturn(username);
 
+        // Make sure that we have a custom user agent set (not a very effective test, but the best we can do without
+        // refactoring
+        when(connection.getCustomUserAgent()).thenReturn("test-wdtk-lib");
+        connectionManager.setupConnection(connection);
+        verify(connection, times(1)).getCustomUserAgent();
+        verify(connection, times(1)).setCustomUserAgent(Mockito.matches("^OpenRefine-Wikibase-extension.* test-wdtk-lib$"));
+
         command.doPost(request, response);
 
         verify(connectionManager, times(1)).login(apiEndpoint, consumerToken, consumerSecret, accessToken, accessSecret);
@@ -301,6 +315,13 @@ public class LoginCommandTest extends CommandTest {
         when(connectionManager.getConnection(apiEndpoint)).thenReturn(connection);
         when(connection.getCurrentUser()).thenReturn(username);
 
+        // Make sure that we have a custom user agent set (not a very effective test, but the best we can do without
+        // refactoring
+        when(connection.getCustomUserAgent()).thenReturn("test-wdtk-lib");
+        connectionManager.setupConnection(connection);
+        verify(connection, times(1)).getCustomUserAgent();
+        verify(connection, times(1)).setCustomUserAgent(Mockito.matches("^OpenRefine-Wikibase-extension.* test-wdtk-lib$"));
+
         command.doPost(request, response);
 
         verify(connectionManager, times(1)).login(apiEndpoint, consumerToken, consumerSecret, accessToken, accessSecret);


=====================================
main/pom.xml
=====================================
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>openrefine</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <properties>


=====================================
modules/core/pom.xml
=====================================
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>openrefine</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
     <relativePath>../..</relativePath>
   </parent>
 


=====================================
modules/core/src/main/java/com/google/refine/RefineServlet.java
=====================================
@@ -64,7 +64,7 @@ import com.google.refine.io.FileProjectManager;
 
 public class RefineServlet extends Butterfly {
 
-    static private String ASSIGNED_VERSION = "3.9.3";
+    static private String ASSIGNED_VERSION = "3.9.5";
 
     static public String VERSION = "";
     static public String REVISION = "";


=====================================
modules/grel/pom.xml
=====================================
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>openrefine</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
     <relativePath>../..</relativePath>
   </parent>
 


=====================================
packaging/pom.xml
=====================================
@@ -10,7 +10,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>openrefine</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
   <properties>
     <rootdir>${basedir}/..</rootdir>
@@ -449,7 +449,6 @@
                 <path>server/target/jre</path>
                 <minVersion>${java.minversion}</minVersion>
                 <maxVersion>${java.maxversion}</maxVersion>
-                <bundledJreAsFallback>true</bundledJreAsFallback>
                 <initialHeapSize>512</initialHeapSize>
                 <maxHeapSize>2048</maxHeapSize>
                 <opts>


=====================================
pom.xml
=====================================
@@ -5,7 +5,7 @@
   <groupId>org.openrefine</groupId>
   <artifactId>openrefine</artifactId>
   <packaging>pom</packaging>
-  <version>3.9.3</version>
+  <version>3.9.5</version>
 
   <name>OpenRefine</name>
   <description>OpenRefine is a free, open source power tool for working with messy data and improving it</description>
@@ -83,7 +83,7 @@
     <slf4j.version>2.0.16</slf4j.version>
     <log4j.version>2.24.3</log4j.version>
     <jetty.version>10.0.16</jetty.version>
-    <okhttp.version>4.12.0</okhttp.version>
+    <okhttp.version>5.1.0</okhttp.version>
     <jena.version>4.10.0</jena.version>
     <poi.version>5.4.0</poi.version>
     <commons-lang3.version>3.17.0</commons-lang3.version>
@@ -331,8 +331,8 @@
         <version>1.7.0</version>
         <extensions>true</extensions>
         <configuration>
-          <serverId>ossrh</serverId>
-          <nexusUrl>https://oss.sonatype.org/</nexusUrl>
+          <serverId>ossrh-staging-api</serverId>
+          <nexusUrl>https://ossrh-staging-api.central.sonatype.com</nexusUrl>
           <autoReleaseAfterClose>true</autoReleaseAfterClose>
         </configuration>
       </plugin>
@@ -366,7 +366,7 @@
   <repositories>
     <repository>
       <id>snapshots</id>
-      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
+      <url>https://central.sonatype.com/repository/maven-snapshots/</url>
       <releases>
         <enabled>false</enabled>
       </releases>
@@ -390,12 +390,12 @@
   <!-- Locations of the artifacts published -->
   <distributionManagement>
      <snapshotRepository>
-       <id>ossrh</id>
-       <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+       <id>ossrh-staging-api</id>
+       <url>https://central.sonatype.com/repository/maven-snapshots/</url>
      </snapshotRepository>
      <repository>
-       <id>ossrh</id>
-       <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+       <id>ossrh-staging-api</id>
+       <url>https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/</url>
      </repository>
   </distributionManagement>
 


=====================================
server/pom.xml
=====================================
@@ -11,7 +11,7 @@
   <parent>
     <groupId>org.openrefine</groupId>
     <artifactId>openrefine</artifactId>
-    <version>3.9.3</version>
+    <version>3.9.5</version>
   </parent>
 
   <properties>



View it on GitLab: https://salsa.debian.org/java-team/openrefine/-/commit/2d486cbe4f7eb52e3f4f145d4365badf030a3a09

-- 
View it on GitLab: https://salsa.debian.org/java-team/openrefine/-/commit/2d486cbe4f7eb52e3f4f145d4365badf030a3a09
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20250927/a6ce494f/attachment.htm>


More information about the pkg-java-commits mailing list