You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by pi...@apache.org on 2025/05/09 08:11:01 UTC

(iggy) branch master updated: chore(sdk): Java SDK package rename (#1760)

This is an automated email from the ASF dual-hosted git repository.

piotr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iggy.git


The following commit(s) were added to refs/heads/master by this push:
     new 332e8a6b chore(sdk): Java SDK package rename (#1760)
332e8a6b is described below

commit 332e8a6b1de733eb302c00fc9bac3cb21eb83b18
Author: Nandakumar Vadivelu <na...@apache.org>
AuthorDate: Fri May 9 13:40:58 2025 +0530

    chore(sdk): Java SDK package rename (#1760)
    
    Fixes #1759
---
 .../{rs => org/apache}/iggy/SimpleConsumer.java    | 26 ++++++------
 .../{rs => org/apache}/iggy/SimpleProducer.java    | 18 ++++----
 .../main/java/{rs => org/apache}/iggy/Iggy.java    |  4 +-
 .../java/{rs => org/apache}/iggy/NonNullApi.java   |  2 +-
 .../client}/blocking/ConsumerGroupsClient.java     | 12 +++---
 .../client}/blocking/ConsumerOffsetsClient.java    | 10 ++---
 .../iggy/client}/blocking/IggyBaseClient.java      |  2 +-
 .../apache/iggy/client}/blocking/IggyClient.java   |  2 +-
 .../iggy/client}/blocking/IggyClientBuilder.java   |  2 +-
 .../iggy/client}/blocking/MessagesClient.java      | 18 ++++----
 .../iggy/client}/blocking/PartitionsClient.java    |  6 +--
 .../blocking/PersonalAccessTokensClient.java       |  8 ++--
 .../iggy/client}/blocking/StreamsClient.java       |  8 ++--
 .../apache/iggy/client}/blocking/SystemClient.java |  8 ++--
 .../apache/iggy/client}/blocking/TopicsClient.java | 12 +++---
 .../apache/iggy/client}/blocking/UsersClient.java  | 12 ++++--
 .../blocking/http/ConsumerGroupsHttpClient.java    | 14 +++----
 .../blocking/http/ConsumerOffsetsHttpClient.java   | 12 +++---
 .../iggy/client}/blocking/http/IggyHttpClient.java | 13 +++++-
 .../client}/blocking/http/InternalHttpClient.java  |  6 +--
 .../client}/blocking/http/MessagesHttpClient.java  | 18 ++++----
 .../client}/blocking/http/ObjectMapperFactory.java |  2 +-
 .../blocking/http/PartitionsHttpClient.java        |  8 ++--
 .../http/PersonalAccessTokensHttpClient.java       | 12 +++---
 .../client}/blocking/http/StreamsHttpClient.java   | 10 ++---
 .../client}/blocking/http/SystemHttpClient.java    | 10 ++---
 .../client}/blocking/http/TopicsHttpClient.java    | 14 +++----
 .../client}/blocking/http/UsersHttpClient.java     | 13 ++++--
 .../client}/blocking/http/error/IggyHttpError.java |  2 +-
 .../blocking/http/error/IggyHttpException.java     |  2 +-
 .../iggy/client/blocking/http}/package-info.java   |  4 +-
 .../client}/blocking/tcp/BytesDeserializer.java    | 49 +++++++++++++---------
 .../iggy/client}/blocking/tcp/BytesSerializer.java | 22 +++++-----
 .../blocking/tcp/ConsumerGroupsTcpClient.java      | 22 +++++-----
 .../blocking/tcp/ConsumerOffsetTcpClient.java      | 18 ++++----
 .../iggy/client}/blocking/tcp/IggyTcpClient.java   | 13 +++++-
 .../client}/blocking/tcp/InternalTcpClient.java    |  2 +-
 .../client}/blocking/tcp/MessagesTcpClient.java    | 20 ++++-----
 .../client}/blocking/tcp/PartitionsTcpClient.java  | 10 ++---
 .../tcp/PersonalAccessTokensTcpClient.java         | 18 ++++----
 .../client}/blocking/tcp/StreamsTcpClient.java     | 18 ++++----
 .../iggy/client}/blocking/tcp/SystemTcpClient.java | 12 +++---
 .../iggy/client}/blocking/tcp/TopicsTcpClient.java | 20 ++++-----
 .../iggy/client}/blocking/tcp/UsersTcpClient.java  | 18 ++++----
 .../iggy/client/blocking/tcp}/package-info.java    |  4 +-
 .../apache}/iggy/consumergroup/Consumer.java       |  4 +-
 .../apache}/iggy/consumergroup/ConsumerGroup.java  |  2 +-
 .../iggy/consumergroup/ConsumerGroupDetails.java   |  2 +-
 .../iggy/consumergroup/ConsumerGroupMember.java    |  2 +-
 .../apache}/iggy/consumergroup/package-info.java   |  4 +-
 .../iggy/consumeroffset/ConsumerOffsetInfo.java    |  2 +-
 .../apache/iggy/consumeroffset}/package-info.java  |  4 +-
 .../apache}/iggy/identifier/ConsumerId.java        |  2 +-
 .../apache}/iggy/identifier/Identifier.java        |  2 +-
 .../apache}/iggy/identifier/StreamId.java          |  2 +-
 .../apache}/iggy/identifier/TopicId.java           |  2 +-
 .../{rs => org/apache}/iggy/identifier/UserId.java |  2 +-
 .../apache/iggy/identifier}/package-info.java      |  4 +-
 .../apache}/iggy/message/BigIntegerMessageId.java  |  4 +-
 .../apache}/iggy/message/BytesMessageId.java       |  2 +-
 .../apache}/iggy/message/HeaderKind.java           |  2 +-
 .../apache}/iggy/message/HeaderValue.java          |  2 +-
 .../{rs => org/apache}/iggy/message/Message.java   |  2 +-
 .../{rs => org/apache}/iggy/message/MessageId.java |  2 +-
 .../apache}/iggy/message/MessageState.java         |  2 +-
 .../apache}/iggy/message/Partitioning.java         |  2 +-
 .../apache}/iggy/message/PartitioningKind.java     |  2 +-
 .../apache}/iggy/message/PolledMessage.java        |  2 +-
 .../apache}/iggy/message/PolledMessages.java       |  2 +-
 .../apache}/iggy/message/PollingKind.java          |  2 +-
 .../apache}/iggy/message/PollingStrategy.java      |  2 +-
 .../apache}/iggy/message/UuidMessageId.java        |  2 +-
 .../apache/iggy/message}/package-info.java         |  4 +-
 .../apache}/iggy/partition/Partition.java          |  2 +-
 .../apache/iggy/partition}/package-info.java       |  4 +-
 .../PersonalAccessTokenInfo.java                   |  2 +-
 .../RawPersonalAccessToken.java                    |  2 +-
 .../{rs => org/apache}/iggy/stream/StreamBase.java |  2 +-
 .../apache}/iggy/stream/StreamDetails.java         |  4 +-
 .../apache/iggy/stream}/package-info.java          |  4 +-
 .../{rs => org/apache}/iggy/system/ClientInfo.java |  2 +-
 .../apache}/iggy/system/ClientInfoDetails.java     |  2 +-
 .../apache}/iggy/system/ConsumerGroupInfo.java     |  2 +-
 .../java/{rs => org/apache}/iggy/system/Stats.java |  2 +-
 .../apache/iggy/system}/package-info.java          |  4 +-
 .../apache}/iggy/topic/CompressionAlgorithm.java   |  2 +-
 .../java/{rs => org/apache}/iggy/topic/Topic.java  |  2 +-
 .../apache}/iggy/topic/TopicDetails.java           |  4 +-
 .../apache/iggy/topic}/package-info.java           |  4 +-
 .../apache}/iggy/user/GlobalPermissions.java       |  2 +-
 .../{rs => org/apache}/iggy/user/IdentityInfo.java |  2 +-
 .../{rs => org/apache}/iggy/user/Permissions.java  |  2 +-
 .../apache}/iggy/user/StreamPermissions.java       |  2 +-
 .../{rs => org/apache}/iggy/user/TokenInfo.java    |  2 +-
 .../apache}/iggy/user/TopicPermissions.java        |  2 +-
 .../{rs => org/apache}/iggy/user/UserInfo.java     |  2 +-
 .../apache}/iggy/user/UserInfoDetails.java         |  2 +-
 .../{rs => org/apache}/iggy/user/UserStatus.java   |  2 +-
 .../apache/iggy/user}/package-info.java            |  4 +-
 .../main/java/rs/iggy/identifier/package-info.java | 23 ----------
 .../main/java/rs/iggy/message/package-info.java    | 23 ----------
 .../main/java/rs/iggy/partition/package-info.java  | 23 ----------
 .../src/main/java/rs/iggy/stream/package-info.java | 23 ----------
 .../src/main/java/rs/iggy/system/package-info.java | 23 ----------
 .../src/main/java/rs/iggy/topic/package-info.java  | 23 ----------
 .../src/main/java/rs/iggy/user/package-info.java   | 23 ----------
 .../java/{rs => org/apache}/iggy/IggyTest.java     |  4 +-
 .../blocking/ConsumerGroupsClientBaseTest.java     | 10 ++---
 .../blocking/ConsumerOffsetsClientBaseTest.java    | 10 ++---
 .../iggy/client}/blocking/IntegrationTest.java     |  4 +-
 .../client}/blocking/MessagesClientBaseTest.java   |  8 +++-
 .../client}/blocking/PartitionsClientBaseTest.java |  4 +-
 .../blocking/PersonalAccessTokensBaseTest.java     |  4 +-
 .../client}/blocking/StreamClientBaseTest.java     |  2 +-
 .../client}/blocking/SystemClientBaseTest.java     |  2 +-
 .../client}/blocking/TopicsClientBaseTest.java     |  8 ++--
 .../iggy/client}/blocking/UsersClientBaseTest.java | 14 +++++--
 .../http/ConsumerGroupsHttpClientTest.java         |  6 +--
 .../http/ConsumerOffsetsHttpClientTest.java        |  6 +--
 .../client}/blocking/http/HttpClientFactory.java   |  4 +-
 .../blocking/http/MessagesHttpClientTest.java      |  6 +--
 .../blocking/http/PartitionsHttpClientTest.java    |  6 +--
 .../http/PersonalAccessTokensHttpClientTest.java   |  6 +--
 .../blocking/http/StreamHttpClientTest.java        |  6 +--
 .../blocking/http/SystemHttpClientTest.java        |  6 +--
 .../blocking/http/TopicsHttpClientTest.java        |  6 +--
 .../client}/blocking/http/UsersHttpClientTest.java |  6 +--
 .../client}/blocking/tcp/BytesSerializerTest.java  |  2 +-
 .../blocking/tcp/ConsumerGroupsTcpClientTest.java  |  6 +--
 .../blocking/tcp/ConsumerOffsetsTcpClientTest.java |  6 +--
 .../blocking/tcp/MessagesTcpClientTest.java        |  6 +--
 .../blocking/tcp/PartitionsTcpClientTest.java      |  6 +--
 .../tcp/PersonalAccessTokensTcpClientTest.java     |  6 +--
 .../client}/blocking/tcp/StreamTcpClientTest.java  |  6 +--
 .../client}/blocking/tcp/SystemTcpClientTest.java  | 10 ++---
 .../client}/blocking/tcp/TcpClientFactory.java     |  4 +-
 .../client}/blocking/tcp/TopicsTcpClientTest.java  |  6 +--
 .../client}/blocking/tcp/UsersTcpClientTest.java   |  8 ++--
 138 files changed, 458 insertions(+), 567 deletions(-)

