diff --git a/NEXT_CHANGELOG.md b/NEXT_CHANGELOG.md
index 1b000f6..8403e31 100644
--- a/NEXT_CHANGELOG.md
+++ b/NEXT_CHANGELOG.md
@@ -4,10 +4,35 @@
### New Features and Improvements
+- Updated Protocol Buffers from 3.24.0 to 4.33.0 for improved performance and latest features
+- Updated gRPC dependencies from 1.58.0 to 1.76.0 for enhanced stability and security
+- Updated SLF4J logging framework from 1.7.36 to 2.0.17 for modern logging capabilities
+
### Bug Fixes
### Documentation
+- Updated README.md with new dependency versions
+- Updated protoc compiler version recommendations
+- Updated Logback version compatibility for SLF4J 2.0
+
### Internal Changes
+- Updated maven-compiler-plugin from 3.11.0 to 3.14.1
+- All gRPC artifacts now consistently use version 1.76.0
+
### API Changes
+
+**Breaking Changes**
+
+- **Protocol Buffers 4.x Migration**: If you use the regular JAR (not the fat JAR), you must upgrade to protobuf-java 4.33.0 and regenerate any custom `.proto` files using protoc 4.x
+ - Download protoc 4.33.0 from: https://github.com/protocolbuffers/protobuf/releases/tag/v33.0
+ - Regenerate proto files: `protoc --java_out=src/main/java src/main/proto/record.proto`
+ - Protobuf 4.x is binary-compatible over the wire with 3.x, but generated Java code may differ
+
+- **SLF4J 2.0 Migration**: If you use a logging implementation, you may need to update it:
+ - `slf4j-simple`: Use version 2.0.17 or later
+ - `logback-classic`: Use version 1.4.14 or later (for SLF4J 2.0 compatibility)
+ - `log4j-slf4j-impl`: Use version 2.20.0 or later
+
+**Note**: If you use the fat JAR (`jar-with-dependencies`), all dependencies are bundled and no action is required.
diff --git a/README.md b/README.md
index 2b03c7d..13d767b 100644
--- a/README.md
+++ b/README.md
@@ -47,19 +47,19 @@ The Databricks Zerobus Ingest SDK for Java provides a high-performance client fo
- No additional dependencies required - all dependencies are bundled
**When using the regular JAR**:
-- [`protobuf-java` 3.24.0](https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java/3.24.0)
-- [`grpc-netty-shaded` 1.58.0](https://mvnrepository.com/artifact/io.grpc/grpc-netty-shaded/1.58.0)
-- [`grpc-protobuf` 1.58.0](https://mvnrepository.com/artifact/io.grpc/grpc-protobuf/1.58.0)
-- [`grpc-stub` 1.58.0](https://mvnrepository.com/artifact/io.grpc/grpc-stub/1.58.0)
+- [`protobuf-java` 4.33.0](https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java/4.33.0)
+- [`grpc-netty-shaded` 1.76.0](https://mvnrepository.com/artifact/io.grpc/grpc-netty-shaded/1.76.0)
+- [`grpc-protobuf` 1.76.0](https://mvnrepository.com/artifact/io.grpc/grpc-protobuf/1.76.0)
+- [`grpc-stub` 1.76.0](https://mvnrepository.com/artifact/io.grpc/grpc-stub/1.76.0)
- [`javax.annotation-api` 1.3.2](https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api/1.3.2)
-- [`slf4j-api` 1.7.36](https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.36)
-- An SLF4J implementation such as [`slf4j-simple` 1.7.36](https://mvnrepository.com/artifact/org.slf4j/slf4j-simple/1.7.36) or [`logback-classic` 1.2.11](https://mvnrepository.com/artifact/ch.qos.logback/logback-classic/1.2.11)
+- [`slf4j-api` 2.0.17](https://mvnrepository.com/artifact/org.slf4j/slf4j-api/2.0.17)
+- An SLF4J implementation such as [`slf4j-simple` 2.0.17](https://mvnrepository.com/artifact/org.slf4j/slf4j-simple/2.0.17) or [`logback-classic` 1.4.14](https://mvnrepository.com/artifact/ch.qos.logback/logback-classic/1.4.14)
### Build Requirements (only for building from source)
- **Java**: 8 or higher - [Download Java](https://adoptium.net/)
- **Maven**: 3.6 or higher - [Download Maven](https://maven.apache.org/download.cgi)
-- **Protocol Buffers Compiler** (`protoc`): 24.4 - [Download protoc](https://github.com/protocolbuffers/protobuf/releases/tag/v24.4) (for compiling your own `.proto` schemas)
+- **Protocol Buffers Compiler** (`protoc`): 33.0 - [Download protoc](https://github.com/protocolbuffers/protobuf/releases/tag/v33.0) (for compiling your own `.proto` schemas)
## Quick Start User Guide
@@ -163,32 +163,32 @@ dependencies {
com.google.protobuf
protobuf-java
- 3.24.0
+ 4.33.0
io.grpc
grpc-netty-shaded
- 1.58.0
+ 1.76.0
io.grpc
grpc-protobuf
- 1.58.0
+ 1.76.0
io.grpc
grpc-stub
- 1.58.0
+ 1.76.0
org.slf4j
slf4j-api
- 1.7.36
+ 2.0.17
org.slf4j
slf4j-simple
- 1.7.36
+ 2.0.17
javax.annotation
@@ -290,7 +290,7 @@ Create `pom.xml`:
com.google.protobuf
protobuf-java
- 3.24.0
+ 4.33.0
@@ -331,7 +331,7 @@ protoc --java_out=src/main/java src/main/proto/record.proto
This generates `src/main/java/com/example/proto/Record.java`.
-**Note**: Ensure you have `protoc` version 24.4 installed. [Download protoc](https://github.com/protocolbuffers/protobuf/releases/tag/v24.4) if needed. The generated Java files are compatible with `protobuf-java` 3.24.0.
+**Note**: Ensure you have `protoc` version 33.0 installed. [Download protoc](https://github.com/protocolbuffers/protobuf/releases/tag/v33.0) if needed. The generated Java files are compatible with `protobuf-java` 4.33.0.
### Generate Protocol Buffer Schema from Unity Catalog (Alternative)
@@ -639,7 +639,7 @@ Add to your Maven dependencies:
org.slf4j
slf4j-simple
- 1.7.36
+ 2.0.17
```
@@ -657,7 +657,7 @@ Add to your Maven dependencies:
ch.qos.logback
logback-classic
- 1.2.11
+ 1.4.14
```
diff --git a/pom.xml b/pom.xml
index 727424e..0f543ff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -114,7 +114,7 @@
protobuf-maven-plugin
0.6.1
- com.google.protobuf:protoc:3.24.0:exe:${os.detected.classifier}
+ com.google.protobuf:protoc:4.33.0:exe:${os.detected.classifier}
grpc-java
io.grpc:protoc-gen-grpc-java:1.76.0:exe:${os.detected.classifier}