@@ -42,8 +42,8 @@ gradle init --type java-application
4242Add the runtime dependency [ sdk-api] ( sdk-api ) and the annotation processor dependency [ sdk-api-gen] ( sdk-api-gen ) :
4343
4444```
45- annotationProcessor("dev.restate:sdk-api-gen:0.9 .0")
46- implementation("dev.restate:sdk-api:0.9 .0")
45+ annotationProcessor("dev.restate:sdk-api-gen:1.0 .0")
46+ implementation("dev.restate:sdk-api:1.0 .0")
4747```
4848
4949### Setup a project (Kotlin)
@@ -58,15 +58,15 @@ Add the [Kotlin symbol processing](https://kotlinlang.org/docs/ksp-quickstart.ht
5858
5959```
6060plugins {
61- id("com.google.devtools.ksp") version "1.9.22 -1.0.18 "
61+ id("com.google.devtools.ksp") version "2.0.0 -1.0.21 "
6262}
6363```
6464
6565Add the runtime dependency [ sdk-api-kotlin] ( sdk-api-kotlin ) and the ksp dependency [ sdk-api-gen] ( sdk-api-kotlin-gen ) :
6666
6767```
68- ksp("dev.restate:sdk-api-kotlin-gen:0.9 .0")
69- implementation("dev.restate:sdk-api-kotlin:0.9 .0")
68+ ksp("dev.restate:sdk-api-kotlin-gen:1.0 .0")
69+ implementation("dev.restate:sdk-api-kotlin:1.0 .0")
7070```
7171
7272### Implement your first Restate component (Java)
@@ -98,7 +98,7 @@ public class Greeter {
9898When using composite types/POJOs for input/output, [ Jackson Databind] ( https://github.com/FasterXML/jackson ) will be used. The Jackson dependency is not automatically included, you must add it with [ ` sdk-serde-jackson ` ] ( sdk-serde-jackson ) :
9999
100100```
101- implementation("dev.restate:sdk-serde-jackson:0.9 .0")
101+ implementation("dev.restate:sdk-serde-jackson:1.0 .0")
102102```
103103
104104If you want to store types/POJOs in state, use ` JacksonSerdes ` :
@@ -114,14 +114,12 @@ Implement your first virtual object in a new class, for example:
114114``` kotlin
115115import dev.restate.sdk.annotation.Handler
116116import dev.restate.sdk.annotation.VirtualObject
117- import dev.restate.sdk.common.StateKey
118- import dev.restate.sdk.kotlin.KtSerdes
119- import dev.restate.sdk.kotlin.ObjectContext
117+ import dev.restate.sdk.kotlin.*
120118
121119@VirtualObject
122120class Greeter {
123121 companion object {
124- private val COUNT = StateKey .of <Long >(" total" , KtSerdes .json() )
122+ private val COUNT = KtStateKey .json <Long >(" total" )
125123 }
126124
127125 @Handler
@@ -140,7 +138,7 @@ When using composite data types for input/output, [`kotlinx.serialization`](http
140138To deploy the Restate service as HTTP server, add [ ` sdk-http-vertx ` ] ( sdk-http-vertx ) to the dependencies. For example, in Gradle:
141139
142140```
143- implementation("dev.restate:sdk-http-vertx:0.9 .0")
141+ implementation("dev.restate:sdk-http-vertx:1.0 .0")
144142```
145143
146144To deploy the service, add the following code to the ` main ` . For example in Java:
@@ -174,7 +172,7 @@ gradle run
174172To deploy the Restate service as Lambda, add [ ` sdk-lambda ` ] ( sdk-lambda ) to the dependencies. For example, in Gradle:
175173
176174```
177- implementation("dev.restate:sdk-lambda:0.9 .0")
175+ implementation("dev.restate:sdk-lambda:1.0 .0")
178176```
179177
180178Configure the build tool to generate Fat-JARs, which are required by AWS Lambda to correctly load the JAR. For example, using Gradle:
@@ -224,7 +222,7 @@ You can now upload the generated Jar in AWS Lambda, and configure `MyLambdaHandl
224222The SDK uses log4j2 as logging facade. To enable logging, add the ` log4j2 ` implementation to the dependencies:
225223
226224```
227- implementation("org.apache.logging.log4j:log4j-core:2.20 .0")
225+ implementation("org.apache.logging.log4j:log4j-core:2.23 .0")
228226```
229227
230228And configure the logging adding the file ` resources/log4j2.properties ` :
@@ -275,8 +273,8 @@ You can the additional SDK tracing information by configuring the `OpenTelemetry
275273For example, to set up tracing using environment variables, add the following modules to your dependencies:
276274
277275```
278- implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.31 .0")
279- implementation("io.opentelemetry:opentelemetry-exporter-otlp:1.31 .0")
276+ implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure:1.38 .0")
277+ implementation("io.opentelemetry:opentelemetry-exporter-otlp:1.38 .0")
280278```
281279
282280And then configure it in the Restate builder:
@@ -295,6 +293,16 @@ export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:14250
295293
296294Please refer to the [ Opentelemetry manual instrumentation documentation] ( https://opentelemetry.io/docs/instrumentation/java/manual/#manual-instrumentation-setup ) and the [ autoconfigure documentation] ( https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/autoconfigure/README.md ) for more info.
297295
296+ ## Versions
297+
298+ This library follows [ Semantic Versioning] ( https://semver.org/ ) .
299+
300+ The compatibility with Restate is described in the following table:
301+
302+ | Restate Server\sdk-java | 1.0 |
303+ | -------------------------| -----|
304+ | 1.0 | ✅ |
305+
298306## Contributing
299307
300308We’re excited if you join the Restate community and start contributing!
0 commit comments