From 025ec2c5aa6b59a64a5f932b2bacf4e7c9730214 Mon Sep 17 00:00:00 2001 From: Brandur Date: Fri, 6 Nov 2026 09:09:49 -0600 Subject: [PATCH] [java] Prepare v0.4.0 --- java/CHANGELOG.md | 4 +++- java/README.md | 8 ++++---- java/cli/pom.xml | 6 +++--- .../src/test/java/com/riverqueue/cli/ExecutableIT.java | 2 +- java/conformance/bin/build.py | 4 ++-- java/conformance/bin/run.py | 2 +- java/conformance/candidate.json | 2 +- java/conformance/pom.xml | 2 +- .../src/main/java/com/riverqueue/conformance/Adapter.java | 2 +- java/conformance/src/main/resources/manifest.json | 2 +- java/pom.xml | 2 +- java/river/pom.xml | 2 +- 12 files changed, 20 insertions(+), 18 deletions(-) diff --git a/java/CHANGELOG.md b/java/CHANGELOG.md index c61efaabf..9e2227fc5 100644 --- a/java/CHANGELOG.md +++ b/java/CHANGELOG.md @@ -7,9 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.0] - 2026-11-06 + ### Added -- Expose `Client.QUEUE_DEFAULT` (`"default"`) for queue configuration and operations, matching the default queue constant in other River clients. +- Expose `Client.QUEUE_DEFAULT` (`"default"`) for queue configuration and operations, matching the default queue constant in other River clients. [PR #1557](https://github.com/riverqueue/river/pull/1557). ### Fixed diff --git a/java/README.md b/java/README.md index 25de96da5..947bbe6e6 100644 --- a/java/README.md +++ b/java/README.md @@ -6,7 +6,7 @@ retry, or work them using the same database. ## Installation -Java 21 or newer is required. Add `com.riverqueue:river:0.3.0` and a JDBC driver to your application's dependencies. Jackson 3 is included transitively. +Java 21 or newer is required. Add `com.riverqueue:river:0.4.0` and a JDBC driver to your application's dependencies. Jackson 3 is included transitively. ```xml @@ -21,7 +21,7 @@ Java 21 or newer is required. Add `com.riverqueue:river:0.3.0` and a JDBC driver com.riverqueue river - 0.3.0 + 0.4.0 org.postgresql @@ -96,7 +96,7 @@ jbang app install --name river-java --java 21 \ --java-options=--enable-native-access=ALL-UNNAMED \ --repos https://riverqueue.com/maven --repos central \ --main com.riverqueue.cli.MigrationCli \ - com.riverqueue:river-cli:0.3.0 + com.riverqueue:river-cli:0.4.0 export PATH="$HOME/.jbang/bin:$PATH" export DATABASE_URL=postgres://localhost/myapp # For SQLite: export DATABASE_URL=jdbc:sqlite:/absolute/path/myapp.db @@ -162,7 +162,7 @@ cat > pom.xml <<'EOF' 4.0.0 localriver-cli-install1 riverhttps://riverqueue.com/maven - com.riverqueueriver-cli0.3.0 + com.riverqueueriver-cli0.4.0 EOF mvn --batch-mode --no-transfer-progress \ diff --git a/java/cli/pom.xml b/java/cli/pom.xml index e065d6c34..0583ebb4b 100644 --- a/java/cli/pom.xml +++ b/java/cli/pom.xml @@ -1,11 +1,11 @@ 4.0.0 - com.riverqueueriver-java0.3.0../pom.xml - river-cli0.3.0 + com.riverqueueriver-java0.4.0../pom.xml + river-cli0.4.0 River Java migration CLI Executable database migration tool for River on Postgres and SQLite - com.riverqueueriver0.3.0 + com.riverqueueriver0.4.0 org.postgresqlpostgresql org.xerialsqlite-jdbc org.junit.jupiterjunit-jupitertest diff --git a/java/cli/src/test/java/com/riverqueue/cli/ExecutableIT.java b/java/cli/src/test/java/com/riverqueue/cli/ExecutableIT.java index e1cc64bc2..0743dfac6 100644 --- a/java/cli/src/test/java/com/riverqueue/cli/ExecutableIT.java +++ b/java/cli/src/test/java/com/riverqueue/cli/ExecutableIT.java @@ -52,7 +52,7 @@ private String command(boolean executableJar, String... args) throws Exception { @ParameterizedTest @ValueSource(booleans = {false, true}) void thinJarRunsWithRuntimeDependencies(boolean executableJar) throws Exception { - assertEquals("river 0.3.0", command(executableJar, "--version").strip()); + assertEquals("river 0.4.0", command(executableJar, "--version").strip()); assertTrue(command(executableJar, "migrate-up").contains("008 [up]")); assertTrue(command(executableJar, "migrate-list").contains("applied")); assertTrue( diff --git a/java/conformance/bin/build.py b/java/conformance/bin/build.py index 14fbfec8c..2d474a01a 100644 --- a/java/conformance/bin/build.py +++ b/java/conformance/bin/build.py @@ -13,9 +13,9 @@ with (artifacts.parent / "build.lock").open("w") as lock: fcntl.flock(lock, fcntl.LOCK_EX) subprocess.run(["mvn", "-q", "-f", str(root / "pom.xml"), "package", "-DskipTests"], check=True) - jar = root / "conformance/target/river-conformance-0.3.0.jar" + jar = root / "conformance/target/river-conformance-0.4.0.jar" # A stale shaded jar can otherwise silently retain an older dependency's classes. - with zipfile.ZipFile(root / "river/target/river-0.3.0.jar") as library, zipfile.ZipFile(jar) as bundled: + with zipfile.ZipFile(root / "river/target/river-0.4.0.jar") as library, zipfile.ZipFile(jar) as bundled: for entry in library.namelist(): if entry.startswith("com/riverqueue/") and not entry.endswith("/"): if library.read(entry) != bundled.read(entry): diff --git a/java/conformance/bin/run.py b/java/conformance/bin/run.py index 945d4c9cb..431b3e2a4 100644 --- a/java/conformance/bin/run.py +++ b/java/conformance/bin/run.py @@ -53,7 +53,7 @@ def main(): manifest_path = reference / "conformance/manifest.json" manifest = json.loads(manifest_path.read_text()) manifest["implementations"]["java"] = { - "package": "com.riverqueue:river", "registry": "maven", "version": "0.3.0" + "package": "com.riverqueue:river", "registry": "maven", "version": "0.4.0" } manifest_path.write_text(json.dumps(manifest, indent=2) + "\n") environment = os.environ | { diff --git a/java/conformance/candidate.json b/java/conformance/candidate.json index 72f31bc9c..91fb8564d 100644 --- a/java/conformance/candidate.json +++ b/java/conformance/candidate.json @@ -14,7 +14,7 @@ "postgres-full-v1", "sqlite-runtime-v1" ], - "version": "0.3.0", + "version": "0.4.0", "start_options": [ "elect_interval_ms", "rescuer_interval_ms", diff --git a/java/conformance/pom.xml b/java/conformance/pom.xml index 0393b3e74..2fc361aba 100644 --- a/java/conformance/pom.xml +++ b/java/conformance/pom.xml @@ -1,6 +1,6 @@ 4.0.0 - com.riverqueueriver-java0.3.0 + com.riverqueueriver-java0.4.0 river-conformance diff --git a/java/conformance/src/main/java/com/riverqueue/conformance/Adapter.java b/java/conformance/src/main/java/com/riverqueue/conformance/Adapter.java index 56d330cf6..8ff31275e 100644 --- a/java/conformance/src/main/java/com/riverqueue/conformance/Adapter.java +++ b/java/conformance/src/main/java/com/riverqueue/conformance/Adapter.java @@ -212,7 +212,7 @@ private JsonNode handle(String method, JsonNode params, String rawParams) throws database.dialect() == Database.Dialect.POSTGRES ? "postgres" : "sqlite"), Map.entry("capabilities", capabilities), Map.entry("implementation", "java"), - Map.entry("implementation_version", "0.3.0"), + Map.entry("implementation_version", "0.4.0"), Map.entry("methods", methods), Map.entry("migration_lines", Map.of("main", 8)), Map.entry("profile", profile), diff --git a/java/conformance/src/main/resources/manifest.json b/java/conformance/src/main/resources/manifest.json index dbcd2df23..66dfe0dce 100644 --- a/java/conformance/src/main/resources/manifest.json +++ b/java/conformance/src/main/resources/manifest.json @@ -50,7 +50,7 @@ "java": { "package": "com.riverqueue:river", "registry": "maven", - "version": "0.3.0" + "version": "0.4.0" } }, "migration": { diff --git a/java/pom.xml b/java/pom.xml index b4418e09c..691945188 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.riverqueue river-java - 0.3.0 + 0.4.0 pom River for Java Transactional jobs on Postgres and SQLite, interoperable with River clients in other languages diff --git a/java/river/pom.xml b/java/river/pom.xml index 4700c4b2c..acb5ce34d 100644 --- a/java/river/pom.xml +++ b/java/river/pom.xml @@ -1,6 +1,6 @@ 4.0.0 - com.riverqueueriver-java0.3.0 + com.riverqueueriver-java0.4.0 river River for Java library Transactional jobs interoperable with River clients in other languages