diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 021e6f5f19..5ee95452e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,7 +39,7 @@ jobs: GOPROXY: https://proxy.golang.org JDK_VER: ${{ matrix.java }} DAPR_CLI_VER: 1.15.0 - DAPR_RUNTIME_VER: 1.15.3 + DAPR_RUNTIME_VER: 1.15.4 DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.15.0/install/install.sh DAPR_CLI_REF: DAPR_REF: @@ -121,7 +121,7 @@ jobs: env: DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Codecov - uses: codecov/codecov-action@v5.4.0 + uses: codecov/codecov-action@v5.4.2 - name: Install jars run: ./mvnw install -q -B -DskipTests - name: Integration tests using spring boot version ${{ matrix.spring-boot-version }} diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 1559f5aef4..42a07c8785 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -38,7 +38,7 @@ jobs: GOPROXY: https://proxy.golang.org JDK_VER: ${{ matrix.java }} DAPR_CLI_VER: 1.15.0 - DAPR_RUNTIME_VER: 1.15.3 + DAPR_RUNTIME_VER: 1.15.4 DAPR_INSTALL_URL: https://raw.githubusercontent.com/dapr/cli/v1.15.0/install/install.sh DAPR_CLI_REF: DAPR_REF: @@ -121,6 +121,12 @@ jobs: mm.py ./src/main/java/io/dapr/examples/jobs/README.md env: DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} + - name: Validate conversation ai example + working-directory: ./examples + run: | + mm.py ./src/main/java/io/dapr/examples/conversation/README.md + env: + DOCKER_HOST: ${{steps.setup_docker.outputs.sock}} - name: Validate invoke http example working-directory: ./examples run: | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4009213b11..c094f92fa1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -51,6 +51,11 @@ Before you file an issue, make sure you've checked the following: This section describes the guidelines for contributing code / docs to Dapr. +### Things to consider when adding new API to SDK + +1. All the new API's go under [dapr-sdk maven package](https://github.com/dapr/java-sdk/tree/master/sdk) +2. Make sure there is an example talking about how to use the API along with a README. [Example](https://github.com/dapr/java-sdk/pull/1235/files#diff-69ed756c4c01fd5fa884aac030dccb8f3f4d4fefa0dc330862d55a6f87b34a14) + ### Pull Requests All contributions come through pull requests. To submit a proposed change, we recommend following this workflow: @@ -64,6 +69,7 @@ All contributions come through pull requests. To submit a proposed change, we re 6. Commit and open a PR 7. Wait for the CI process to finish and make sure all checks are green 8. A maintainer of the project will be assigned, and you can expect a review within a few days +9. All the files have the Copyright header. ### Configure the code style with checkstyle diff --git a/README.md b/README.md index 035f0258ba..2ff4bff932 100644 --- a/README.md +++ b/README.md @@ -50,19 +50,19 @@ For a Maven project, add the following to your `pom.xml` file: io.dapr dapr-sdk - 1.14.0 + 1.14.1 io.dapr dapr-sdk-actors - 1.14.0 + 1.14.1 io.dapr dapr-sdk-springboot - 1.14.0 + 1.14.1 ... @@ -76,11 +76,11 @@ For a Gradle project, add the following to your `build.gradle` file: dependencies { ... // Dapr's core SDK with all features, except Actors. - compile('io.dapr:dapr-sdk:1.14.0') + compile('io.dapr:dapr-sdk:1.14.1') // Dapr's SDK for Actors (optional). - compile('io.dapr:dapr-sdk-actors:1.14.0') + compile('io.dapr:dapr-sdk-actors:1.14.1') // Dapr's SDK integration with SpringBoot (optional). - compile('io.dapr:dapr-sdk-springboot:1.14.0') + compile('io.dapr:dapr-sdk-springboot:1.14.1') } ``` diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/pom.xml b/dapr-spring/dapr-spring-boot-autoconfigure/pom.xml index 3eca526528..f5fffffed8 100644 --- a/dapr-spring/dapr-spring-boot-autoconfigure/pom.xml +++ b/dapr-spring/dapr-spring-boot-autoconfigure/pom.xml @@ -6,7 +6,7 @@ io.dapr.spring dapr-spring-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT dapr-spring-boot-autoconfigure diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/PropertiesDaprConnectionDetails.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/ClientPropertiesDaprConnectionDetails.java similarity index 76% rename from dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/PropertiesDaprConnectionDetails.java rename to dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/ClientPropertiesDaprConnectionDetails.java index e7b98b1021..68b4c41217 100644 --- a/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/PropertiesDaprConnectionDetails.java +++ b/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/ClientPropertiesDaprConnectionDetails.java @@ -13,31 +13,31 @@ package io.dapr.spring.boot.autoconfigure.client; -class PropertiesDaprConnectionDetails implements DaprConnectionDetails { +public class ClientPropertiesDaprConnectionDetails implements DaprConnectionDetails { private final DaprClientProperties daprClientProperties; - public PropertiesDaprConnectionDetails(DaprClientProperties daprClientProperties) { + public ClientPropertiesDaprConnectionDetails(DaprClientProperties daprClientProperties) { this.daprClientProperties = daprClientProperties; } @Override - public String httpEndpoint() { + public String getHttpEndpoint() { return this.daprClientProperties.getHttpEndpoint(); } @Override - public String grpcEndpoint() { + public String getGrpcEndpoint() { return this.daprClientProperties.getGrpcEndpoint(); } @Override - public Integer httpPort() { + public Integer getHttpPort() { return this.daprClientProperties.getHttpPort(); } @Override - public Integer grpcPort() { + public Integer getGrpcPort() { return this.daprClientProperties.getGrpcPort(); } } diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java index e692016ba5..23be58b85c 100644 --- a/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java +++ b/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfiguration.java @@ -37,25 +37,37 @@ public class DaprClientAutoConfiguration { @Bean @ConditionalOnMissingBean(DaprConnectionDetails.class) DaprConnectionDetails daprConnectionDetails(DaprClientProperties properties) { - return new PropertiesDaprConnectionDetails(properties); + return new ClientPropertiesDaprConnectionDetails(properties); } @Bean @ConditionalOnMissingBean DaprClientBuilder daprClientBuilder(DaprConnectionDetails daprConnectionDetails) { - DaprClientBuilder builder = new DaprClientBuilder(); - if (daprConnectionDetails.httpEndpoint() != null) { - builder.withPropertyOverride(Properties.HTTP_ENDPOINT, daprConnectionDetails.httpEndpoint()); + DaprClientBuilder builder = createDaprClientBuilder(); + String httpEndpoint = daprConnectionDetails.getHttpEndpoint(); + + if (httpEndpoint != null) { + builder.withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint); } - if (daprConnectionDetails.grpcEndpoint() != null) { - builder.withPropertyOverride(Properties.GRPC_ENDPOINT, daprConnectionDetails.grpcEndpoint()); + + String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint(); + + if (grpcEndpoint != null) { + builder.withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint); } - if (daprConnectionDetails.httpPort() != null) { - builder.withPropertyOverride(Properties.HTTP_PORT, String.valueOf(daprConnectionDetails.httpPort())); + + Integer httpPort = daprConnectionDetails.getHttpPort(); + + if (httpPort != null) { + builder.withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort)); } - if (daprConnectionDetails.grpcPort() != null) { - builder.withPropertyOverride(Properties.GRPC_PORT, String.valueOf(daprConnectionDetails.grpcPort())); + + Integer grpcPort = daprConnectionDetails.getGrpcPort(); + + if (grpcPort != null) { + builder.withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort)); } + return builder; } @@ -90,22 +102,50 @@ ActorRuntime daprActorRuntime(DaprConnectionDetails daprConnectionDetails) { @ConditionalOnMissingBean WorkflowRuntimeBuilder daprWorkflowRuntimeBuilder(DaprConnectionDetails daprConnectionDetails) { Properties properties = createPropertiesFromConnectionDetails(daprConnectionDetails); + return new WorkflowRuntimeBuilder(properties); } - private Properties createPropertiesFromConnectionDetails(DaprConnectionDetails daprConnectionDetails) { - final Map propertyOverrides = new HashMap<>(); - propertyOverrides.put(Properties.HTTP_ENDPOINT.getName(), daprConnectionDetails.httpEndpoint()); - if (daprConnectionDetails.httpPort() != null) { - propertyOverrides.put(Properties.HTTP_PORT.getName(), String.valueOf(daprConnectionDetails.httpPort())); + /** + * We use this method in tests to override the default DaprClientBuilder. + */ + protected DaprClientBuilder createDaprClientBuilder() { + return new DaprClientBuilder(); + } + + /** + * Creates a Properties object from the DaprConnectionDetails. + * + * @param daprConnectionDetails the DaprConnectionDetails + * @return the Properties object + */ + protected Properties createPropertiesFromConnectionDetails(DaprConnectionDetails daprConnectionDetails) { + Map propertyOverrides = new HashMap<>(); + String httpEndpoint = daprConnectionDetails.getHttpEndpoint(); + + if (httpEndpoint != null) { + propertyOverrides.put(Properties.HTTP_ENDPOINT.getName(), httpEndpoint); } - propertyOverrides.put(Properties.GRPC_ENDPOINT.getName(), daprConnectionDetails.grpcEndpoint()); - if (daprConnectionDetails.grpcPort() != null) { - propertyOverrides.put(Properties.GRPC_PORT.getName(), String.valueOf(daprConnectionDetails.grpcPort())); + + Integer httpPort = daprConnectionDetails.getHttpPort(); + + if (httpPort != null) { + propertyOverrides.put(Properties.HTTP_PORT.getName(), String.valueOf(httpPort)); } - return new Properties(propertyOverrides); - } + String grpcEndpoint = daprConnectionDetails.getGrpcEndpoint(); + + if (grpcEndpoint != null) { + propertyOverrides.put(Properties.GRPC_ENDPOINT.getName(), grpcEndpoint); + } + Integer grpcPort = daprConnectionDetails.getGrpcPort(); + + if (grpcPort != null) { + propertyOverrides.put(Properties.GRPC_PORT.getName(), String.valueOf(grpcPort)); + } + + return new Properties(propertyOverrides); + } } diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprConnectionDetails.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprConnectionDetails.java index 4a95af014e..76e9d7166a 100644 --- a/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprConnectionDetails.java +++ b/dapr-spring/dapr-spring-boot-autoconfigure/src/main/java/io/dapr/spring/boot/autoconfigure/client/DaprConnectionDetails.java @@ -16,11 +16,13 @@ import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails; public interface DaprConnectionDetails extends ConnectionDetails { - String httpEndpoint(); - String grpcEndpoint(); + String getHttpEndpoint(); - Integer httpPort(); + String getGrpcEndpoint(); + + Integer getHttpPort(); + + Integer getGrpcPort(); - Integer grpcPort(); } diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java new file mode 100644 index 0000000000..f7b3a999ad --- /dev/null +++ b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTest.java @@ -0,0 +1,176 @@ +/* + * Copyright 2024 The Dapr Authors + * Licensed 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. +*/ + +package io.dapr.spring.boot.autoconfigure.client; + +import io.dapr.client.DaprClient; +import io.dapr.client.DaprClientBuilder; +import io.dapr.config.Properties; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; +import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; + +import java.util.Map; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +/** + * Unit tests for {@link DaprClientAutoConfiguration}. + */ +@ExtendWith(MockitoExtension.class) +class DaprClientAutoConfigurationTest { + + private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() + .withConfiguration(AutoConfigurations.of(DaprClientAutoConfiguration.class)); + + @Mock + private DaprConnectionDetails connectionDetails; + + @Mock + private DaprClientBuilder builder; + + private DaprClientAutoConfiguration configuration; + + @Test + void daprClientBuilder() { + contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClientBuilder.class)); + } + + @Test + void daprClient() { + contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClient.class)); + } + + @BeforeEach + void setUp() { + configuration = new TestDaprClientAutoConfiguration(builder); + } + + @Test + @DisplayName("Should override HTTP endpoint if it exists") + void shouldOverrideHttpEndpointIfExists() { + String httpEndpoint = "http://localhost:3500"; + + when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint); + + configuration.daprClientBuilder(connectionDetails); + + verify(builder).withPropertyOverride(Properties.HTTP_ENDPOINT, httpEndpoint); + } + + @Test + @DisplayName("Should override GRPC endpoint if it exists") + void shouldOverrideGrpcEndpointIfExists() { + String grpcEndpoint = "grpc://localhost:5001"; + + when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint); + + configuration.daprClientBuilder(connectionDetails); + + verify(builder).withPropertyOverride(Properties.GRPC_ENDPOINT, grpcEndpoint); + } + + @Test + @DisplayName("Should override HTTP port if it exists") + void shouldOverrideHttpPortIfExists() { + Integer httpPort = 3600; + + when(connectionDetails.getHttpPort()).thenReturn(httpPort); + + configuration.daprClientBuilder(connectionDetails); + + verify(builder).withPropertyOverride(Properties.HTTP_PORT, String.valueOf(httpPort)); + } + + @Test + @DisplayName("Should override GRPC port if it exists") + void shouldOverrideGrpcPortIfExists() { + Integer grpcPort = 6001; + + when(connectionDetails.getGrpcPort()).thenReturn(grpcPort); + + configuration.daprClientBuilder(connectionDetails); + + verify(builder).withPropertyOverride(Properties.GRPC_PORT, String.valueOf(grpcPort)); + } + + @Test + @DisplayName("Should override HTTP endpoint in properties if it exists") + void shouldOverrideHttpEndpointInPropertiesIfExists() { + String httpEndpoint = "http://localhost:3500"; + + when(connectionDetails.getHttpEndpoint()).thenReturn(httpEndpoint); + + Properties reuslt = configuration.createPropertiesFromConnectionDetails(connectionDetails); + + assertThat(reuslt.getValue(Properties.HTTP_ENDPOINT)).isEqualTo(httpEndpoint); + } + + @Test + @DisplayName("Should override GRPC endpoint in properties if it exists") + void shouldOverrideGrpcEndpointPropertiesIfExists() { + String grpcEndpoint = "grpc://localhost:3500"; + + when(connectionDetails.getGrpcEndpoint()).thenReturn(grpcEndpoint); + + Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); + + assertThat(result.getValue(Properties.GRPC_ENDPOINT)).isEqualTo(grpcEndpoint); + } + + @Test + @DisplayName("Should override HTTP port in properties if it exists") + void shouldOverrideHttpPortPropertiesIfExists() { + Integer httpPort = 3600; + + when(connectionDetails.getHttpPort()).thenReturn(httpPort); + + Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); + + assertThat(result.getValue(Properties.HTTP_PORT)).isEqualTo(httpPort); + } + + @Test + @DisplayName("Should override GRPC port in properties if it exists") + void shouldOverrideGrpcPortPropertiesIfExists() { + Integer grpcPort = 6001; + + when(connectionDetails.getGrpcPort()).thenReturn(grpcPort); + + Properties result = configuration.createPropertiesFromConnectionDetails(connectionDetails); + + assertThat(result.getValue(Properties.GRPC_PORT)).isEqualTo(grpcPort); + } + + private static class TestDaprClientAutoConfiguration extends DaprClientAutoConfiguration { + + private final DaprClientBuilder daprClientBuilder; + + public TestDaprClientAutoConfiguration(DaprClientBuilder daprClientBuilder) { + this.daprClientBuilder = daprClientBuilder; + } + + @Override + protected DaprClientBuilder createDaprClientBuilder() { + return daprClientBuilder; + } + } + +} diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTests.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTests.java deleted file mode 100644 index 0545df1788..0000000000 --- a/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientAutoConfigurationTests.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2024 The Dapr Authors - * Licensed 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. -*/ - -package io.dapr.spring.boot.autoconfigure.client; - -import io.dapr.client.DaprClient; -import io.dapr.client.DaprClientBuilder; -import org.junit.jupiter.api.Test; -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.ApplicationContextRunner; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Unit tests for {@link DaprClientAutoConfiguration}. - */ -class DaprClientAutoConfigurationTests { - - private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of(DaprClientAutoConfiguration.class)); - - @Test - void daprClientBuilder() { - contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClientBuilder.class)); - } - - @Test - void daprClient() { - contextRunner.run(context -> assertThat(context).hasSingleBean(DaprClient.class)); - } - -} diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientPropertiesTest.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientPropertiesTest.java index 219e59bf4e..85bd605a7b 100644 --- a/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientPropertiesTest.java +++ b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/client/DaprClientPropertiesTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2024 The Dapr Authors + * Copyright 2025 The Dapr Authors * Licensed 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 @@ -14,8 +14,9 @@ package io.dapr.spring.boot.autoconfigure.client; import org.assertj.core.api.SoftAssertions; -import org.junit.Test; + import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.test.context.runner.ApplicationContextRunner; @@ -33,11 +34,11 @@ public void shouldCreateDaprClientPropertiesCorrectly() { "http://localhost", "localhost", 3500, 50001 ); - SoftAssertions.assertSoftly(softAssertions -> { - softAssertions.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); - softAssertions.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); - softAssertions.assertThat(properties.getHttpPort()).isEqualTo(3500); - softAssertions.assertThat(properties.getGrpcPort()).isEqualTo(50001); + SoftAssertions.assertSoftly(softly -> { + softly.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); + softly.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); + softly.assertThat(properties.getHttpPort()).isEqualTo(3500); + softly.assertThat(properties.getGrpcPort()).isEqualTo(50001); }); } @@ -71,11 +72,11 @@ public void shouldMapDaprClientProperties() { "dapr.client.grpc-port=50001" ).run(context -> { DaprClientProperties properties = context.getBean(DaprClientProperties.class); - SoftAssertions.assertSoftly(softAssertions -> { - softAssertions.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); - softAssertions.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); - softAssertions.assertThat(properties.getHttpPort()).isEqualTo(3500); - softAssertions.assertThat(properties.getGrpcPort()).isEqualTo(50001); + SoftAssertions.assertSoftly(softly -> { + softly.assertThat(properties.getGrpcEndpoint()).isEqualTo("localhost"); + softly.assertThat(properties.getHttpEndpoint()).isEqualTo("http://localhost"); + softly.assertThat(properties.getHttpPort()).isEqualTo(3500); + softly.assertThat(properties.getGrpcPort()).isEqualTo(50001); }); }); diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/pubsub/DaprPubSubPropertiesTest.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/pubsub/DaprPubSubPropertiesTest.java new file mode 100644 index 0000000000..ab02166d77 --- /dev/null +++ b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/pubsub/DaprPubSubPropertiesTest.java @@ -0,0 +1,60 @@ +/* + * Copyright 2025 The Dapr Authors + * Licensed 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. +*/ + +package io.dapr.spring.boot.autoconfigure.pubsub; + +import org.assertj.core.api.SoftAssertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; + +public class DaprPubSubPropertiesTest { + + final ApplicationContextRunner runner = new ApplicationContextRunner() + .withUserConfiguration(EnableDaprPubSubProperties.class); + + + @Test + @DisplayName("Should configure properties with setters") + void shouldSetProperties() { + DaprPubSubProperties properties = new DaprPubSubProperties(); + properties.setName("pubsub"); + properties.setObservationEnabled(false); + + SoftAssertions.assertSoftly(softAssertions -> { + softAssertions.assertThat(properties.getName()).isEqualTo("pubsub"); + softAssertions.assertThat(properties.isObservationEnabled()).isEqualTo(false); + }); + } + + @Test + @DisplayName("Should map DaprPubSubProperties correctly") + void shouldMapDaprPubSubPropertiesCorrectly() { + runner.withPropertyValues( + "dapr.pubsub.name=pubsub", + "dapr.pubsub.observation-enabled=true" + ).run(context -> { + DaprPubSubProperties properties = context.getBean(DaprPubSubProperties.class); + + SoftAssertions.assertSoftly(softAssertions -> { + softAssertions.assertThat(properties.getName()).isEqualTo("pubsub"); + softAssertions.assertThat(properties.isObservationEnabled()).isEqualTo(true); + }); + }); + } + + @EnableConfigurationProperties(DaprPubSubProperties.class) + static class EnableDaprPubSubProperties { + } +} diff --git a/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/statestore/DaprStateStorePropertiesTest.java b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/statestore/DaprStateStorePropertiesTest.java new file mode 100644 index 0000000000..8084300c1e --- /dev/null +++ b/dapr-spring/dapr-spring-boot-autoconfigure/src/test/java/io/dapr/spring/boot/autoconfigure/statestore/DaprStateStorePropertiesTest.java @@ -0,0 +1,63 @@ +/* + * Copyright 2021 The Dapr Authors + * Licensed 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. +*/ + +package io.dapr.spring.boot.autoconfigure.statestore; + +import org.assertj.core.api.SoftAssertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; + +public class DaprStateStorePropertiesTest { + + + final ApplicationContextRunner runner = new ApplicationContextRunner() + .withUserConfiguration(EnableDaprStateStoreProperties.class); + + @Test + @DisplayName("Should create DaprStateStoreProperties via constructor") + void shouldSetDaprStateStorePropertiesCorrectly() { + DaprStateStoreProperties properties = new DaprStateStoreProperties(); + properties.setBinding("binding"); + properties.setName("name"); + + SoftAssertions.assertSoftly(softAssertions -> { + softAssertions.assertThat(properties.getName()).isEqualTo("name"); + softAssertions.assertThat(properties.getBinding()).isEqualTo("binding"); + }); + } + + @Test + @DisplayName("Should map Dapr state store properties correctly") + void shouldMapDaprStateStoreProperties() { + runner.withPropertyValues( + "dapr.statestore.name=name", + "dapr.statestore.binding=binding" + ).run(context -> { + DaprStateStoreProperties properties = context.getBean(DaprStateStoreProperties.class); + + SoftAssertions.assertSoftly(softly -> { + softly.assertThat(properties.getBinding()).isEqualTo("binding"); + softly.assertThat(properties.getName()).isEqualTo("name"); + }); + }); + + } + + @EnableConfigurationProperties(DaprStateStoreProperties.class) + static class EnableDaprStateStoreProperties { + + } + +} diff --git a/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml b/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml index 623e1c1cd1..141c28cedb 100644 --- a/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml +++ b/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter-test/pom.xml @@ -6,7 +6,7 @@ io.dapr.spring dapr-spring-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT ../../pom.xml diff --git a/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml b/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml index 623040b378..a57f708daa 100644 --- a/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml +++ b/dapr-spring/dapr-spring-boot-starters/dapr-spring-boot-starter/pom.xml @@ -6,7 +6,7 @@ io.dapr.spring dapr-spring-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT ../../pom.xml diff --git a/dapr-spring/dapr-spring-boot-tests/pom.xml b/dapr-spring/dapr-spring-boot-tests/pom.xml index 86286c08f8..b9210d0584 100644 --- a/dapr-spring/dapr-spring-boot-tests/pom.xml +++ b/dapr-spring/dapr-spring-boot-tests/pom.xml @@ -6,7 +6,7 @@ io.dapr.spring dapr-spring-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT dapr-spring-boot-tests diff --git a/dapr-spring/dapr-spring-boot-tests/src/main/java/io/dapr/spring/boot/testcontainers/service/connection/DaprContainerConnectionDetailsFactory.java b/dapr-spring/dapr-spring-boot-tests/src/main/java/io/dapr/spring/boot/testcontainers/service/connection/DaprContainerConnectionDetailsFactory.java index 4b4f9c1a76..12a822966f 100644 --- a/dapr-spring/dapr-spring-boot-tests/src/main/java/io/dapr/spring/boot/testcontainers/service/connection/DaprContainerConnectionDetailsFactory.java +++ b/dapr-spring/dapr-spring-boot-tests/src/main/java/io/dapr/spring/boot/testcontainers/service/connection/DaprContainerConnectionDetailsFactory.java @@ -23,22 +23,22 @@ private DaprContainerConnectionDetails(ContainerConnectionSource } @Override - public String httpEndpoint() { + public String getHttpEndpoint() { return getContainer().getHttpEndpoint(); } @Override - public String grpcEndpoint() { + public String getGrpcEndpoint() { return getContainer().getGrpcEndpoint(); } @Override - public Integer httpPort() { + public Integer getHttpPort() { return getContainer().getHttpPort(); } @Override - public Integer grpcPort() { + public Integer getGrpcPort() { return getContainer().getGrpcPort(); } } diff --git a/dapr-spring/dapr-spring-data/pom.xml b/dapr-spring/dapr-spring-data/pom.xml index 1de4b563dc..bd6efe151b 100644 --- a/dapr-spring/dapr-spring-data/pom.xml +++ b/dapr-spring/dapr-spring-data/pom.xml @@ -6,7 +6,7 @@ io.dapr.spring dapr-spring-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT dapr-spring-data diff --git a/dapr-spring/dapr-spring-messaging/pom.xml b/dapr-spring/dapr-spring-messaging/pom.xml index 7b74a85a84..d5d50ef4ed 100644 --- a/dapr-spring/dapr-spring-messaging/pom.xml +++ b/dapr-spring/dapr-spring-messaging/pom.xml @@ -6,7 +6,7 @@ io.dapr.spring dapr-spring-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT dapr-spring-messaging diff --git a/dapr-spring/dapr-spring-workflows/pom.xml b/dapr-spring/dapr-spring-workflows/pom.xml index 55708f5002..2182b60908 100644 --- a/dapr-spring/dapr-spring-workflows/pom.xml +++ b/dapr-spring/dapr-spring-workflows/pom.xml @@ -6,7 +6,7 @@ io.dapr.spring dapr-spring-parent - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT dapr-spring-workflows diff --git a/dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/DaprWorkflowsConfiguration.java b/dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/DaprWorkflowsConfiguration.java index 8629982a90..18e4024142 100644 --- a/dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/DaprWorkflowsConfiguration.java +++ b/dapr-spring/dapr-spring-workflows/src/main/java/io/dapr/spring/workflows/config/DaprWorkflowsConfiguration.java @@ -46,10 +46,9 @@ private void registerWorkflowsAndActivities(ApplicationContext applicationContex workflowRuntimeBuilder.registerActivity(activity); } - try (WorkflowRuntime runtime = workflowRuntimeBuilder.build()) { - LOGGER.info("Starting workflow runtime ... "); - runtime.start(false); - } + WorkflowRuntime runtime = workflowRuntimeBuilder.build(); + LOGGER.info("Starting workflow runtime ... "); + runtime.start(false); } @Override diff --git a/dapr-spring/pom.xml b/dapr-spring/pom.xml index 593f493d80..d434f8c032 100644 --- a/dapr-spring/pom.xml +++ b/dapr-spring/pom.xml @@ -7,13 +7,13 @@ io.dapr dapr-sdk-parent - 1.15.0-SNAPSHOT + 1.16.0-SNAPSHOT io.dapr.spring dapr-spring-parent pom - 0.15.0-SNAPSHOT + 0.16.0-SNAPSHOT dapr-spring-parent SDK extension for Spring and Spring Boot diff --git a/daprdocs/content/en/java-sdk-docs/_index.md b/daprdocs/content/en/java-sdk-docs/_index.md index a418de5fbb..b2a0c68570 100644 --- a/daprdocs/content/en/java-sdk-docs/_index.md +++ b/daprdocs/content/en/java-sdk-docs/_index.md @@ -46,19 +46,19 @@ For a Maven project, add the following to your `pom.xml` file: io.dapr dapr-sdk - 1.14.0 + 1.14.1 io.dapr dapr-sdk-actors - 1.14.0 + 1.14.1 io.dapr dapr-sdk-springboot - 1.14.0 + 1.14.1 ... @@ -76,11 +76,11 @@ For a Gradle project, add the following to your `build.gradle` file: dependencies { ... // Dapr's core SDK with all features, except Actors. - compile('io.dapr:dapr-sdk:1.14.0') + compile('io.dapr:dapr-sdk:1.14.1') // Dapr's SDK for Actors (optional). - compile('io.dapr:dapr-sdk-actors:1.14.0') + compile('io.dapr:dapr-sdk-actors:1.14.1') // Dapr's SDK integration with SpringBoot (optional). - compile('io.dapr:dapr-sdk-springboot:1.14.0') + compile('io.dapr:dapr-sdk-springboot:1.14.1') } ``` @@ -88,6 +88,18 @@ dependencies { {{< /tabs >}} +If you are also using Spring Boot, you may run into a common issue where the `OkHttp` version that the Dapr SDK uses conflicts with the one specified in the Spring Boot _Bill of Materials_. + +You can fix this by specifying a compatible `OkHttp` version in your project to match the version that the Dapr SDK uses: + +```xml + + com.squareup.okhttp3 + okhttp + 1.14.1 + +``` + ## Try it out Put the Dapr Java SDK to the test. Walk through the Java quickstarts and tutorials to see Dapr in action: diff --git a/daprdocs/content/en/java-sdk-docs/java-jobs/_index.md b/daprdocs/content/en/java-sdk-docs/java-jobs/_index.md new file mode 100644 index 0000000000..40c1a23ebf --- /dev/null +++ b/daprdocs/content/en/java-sdk-docs/java-jobs/_index.md @@ -0,0 +1,7 @@ +--- +type: docs +title: "Jobs" +linkTitle: "Jobs" +weight: 3000 +description: With the Dapr Jobs package, you can interact with the Dapr Jobs APIs from a Java application to trigger future operations to run according to a predefined schedule with an optional payload. To get started, walk through the [Dapr Jobs]({{< ref java-jobs-howto.md >}}) how-to guide. +--- diff --git a/daprdocs/content/en/java-sdk-docs/java-jobs/java-jobs-howto.md b/daprdocs/content/en/java-sdk-docs/java-jobs/java-jobs-howto.md new file mode 100644 index 0000000000..1aa8f7b911 --- /dev/null +++ b/daprdocs/content/en/java-sdk-docs/java-jobs/java-jobs-howto.md @@ -0,0 +1,164 @@ +--- +type: docs +title: "How to: Author and manage Dapr Jobs in the Java SDK" +linkTitle: "How to: Author and manage Jobs" +weight: 20000 +description: How to get up and running with Jobs using the Dapr Java SDK +--- + +As part of this demonstration we will schedule a Dapr Job. The scheduled job will trigger an endpoint registered in the +same app. With the [provided jobs example](https://github.com/dapr/java-sdk/tree/master/examples/src/main/java/io/dapr/examples/jobs), you will: + +- Schedule a Job [Job scheduling example](https://github.com/dapr/java-sdk/blob/master/examples/src/main/java/io/dapr/examples/jobs/DemoJobsClient.java) +- Register an endpoint for the dapr sidecar to invoke at trigger time [Endpoint Registration](https://github.com/dapr/java-sdk/blob/master/examples/src/main/java/io/dapr/examples/jobs/DemoJobsSpringApplication.java) + +This example uses the default configuration from `dapr init` in [self-hosted mode](https://github.com/dapr/cli#install-dapr-on-your-local-machine-self-hosted). + +## Prerequisites + +- [Dapr CLI and initialized environment](https://docs.dapr.io/getting-started). +- Java JDK 11 (or greater): + - [Oracle JDK](https://www.oracle.com/java/technologies/downloads), or + - OpenJDK +- [Apache Maven](https://maven.apache.org/install.html), version 3.x. +- [Docker Desktop](https://www.docker.com/products/docker-desktop) + +## Set up the environment + +Clone the [Java SDK repo](https://github.com/dapr/java-sdk) and navigate into it. + +```bash +git clone https://github.com/dapr/java-sdk.git +cd java-sdk +``` + +Run the following command to install the requirements for running the jobs example with the Dapr Java SDK. + +```bash +mvn clean install -DskipTests +``` + +From the Java SDK root directory, navigate to the Dapr Jobs example. + +```bash +cd examples +``` + +Run the Dapr sidecar. + +```sh +dapr run --app-id jobsapp --dapr-grpc-port 51439 --dapr-http-port 3500 --app-port 8080 +``` + +> Now, Dapr is listening for HTTP requests at `http://localhost:3500` and internal Jobs gRPC requests at `http://localhost:51439`. + +## Schedule and Get a job + +In the `DemoJobsClient` there are steps to schedule a job. Calling `scheduleJob` using the `DaprPreviewClient` +will schedule a job with the Dapr Runtime. + +```java +public class DemoJobsClient { + + /** + * The main method of this app to schedule and get jobs. + */ + public static void main(String[] args) throws Exception { + try (DaprPreviewClient client = new DaprClientBuilder().withPropertyOverrides(overrides).buildPreviewClient()) { + + // Schedule a job. + System.out.println("**** Scheduling a Job with name dapr-jobs-1 *****"); + ScheduleJobRequest scheduleJobRequest = new ScheduleJobRequest("dapr-job-1", + JobSchedule.fromString("* * * * * *")).setData("Hello World!".getBytes()); + client.scheduleJob(scheduleJobRequest).block(); + + System.out.println("**** Scheduling job dapr-jobs-1 completed *****"); + } + } +} +``` + +Call `getJob` to retrieve the job details that were previously created and scheduled. +``` +client.getJob(new GetJobRequest("dapr-job-1")).block() +``` + +Run the `DemoJobsClient` with the following command. + +```sh +java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.jobs.DemoJobsClient +``` + +### Sample output +``` +**** Scheduling a Job with name dapr-jobs-1 ***** +**** Scheduling job dapr-jobs-1 completed ***** +**** Retrieving a Job with name dapr-jobs-1 ***** +``` + +## Set up an endpoint to be invoked when the job is triggered + +The `DemoJobsSpringApplication` class starts a Spring Boot application that registers the endpoints specified in the `JobsController` +This endpoint acts like a callback for the scheduled job requests. + +```java +@RestController +public class JobsController { + + /** + * Handles jobs callback from Dapr. + * + * @param jobName name of the job. + * @param payload data from the job if payload exists. + * @return Empty Mono. + */ + @PostMapping("/job/{jobName}") + public Mono handleJob(@PathVariable("jobName") String jobName, + @RequestBody(required = false) byte[] payload) { + System.out.println("Job Name: " + jobName); + System.out.println("Job Payload: " + new String(payload)); + + return Mono.empty(); + } +} +``` + +Parameters: + +* `jobName`: The name of the triggered job. +* `payload`: Optional payload data associated with the job (as a byte array). + +Run the Spring Boot application with the following command. + +```sh +java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.jobs.DemoJobsSpringApplication +``` + +### Sample output +``` +Job Name: dapr-job-1 +Job Payload: Hello World! +``` + +## Delete a scheduled job + +```java +public class DemoJobsClient { + + /** + * The main method of this app deletes a job that was previously scheduled. + */ + public static void main(String[] args) throws Exception { + try (DaprPreviewClient client = new DaprClientBuilder().buildPreviewClient()) { + + // Delete a job. + System.out.println("**** Delete a Job with name dapr-jobs-1 *****"); + client.deleteJob(new DeleteJobRequest("dapr-job-1")).block(); + } + } +} +``` + +## Next steps +- [Learn more about Jobs]({{< ref jobs-overview.md >}}) +- [Jobs API reference]({{< ref jobs_api.md >}}) \ No newline at end of file diff --git a/daprdocs/content/en/java-sdk-docs/spring-boot/_index.md b/daprdocs/content/en/java-sdk-docs/spring-boot/_index.md index e515e2b39c..3d5e945e34 100644 --- a/daprdocs/content/en/java-sdk-docs/spring-boot/_index.md +++ b/daprdocs/content/en/java-sdk-docs/spring-boot/_index.md @@ -25,12 +25,12 @@ If you already have a Spring Boot application (Spring Boot 3.x+), you can direct io.dapr.spring dapr-spring-boot-starter - 0.14.0 + 0.14.1 io.dapr.spring dapr-spring-boot-starter-test - 0.14.0 + 0.14.1 test ``` @@ -80,7 +80,7 @@ public class DaprTestContainersConfig { @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, PostgreSQLContainer postgreSQLContainer){ - return new DaprContainer("daprio/daprd:1.14.1") + return new DaprContainer("daprio/daprd:1.15.4") .withAppName("producer-app") .withNetwork(daprNetwork) .withComponent(new Component("kvstore", "state.postgresql", "v1", STATE_STORE_PROPERTIES)) @@ -235,7 +235,7 @@ Finally, because Dapr PubSub requires a bidirectional connection between your ap @ServiceConnection public DaprContainer daprContainer(Network daprNetwork, PostgreSQLContainer postgreSQLContainer, RabbitMQContainer rabbitMQContainer){ - return new DaprContainer("daprio/daprd:1.14.1") + return new DaprContainer("daprio/daprd:1.15.4") .withAppName("producer-app") .withNetwork(daprNetwork) .withComponent(new Component("kvstore", "state.postgresql", "v1", STATE_STORE_PROPERTIES)) diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html index 536dff83b6..306a09708e 100644 --- a/docs/allclasses-index.html +++ b/docs/allclasses-index.html @@ -1,11 +1,11 @@ - -All Classes and Interfaces (dapr-sdk-parent 1.14.0 API) + +All Classes and Interfaces (dapr-sdk-parent 1.14.1 API) - + diff --git a/docs/allpackages-index.html b/docs/allpackages-index.html index 8eb6b94866..cd4103c09e 100644 --- a/docs/allpackages-index.html +++ b/docs/allpackages-index.html @@ -1,11 +1,11 @@ - -All Packages (dapr-sdk-parent 1.14.0 API) + +All Packages (dapr-sdk-parent 1.14.1 API) - + diff --git a/docs/constant-values.html b/docs/constant-values.html index 65a3f06b0a..2b252674c6 100644 --- a/docs/constant-values.html +++ b/docs/constant-values.html @@ -1,11 +1,11 @@ - -Constant Field Values (dapr-sdk-parent 1.14.0 API) + +Constant Field Values (dapr-sdk-parent 1.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/allclasses-index.html b/docs/dapr-sdk-workflows/allclasses-index.html index 4e1dafc735..56bc7eb81a 100644 --- a/docs/dapr-sdk-workflows/allclasses-index.html +++ b/docs/dapr-sdk-workflows/allclasses-index.html @@ -1,11 +1,11 @@ - -All Classes and Interfaces (dapr-sdk-workflows 0.14.0 API) + +All Classes and Interfaces (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/allpackages-index.html b/docs/dapr-sdk-workflows/allpackages-index.html index 8c9eefc595..985c7d16a1 100644 --- a/docs/dapr-sdk-workflows/allpackages-index.html +++ b/docs/dapr-sdk-workflows/allpackages-index.html @@ -1,11 +1,11 @@ - -All Packages (dapr-sdk-workflows 0.14.0 API) + +All Packages (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/help-doc.html b/docs/dapr-sdk-workflows/help-doc.html index 872f56f186..bddc0a0c07 100644 --- a/docs/dapr-sdk-workflows/help-doc.html +++ b/docs/dapr-sdk-workflows/help-doc.html @@ -1,11 +1,11 @@ - -API Help (dapr-sdk-workflows 0.14.0 API) + +API Help (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/index-all.html b/docs/dapr-sdk-workflows/index-all.html index 742bf0b1e2..87016ef266 100644 --- a/docs/dapr-sdk-workflows/index-all.html +++ b/docs/dapr-sdk-workflows/index-all.html @@ -1,11 +1,11 @@ - -Index (dapr-sdk-workflows 0.14.0 API) + +Index (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/index.html b/docs/dapr-sdk-workflows/index.html index 1e71081add..59c8294ed0 100644 --- a/docs/dapr-sdk-workflows/index.html +++ b/docs/dapr-sdk-workflows/index.html @@ -1,11 +1,11 @@ - -Overview (dapr-sdk-workflows 0.14.0 API) + +Overview (dapr-sdk-workflows 0.14.1 API) - + @@ -49,7 +49,7 @@
-