diff --git a/foreign/java/examples/simple-consumer/src/main/java/rs/iggy/SimpleConsumer.java b/foreign/java/examples/simple-consumer/src/main/java/org/apache/iggy/SimpleConsumer.java
similarity index 86%
rename from foreign/java/examples/simple-consumer/src/main/java/rs/iggy/SimpleConsumer.java
rename to foreign/java/examples/simple-consumer/src/main/java/org/apache/iggy/SimpleConsumer.java
index eba78eee..20c5fec3 100644
--- a/foreign/java/examples/simple-consumer/src/main/java/rs/iggy/SimpleConsumer.java
+++ b/foreign/java/examples/simple-consumer/src/main/java/org/apache/iggy/SimpleConsumer.java
@@ -17,22 +17,22 @@
  * under the License.
  */
 
-package rs.iggy;
+package org.apache.iggy;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.tcp.IggyTcpClient;
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.consumergroup.ConsumerGroupDetails;
-import rs.iggy.identifier.ConsumerId;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.message.PolledMessage;
-import rs.iggy.message.PollingStrategy;
-import rs.iggy.stream.StreamDetails;
-import rs.iggy.topic.CompressionAlgorithm;
-import rs.iggy.topic.TopicDetails;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.tcp.IggyTcpClient;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.consumergroup.ConsumerGroupDetails;
+import org.apache.iggy.identifier.ConsumerId;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.message.PolledMessage;
+import org.apache.iggy.message.PollingStrategy;
+import org.apache.iggy.stream.StreamDetails;
+import org.apache.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.topic.TopicDetails;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Optional;
diff --git a/foreign/java/examples/simple-producer/src/main/java/rs/iggy/SimpleProducer.java b/foreign/java/examples/simple-producer/src/main/java/org/apache/iggy/SimpleProducer.java
similarity index 87%
rename from foreign/java/examples/simple-producer/src/main/java/rs/iggy/SimpleProducer.java
rename to foreign/java/examples/simple-producer/src/main/java/org/apache/iggy/SimpleProducer.java
index dcaabd64..f761daba 100644
--- a/foreign/java/examples/simple-producer/src/main/java/rs/iggy/SimpleProducer.java
+++ b/foreign/java/examples/simple-producer/src/main/java/org/apache/iggy/SimpleProducer.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package rs.iggy;
+package org.apache.iggy;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import rs.iggy.clients.blocking.tcp.IggyTcpClient;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.message.Message;
-import rs.iggy.message.Partitioning;
-import rs.iggy.stream.StreamDetails;
-import rs.iggy.topic.CompressionAlgorithm;
-import rs.iggy.topic.TopicDetails;
+import org.apache.iggy.client.blocking.tcp.IggyTcpClient;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.message.Message;
+import org.apache.iggy.message.Partitioning;
+import org.apache.iggy.stream.StreamDetails;
+import org.apache.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.topic.TopicDetails;
 import java.math.BigInteger;
 import java.util.Optional;
 import static java.util.Collections.singletonList;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/Iggy.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/Iggy.java
similarity index 92%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/Iggy.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/Iggy.java
index 2f2427cc..84b63b9f 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/Iggy.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/Iggy.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package rs.iggy;
+package org.apache.iggy;
 
