diff --git a/.github/release-drafter-config.yml b/.github/release-drafter-config.yml
index edc2911f43..4607da071c 100644
--- a/.github/release-drafter-config.yml
+++ b/.github/release-drafter-config.yml
@@ -1,5 +1,7 @@
name-template: '$NEXT_MINOR_VERSION'
tag-template: 'v$NEXT_MINOR_VERSION'
+filter-by-commitish: true
+commitish: master
autolabeler:
- label: 'maintenance'
files:
@@ -35,6 +37,8 @@ categories:
labels:
- 'maintenance'
- 'dependencies'
+ - 'documentation'
+ - 'docs'
- 'testing'
change-template: '- $TITLE (#$NUMBER)'
exclude-labels:
diff --git a/README.md b/README.md
index 2bea11911a..4c7c507d21 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE.txt)
[![Integration](https://github.com/redis/jedis/actions/workflows/integration.yml/badge.svg?branch=master)](https://github.com/redis/jedis/actions/workflows/integration.yml)
[![codecov](https://codecov.io/gh/redis/jedis/branch/master/graph/badge.svg?token=pAstxAAjYo)](https://codecov.io/gh/redis/jedis)
-[![Discord](https://img.shields.io/discord/697882427875393627?style=flat-square)](https://discord.gg/qRhBuY8Z)
+[![Discord](https://img.shields.io/discord/697882427875393627?style=flat-square)](https://discord.gg/redis)
## What is Jedis?
diff --git a/pom.xml b/pom.xml
index aafb3d87f8..3ecdeb632b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
jar
redis.clients
jedis
- 5.1.0-SNAPSHOT
+ 5.2.0-SNAPSHOT
Jedis
Jedis is a blazingly small and sane Redis java client.
https://github.com/redis/jedis
@@ -192,7 +192,7 @@
maven-surefire-plugin
- 3.2.1
+ 3.2.2
${redis-hosts}
@@ -220,7 +220,7 @@
maven-javadoc-plugin
- 3.6.0
+ 3.6.2
false
@@ -321,7 +321,7 @@
maven-surefire-plugin
- 3.2.1
+ 3.2.2
**/examples/*Example.java
diff --git a/src/main/java/redis/clients/jedis/AbstractPipeline.java b/src/main/java/redis/clients/jedis/AbstractPipeline.java
new file mode 100644
index 0000000000..f4eb0335dc
--- /dev/null
+++ b/src/main/java/redis/clients/jedis/AbstractPipeline.java
@@ -0,0 +1,26 @@
+package redis.clients.jedis;
+
+import java.io.Closeable;
+
+public abstract class AbstractPipeline extends PipeliningBase implements Closeable {
+
+ protected AbstractPipeline(CommandObjects commandObjects) {
+ super(commandObjects);
+ }
+
+ @Override
+ public abstract void close();
+
+ /**
+ * Synchronize pipeline by reading all responses.
+ */
+ public abstract void sync();
+
+ public Response publish(String channel, String message) {
+ return appendCommand(commandObjects.publish(channel, message));
+ }
+
+ public Response publish(byte[] channel, byte[] message) {
+ return appendCommand(commandObjects.publish(channel, message));
+ }
+}
diff --git a/src/main/java/redis/clients/jedis/AbstractTransaction.java b/src/main/java/redis/clients/jedis/AbstractTransaction.java
new file mode 100644
index 0000000000..ed6f397caa
--- /dev/null
+++ b/src/main/java/redis/clients/jedis/AbstractTransaction.java
@@ -0,0 +1,35 @@
+package redis.clients.jedis;
+
+import java.io.Closeable;
+import java.util.List;
+
+public abstract class AbstractTransaction extends PipeliningBase implements Closeable {
+
+ protected AbstractTransaction() {
+ super(new CommandObjects());
+ }
+
+ public abstract void multi();
+
+ /**
+ * Must be called before {@link AbstractTransaction#multi() MULTI}.
+ */
+ public abstract String watch(final String... keys);
+
+ /**
+ * Must be called before {@link AbstractTransaction#multi() MULTI}.
+ */
+ public abstract String watch(final byte[]... keys);
+
+ public abstract String unwatch();
+
+ @Override public abstract void close();
+
+ public abstract List