dapr-sdk-workflows 0.14.0 API

+

dapr-sdk-workflows 0.14.1 API

Packages
diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/Workflow.html b/docs/dapr-sdk-workflows/io/dapr/workflows/Workflow.html index 7fbe935a8e..346eb2b775 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/Workflow.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/Workflow.html @@ -1,11 +1,11 @@ - -Workflow (dapr-sdk-workflows 0.14.0 API) + +Workflow (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowContext.html b/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowContext.html index 932e3333ca..be75c783af 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowContext.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowContext.html @@ -1,11 +1,11 @@ - -WorkflowContext (dapr-sdk-workflows 0.14.0 API) + +WorkflowContext (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowStub.html b/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowStub.html index bad5f3e7fb..e5b9352cc5 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowStub.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/WorkflowStub.html @@ -1,11 +1,11 @@ - -WorkflowStub (dapr-sdk-workflows 0.14.0 API) + +WorkflowStub (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/Workflow.html b/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/Workflow.html index 36c9e2da9b..67cb3319a6 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/Workflow.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/Workflow.html @@ -1,11 +1,11 @@ - -Uses of Interface io.dapr.workflows.Workflow (dapr-sdk-workflows 0.14.0 API) + +Uses of Interface io.dapr.workflows.Workflow (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowContext.html b/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowContext.html index 177dfd9bd0..1da33d1161 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowContext.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowContext.html @@ -1,11 +1,11 @@ - -Uses of Interface io.dapr.workflows.WorkflowContext (dapr-sdk-workflows 0.14.0 API) + +Uses of Interface io.dapr.workflows.WorkflowContext (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowStub.html b/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowStub.html index 862aa4f0ff..d8bb2dc109 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowStub.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/class-use/WorkflowStub.html @@ -1,11 +1,11 @@ - -Uses of Interface io.dapr.workflows.WorkflowStub (dapr-sdk-workflows 0.14.0 API) + +Uses of Interface io.dapr.workflows.WorkflowStub (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/DaprWorkflowClient.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/DaprWorkflowClient.html index e5207ae989..e944a62205 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/DaprWorkflowClient.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/DaprWorkflowClient.html @@ -1,11 +1,11 @@ - -DaprWorkflowClient (dapr-sdk-workflows 0.14.0 API) + +DaprWorkflowClient (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowFailureDetails.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowFailureDetails.html index 9e1356bb9c..7ae13756bc 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowFailureDetails.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowFailureDetails.html @@ -1,11 +1,11 @@ - -WorkflowFailureDetails (dapr-sdk-workflows 0.14.0 API) + +WorkflowFailureDetails (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowInstanceStatus.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowInstanceStatus.html index 150674f825..630387cfee 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowInstanceStatus.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/WorkflowInstanceStatus.html @@ -1,11 +1,11 @@ - -WorkflowInstanceStatus (dapr-sdk-workflows 0.14.0 API) + +WorkflowInstanceStatus (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/DaprWorkflowClient.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/DaprWorkflowClient.html index ffbb2f522c..628909ba37 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/DaprWorkflowClient.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/DaprWorkflowClient.html @@ -1,11 +1,11 @@ - -Uses of Class io.dapr.workflows.client.DaprWorkflowClient (dapr-sdk-workflows 0.14.0 API) + +Uses of Class io.dapr.workflows.client.DaprWorkflowClient (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowFailureDetails.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowFailureDetails.html index e1d94408ba..6ab7c60a33 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowFailureDetails.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowFailureDetails.html @@ -1,11 +1,11 @@ - -Uses of Class io.dapr.workflows.client.WorkflowFailureDetails (dapr-sdk-workflows 0.14.0 API) + +Uses of Class io.dapr.workflows.client.WorkflowFailureDetails (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowInstanceStatus.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowInstanceStatus.html index 3f3154e6d2..ba103ab2c5 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowInstanceStatus.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/class-use/WorkflowInstanceStatus.html @@ -1,11 +1,11 @@ - -Uses of Class io.dapr.workflows.client.WorkflowInstanceStatus (dapr-sdk-workflows 0.14.0 API) + +Uses of Class io.dapr.workflows.client.WorkflowInstanceStatus (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-summary.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-summary.html index 8ee9302ef6..25e7ff7b02 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-summary.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-summary.html @@ -1,11 +1,11 @@ - -io.dapr.workflows.client (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows.client (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-tree.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-tree.html index 5b1ecae495..3e12950302 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-tree.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-tree.html @@ -1,11 +1,11 @@ - -io.dapr.workflows.client Class Hierarchy (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows.client Class Hierarchy (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-use.html b/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-use.html index 0752ec5f3a..106e81a5fd 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-use.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/client/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package io.dapr.workflows.client (dapr-sdk-workflows 0.14.0 API) + +Uses of Package io.dapr.workflows.client (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/ApiTokenClientInterceptor.html b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/ApiTokenClientInterceptor.html index 9fd81d2c05..f75bcab1df 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/ApiTokenClientInterceptor.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/ApiTokenClientInterceptor.html @@ -1,11 +1,11 @@ - -ApiTokenClientInterceptor (dapr-sdk-workflows 0.14.0 API) + +ApiTokenClientInterceptor (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/class-use/ApiTokenClientInterceptor.html b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/class-use/ApiTokenClientInterceptor.html index 6d9dadb3dc..3c1ebfe6ab 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/class-use/ApiTokenClientInterceptor.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/class-use/ApiTokenClientInterceptor.html @@ -1,11 +1,11 @@ - -Uses of Class io.dapr.workflows.internal.ApiTokenClientInterceptor (dapr-sdk-workflows 0.14.0 API) + +Uses of Class io.dapr.workflows.internal.ApiTokenClientInterceptor (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-summary.html b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-summary.html index c6b92f0f42..a1bad791f9 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-summary.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-summary.html @@ -1,11 +1,11 @@ - -io.dapr.workflows.internal (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows.internal (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-tree.html b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-tree.html index 5dd663bcb4..905b225f54 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-tree.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-tree.html @@ -1,11 +1,11 @@ - -io.dapr.workflows.internal Class Hierarchy (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows.internal Class Hierarchy (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-use.html b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-use.html index d6bbc42e75..bce41900c5 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-use.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/internal/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package io.dapr.workflows.internal (dapr-sdk-workflows 0.14.0 API) + +Uses of Package io.dapr.workflows.internal (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/package-summary.html b/docs/dapr-sdk-workflows/io/dapr/workflows/package-summary.html index f81a308c17..0d771de217 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/package-summary.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/package-summary.html @@ -1,11 +1,11 @@ - -io.dapr.workflows (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/package-tree.html b/docs/dapr-sdk-workflows/io/dapr/workflows/package-tree.html index b764ed778e..e490f77f73 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/package-tree.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/package-tree.html @@ -1,11 +1,11 @@ - -io.dapr.workflows Class Hierarchy (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows Class Hierarchy (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/package-use.html b/docs/dapr-sdk-workflows/io/dapr/workflows/package-use.html index d56f58a31c..52d67e66f5 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/package-use.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package io.dapr.workflows (dapr-sdk-workflows 0.14.0 API) + +Uses of Package io.dapr.workflows (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntime.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntime.html index 50dfde9ffa..01d3a9e69c 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntime.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntime.html @@ -1,11 +1,11 @@ - -WorkflowRuntime (dapr-sdk-workflows 0.14.0 API) + +WorkflowRuntime (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.html index b07fe81c17..b7b6e0516a 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeBuilder.html @@ -1,11 +1,11 @@ - -WorkflowRuntimeBuilder (dapr-sdk-workflows 0.14.0 API) + +WorkflowRuntimeBuilder (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeStatus.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeStatus.html index ee16aa8d08..e87d3eab24 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeStatus.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/WorkflowRuntimeStatus.html @@ -1,11 +1,11 @@ - -WorkflowRuntimeStatus (dapr-sdk-workflows 0.14.0 API) + +WorkflowRuntimeStatus (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntime.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntime.html index 8f3b25e2b3..c4e8de65ad 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntime.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntime.html @@ -1,11 +1,11 @@ - -Uses of Class io.dapr.workflows.runtime.WorkflowRuntime (dapr-sdk-workflows 0.14.0 API) + +Uses of Class io.dapr.workflows.runtime.WorkflowRuntime (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeBuilder.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeBuilder.html index 672d7c0c82..c93b6cf624 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeBuilder.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeBuilder.html @@ -1,11 +1,11 @@ - -Uses of Class io.dapr.workflows.runtime.WorkflowRuntimeBuilder (dapr-sdk-workflows 0.14.0 API) + +Uses of Class io.dapr.workflows.runtime.WorkflowRuntimeBuilder (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeStatus.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeStatus.html index e73bc14eb9..8cdce2f636 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeStatus.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/class-use/WorkflowRuntimeStatus.html @@ -1,11 +1,11 @@ - -Uses of Enum io.dapr.workflows.runtime.WorkflowRuntimeStatus (dapr-sdk-workflows 0.14.0 API) + +Uses of Enum io.dapr.workflows.runtime.WorkflowRuntimeStatus (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-summary.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-summary.html index 15443a843b..d42910dbdf 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-summary.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-summary.html @@ -1,11 +1,11 @@ - -io.dapr.workflows.runtime (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows.runtime (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-tree.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-tree.html index 3ab59795c7..66e664257e 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-tree.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-tree.html @@ -1,11 +1,11 @@ - -io.dapr.workflows.runtime Class Hierarchy (dapr-sdk-workflows 0.14.0 API) + +io.dapr.workflows.runtime Class Hierarchy (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-use.html b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-use.html index 8b25823c65..48e23e8c89 100644 --- a/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-use.html +++ b/docs/dapr-sdk-workflows/io/dapr/workflows/runtime/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package io.dapr.workflows.runtime (dapr-sdk-workflows 0.14.0 API) + +Uses of Package io.dapr.workflows.runtime (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/overview-summary.html b/docs/dapr-sdk-workflows/overview-summary.html index 2c3c61d018..98b7a5f78e 100644 --- a/docs/dapr-sdk-workflows/overview-summary.html +++ b/docs/dapr-sdk-workflows/overview-summary.html @@ -1,11 +1,11 @@ - -dapr-sdk-workflows 0.14.0 API + +dapr-sdk-workflows 0.14.1 API - + diff --git a/docs/dapr-sdk-workflows/overview-tree.html b/docs/dapr-sdk-workflows/overview-tree.html index f3b87c4a53..1bf2bb5cd7 100644 --- a/docs/dapr-sdk-workflows/overview-tree.html +++ b/docs/dapr-sdk-workflows/overview-tree.html @@ -1,11 +1,11 @@ - -Class Hierarchy (dapr-sdk-workflows 0.14.0 API) + +Class Hierarchy (dapr-sdk-workflows 0.14.1 API) - + diff --git a/docs/dapr-sdk-workflows/project-reports.html b/docs/dapr-sdk-workflows/project-reports.html index 4b6b719dd6..0548388f4e 100644 --- a/docs/dapr-sdk-workflows/project-reports.html +++ b/docs/dapr-sdk-workflows/project-reports.html @@ -1,6 +1,6 @@ @@ -25,8 +25,8 @@