-import rs.iggy.clients.blocking.IggyClientBuilder;
+import org.apache.iggy.client.blocking.IggyClientBuilder;
 
 public final class Iggy {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/NonNullApi.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/NonNullApi.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/NonNullApi.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/NonNullApi.java
index d1308f49..650c0ca9 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/NonNullApi.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/NonNullApi.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy;
+package org.apache.iggy;
 
 import javax.annotation.Nonnull;
 import javax.annotation.meta.TypeQualifierDefault;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/ConsumerGroupsClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/ConsumerGroupsClient.java
similarity index 90%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/ConsumerGroupsClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/ConsumerGroupsClient.java
index c37b442d..d9912bd4 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/ConsumerGroupsClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/ConsumerGroupsClient.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
-import rs.iggy.consumergroup.ConsumerGroup;
-import rs.iggy.consumergroup.ConsumerGroupDetails;
-import rs.iggy.identifier.ConsumerId;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.consumergroup.ConsumerGroup;
+import org.apache.iggy.consumergroup.ConsumerGroupDetails;
+import org.apache.iggy.identifier.ConsumerId;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/ConsumerOffsetsClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/ConsumerOffsetsClient.java
similarity index 87%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/ConsumerOffsetsClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/ConsumerOffsetsClient.java
index f5c6c20f..02a7df27 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/ConsumerOffsetsClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/ConsumerOffsetsClient.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.consumeroffset.ConsumerOffsetInfo;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.consumeroffset.ConsumerOffsetInfo;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.math.BigInteger;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyBaseClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyBaseClient.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyBaseClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyBaseClient.java
index 7ec64d47..06c63bec 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyBaseClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyBaseClient.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 public interface IggyBaseClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClient.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClient.java
index 6d250c5a..ee0d9a92 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClient.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 public class IggyClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyClientBuilder.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClientBuilder.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyClientBuilder.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClientBuilder.java
index 0543528a..5bf25c50 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/IggyClientBuilder.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/IggyClientBuilder.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 public class IggyClientBuilder {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/MessagesClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/MessagesClient.java
similarity index 82%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/MessagesClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/MessagesClient.java
index dcf899bc..bb48a43e 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/MessagesClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/MessagesClient.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
-
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.message.Message;
-import rs.iggy.message.Partitioning;
-import rs.iggy.message.PolledMessages;
-import rs.iggy.message.PollingStrategy;
+package org.apache.iggy.client.blocking;
+
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.message.Message;
+import org.apache.iggy.message.Partitioning;
+import org.apache.iggy.message.PolledMessages;
+import org.apache.iggy.message.PollingStrategy;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/PartitionsClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/PartitionsClient.java
similarity index 91%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/PartitionsClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/PartitionsClient.java
index 0d096632..c059056a 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/PartitionsClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/PartitionsClient.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 
 public interface PartitionsClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/PersonalAccessTokensClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/PersonalAccessTokensClient.java
similarity index 84%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/PersonalAccessTokensClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/PersonalAccessTokensClient.java
index 37dfa6cd..1e370698 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/PersonalAccessTokensClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/PersonalAccessTokensClient.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
-import rs.iggy.personalaccesstoken.PersonalAccessTokenInfo;
-import rs.iggy.personalaccesstoken.RawPersonalAccessToken;
-import rs.iggy.user.IdentityInfo;
+import org.apache.iggy.personalaccesstoken.PersonalAccessTokenInfo;
+import org.apache.iggy.personalaccesstoken.RawPersonalAccessToken;
+import org.apache.iggy.user.IdentityInfo;
 import java.math.BigInteger;
 import java.util.List;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/StreamsClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/StreamsClient.java
similarity index 89%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/StreamsClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/StreamsClient.java
index f814a685..35f14313 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/StreamsClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/StreamsClient.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
-import rs.iggy.identifier.StreamId;
-import rs.iggy.stream.StreamBase;
-import rs.iggy.stream.StreamDetails;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.stream.StreamBase;
+import org.apache.iggy.stream.StreamDetails;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/SystemClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/SystemClient.java
similarity index 85%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/SystemClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/SystemClient.java
index 6ee6e81e..0370e930 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/SystemClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/SystemClient.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
-import rs.iggy.system.ClientInfo;
-import rs.iggy.system.ClientInfoDetails;
-import rs.iggy.system.Stats;
+import org.apache.iggy.system.ClientInfo;
+import org.apache.iggy.system.ClientInfoDetails;
+import org.apache.iggy.system.Stats;
 import java.util.List;
 
 public interface SystemClient {
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/TopicsClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/TopicsClient.java
similarity index 93%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/TopicsClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/TopicsClient.java
index 66f0f290..7add46a9 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/TopicsClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/TopicsClient.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.topic.CompressionAlgorithm;
-import rs.iggy.topic.Topic;
-import rs.iggy.topic.TopicDetails;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.topic.Topic;
+import org.apache.iggy.topic.TopicDetails;
 import java.math.BigInteger;
 import java.util.List;
 import java.util.Optional;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/UsersClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/UsersClient.java
similarity index 88%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/UsersClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/UsersClient.java
index becb945a..c4e1598a 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/UsersClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/UsersClient.java
@@ -17,10 +17,14 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
-
-import rs.iggy.identifier.UserId;
-import rs.iggy.user.*;
+package org.apache.iggy.client.blocking;
+
+import org.apache.iggy.identifier.UserId;
+import org.apache.iggy.user.IdentityInfo;
+import org.apache.iggy.user.Permissions;
+import org.apache.iggy.user.UserInfo;
+import org.apache.iggy.user.UserInfoDetails;
+import org.apache.iggy.user.UserStatus;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ConsumerGroupsHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ConsumerGroupsHttpClient.java
similarity index 89%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ConsumerGroupsHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ConsumerGroupsHttpClient.java
index 67fadcf1..f6247bd2 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ConsumerGroupsHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ConsumerGroupsHttpClient.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.core.type.TypeReference;
-import rs.iggy.clients.blocking.ConsumerGroupsClient;
-import rs.iggy.consumergroup.ConsumerGroup;
-import rs.iggy.consumergroup.ConsumerGroupDetails;
-import rs.iggy.identifier.ConsumerId;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.client.blocking.ConsumerGroupsClient;
+import org.apache.iggy.consumergroup.ConsumerGroup;
+import org.apache.iggy.consumergroup.ConsumerGroupDetails;
+import org.apache.iggy.identifier.ConsumerId;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ConsumerOffsetsHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ConsumerOffsetsHttpClient.java
similarity index 88%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ConsumerOffsetsHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ConsumerOffsetsHttpClient.java
index 6e5ac3ff..98346cdf 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ConsumerOffsetsHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ConsumerOffsetsHttpClient.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import org.apache.hc.core5.http.message.BasicNameValuePair;
-import rs.iggy.clients.blocking.ConsumerOffsetsClient;
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.consumeroffset.ConsumerOffsetInfo;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.client.blocking.ConsumerOffsetsClient;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.consumeroffset.ConsumerOffsetInfo;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.math.BigInteger;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/IggyHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/IggyHttpClient.java
similarity index 82%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/IggyHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/IggyHttpClient.java
index 4efd6f9f..e7bd616c 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/IggyHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/IggyHttpClient.java
@@ -17,9 +17,18 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.*;
+import org.apache.iggy.client.blocking.ConsumerGroupsClient;
+import org.apache.iggy.client.blocking.ConsumerOffsetsClient;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.MessagesClient;
+import org.apache.iggy.client.blocking.PartitionsClient;
+import org.apache.iggy.client.blocking.PersonalAccessTokensClient;
+import org.apache.iggy.client.blocking.StreamsClient;
+import org.apache.iggy.client.blocking.SystemClient;
+import org.apache.iggy.client.blocking.TopicsClient;
+import org.apache.iggy.client.blocking.UsersClient;
 
 public class IggyHttpClient implements IggyBaseClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/InternalHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/InternalHttpClient.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/InternalHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/InternalHttpClient.java
index 656ec228..5f19df0e 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/InternalHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/InternalHttpClient.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
@@ -31,8 +31,8 @@ import org.apache.hc.core5.http.io.HttpClientResponseHandler;
 import org.apache.hc.core5.http.io.support.ClassicRequestBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import rs.iggy.clients.blocking.http.error.IggyHttpError;
-import rs.iggy.clients.blocking.http.error.IggyHttpException;
+import org.apache.iggy.client.blocking.http.error.IggyHttpError;
+import org.apache.iggy.client.blocking.http.error.IggyHttpException;
 import java.io.IOException;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/MessagesHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/MessagesHttpClient.java
similarity index 85%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/MessagesHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/MessagesHttpClient.java
index 3e9a27a5..015a2d6a 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/MessagesHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/MessagesHttpClient.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import org.apache.hc.core5.http.message.BasicNameValuePair;
-import rs.iggy.clients.blocking.MessagesClient;
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.message.Message;
-import rs.iggy.message.Partitioning;
-import rs.iggy.message.PolledMessages;
-import rs.iggy.message.PollingStrategy;
+import org.apache.iggy.client.blocking.MessagesClient;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.message.Message;
+import org.apache.iggy.message.Partitioning;
+import org.apache.iggy.message.PolledMessages;
+import org.apache.iggy.message.PollingStrategy;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ObjectMapperFactory.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ObjectMapperFactory.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ObjectMapperFactory.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ObjectMapperFactory.java
index d0f5ca0d..eac4dcd2 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/ObjectMapperFactory.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/ObjectMapperFactory.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.MapperFeature;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/PartitionsHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/PartitionsHttpClient.java
similarity index 91%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/PartitionsHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/PartitionsHttpClient.java
index e61d2b72..4a0057f6 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/PartitionsHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/PartitionsHttpClient.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import org.apache.hc.core5.http.message.BasicNameValuePair;
-import rs.iggy.clients.blocking.PartitionsClient;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.client.blocking.PartitionsClient;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 
 class PartitionsHttpClient implements PartitionsClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/PersonalAccessTokensHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/PersonalAccessTokensHttpClient.java
similarity index 88%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/PersonalAccessTokensHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/PersonalAccessTokensHttpClient.java
index a5370f9e..94f340ed 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/PersonalAccessTokensHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/PersonalAccessTokensHttpClient.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.core.type.TypeReference;
-import rs.iggy.clients.blocking.PersonalAccessTokensClient;
-import rs.iggy.personalaccesstoken.PersonalAccessTokenInfo;
-import rs.iggy.personalaccesstoken.RawPersonalAccessToken;
-import rs.iggy.user.IdentityInfo;
-import rs.iggy.user.TokenInfo;
+import org.apache.iggy.client.blocking.PersonalAccessTokensClient;
+import org.apache.iggy.personalaccesstoken.PersonalAccessTokenInfo;
+import org.apache.iggy.personalaccesstoken.RawPersonalAccessToken;
+import org.apache.iggy.user.IdentityInfo;
+import org.apache.iggy.user.TokenInfo;
 import java.math.BigInteger;
 import java.util.List;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/StreamsHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/StreamsHttpClient.java
similarity index 91%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/StreamsHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/StreamsHttpClient.java
index 8c63296d..76a97582 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/StreamsHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/StreamsHttpClient.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.core.type.TypeReference;
-import rs.iggy.clients.blocking.StreamsClient;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.stream.StreamBase;
-import rs.iggy.stream.StreamDetails;
+import org.apache.iggy.client.blocking.StreamsClient;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.stream.StreamBase;
+import org.apache.iggy.stream.StreamDetails;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/SystemHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/SystemHttpClient.java
similarity index 90%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/SystemHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/SystemHttpClient.java
index cbc2a00b..4da07e14 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/SystemHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/SystemHttpClient.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.core.type.TypeReference;
-import rs.iggy.clients.blocking.SystemClient;
-import rs.iggy.system.ClientInfo;
-import rs.iggy.system.ClientInfoDetails;
-import rs.iggy.system.Stats;
+import org.apache.iggy.client.blocking.SystemClient;
+import org.apache.iggy.system.ClientInfo;
+import org.apache.iggy.system.ClientInfoDetails;
+import org.apache.iggy.system.Stats;
 import java.util.List;
 
 class SystemHttpClient implements SystemClient {
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/TopicsHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/TopicsHttpClient.java
similarity index 92%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/TopicsHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/TopicsHttpClient.java
index 4c21584a..1f666d77 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/TopicsHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/TopicsHttpClient.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.core.type.TypeReference;
-import rs.iggy.clients.blocking.TopicsClient;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.topic.CompressionAlgorithm;
-import rs.iggy.topic.Topic;
-import rs.iggy.topic.TopicDetails;
+import org.apache.iggy.client.blocking.TopicsClient;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.topic.Topic;
+import org.apache.iggy.topic.TopicDetails;
 import java.math.BigInteger;
 import java.util.List;
 import java.util.Optional;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/UsersHttpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/UsersHttpClient.java
similarity index 91%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/UsersHttpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/UsersHttpClient.java
index 96531f6f..67436f14 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/UsersHttpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/UsersHttpClient.java
@@ -17,12 +17,17 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import com.fasterxml.jackson.core.type.TypeReference;
-import rs.iggy.clients.blocking.UsersClient;
-import rs.iggy.identifier.UserId;
-import rs.iggy.user.*;
+import org.apache.iggy.client.blocking.UsersClient;
+import org.apache.iggy.identifier.UserId;
+import org.apache.iggy.user.IdentityInfo;
+import org.apache.iggy.user.Permissions;
+import org.apache.iggy.user.TokenInfo;
+import org.apache.iggy.user.UserInfo;
+import org.apache.iggy.user.UserInfoDetails;
+import org.apache.iggy.user.UserStatus;
 import java.util.List;
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/error/IggyHttpError.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpError.java
similarity index 94%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/error/IggyHttpError.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpError.java
index 60e9f2e5..d428232a 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/error/IggyHttpError.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpError.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http.error;
+package org.apache.iggy.client.blocking.http.error;
 
 public record IggyHttpError(
         String id,
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/error/IggyHttpException.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpException.java
similarity index 95%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/error/IggyHttpException.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpException.java
index b5012315..8b2ead4b 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/error/IggyHttpException.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/error/IggyHttpException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http.error;
+package org.apache.iggy.client.blocking.http.error;
 
 public class IggyHttpException extends RuntimeException {
     private final IggyHttpError error;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/package-info.java
similarity index 91%
copy from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
copy to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/package-info.java
index 9db3e0a8..6e749284 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/BytesDeserializer.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesDeserializer.java
similarity index 92%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/BytesDeserializer.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesDeserializer.java
index 7ef23d23..ce541c85 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/BytesDeserializer.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesDeserializer.java
@@ -17,28 +17,39 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.ByteBuf;
 import org.apache.commons.lang3.ArrayUtils;
-import rs.iggy.consumergroup.ConsumerGroup;
-import rs.iggy.consumergroup.ConsumerGroupDetails;
-import rs.iggy.consumergroup.ConsumerGroupMember;
-import rs.iggy.consumeroffset.ConsumerOffsetInfo;
-import rs.iggy.message.*;
-import rs.iggy.partition.Partition;
-import rs.iggy.personalaccesstoken.PersonalAccessTokenInfo;
-import rs.iggy.personalaccesstoken.RawPersonalAccessToken;
-import rs.iggy.stream.StreamBase;
-import rs.iggy.stream.StreamDetails;
-import rs.iggy.system.ClientInfo;
-import rs.iggy.system.ClientInfoDetails;
-import rs.iggy.system.ConsumerGroupInfo;
-import rs.iggy.system.Stats;
-import rs.iggy.topic.CompressionAlgorithm;
-import rs.iggy.topic.Topic;
-import rs.iggy.topic.TopicDetails;
-import rs.iggy.user.*;
+import org.apache.iggy.consumergroup.ConsumerGroup;
+import org.apache.iggy.consumergroup.ConsumerGroupDetails;
+import org.apache.iggy.consumergroup.ConsumerGroupMember;
+import org.apache.iggy.consumeroffset.ConsumerOffsetInfo;
+import org.apache.iggy.message.BytesMessageId;
+import org.apache.iggy.message.HeaderKind;
+import org.apache.iggy.message.HeaderValue;
+import org.apache.iggy.message.MessageState;
+import org.apache.iggy.message.PolledMessage;
+import org.apache.iggy.message.PolledMessages;
+import org.apache.iggy.user.GlobalPermissions;
+import org.apache.iggy.user.Permissions;
+import org.apache.iggy.user.StreamPermissions;
+import org.apache.iggy.user.TopicPermissions;
+import org.apache.iggy.user.UserInfo;
+import org.apache.iggy.user.UserInfoDetails;
+import org.apache.iggy.user.UserStatus;
+import org.apache.iggy.partition.Partition;
+import org.apache.iggy.personalaccesstoken.PersonalAccessTokenInfo;
+import org.apache.iggy.personalaccesstoken.RawPersonalAccessToken;
+import org.apache.iggy.stream.StreamBase;
+import org.apache.iggy.stream.StreamDetails;
+import org.apache.iggy.system.ClientInfo;
+import org.apache.iggy.system.ClientInfoDetails;
+import org.apache.iggy.system.ConsumerGroupInfo;
+import org.apache.iggy.system.Stats;
+import org.apache.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.topic.Topic;
+import org.apache.iggy.topic.TopicDetails;
 import java.math.BigInteger;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/BytesSerializer.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesSerializer.java
similarity index 94%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/BytesSerializer.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesSerializer.java
index 56fe3b91..5343b6a3 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/BytesSerializer.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesSerializer.java
@@ -17,21 +17,21 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
 import org.apache.commons.lang3.ArrayUtils;
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.identifier.Identifier;
-import rs.iggy.message.HeaderValue;
-import rs.iggy.message.Message;
-import rs.iggy.message.Partitioning;
-import rs.iggy.message.PollingStrategy;
-import rs.iggy.user.GlobalPermissions;
-import rs.iggy.user.Permissions;
-import rs.iggy.user.StreamPermissions;
-import rs.iggy.user.TopicPermissions;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.identifier.Identifier;
+import org.apache.iggy.message.HeaderValue;
+import org.apache.iggy.message.Message;
+import org.apache.iggy.message.Partitioning;
+import org.apache.iggy.message.PollingStrategy;
+import org.apache.iggy.user.GlobalPermissions;
+import org.apache.iggy.user.Permissions;
+import org.apache.iggy.user.StreamPermissions;
+import org.apache.iggy.user.TopicPermissions;
 import java.math.BigInteger;
 import java.util.Map;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/ConsumerGroupsTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/ConsumerGroupsTcpClient.java
similarity index 85%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/ConsumerGroupsTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/ConsumerGroupsTcpClient.java
index b02a1e24..3e45230b 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/ConsumerGroupsTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/ConsumerGroupsTcpClient.java
@@ -17,23 +17,23 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
-import rs.iggy.clients.blocking.ConsumerGroupsClient;
-import rs.iggy.consumergroup.ConsumerGroup;
-import rs.iggy.consumergroup.ConsumerGroupDetails;
-import rs.iggy.identifier.ConsumerId;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.client.blocking.ConsumerGroupsClient;
+import org.apache.iggy.consumergroup.ConsumerGroup;
+import org.apache.iggy.consumergroup.ConsumerGroupDetails;
+import org.apache.iggy.identifier.ConsumerId;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readConsumerGroup;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readConsumerGroupDetails;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.nameToBytes;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readConsumerGroup;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readConsumerGroupDetails;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.nameToBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytes;
 
 class ConsumerGroupsTcpClient implements ConsumerGroupsClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/ConsumerOffsetTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/ConsumerOffsetTcpClient.java
similarity index 80%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/ConsumerOffsetTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/ConsumerOffsetTcpClient.java
index a06e32c4..342cb110 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/ConsumerOffsetTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/ConsumerOffsetTcpClient.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.ConsumerOffsetsClient;
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.consumeroffset.ConsumerOffsetInfo;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.client.blocking.ConsumerOffsetsClient;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.consumeroffset.ConsumerOffsetInfo;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.math.BigInteger;
 import java.util.Optional;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readConsumerOffsetInfo;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytes;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytesAsU64;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readConsumerOffsetInfo;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytesAsU64;
 
 class ConsumerOffsetTcpClient implements ConsumerOffsetsClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/IggyTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/IggyTcpClient.java
similarity index 82%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/IggyTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/IggyTcpClient.java
index a9c071e5..ec48a3ed 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/IggyTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/IggyTcpClient.java
@@ -17,9 +17,18 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.*;
+import org.apache.iggy.client.blocking.ConsumerGroupsClient;
+import org.apache.iggy.client.blocking.ConsumerOffsetsClient;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.MessagesClient;
+import org.apache.iggy.client.blocking.PartitionsClient;
+import org.apache.iggy.client.blocking.PersonalAccessTokensClient;
+import org.apache.iggy.client.blocking.StreamsClient;
+import org.apache.iggy.client.blocking.SystemClient;
+import org.apache.iggy.client.blocking.TopicsClient;
+import org.apache.iggy.client.blocking.UsersClient;
 
 public class IggyTcpClient implements IggyBaseClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/InternalTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/InternalTcpClient.java
similarity index 98%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/InternalTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/InternalTcpClient.java
index b7020b1b..ceccee99 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/InternalTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/InternalTcpClient.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/MessagesTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/MessagesTcpClient.java
similarity index 82%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/MessagesTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/MessagesTcpClient.java
index 00e5ea9b..04149ea5 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/MessagesTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/MessagesTcpClient.java
@@ -17,19 +17,19 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.MessagesClient;
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.message.Message;
-import rs.iggy.message.Partitioning;
-import rs.iggy.message.PolledMessages;
-import rs.iggy.message.PollingStrategy;
+import org.apache.iggy.client.blocking.MessagesClient;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.message.Message;
+import org.apache.iggy.message.Partitioning;
+import org.apache.iggy.message.PolledMessages;
+import org.apache.iggy.message.PollingStrategy;
 import java.util.List;
 import java.util.Optional;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytes;
 
 class MessagesTcpClient implements MessagesClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/PartitionsTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/PartitionsTcpClient.java
similarity index 86%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/PartitionsTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/PartitionsTcpClient.java
index badd529e..7d0e6e96 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/PartitionsTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/PartitionsTcpClient.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.PartitionsClient;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytes;
+import org.apache.iggy.client.blocking.PartitionsClient;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytes;
 
 class PartitionsTcpClient implements PartitionsClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/PersonalAccessTokensTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/PersonalAccessTokensTcpClient.java
similarity index 81%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/PersonalAccessTokensTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/PersonalAccessTokensTcpClient.java
index 9fd40113..6a96a87d 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/PersonalAccessTokensTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/PersonalAccessTokensTcpClient.java
@@ -17,21 +17,21 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.Unpooled;
-import rs.iggy.clients.blocking.PersonalAccessTokensClient;
-import rs.iggy.personalaccesstoken.PersonalAccessTokenInfo;
-import rs.iggy.personalaccesstoken.RawPersonalAccessToken;
-import rs.iggy.user.IdentityInfo;
+import org.apache.iggy.client.blocking.PersonalAccessTokensClient;
+import org.apache.iggy.personalaccesstoken.PersonalAccessTokenInfo;
+import org.apache.iggy.personalaccesstoken.RawPersonalAccessToken;
+import org.apache.iggy.user.IdentityInfo;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readPersonalAccessTokenInfo;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readRawPersonalAccessToken;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.nameToBytes;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytesAsU64;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readPersonalAccessTokenInfo;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readRawPersonalAccessToken;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.nameToBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytesAsU64;
 
 class PersonalAccessTokensTcpClient implements PersonalAccessTokensClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/StreamsTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/StreamsTcpClient.java
similarity index 84%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/StreamsTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/StreamsTcpClient.java
index 55e72c85..feca3417 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/StreamsTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/StreamsTcpClient.java
@@ -17,21 +17,21 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
-import rs.iggy.clients.blocking.StreamsClient;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.stream.StreamBase;
-import rs.iggy.stream.StreamDetails;
+import org.apache.iggy.client.blocking.StreamsClient;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.stream.StreamBase;
+import org.apache.iggy.stream.StreamDetails;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readStreamBase;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readStreamDetails;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.nameToBytes;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readStreamBase;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readStreamDetails;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.nameToBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytes;
 
 class StreamsTcpClient implements StreamsClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/SystemTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/SystemTcpClient.java
similarity index 88%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/SystemTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/SystemTcpClient.java
index 3559ba68..1e57a380 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/SystemTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/SystemTcpClient.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.Unpooled;
-import rs.iggy.clients.blocking.SystemClient;
-import rs.iggy.system.ClientInfo;
-import rs.iggy.system.ClientInfoDetails;
-import rs.iggy.system.Stats;
+import org.apache.iggy.client.blocking.SystemClient;
+import org.apache.iggy.system.ClientInfo;
+import org.apache.iggy.system.ClientInfoDetails;
+import org.apache.iggy.system.Stats;
 import java.util.ArrayList;
 import java.util.List;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.*;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.*;
 
 class SystemTcpClient implements SystemClient {
     private static final int PING_CODE = 1;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/TopicsTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/TopicsTcpClient.java
similarity index 88%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/TopicsTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/TopicsTcpClient.java
index e5440b18..f23c39a6 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/TopicsTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/TopicsTcpClient.java
@@ -17,22 +17,22 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.Unpooled;
-import rs.iggy.clients.blocking.TopicsClient;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.topic.CompressionAlgorithm;
-import rs.iggy.topic.Topic;
-import rs.iggy.topic.TopicDetails;
+import org.apache.iggy.client.blocking.TopicsClient;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.topic.Topic;
+import org.apache.iggy.topic.TopicDetails;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readTopic;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readTopicDetails;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.*;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readTopic;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readTopicDetails;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.*;
 
 class TopicsTcpClient implements TopicsClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/UsersTcpClient.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/UsersTcpClient.java
similarity index 90%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/UsersTcpClient.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/UsersTcpClient.java
index 08bd98cf..e856ddf1 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/UsersTcpClient.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/UsersTcpClient.java
@@ -17,18 +17,22 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.Unpooled;
-import rs.iggy.clients.blocking.UsersClient;
-import rs.iggy.identifier.UserId;
-import rs.iggy.user.*;
+import org.apache.iggy.client.blocking.UsersClient;
+import org.apache.iggy.identifier.UserId;
+import org.apache.iggy.user.IdentityInfo;
+import org.apache.iggy.user.Permissions;
+import org.apache.iggy.user.UserInfo;
+import org.apache.iggy.user.UserInfoDetails;
+import org.apache.iggy.user.UserStatus;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
-import static rs.iggy.clients.blocking.tcp.BytesDeserializer.readUserInfoDetails;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.nameToBytes;
-import static rs.iggy.clients.blocking.tcp.BytesSerializer.toBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesDeserializer.readUserInfoDetails;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.nameToBytes;
+import static org.apache.iggy.client.blocking.tcp.BytesSerializer.toBytes;
 
 class UsersTcpClient implements UsersClient {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/package-info.java
similarity index 91%
copy from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
copy to foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/package-info.java
index 9db3e0a8..8d83dc07 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/Consumer.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/Consumer.java
similarity index 94%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/Consumer.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/Consumer.java
index faf13555..b0c13055 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/Consumer.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/Consumer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package rs.iggy.consumergroup;
+package org.apache.iggy.consumergroup;
 
-import rs.iggy.identifier.ConsumerId;
+import org.apache.iggy.identifier.ConsumerId;
 
 public record Consumer(Kind kind, ConsumerId id) {
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroup.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroup.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroup.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroup.java
index f23ceb85..2daed860 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroup.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroup.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.consumergroup;
+package org.apache.iggy.consumergroup;
 
 public record ConsumerGroup(
         Long id,
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroupDetails.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroupDetails.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroupDetails.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroupDetails.java
index a83a40a7..529e56b3 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroupDetails.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroupDetails.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.consumergroup;
+package org.apache.iggy.consumergroup;
 
 import java.util.List;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroupMember.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroupMember.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroupMember.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroupMember.java
index b826be74..b1b07c2a 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/ConsumerGroupMember.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/ConsumerGroupMember.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.consumergroup;
+package org.apache.iggy.consumergroup;
 
 import java.util.List;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/package-info.java
similarity index 91%
copy from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
copy to foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/package-info.java
index 9db3e0a8..b4f6feaf 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumergroup/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.consumergroup;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumeroffset/ConsumerOffsetInfo.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumeroffset/ConsumerOffsetInfo.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/consumeroffset/ConsumerOffsetInfo.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/consumeroffset/ConsumerOffsetInfo.java
index 0b12fe70..32e498b1 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumeroffset/ConsumerOffsetInfo.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumeroffset/ConsumerOffsetInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.consumeroffset;
+package org.apache.iggy.consumeroffset;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumeroffset/package-info.java
similarity index 91%
copy from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
copy to foreign/java/java-sdk/src/main/java/org/apache/iggy/consumeroffset/package-info.java
index 9db3e0a8..7d0e9215 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/consumeroffset/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.consumeroffset;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/ConsumerId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/ConsumerId.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/identifier/ConsumerId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/ConsumerId.java
index 7899c21d..1857c09d 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/ConsumerId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/ConsumerId.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.identifier;
+package org.apache.iggy.identifier;
 
 import javax.annotation.Nullable;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/Identifier.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/Identifier.java
similarity index 98%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/identifier/Identifier.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/Identifier.java
index 35ba86a6..27f6b929 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/Identifier.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/Identifier.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.identifier;
+package org.apache.iggy.identifier;
 
 import org.apache.commons.lang3.StringUtils;
 import javax.annotation.Nullable;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/StreamId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/StreamId.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/identifier/StreamId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/StreamId.java
index 19cf9878..6bf2d6cf 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/StreamId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/StreamId.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.identifier;
+package org.apache.iggy.identifier;
 
 import javax.annotation.Nullable;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/TopicId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/TopicId.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/identifier/TopicId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/TopicId.java
index 5650be0c..2f2b0d4c 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/TopicId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/TopicId.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.identifier;
+package org.apache.iggy.identifier;
 
 import javax.annotation.Nullable;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/UserId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/UserId.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/identifier/UserId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/UserId.java
index 1bcabaf6..f3511b8a 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/UserId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/UserId.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.identifier;
+package org.apache.iggy.identifier;
 
 import javax.annotation.Nullable;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/package-info.java
similarity index 92%
copy from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
copy to foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/package-info.java
index 9db3e0a8..342e3251 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/identifier/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.identifier;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/BigIntegerMessageId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/BigIntegerMessageId.java
similarity index 94%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/BigIntegerMessageId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/BigIntegerMessageId.java
index bf0cc904..d4399b90 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/BigIntegerMessageId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/BigIntegerMessageId.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import io.netty.buffer.ByteBuf;
-import rs.iggy.clients.blocking.tcp.BytesSerializer;
+import org.apache.iggy.client.blocking.tcp.BytesSerializer;
 import java.math.BigInteger;
 
 public class BigIntegerMessageId implements MessageId {
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/BytesMessageId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/BytesMessageId.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/BytesMessageId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/BytesMessageId.java
index d94eeb1e..0067be9b 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/BytesMessageId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/BytesMessageId.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/HeaderKind.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderKind.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/HeaderKind.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderKind.java
index 16eb3870..23ef5d11 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/HeaderKind.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderKind.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 public enum HeaderKind {
     Raw(1),
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/HeaderValue.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderValue.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/HeaderValue.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderValue.java
index cd17f780..f7435d88 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/HeaderValue.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/HeaderValue.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 public record HeaderValue(HeaderKind kind, String value) {
 }
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/Message.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Message.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/Message.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Message.java
index 982f8978..89252210 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/Message.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Message.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import java.util.Map;
 import java.util.Optional;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/MessageId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/MessageId.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/MessageId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/MessageId.java
index 2e64a4ae..babfb160 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/MessageId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/MessageId.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/MessageState.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/MessageState.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/MessageState.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/MessageState.java
index 0d4ead21..b694f7c8 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/MessageState.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/MessageState.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 public enum MessageState {
     Available(1),
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/Partitioning.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Partitioning.java
similarity index 98%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/Partitioning.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Partitioning.java
index 0dea6bdf..abd1ee52 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/Partitioning.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Partitioning.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import org.apache.commons.lang3.ArrayUtils;
 import java.nio.ByteBuffer;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PartitioningKind.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PartitioningKind.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/PartitioningKind.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PartitioningKind.java
index 970b232a..2a6517f1 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PartitioningKind.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PartitioningKind.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PolledMessage.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PolledMessage.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/PolledMessage.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PolledMessage.java
index 1e3e4371..72b16e72 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PolledMessage.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PolledMessage.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import java.math.BigInteger;
 import java.util.Map;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PolledMessages.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PolledMessages.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/PolledMessages.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PolledMessages.java
index 196267b6..96ecdb0e 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PolledMessages.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PolledMessages.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import java.math.BigInteger;
 import java.util.List;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PollingKind.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PollingKind.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/PollingKind.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PollingKind.java
index 7a2f7800..e9e01059 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PollingKind.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PollingKind.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 public enum PollingKind {
     Offset(1),
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PollingStrategy.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PollingStrategy.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/PollingStrategy.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PollingStrategy.java
index 0f5062df..53cf67f6 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/PollingStrategy.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/PollingStrategy.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/UuidMessageId.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/UuidMessageId.java
similarity index 98%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/message/UuidMessageId.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/UuidMessageId.java
index 9e56ecf2..d8807439 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/UuidMessageId.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/UuidMessageId.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.message;
+package org.apache.iggy.message;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/package-info.java
similarity index 92%
copy from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
copy to foreign/java/java-sdk/src/main/java/org/apache/iggy/message/package-info.java
index 9db3e0a8..c04eb5e3 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/message/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.message;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/partition/Partition.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/partition/Partition.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/partition/Partition.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/partition/Partition.java
index 00b8bdee..50287585 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/partition/Partition.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/partition/Partition.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.partition;
+package org.apache.iggy.partition;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/partition/package-info.java
similarity index 92%
copy from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
copy to foreign/java/java-sdk/src/main/java/org/apache/iggy/partition/package-info.java
index 9db3e0a8..456861d9 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/partition/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.partition;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/personalaccesstoken/PersonalAccessTokenInfo.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/personalaccesstoken/PersonalAccessTokenInfo.java
similarity index 95%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/personalaccesstoken/PersonalAccessTokenInfo.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/personalaccesstoken/PersonalAccessTokenInfo.java
index 5b75a3e6..99d0e485 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/personalaccesstoken/PersonalAccessTokenInfo.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/personalaccesstoken/PersonalAccessTokenInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.personalaccesstoken;
+package org.apache.iggy.personalaccesstoken;
 
 import java.math.BigInteger;
 import java.util.Optional;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/personalaccesstoken/RawPersonalAccessToken.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/personalaccesstoken/RawPersonalAccessToken.java
similarity index 95%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/personalaccesstoken/RawPersonalAccessToken.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/personalaccesstoken/RawPersonalAccessToken.java
index 42830321..a1aa82e4 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/personalaccesstoken/RawPersonalAccessToken.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/personalaccesstoken/RawPersonalAccessToken.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.personalaccesstoken;
+package org.apache.iggy.personalaccesstoken;
 
 public record RawPersonalAccessToken(String token) {
 }
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/stream/StreamBase.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamBase.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/stream/StreamBase.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamBase.java
index 74b8dfd7..e6bb9c02 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/stream/StreamBase.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamBase.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.stream;
+package org.apache.iggy.stream;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/stream/StreamDetails.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamDetails.java
similarity index 94%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/stream/StreamDetails.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamDetails.java
index 7ffecf25..6222e8e9 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/stream/StreamDetails.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamDetails.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package rs.iggy.stream;
+package org.apache.iggy.stream;
 
-import rs.iggy.topic.Topic;
+import org.apache.iggy.topic.Topic;
 import java.math.BigInteger;
 import java.util.List;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumeroffset/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/package-info.java
similarity index 92%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/consumeroffset/package-info.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/package-info.java
index 62c7836c..729cb220 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumeroffset/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumeroffset;
+package org.apache.iggy.stream;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/system/ClientInfo.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ClientInfo.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/system/ClientInfo.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ClientInfo.java
index aa94a38d..6e78aada 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/system/ClientInfo.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ClientInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.system;
+package org.apache.iggy.system;
 
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/system/ClientInfoDetails.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ClientInfoDetails.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/system/ClientInfoDetails.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ClientInfoDetails.java
index dbf796f8..1078d7c1 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/system/ClientInfoDetails.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ClientInfoDetails.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.system;
+package org.apache.iggy.system;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/system/ConsumerGroupInfo.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ConsumerGroupInfo.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/system/ConsumerGroupInfo.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ConsumerGroupInfo.java
index 3ce98efd..c7f18962 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/system/ConsumerGroupInfo.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/ConsumerGroupInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.system;
+package org.apache.iggy.system;
 
 public record ConsumerGroupInfo(
         Long streamId,
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/system/Stats.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/Stats.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/system/Stats.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/system/Stats.java
index 777cfabb..4811f08f 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/system/Stats.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/Stats.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.system;
+package org.apache.iggy.system;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/package-info.java
similarity index 92%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/package-info.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/system/package-info.java
index 8469ac38..26ebed13 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/http/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/system/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.system;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/CompressionAlgorithm.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/CompressionAlgorithm.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/topic/CompressionAlgorithm.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/CompressionAlgorithm.java
index 7964de5c..5f468402 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/CompressionAlgorithm.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/CompressionAlgorithm.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.topic;
+package org.apache.iggy.topic;
 
 public enum CompressionAlgorithm {
     None(1),
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/Topic.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/Topic.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/topic/Topic.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/Topic.java
index 0a2854c5..3a79a93e 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/Topic.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/Topic.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.topic;
+package org.apache.iggy.topic;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/TopicDetails.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/TopicDetails.java
similarity index 95%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/topic/TopicDetails.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/TopicDetails.java
index 5d532944..87eb53c1 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/TopicDetails.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/TopicDetails.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package rs.iggy.topic;
+package org.apache.iggy.topic;
 
-import rs.iggy.partition.Partition;
+import org.apache.iggy.partition.Partition;
 import java.math.BigInteger;
 import java.util.List;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/package-info.java
similarity index 92%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/package-info.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/package-info.java
index 373658e0..6d3cffc6 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/clients/blocking/tcp/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.topic;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/GlobalPermissions.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/GlobalPermissions.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/GlobalPermissions.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/GlobalPermissions.java
index f5cde4b8..bfb24c61 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/GlobalPermissions.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/GlobalPermissions.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 public record GlobalPermissions(
         boolean manageServers,
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/IdentityInfo.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/IdentityInfo.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/IdentityInfo.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/IdentityInfo.java
index bf0535d8..fa6a2c8c 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/IdentityInfo.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/IdentityInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 import java.util.Optional;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/Permissions.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/Permissions.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/Permissions.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/Permissions.java
index bbeeb21f..3cfe9608 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/Permissions.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/Permissions.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 import com.fasterxml.jackson.annotation.JsonSetter;
 import com.fasterxml.jackson.annotation.Nulls;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/StreamPermissions.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/StreamPermissions.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/StreamPermissions.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/StreamPermissions.java
index ff59b1a7..18de93a4 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/StreamPermissions.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/StreamPermissions.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 import com.fasterxml.jackson.annotation.JsonSetter;
 import com.fasterxml.jackson.annotation.Nulls;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/TokenInfo.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/TokenInfo.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/TokenInfo.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/TokenInfo.java
index 647d55e5..21dc22f4 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/TokenInfo.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/TokenInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/TopicPermissions.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/TopicPermissions.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/TopicPermissions.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/TopicPermissions.java
index eec986c3..f28d4be9 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/TopicPermissions.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/TopicPermissions.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 public record TopicPermissions(
         boolean manageTopic,
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/UserInfo.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserInfo.java
similarity index 96%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/UserInfo.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserInfo.java
index 648a12d5..14979ee1 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/UserInfo.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserInfo.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 import java.math.BigInteger;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/UserInfoDetails.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserInfoDetails.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/UserInfoDetails.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserInfoDetails.java
index 95894b3b..a59c0c23 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/UserInfoDetails.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserInfoDetails.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 import java.math.BigInteger;
 import java.util.Optional;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/UserStatus.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserStatus.java
similarity index 97%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/user/UserStatus.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserStatus.java
index 78056529..eb6660f2 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/UserStatus.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserStatus.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.user;
+package org.apache.iggy.user;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/package-info.java
similarity index 92%
rename from foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
rename to foreign/java/java-sdk/src/main/java/org/apache/iggy/user/package-info.java
index 9db3e0a8..16583ce7 100644
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/consumergroup/package-info.java
+++ b/foreign/java/java-sdk/src/main/java/org/apache/iggy/user/package-info.java
@@ -18,6 +18,6 @@
  */
 
 @NonNullApi
-package rs.iggy.consumergroup;
+package org.apache.iggy.user;
 
-import rs.iggy.NonNullApi;
+import org.apache.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/package-info.java b/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/package-info.java
deleted file mode 100644
index 058fea03..00000000
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/identifier/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-@NonNullApi
-package rs.iggy.identifier;
-
-import rs.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/message/package-info.java b/foreign/java/java-sdk/src/main/java/rs/iggy/message/package-info.java
deleted file mode 100644
index 51491d68..00000000
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/message/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-@NonNullApi
-package rs.iggy.message;
-
-import rs.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/partition/package-info.java b/foreign/java/java-sdk/src/main/java/rs/iggy/partition/package-info.java
deleted file mode 100644
index f78c9381..00000000
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/partition/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-@NonNullApi
-package rs.iggy.partition;
-
-import rs.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/stream/package-info.java b/foreign/java/java-sdk/src/main/java/rs/iggy/stream/package-info.java
deleted file mode 100644
index 63a141a8..00000000
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/stream/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-@NonNullApi
-package rs.iggy.stream;
-
-import rs.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/system/package-info.java b/foreign/java/java-sdk/src/main/java/rs/iggy/system/package-info.java
deleted file mode 100644
index 683fecaa..00000000
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/system/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-@NonNullApi
-package rs.iggy.system;
-
-import rs.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/package-info.java b/foreign/java/java-sdk/src/main/java/rs/iggy/topic/package-info.java
deleted file mode 100644
index 6116bb7e..00000000
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/topic/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-@NonNullApi
-package rs.iggy.topic;
-
-import rs.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/main/java/rs/iggy/user/package-info.java b/foreign/java/java-sdk/src/main/java/rs/iggy/user/package-info.java
deleted file mode 100644
index 7a361e36..00000000
--- a/foreign/java/java-sdk/src/main/java/rs/iggy/user/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-@NonNullApi
-package rs.iggy.user;
-
-import rs.iggy.NonNullApi;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/IggyTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/IggyTest.java
similarity index 93%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/IggyTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/IggyTest.java
index ab51983d..a3c001ae 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/IggyTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/IggyTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy;
+package org.apache.iggy;
 
 import org.junit.jupiter.api.Test;
-import rs.iggy.clients.blocking.http.IggyHttpClient;
+import org.apache.iggy.client.blocking.http.IggyHttpClient;
 import static org.assertj.core.api.Assertions.assertThat;
 
 class IggyTest {
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/ConsumerGroupsClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/ConsumerGroupsClientBaseTest.java
similarity index 94%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/ConsumerGroupsClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/ConsumerGroupsClientBaseTest.java
index 622b9bf4..1f9566d1 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/ConsumerGroupsClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/ConsumerGroupsClientBaseTest.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import rs.iggy.consumergroup.ConsumerGroup;
-import rs.iggy.identifier.ConsumerId;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.consumergroup.ConsumerGroup;
+import org.apache.iggy.identifier.ConsumerId;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.util.Optional;
 import static org.assertj.core.api.Assertions.assertThat;
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/ConsumerOffsetsClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/ConsumerOffsetsClientBaseTest.java
similarity index 90%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/ConsumerOffsetsClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/ConsumerOffsetsClientBaseTest.java
index 8e044e1a..4928341a 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/ConsumerOffsetsClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/ConsumerOffsetsClientBaseTest.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import rs.iggy.consumergroup.Consumer;
-import rs.iggy.identifier.ConsumerId;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
+import org.apache.iggy.consumergroup.Consumer;
+import org.apache.iggy.identifier.ConsumerId;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
 import java.math.BigInteger;
 import java.util.Optional;
 import static org.assertj.core.api.Assertions.assertThat;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/IntegrationTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/IntegrationTest.java
similarity index 96%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/IntegrationTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/IntegrationTest.java
index 30f8b2cf..77e759bb 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/IntegrationTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/IntegrationTest.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.junit.jupiter.Container;
 import org.testcontainers.junit.jupiter.Testcontainers;
 import org.testcontainers.utility.DockerImageName;
-import rs.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.topic.CompressionAlgorithm;
 import java.math.BigInteger;
 import static java.util.Optional.empty;
 import static java.util.Optional.of;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/MessagesClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/MessagesClientBaseTest.java
similarity index 92%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/MessagesClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/MessagesClientBaseTest.java
index b0be0190..417a9695 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/MessagesClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/MessagesClientBaseTest.java
@@ -17,11 +17,15 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
+import org.apache.iggy.message.Message;
+import org.apache.iggy.message.Partitioning;
+import org.apache.iggy.message.PollingKind;
+import org.apache.iggy.message.PollingStrategy;
+import org.apache.iggy.message.UuidMessageId;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import rs.iggy.message.*;
 import java.math.BigInteger;
 import java.util.List;
 import java.util.UUID;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/PartitionsClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/PartitionsClientBaseTest.java
similarity index 95%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/PartitionsClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/PartitionsClientBaseTest.java
index d76e6ec8..844c844b 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/PartitionsClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/PartitionsClientBaseTest.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import rs.iggy.topic.TopicDetails;
+import org.apache.iggy.topic.TopicDetails;
 import static org.assertj.core.api.Assertions.assertThat;
 
 public abstract class PartitionsClientBaseTest extends IntegrationTest {
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/PersonalAccessTokensBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/PersonalAccessTokensBaseTest.java
similarity index 96%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/PersonalAccessTokensBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/PersonalAccessTokensBaseTest.java
index 4bce7c12..2c094092 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/PersonalAccessTokensBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/PersonalAccessTokensBaseTest.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import rs.iggy.user.IdentityInfo;
+import org.apache.iggy.user.IdentityInfo;
 import java.math.BigInteger;
 import static org.assertj.core.api.Assertions.assertThat;
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/StreamClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/StreamClientBaseTest.java
similarity index 98%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/StreamClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/StreamClientBaseTest.java
index 25d2d5f6..d304c931 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/StreamClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/StreamClientBaseTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/SystemClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/SystemClientBaseTest.java
similarity index 97%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/SystemClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/SystemClientBaseTest.java
index 425a15bf..b5ea0086 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/SystemClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/SystemClientBaseTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/TopicsClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/TopicsClientBaseTest.java
similarity index 94%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/TopicsClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/TopicsClientBaseTest.java
index 23cae2ff..aeb64dac 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/TopicsClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/TopicsClientBaseTest.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
+package org.apache.iggy.client.blocking;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import rs.iggy.identifier.StreamId;
-import rs.iggy.identifier.TopicId;
-import rs.iggy.topic.CompressionAlgorithm;
+import org.apache.iggy.identifier.StreamId;
+import org.apache.iggy.identifier.TopicId;
+import org.apache.iggy.topic.CompressionAlgorithm;
 import java.math.BigInteger;
 import static java.util.Optional.empty;
 import static java.util.Optional.of;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/UsersClientBaseTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/UsersClientBaseTest.java
similarity index 92%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/UsersClientBaseTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/UsersClientBaseTest.java
index faff0fd7..190e8d71 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/UsersClientBaseTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/UsersClientBaseTest.java
@@ -17,12 +17,17 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking;
-
+package org.apache.iggy.client.blocking;
+
+import org.apache.iggy.user.GlobalPermissions;
+import org.apache.iggy.user.IdentityInfo;
+import org.apache.iggy.user.Permissions;
+import org.apache.iggy.user.UserInfo;
+import org.apache.iggy.user.UserInfoDetails;
+import org.apache.iggy.user.UserStatus;
 import org.jetbrains.annotations.NotNull;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import rs.iggy.user.*;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -72,7 +77,8 @@ public abstract class UsersClientBaseTest extends IntegrationTest {
 
         // then
         assertThat(createdUser).isNotNull();
-        assertThat(createdUser.permissions().map(Permissions::global).map(GlobalPermissions::manageServers).orElse(false)).isTrue();
+        assertThat(createdUser.permissions().map(Permissions::global).map(
+            GlobalPermissions::manageServers).orElse(false)).isTrue();
 
         // when
         List<UserInfo> users = usersClient.getUsers();
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/ConsumerGroupsHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/ConsumerGroupsHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/ConsumerGroupsHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/ConsumerGroupsHttpClientTest.java
index 4efd43f6..ae6fccde 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/ConsumerGroupsHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/ConsumerGroupsHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.ConsumerGroupsClientBaseTest;
-import rs.iggy.clients.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.ConsumerGroupsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
 
 class ConsumerGroupsHttpClientTest extends ConsumerGroupsClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/ConsumerOffsetsHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/ConsumerOffsetsHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/ConsumerOffsetsHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/ConsumerOffsetsHttpClientTest.java
index ae952ba9..b310e4dc 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/ConsumerOffsetsHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/ConsumerOffsetsHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.ConsumerOffsetsClientBaseTest;
-import rs.iggy.clients.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.ConsumerOffsetsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
 
 class ConsumerOffsetsHttpClientTest extends ConsumerOffsetsClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/HttpClientFactory.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/HttpClientFactory.java
similarity index 90%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/HttpClientFactory.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/HttpClientFactory.java
index 1fcaf3fd..4d6f1239 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/HttpClientFactory.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/HttpClientFactory.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import org.testcontainers.containers.GenericContainer;
-import static rs.iggy.clients.blocking.IntegrationTest.HTTP_PORT;
+import static org.apache.iggy.client.blocking.IntegrationTest.HTTP_PORT;
 
 class HttpClientFactory {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/MessagesHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/MessagesHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/MessagesHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/MessagesHttpClientTest.java
index c6f8f783..8019cb60 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/MessagesHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/MessagesHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.MessagesClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.MessagesClientBaseTest;
 
 class MessagesHttpClientTest extends MessagesClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/PartitionsHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/PartitionsHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/PartitionsHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/PartitionsHttpClientTest.java
index 863a3414..36e43e62 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/PartitionsHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/PartitionsHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.PartitionsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.PartitionsClientBaseTest;
 
 class PartitionsHttpClientTest extends PartitionsClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/PersonalAccessTokensHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/PersonalAccessTokensHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/PersonalAccessTokensHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/PersonalAccessTokensHttpClientTest.java
index e4782d97..85a8b686 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/PersonalAccessTokensHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/PersonalAccessTokensHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.PersonalAccessTokensBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.PersonalAccessTokensBaseTest;
 
 class PersonalAccessTokensHttpClientTest extends PersonalAccessTokensBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/StreamHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/StreamHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/StreamHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/StreamHttpClientTest.java
index 5e176aa3..3ee87132 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/StreamHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/StreamHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.StreamClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.StreamClientBaseTest;
 
 class StreamHttpClientTest extends StreamClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/SystemHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/SystemHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/SystemHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/SystemHttpClientTest.java
index 70decfbc..ee0836e0 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/SystemHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/SystemHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.SystemClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.SystemClientBaseTest;
 
 class SystemHttpClientTest extends SystemClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/TopicsHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/TopicsHttpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/TopicsHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/TopicsHttpClientTest.java
index 5f828347..d7389b70 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/TopicsHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/TopicsHttpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.TopicsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.TopicsClientBaseTest;
 
 class TopicsHttpClientTest extends TopicsClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/UsersHttpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/UsersHttpClientTest.java
similarity index 89%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/UsersHttpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/UsersHttpClientTest.java
index f138a16f..d5e86c79 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/http/UsersHttpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/UsersHttpClientTest.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.http;
+package org.apache.iggy.client.blocking.http;
 
 import org.junit.jupiter.api.Test;
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.UsersClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.UsersClientBaseTest;
 import static org.assertj.core.api.Assertions.assertThat;
 
 class UsersHttpClientTest extends UsersClientBaseTest {
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/BytesSerializerTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/BytesSerializerTest.java
similarity index 98%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/BytesSerializerTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/BytesSerializerTest.java
index dbde8134..d6e4883f 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/BytesSerializerTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/BytesSerializerTest.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.Unpooled;
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/ConsumerGroupsTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/ConsumerGroupsTcpClientTest.java
similarity index 91%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/ConsumerGroupsTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/ConsumerGroupsTcpClientTest.java
index ff92739d..1e835a11 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/ConsumerGroupsTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/ConsumerGroupsTcpClientTest.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import org.junit.jupiter.api.Test;
-import rs.iggy.clients.blocking.ConsumerGroupsClientBaseTest;
-import rs.iggy.clients.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.ConsumerGroupsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
 import java.util.Optional;
 import static org.assertj.core.api.Assertions.assertThat;
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/ConsumerOffsetsTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/ConsumerOffsetsTcpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/ConsumerOffsetsTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/ConsumerOffsetsTcpClientTest.java
index 682e0817..bc1406d8 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/ConsumerOffsetsTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/ConsumerOffsetsTcpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.ConsumerOffsetsClientBaseTest;
-import rs.iggy.clients.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.ConsumerOffsetsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
 
 class ConsumerOffsetsTcpClientTest extends ConsumerOffsetsClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/MessagesTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/MessagesTcpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/MessagesTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/MessagesTcpClientTest.java
index 4e4867cd..9157376b 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/MessagesTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/MessagesTcpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.MessagesClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.MessagesClientBaseTest;
 
 class MessagesTcpClientTest extends MessagesClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/PartitionsTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/PartitionsTcpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/PartitionsTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/PartitionsTcpClientTest.java
index 326672d0..8200e006 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/PartitionsTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/PartitionsTcpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.PartitionsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.PartitionsClientBaseTest;
 
 class PartitionsTcpClientTest extends PartitionsClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/PersonalAccessTokensTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/PersonalAccessTokensTcpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/PersonalAccessTokensTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/PersonalAccessTokensTcpClientTest.java
index 81a6e437..8a83addd 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/PersonalAccessTokensTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/PersonalAccessTokensTcpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.PersonalAccessTokensBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.PersonalAccessTokensBaseTest;
 
 class PersonalAccessTokensTcpClientTest extends PersonalAccessTokensBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/StreamTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/StreamTcpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/StreamTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/StreamTcpClientTest.java
index 178d41f4..7a13050c 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/StreamTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/StreamTcpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.StreamClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.StreamClientBaseTest;
 
 class StreamTcpClientTest extends StreamClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/SystemTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/SystemTcpClientTest.java
similarity index 86%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/SystemTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/SystemTcpClientTest.java
index 94c6343e..be25d38e 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/SystemTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/SystemTcpClientTest.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import org.junit.jupiter.api.Test;
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.SystemClientBaseTest;
-import rs.iggy.system.ClientInfo;
-import rs.iggy.system.ClientInfoDetails;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.SystemClientBaseTest;
+import org.apache.iggy.system.ClientInfo;
+import org.apache.iggy.system.ClientInfoDetails;
 import java.util.List;
 import static org.assertj.core.api.Assertions.assertThat;
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/TcpClientFactory.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/TcpClientFactory.java
similarity index 90%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/TcpClientFactory.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/TcpClientFactory.java
index 6c1f3dd2..9426d4df 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/TcpClientFactory.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/TcpClientFactory.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import org.testcontainers.containers.GenericContainer;
-import static rs.iggy.clients.blocking.IntegrationTest.TCP_PORT;
+import static org.apache.iggy.client.blocking.IntegrationTest.TCP_PORT;
 
 class TcpClientFactory {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/TopicsTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/TopicsTcpClientTest.java
similarity index 85%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/TopicsTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/TopicsTcpClientTest.java
index 38f9fdd4..2193f3e8 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/TopicsTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/TopicsTcpClientTest.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.TopicsClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.TopicsClientBaseTest;
 
 class TopicsTcpClientTest extends TopicsClientBaseTest {
 
diff --git a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/UsersTcpClientTest.java b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/UsersTcpClientTest.java
similarity index 84%
rename from foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/UsersTcpClientTest.java
rename to foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/UsersTcpClientTest.java
index 261393a4..00a45fbb 100644
--- a/foreign/java/java-sdk/src/test/java/rs/iggy/clients/blocking/tcp/UsersTcpClientTest.java
+++ b/foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/tcp/UsersTcpClientTest.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package rs.iggy.clients.blocking.tcp;
+package org.apache.iggy.client.blocking.tcp;
 
 import org.junit.jupiter.api.BeforeEach;
-import rs.iggy.clients.blocking.IggyBaseClient;
-import rs.iggy.clients.blocking.UsersClient;
-import rs.iggy.clients.blocking.UsersClientBaseTest;
+import org.apache.iggy.client.blocking.IggyBaseClient;
+import org.apache.iggy.client.blocking.UsersClient;
+import org.apache.iggy.client.blocking.UsersClientBaseTest;
 
 class UsersTcpClientTest extends UsersClientBaseTest {