dapr: 一种可移植的,事件驱动的运行时,用于跨云和边缘构建分布式应用
微软开源dapr: 一种可移植的,事件驱动的运行时,用于跨云和边缘构建分布式应用程序 dapr-bot released this
This is the release candidate 1.0.0-rc.2
Assets
31
dapr-bot released this
Dapr 0.11.3
Note: this hotfix is only required for the applications which uses Dapr actor building block.
Summary
Actor load tests were run to evaluate the performance and relibility. The test discovered these issues that cause memory leaks:
- Frequent reconnections to placement service when app http endpoint is unresponsive intermitently under high load scneario
- Memory increases from http middleware when recording request metric
- No RSS(Resident Set Size) memory size reclaim in Kubernetes even after actors are deactivated
Regarding RSS memory size issue (bug) - Daprd stores the activated actors in a sync.Map and deletes actors when these actors are deactivated. Therefore, RSS memory for Darpd containers will be increased when actor is activated, but the memory will not be decreased even after the actors are deactivated. Users will therefore still see the same amount of RSS memory usage because Go uses MADV_FREE to free memory in linux. The memory is reclaimed only when it hits memory limit. We recommend that users consider setting dapr.io/sidecar-memory-limit
and dapr.io/sidecar-memory-request
to limit the size of Dapr sidecar memory usage. Please refer to this article to understand the memory usage of Go application.
Fixes
Assets
31
dapr-bot released this
Dapr 0.11.2
Fixes
- Fixed remote actor invocation timeout error on Kubernetes with mTLS enabled (#2195)
Overview
The issue fixed in the 0.11.2 release had a bug that caused actors to not work on Kubernetes clusters with mTLS enabled. The root cause was the result of changes made to how Dapr uses server names when doing mutual authentication in sidecar to sidecar gRPC calls.
The server name format changed from cluster.local
to <app-id>.<namespace>.cluster.local
, and the actors runtime did not pass the namespace to the server name.
That led to an authentication error that was reported to the user as a gRPC timeout deadline exceeded error.
The issue was fixed with this PR.
As an immediate step, we checked why our actor e2e tests did not catch this, as this was supposed to be covered in the test.
Further investigation showed that our e2e test for actors did not use Kubernetes pod to pod invocation, which did not create a gRPC connection with the wrong server name.
An issue to fix the e2e test was opened and later completed.
Assets
31
dapr-bot released this
Dapr 0.11.1
Fixes
- Fixed Dapr sidecar authentication issue when Highly available mode is enabled (#2187)
Assets
31
This is the release candidate 0.11.0-rc.2
Assets
26
Dapr 0.10.0
It's been six weeks, and We're happy to announce the release of Dapr v0.10.0!
With Dapr approaching v1.0, our releases increasingly focus on operational concerns like stability, reliability, and upgradability in production environments.
As always, community and user requests and feedback are top of mind along with bug fixes.
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
Highlights
- Support for multiple Pub/Sub components Publisher, Subscriber
- Support for Windows containers on Kubernetes
- New Bulk Get API for State
- New Transactions API for State
- Highly available control plane on Kubernetes
- Production deployment and upgrade guidelines for Kubernetes
- Improved Go and Python SDKs
- Improved Dashboard with new features
- New CLI commands (view root cert expiry, export TLS certs, init on k8s with a custom namespace)
- New components: InfluxDB binding, Non-interactive OAuth2 middleware, Azure Blob Storage state store
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Docs have been updated with all the new features and changes of this release. To get started with new capabilities introduced in this release, go to the Concepts and the How To section.
Note: This release contains a few breaking changes.
See this section on upgrading Dapr to version 0.10.0.
New in this release
Dapr Runtime
Refactored Kubernetes operator with Kubebuilder, allowing for multi-replica reconciliation (Thanks @yittg)
Added Windows containers support
Added support for multiple pub/sub components
Added Bulk Get API
Changed command line arguments
Added stdout log exporter (Thanks @brendandburns)
Fixed actors stability bug under high RPS
Added Windows e2e tests
Removed outdated third-party vendor docs (Thanks @yittg)
Fixed actor reminder firing twice bug
Added topic field to Pub/Sub cloud events spec (Thanks @allymparker)
Upgraded to use Go 1.15
Removed glog dependency and redundant flags
Fixed race condition in actor timers
Updated dashboard permissions Helm chart
Fixed test default values for TARGET_OS
and TARGET_ARCH
Added CPU/Memory utilization for performance tests
Added ability to turn off telemetry for performance tests
Fixed sidecar not resolving secrets after first time installation
Removed state retry options
Fixed actor reminders overwrite bug
Added Grafana dashboards as part of release assets
Fixed grpc_client_method
and grpc_client_status
metrics tags always empty bug (Thanks @kirk91)
Added log entry on sidecar when API auth token is enabled
Added versioning scheme to component definition
Updated pub/sub to CloudEvents 1.0 spec
Added High availability option to Helm Chart
Fixed operator k8s service update bug (Thanks @yittg)
Added traceparent header in gRPC call
Dapr CLI
Added support for multi pub/sub in publish
command
Added command to export existing TLS certificates in a Kubernetes cluster
Added command to check on TLS root cert expiry date
Changed dapr init -k
to allow for custom namespaces, HA mode and TLS enabled/disabled
Changed command line arguments to be consistent with daprd
Fixed version flag not uniform in standalone/Kubernetes modes
Updated helm message for uninstall --all
command
Added webhook to trigger homebrew release
Changed init and uninstall behavior for self hosted mode
Components
Added oauth2 client authorization middleware (Thanks @h2floh)
Added Azure Blob Storage state store (Thanks @ksivamuthu)
Added InflubxDB output binding (Thanks @gbaeke)
Added TLS support for MQTT pub/sub (Thanks @kumaya)
Fixed SQL Server data serialization issue with gRPC
Fixed RabbitMQ pub/sub consumer exclusivity bug
Updated output bindings operations list
Added Metadata field to transactional state request
Fixed SQL Server connection leak issue
Updated Kubernetes events input binding with new payloads
Java SDK
Added multi pub/sub support
Updated k8s annotations, CLI options and daprd arguments
Updated API to support HTTP extensions
Removed retry options from state
Fixed gRPC manager not shutting down
.NET SDK
Added multi pub/sub support
Updated actor usage docs (Thanks @tomkerkhove)
Updated proto package with Any type (Thanks @akkie)
Fixed null reference exception when no model binder provided (Thanks @altinoren)
Added Bulk Get API
Updated k8s annotations, CLI options and daprd arguments
Removed retry options from state
Added api token injection
Go SDK
Added multi pub/sub support
Removed retry options from state
Updated k8s annotations, CLI options and daprd arguments
Added server side callback wrapper
Added Bulk Get API
Added state transactions API
Python SDK
Added multi pub/sub support
Updated k8s annotations, CLI options and daprd arguments
Added wrapper methods for state store APIs (Thanks @chinzhiweiblank)
Added wrapper layers for gRPC
Added server side wrapper for app callback
Added actor service via fastapi
Added wrapper methods for secrets API
Added wrapper methods for pub/sub API
Added wrapper methods for bindings API
Added support for api token auth
Rust SDK
Added multi pub/sub support
Updated k8s annotations, CLI options and daprd arguments
JavaScript SDK
Added multi pub/sub support
Updated k8s annotations, CLI options and daprd arguments
Docs
Added Kubernetes production deployment and upgrade guidelines
Updated multi pub/sub parts
Updated k8s annotations, CLI and daprd arguments
Fixed broken KEDA link (Thanks @tomkerkhove)
Updated with new IntelliJ instructions for multiple dapr runs
Updated API reference with state transactions API
Updated API reference with state bulk get API
Updated Kubernetes events input binding
Updated troubleshoot section for configuring multiple replicas to the Kubernetes sidecar injector
Updated state API reference to remove retry options
Updated links to reference to new quickstarts repo
Upgrading to Dapr 0.10.0
If you're upgrading from an older version of Dapr to 0.10.0, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have. Note that this will remove the default $HOME/.dapr directory, binaries and all containers dapr_redis, dapr_placement and dapr_zipkin. Linux users need to run sudo if they have installed binary in default path /usr/local/bin/ or have docker command needing sudo.:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr
binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go!
Make sure you have the right runtime version (0.10.0) with:
dapr --version
Kubernetes
Upgrading from 0.9.0
If you previously installed Dapr using Helm, starting with this releases you can now upgrade Dapr to a new version.
If you installed Dapr using the CLI, go here.
Note: For this release only, you will not be carrying your old certs over due to a breaking change in Go 1.15. To see the full documentation regarding upgrading Dapr, see here.
1. Get the latest CLI
Get the latest version of the Dapr CLI as outlined above, and put it in your path.
You can also use the helper scripts outlined here to get the latest version.
2. Upgrade
First, update your Helm repos:
helm repo update
Run the following command to upgrade Dapr:
helm upgrade dapr dapr/dapr --version 0.10.0 --namespace dapr-system --reset-values
Wait until all the pods are in Running state:
kubectl get pods -w -n dapr-system
Verify the control plane is updated and healthy:
dapr status -k
Next, issue a rolling update to your Dapr enabled deployments. When the pods restart, the new sidecar version will be picked up.
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
All done!
Starting fresh
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
Note: Make sure you're uninstalling with your existing CLI
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr -n dapr-system
Update the Dapr repo:
helm repo update
If you installed Dapr with Helm to a namespace other than dapr-system
, modify the uninstall command above to account for that.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, you can use the CLI:
dapr init --kubernetes
Post installation
Verify the control plane pods are running and are healthy:
dapr status -k
dapr-sentry dapr-system True Running 0.10.0 1d 2020-08-18 10:15.21
dapr-operator dapr-system True Running 0.10.0 1d 2020-08-18 10:15.21
dapr-sidecar-injector dapr-system True Running 0.10.0 1d 2020-08-18 10:15.21
dapr-placement dapr-system True Running 0.10.0 1d 2020-08-18 10:15.21
After Dapr 0.10.0 has been installed, perform a rolling restart for your deployments to pick up the new version of the sidecar.
This can be done with:
kubectl rollout restart deploy/<deployment-name>
Breaking Changes
Multi Pub/Sub
With the v0.10.0 release, we have added the support for multiple pub/sub components. That means that you can now publish and subscribe to topics arriving from different components.
To this end, several changes have been made to both the publisher and consumer sides.
Publisher
An additional parameter has been added to tell Dapr which pub/sub component you're targeting.
Old API:
POST http://localhost:<daprPort>/v1.0/publish/<topic>
New API:
POST http://localhost:<daprPort>/v1.0/publish/<pubsubname>/<topic>
Subscriber
Note: The following example in in Javascript but applicable to all languages
An additional pubsubName
field has been added to the subscription payload to tell Dapr which pub/sub component this subscription is for.
Old subscription:
app.get('/dapr/subscribe', (req, res) => {
res.json([
{
topic: "newOrder",
route: "orders",
}
]);
})
New subscription:
app.get('/dapr/subscribe', (req, res) => {
res.json([
{
topic: "newOrder",
route: "orders",
pubsubName: "messagebus"
}
]);
})
Changes have been made to the different SDKs, so make sure to get the latest version of the SDK you're using.
Specifically, the subscription structures have added a pubsubName
field and the publish methods take the pubsubName
argument.
CLI
The publish
command on the Dapr CLI now takes a required param --pubsub
to specifiy the pubsub component:
dapr publish --pubsub pubsub --topic myevent --data '{ "name": "yoda" }'
State retries
The retry options for state operations have been removed. If you've never used retries, this is not a breaking change.
The updated API references can be found here.
Java SDK
The Service Invocation method now accepts an HTTPExtension argument.
Old method call:
client.invokeService(serviceAppId, method, message);
New method call:
client.invokeService(serviceAppId, method, message, HttpExtension.NONE);
CLI install path
The command dapr init
will now install the runtime binary daprd
into $HOME/.dapr/bin
for Mac/Linux and %USERPROFILE%\.dapr\
for Windows.
In addition, the --install-path
argument has been removed from the dapr init
and dapr uninstall
commands.
Assets
26
Dapr 0.9.0
We're happy to announce the release of Dapr 0.9.0!
Highlights
- New components: Scheduler binding, PostgreSQL state store
- Dapr dashboard Helm integration
- Command completion feature in Dapr CLI
- Initialize Dapr without Docker dependency
- Transaction support in the Azure Cosmos DB component
- Dapr dashboard CLI command
- Local development secret store
- Modified Dapr init and uninstall behavior
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Docs have been updated with all the new features and changes of this release. To get started with new capabilities introduced in this release, go to the Concepts and the How To section.
Note: This release contains a few breaking changes.
See this section on upgrading Dapr to version 0.9.0.
New in this release
Dapr Runtime
Integrated Postgresql state store (Thanks @brooke-hamilton)
Added github actions workflow to push helm charts to githubpages helm repo
Fixed inappropriate HTTP API status codes
Added install dapr control plane to linux containers
Added Dapr dashboard Helm integration
Fixed state error messages
Added transaction support for actors using cosmos
Added injection of Dapr env vars in user container
Improved http/gRPC internal metadata handling
Fixed add trace headers if not provided in response
Added decision record for HTTP Appcallback versioning
Added Registering local secretstore (Thanks @cmendible)
Added Dapr dependencies in e2e test apps whenever proto has breaking changes
Added functionality to remove default components dir
Fixed stateapp dockerfile
Renamed default config to daprsystem config
Changed servicediscovery pkg to nameresolution pkg and remove mdns code
Added sidecar injector readiness/liveness probe path adjustement (Thanks @piotr.mscichowski)
Fixed return GRPC OK for 2xx http status code
Fixed Helm chart installation issue with missing package
Added ARC-004-http-server ADR
Fixed 1s delay for service invocation on selfhost mode
Fixed TestSignCSR flaky test
Added destination appID target and header tests
Dapr CLI
Added command completion feature to Dapr CLI (Thanks @halation3)
Added support to initialize dapr without docker dependency
Added new CLI dapr dashboard command (Thanks @gdhuper)
Added support in the dashboard to accept -n namespace argument
Updated standalone dapr init and uninstall behavior (#breaking-changes)
Updated cli documentation to cover all command options (Thanks @halation3)
Updated linter version to 1.26
Fixed timeout for linter
Added tracing config, Zipkin component on init
Updated dapr init behavior to create default component files (#breaking-changes)
Fixed path truncation issue with Windows
Added functionality to pass components folder to daprd
Components
Added transaction support in the Cosmos db component
Fixed json array envelope parsing
Fixed double envelope when published payload is already a cloud event
Added support output to Twitter binding
Added PostgreSQL State Store (Thanks @brooke-hamilton)
Updated cloudevent identification
Added scheduler (cron) binding
Fixed Azure Service Bus lock renewal per topic (Thanks @jjcollinge)
Added functionality to handle errors in AzureEventHubs.Read (Thanks @nilstschmidt.de)
Fixed enableTLS to work as per the config for Apache Pulsar (Thanks @khous)
Fixed context deadline exceeded issue with an operation timeout
Renamed and refactored servicediscovery to nameresolution pkg
Updated setting URL in mongoDB component to make username/password optional
Refactored JSONSecretStore to LocalSecretStore (Thanks @cmendible)
Fixed the minimum delay of 1s for service invocation
Java SDK
Fixed content-type for Spring controller
Updated use of TypeRef for deserialization and client APIs
Updated samples to use --components-path
Fixed documentation for samples directory
.NET SDK
Updated dotnet sdk in github actions
Fixed actor method names in getting started guide (Thanks @@LayZeeDK)
Fixed InvokeAsync example in getting started guide (Thanks @@LayZeeDK)
Rust/Go SDK
Added pub sub example (Thanks @gdhuper)
Updated and Beautified code snippet (Thanks @franpog859)
JS-SDK
Updated workflow to publish npm package
Updated package.json of samples
Docs
Added threat model image png
Added readme note for uninstall in linux
Updated minor style guide changes to hybrid-clusters howto stub
Fixed typo in setup-azure-servicebus.md (Thanks @candreso)
Added docs for dapr init without Docker
Updated Put a note that Windows containers are not supported in Kubernetes
Updated Cosmos documentation for transaction changes
Moved Kubernetes hybrid-cluster guide howto
Added Kubernetes docs for installing dapr to hybrid windows/linux clusters
Updated Azure Service Bus metadata (Thanks @jjcollinge)
Updated section related to output binding support
Updated documentation related to PostgreSQL (Thanks @brooke-hamilton)
Updated bindings_api.md
Added cron binding documentation
Added binding listing, docs on canceling schedules
Added local developement secret store how to (Thanks @cmendible)
Added docs for injecting env vars
Updated to rename default config to daprsystem config
Updated docs for Zipkin initialization
Updated with missing Kafka link in reference section
Updated component-secrets.md
Updated W3C tracing docs to describe how to use tracing in your applications
Added Dapr with Docker docs (Thanks @jjcollinge)
Updated the doc as how to retrieve the response headers
Added How to Use W3C Trace Context
Added link from main observability how-to
Updated Grafana dashboard - dapr sidecar dashboard and add new actor dashboard #634
Added links to videos from the community calls
Updated Event Hubs doc
Updated Pub/Sub index
Upgrading to Dapr 0.9.0
If you're upgrading from an older version of Dapr to 0.9.0, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have. Note that this will remove the default .dapr directory, binaries and all containers dapr_redis, dapr_placement and dapr_zipkin. Linux users need to run sudo if they have installed binary in default path /usr/local/bin/ or have docker command needing sudo.:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr
binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go!
Make sure you have the right runtime version (0.9.0) with:
dapr --version
Kubernetes
Download the latest CLI release as outlined above in the Local Machine / Self-hosted
section.
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr -n dapr-system
Update the Dapr repo:
helm repo update
If you installed Dapr with Helm to a namespace other than dapr-system
, modify the uninstall command above to account for that.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, if you want to install Dapr in a dev/test setup, run:
dapr init --kubernetes
Post installation
After Dapr 0.9.0 has been installed, perform a rolling restart for your deployments.
Breaking Changes
Standalone dapr init and uninstall behavior
- dapr uninstall --all now removes the default .dapr directory and binaries
- dapr init fails if a previous version is installed. You will need to run dapr uninstall first.
- dapr init now deploys a local Zipkin container by default for use with local diagnostic testing.
Dapr init behavior to create default component files
- The default component files are now created during dapr init time.
Cosmos DB partition key setup and usage
The name of the required partition key has changed from /id
to /partitionKey
. Please see this for more details.
Assets
23
This is the release candidate 0.9.0-rc.1
Assets
23
This is the release candidate 0.9.0-rc.0
Assets
23
Dapr 0.8.0
We're happy to announce the release of Dapr 0.8.0!
Highlights
- Added new components: MQTT Pub/Sub, Apache Pulsar Pub/Sub, AWS SNS/SQS Pub/Sub
- Custom Pub/Sub routes
- Bi-directional bindings
- Dapr API authentication
- W3C trace header support
- Enhanced mDNS service discovery to support host name
- Default common components path for Dapr CLI
- Added Python Actor SDK
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Docs have been updated with all the new features and changes of this release. To get started with new capabilities introduced in this release, go to the Concepts and the How To section.
Note: This release contains a few breaking changes.
See this section on upgrading Dapr to version 0.8.0.
New in this release
Dapr Runtime
Added custom routes for pub/sub (#breaking-changes)
Enriched http and grpc status code conversion.
Added Healthz server for control plane.
Refactored gRPC service and protobuf message definitions. (#breaking-changes)
Fixed Actor activation and method invocation logic to handle app restarts.
Fixed Unpopulated metadata for input bindings for HTTP app channel.
Improved client trace span generation calls.
Added liveness config.
Added disable Span Generations when tracing rate is set to 0.
Added trace headers in API response, which allows users to correlate with
Enhanced mDNS to support hostname and IPs. (Thanks @jjcollinge)
Added mqtt pubsub provider to daprd. (Thanks @kumaya)
Added Pulsar pubsub options. (Thanks @elyst)
Added API Authentication.
Added bi-directional bindings support. (#breaking-changes)
Added Set Metadata option to state store Get API.
Added opentelemetry sementic convention.
Added SNS/SQS pubsub provider.
Added Context timeout to internal grpc dial.
Added Linear interval retry for Internal gRPC client.
Added pending actor locks metric.
Generated low-cardinality metric method label.
Fixed marshalling error for gRPC binary metadata.
Improved component folder search behavior by looking at home directory. (#breaking-changes)
Fixed log options for contrib logger and enable metrics only for middleware. (Thanks @ksashikumar)
Fixed http method label for HTTP appchannel metric.
Components
Added AWS SNS/SQS pubsub. (Thanks @khous)
Added Apache Pulsar. (Thanks @elyst)
Added MQTT pubsub. (Thanks @kumaya)
Fixed Azure Service Bus pubsub throttling. (Thanks @jjcollinge)
Fixed SQL server state store integration tests. (Thanks @brooke-hamilton)
Updated mDNS resolver to respect service IP address. (Thanks @jjcollinge)
Fixed nethttpadaper to handle UserValue in request context. (Thanks @jjcollinge)
Improved AWS authentication for dynamodb, kinesis, s3, sns, sqs, and secretmanager. (Thanks @trondhindenes)
Improved dynamodb component to use BatchWriteItem for BulkSet and BulkDelete. (Thanks @ksashikumar)
Added bi-directional bindings support for all bindings components.
CLI
Added new flag to provide custom component directory path for dapr run. (Thanks @ksashikumar)
Added verbose logs on failure of container uninstall and check if docker is installed. (Thanks @ksashikumar)
Improved stop command to stop multiple apps. (Thanks @chinzhiweiblank)
Added default components directory in user home directory.
Changed -p
option to -d
to specify the payload for dapr publish
.NET SDK
Added Actor proxy method with parameterized interface. (Thanks @jpiquot)
Added Bi-directional output binding.
Updated Protobuf clients. (Thanks @amolenk)
Rename actorImplementationTypeName to actorTypeName. (Thanks @fduman)
Corrected the order of middleware chaining.
Rename pubsub event content
to data
.
Changed Actor activation logic to activate it only when actor is invoked.
Java SDK
Updated Protobuf clients.
Added Bi-directional output binding.
Changed Actor activation logic to activate it only when actor is invoked.
Rename pubsub event param
to data
.
Python-SDK
Added Actor SDK.
Updated Protobuf clients.
Added Kubernetes example. (Thanks @XavierGeerinck)
Added intial setup for sphinx. (Thanks @chinzhiweiblank)
JS-SDK / RUST-SDK / CPP-SDK
Updated Protobuf clients. (Thanks @gdhuper for rust-sdk update)
Samples
Added new Secrets example.
Added new Docker Compose.
Updated Distributed Calculator sample to show how to run locally.
Docs
Added Docker-compose howto. (Thanks @jjcollinge)
Added docs authoring guideline
Added pubsub custom routes
Added liveness config annotation
Updated actor spec to remove activation api
Added how to enable tls for redis cache (Thanks @robinmanuelthiel)
Added token-based authentication
Added more exampels to Azure Event Grid binding (Thanks @Masahigo)
Added bi-directional bindings howto
Added mqtt pubsub howto (Thanks @kumaya)
Updated dapr run cli to use cli components path
Added apache pulsar pubsub howto (Thanks @elyst)
Added AWS SNS/SQS pubsub howto (Thanks @khous)
Updated missing steps for eventhubs
Added use-cases to concept docs (Thanks @arschles)
Added W3C trace context howtos
Added Grafana Actor Dashboard
Added how to use multi fragment path for service invocation
Tests
Added alerts for control plane and daprd for cpu/mem
Refactor longhaul tests apps to use shared library
Upgrading to Dapr 0.8.0
If you're upgrading from an older version of Dapr to 0.8.0, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr
binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go!
Make sure you have the right runtime version (0.8.0) with:
dapr --version
Kubernetes
Download the latest CLI release as outlined above in the Local Machine / Self-hosted
section.
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr -n dapr-system
Update the Dapr repo:
helm repo update
If you installed Dapr with Helm to a namespace other than dapr-system
, modify the uninstall command above to account for that.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, if you want to install Dapr in a dev/test setup, run:
dapr init --kubernetes
Post installation
After Dapr 0.8.0 has been installed, perform a rolling restart for your deployments.
Breaking Changes
Pub Sub Routes
Starting this release, topic subscribers can specify the endpoint route that Dapr should call for a given topic.
Old subscription JSON:
[
"topic1",
"topic2"
]
New subscription JSON:
[
{
"topic": "topic1",
"route": "custom/topic1"
},
{
"topic": "topic2",
"route": "custom2/topic2"
},
]
For more details, see here
Bi-directional bindings
Output bindings can now optionally support operations that return data to the caller.
When invoking an output binding, a new required field has been added: operation
.
Old output binding JSON:
{
"data": {
"name": "Java the Hutt"
}
}
New output binding JSON:
{
"data": {
"name": "Java the Hutt"
},
"operation": ""
}
100% of the current bindings support the create
operation.
As new functionality is introduced to new or existing bindings, the list of supported operations can be found for each binding in the bindings spec section in the docs.
gRPC Protobuf update
You must upgrade SDKs to the latest SDK to use the latest Dapr
- Package name in Dapr gRPC protobuf files has been changed to :
- renamed
dapr.proto.dapr.v1
todapr.proto.runtime.v1
- renamed
dapr.proto.daprclient.v1
todapr.proto.runtime.v1
- moved the common protobuf message related to service invocation to
dapr.proto.common.v1
package
- renamed
Dapr CLI publish option change
- payload option for
dapr publish
is changed from-p
to-d
.
Assets
23
This is the release candidate 0.8.0-rc.2
Assets
23
This is the release candidate 0.8.0-rc.1
Assets
23
dapr-bot released this
Assets
23
Dapr 0.7.0
We're happy to announce the release of Dapr 0.7.0!
With this release we focused on improvements to tracing and service invocation. This release also expands Dapr functionality with addition components. Continuing with the theme of improved stability, we also added a performance test for service invocation, fixed bugs, and added features to our long haul tests infrastructure.
There are also updated to the CLI with new commands and a lot of docs updates.
Newly added components:
- Azure EventGrid input/output binding
- Twitter input binding
- SendGrid output binding
- Kafka Pub/Sub
- Azure EventHubs Pub/Sub
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Docs have been updated with all the new features and changes of this release. To get started with new capabilities introduced in this release, go to the Concepts and the How To section.
Note: This release contains a few breaking changes.
See this section on upgrading Dapr to version 0.7.0.
New in this release
Dapr Runtime
Fixed Trace options defaults
Fixed gRPC load balancing not working on Kubernetes
Updated HTTP router to fasthttp/router
- ~4% throughput increase
Updated Service invocation APIs and implementation with new spec
Updated Tracing headers for new service invocation spec changes
Updated Tracing scopes for internal and external gRPC servers (Thanks @jjcollinge)
Fixed Actor drain variable spelling errors (Thanks @ksashikumar)
Fixed Metadata API inconsistency
Added Context propagation
Updated Tracing headers to fit industry standards
Fixed Distributed tracing call map formation
Added gRPC API versioning
Updated Tracing spec configuration
Moved To using versioned Docker image tags instead of :latest
Added Sampling rate for tracing configuration
Components
Added Azure Event Grid input/output binding (Thanks @lynn-orrell)
Added Twitter output binding
Added Sendgrid output binding (Thanks @benc-uk)
Added Azure Event Hubs Pub/Sub (Thanks @abhirockzz)
Added Kafka Pub/Sub (Thanks @khous)
Added Message time to live in RabbitMQ, Azure Service Bus/Storage Queue bindings (Thanks @fbeltrao)
Added Support for nested partition keys in CosmosDB (Thanks @ksivamuthu)
Fixed string escape for Azure Blob Storage (Thanks @benc-uk)
Added TLS support for Redis binding
Added Per call partition key support for Kafka binding
Fixed Non-existent key error for Zookeeper (Thanks @Julian-Chu)
CLI
Added dapr status
command for validating Kubernetes control plane health and status
Updated dapr init
to only pull a new binary if needed (Thanks @abhirockzz)
Added Homebrew package for MacOS
Added --runtime-verion
flag support for dapr init --kubernetes
System service components
Fixed Operator not creating k8s services if a deployment is patched
Updated Sidecar injector to add configurable resource requests and limits on sidecar container
Updated Sidecar injector to support configurable readiness probes
.NET SDK
Added Actor proxy method with parameterized interface (Thanks @jpiquot)
Updated Protobuf clients
Java SDK
Updated Protobuf clients
Fixed Actor API always returning true on Contain State API call
Docs
Added TTL information for RabbitMQ/Azure Service Bus bindings (Thanks @fbeltrao)
Added Added namespace metadata to deployments
Added All Dapr sidecar annotations for Kubernetes
Added Service invocation V1 spec
Updated Kafka binding for partition key
Added How To for Azure Event Hubs Pub/Sub
Added How To for Kafka Pub/Sub
Updated How To tutorial for Azure Application Insights
Updated Redis binding with TLS configuration
Added How To tutorial for using Pub Sub across different namespaces
Added Sendgrid binding spec
Added Readiness configuration for Kubernetes
Improved application insights distributed tracing onboarding guide by uploading localfowarder docker image to dapr official dockerhub
Tests
Added Performance test for service invocation
Added Performance test configuration and test app using Fortio
Improved Coverage for service invocation
Added Message analyzer delay monitor for Long Haul
Fixed Containers not updating if config YAML doesn't change
Improved Long haul tests validation and monitoring
Added Long haul test snapshot monitor
Added Long haul test hashtag counter delay monitor
Added Long haul test Generic error spike monitor
Added Long haul test feed stream generator
Added Hashtag snapshot service
Upgrading to Dapr 0.7.0
If you're upgrading from an older version of Dapr to 0.7.0, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr
binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go!
Make sure you have the right runtime version (0.7.0) with:
dapr --version
Kubernetes
Download the latest CLI release as outlined above in the Local Machine / Self-hosted
section.
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr -n dapr-system
helm repo update
Wait until Dapr is uninstalled, and make sure the dapr-system
namespace is gone.
If you installed Dapr with Helm to a namespace other than dapr-system
, modify the uninstall command above to account for that.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, if you want to install Dapr in a dev/test setup, run:
dapr init --kubernetes
Post installation
After Dapr 0.7.0 has been installed, perform a rolling restart for your deployments.
Breaking Changes
gRPC Service Invocation
gRPC Protobuf update
- Package name in Dapr gRPC protobuf files has been changed to :
- renamed to
dapr to
dapr.proto.dapr.v1` - renamed to
daprclient
-dapr.proto.daprclient.v1
- moved the common protobuf message related to service invocation to
dapr.proto.common.v1
package
- renamed to
gRPC Service invocation
- If you're a Java SDK or dotnet SDK user, you must upgrade your SDK to the latest version.
- If you're a JS/Python/CPP/Rust SDK user, you must upgrade your SDK to the latest version first and update your code by referring to each sdk's examples.
- If HTTP callee app returns non-OK status code to caller app using gRPC API, caller app's gRPC client will throw the exception in 0.7.0 release. The caller app needs to handle the exception properly.
Tracing configuration
With the 0.7.0 release, Dapr trace configuration is simplified. Users now provide a "samplingRate" value to enable or disable the traces. Set "samplingRate: "0" to disable the traces. Set "samplingRate: "1" to generate traces on every operation. Refer https://github.com/dapr/docs/blob/master/concepts/observability/traces.md for more details.
Assets
23
This is the release candidate 0.7.0-rc.0
Assets
23
Dapr 0.6.0
We're happy to announce the release of Dapr 0.6.0!
Highlights
- Added ability to scope PubSub topics per application
- Added new components: Hazelcast PubSub, AliCloud Object storage binding, AWS Kinesis binding and GCP Pub/Sub PubSub
- Introduced new liveness/readiness probe endpoint for Dapr sidecar and actor service health API in user application
- Added mandatory TLS between the Dapr sidecar and the Dapr system services (control plane)
- Improved security by separating gRPC server for internal and external APIs
- Introduced Dapr longhaul-test app and environment
- Improved e2e test coverage and release process for manifest yaml
- Fixed major/minor bugs
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Docs have been updated with all the new features and changes of this release. To get started with new capabilities introduced in this release, go to the Concepts and the How To section.
Note: This release contains a few breaking changes.
See this section on upgrading Dapr to version 0.6.0.
New in this release
Dapr Runtime
Improved secret reference in component config by referring SecretKeyRef.Name
if Key
is not given (Thanks! @lynn-orrell)
Updated publish endpoint to allow path fragments (Thanks! @khous)
Improved self-host component loading by allowing single yaml to have multiple component configurations (Thanks! @ksivamuthu)
Added Hazelcast pubsub (Thanks! @peterjot)
Added GCP Pub/Sub to dapr loader (Thanks! @ksivamuthu)
Added AWS Kinesis input/output bindings to dapr loader (Thanks! @ksivamuthu)
Separated gRPC server for internal/user-exposed endpoints
Added new ssl connection enabled redis component
Added dapr-operator.yaml to GitHub release assets via CI
Added replicas per actor types metric to placement service
Fixed deployment manifest yaml generation command
Fixed http appchannel tracing bug when tracing is enabled
Fixed trace span export bug by skipping grpc-trace-bin
Added PubSub scoping/whitelisting
Removed unnecessary message types from dapr.proto files
Changed Kubernetes Operator API server from HTTP to gRPC
Improved E2E test coverage for Service invocation (e.g. gRPC to gRPC)
Added Support for Readiness and Liveness Probe for Dapr
Added app health checks for actors and its e2e tests
Added new daprd docker image that is used for sidecar image
Improved control plane connectivity resiliency with grpc retry middleware
Components
Fixed key not found error by returning empty response [aerospike/Couchbase/memcache/hazelcast statestore] (Thanks! @abhirockzz, @ksivamuthu)
Added GCP Cloud Pubsub (Thanks! @ksivamuthu)
Improved eventhub bindings by specifying partition id and key (Thanks! @ksivamuthu)
Added the option to decode base64 payloads [Azure Blob storage binding] (Thanks! @CarlosLanderas)
Added AliCloud Object storage bindings (Thanks! @madhugilla)
Added Hazelcast pubsub support (Thanks! @peterjot)
Added AWS Kinesis data stream binding (Thanks! @ksivamuthu)
Added metadata support to Azure Blob binding (Thanks! @RicardoNiepel)
Changed redis client library to go-redis to enable SSL connection [redis statestore]
CLI
Fixed Use the full container name when checking redis (Thanks! @vjrantal)
Updated CI to add new artifact for Homebrew
Changed dapr-operator manifest url to GitHub Release
System service components
Added required TLS connection for Kubernetes Operator
Added required TLS connection for Placement Service
Added required TLS connection for Sentry
Updated client validation of Sentry to require TLS certification all the time
.NET SDK
Added Secret Store configuration provider implementation for Microsoft.Extensions.Configuration (Thanks! @cmendible)
Updated proto clients for 0.6.0 dapr runtime and updating DaprClient
Added more granular actor configuration
Added actor health check API
Java SDK
Added actor health check API
Added Springboot integration
Samples
Added state delete call to complete sample operations (Thanks! @vsaroopchand)
Add SDK Links to README and fixed typos and links in docs
Docs
Added GCP pubsub docs (Thanks! @ksivamuthu)
Updated EventHub single partition id (Thanks! @ksivamuthu)
Added Hazelcast pubsub howto (Thanks! @peterjot)
Added metadata doc to Azure Blob binding (Thanks! @RicardoNiepel)
Added AWS kinesis docs (Thanks! @ksivamuthu)
Improved existing docs and fixed typos (Thanks! @rynowak, @drmcghee, and @eNeRGy164)
Added Liveness and readiness probe /healthz API spec
Update Actors healhcheck endpoint
Added Dapr presentations
Added PubSub scopes How-to
Updated TLS and security docs
Improved application insights distributed tracing onboarding guide by uploading localfowarder docker image to dapr official dockerhub
Test-infra (Long haul test)
Added the initial long-haul test apps: feed-generator, message-analyzer, hashtag-app
Added longhaul-test environment
Added CI/CD to automate test app build and deployment
Upgrading to Dapr 0.6.0
If you're upgrading from an older version of Dapr to 0.6.0, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr
binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go!
Make sure you have the right runtime version (0.6.0) with:
dapr --version
Kubernetes
Download the latest CLI release as outlined above in the Local Machine / Self-hosted
section.
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr -n dapr-system
helm repo update
Wait until Dapr is uninstalled, and make sure the dapr-system
namespace is gone.
If you installed Dapr with Helm to a namespace other than dapr-system
, modify the uninstall command above to account for that.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, if you want to install Dapr in a dev/test setup, run:
dapr init --kubernetes
Breaking Changes
Actor Healthz API
Language specific Actor SDKs must expose /healthz endpoint and return 200. All actors SDKs must be upgraded to the latest version.
Separated Dapr sidecar image
For this release, we split the Dapr runtime binary (daprd) from daprio/dapr image to reduce the size of sidecar image. You must confirm that you deploy Dapr to Kubernetes cluster using the latest 0.6.0 Dapr cli or helm chart.
dapr-operator.yaml location change for dapr init --kubernetes
dapr init --kubernetes
installs Dapr using dapr-operator.yaml deployment yaml. This release has changed the location of this yaml to GitHub Release asset. You must use the latest CLI. Otherwise, old Dapr CLI will be unable to install the latest Dapr to your Kubernetes cluster.
Assets
23
dapr-bot released this
Assets
22
Dapr 0.5.0
We're happy to announce the release of Dapr 0.5.0!
This release introduces a new Secrets API to get application secrets, comprehensive metrics for the Dapr runtime as well as Dapr's system components, the ability to scope components to a namespace and/or a list of authorized apps, improved logging with JSON output, tracing support for Pub/Sub, new components, retries for bindings and general bug fixes and stability improvements.
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Docs have been updated with all the new features and changes of this release. To get started with new capabilities introduced in this release, go to the How To section.
Note: This release contains a few minor breakings. See breaking changes.
See this section on upgrading Dapr to version 0.5.0.
New in this release
Dapr Runtime
Added API for getting application secrets from any Dapr supported Secret Store (Thanks @cmendible)
Added Prometheus metrics API endpoints (Thanks @jjcollinge)
Added Ability to scope components to a namespace, as well as to a list of authorized apps
Improved Host IP choosing process in self-hosted mode
Fixed Case where user app returned an error and the runtime would return success to an input binding, causing the message to be removed without being processed
Fixed Crash in service invocation over gRPC with no data in payload
Added Tracing for Pub/Sub messages
Added Metrics groups including process and runtime level metrics
Improved Logging messages and error details for components
Added JSON formatted logs
Fixed Possible crash where service invocations were allowed before certificate was issued (Thanks @lynn-orrell)
Improved Docker build to allow multi-arch images
Fixed Custom Content-Type being overridden in service invocation
Renamed HOST_IP
environment variable to DAPR_HOST_IP
to manually set the Host IP for the runtime
Changed HTTP Get State API to return 204
instead of 200
when a key does not exist
Components
Added AWS Secret Manager Secret Store (Thanks @sayboras)
Added GCP Secret Manager Secret Store (Thanks @dev-drprasad)
Added Ability to set the toNumber
on a per-call basis for the Twilio binding (Thanks @ksivamuthu)
Updated Secret Store Index (Thanks @RicardoNiepel)
Updated Azure Event Hubs binding to use Event Processor Host (Thanks @abhirockzz)
Fixed SQL Server returning error for key not found
CLI
Changed dapr list
and dapr run
to rely on metadata API, fixing sync issues and zombie processes
Added -k
shorthands for all Kubernetes specific commands (Thanks @CarlosLanderas)
Fixed Error message showing on with dapr uninstall --kubernetes
even if successful
Fixed One line installer downloading wrong version
Changed All dapr-id
occurrences to app-id
Fixed K8s client init when multiple contexts exist in KUBECONFIG (Thanks @CarlosLanderas)
Updated CLI to provide warning when overriding local component YAMLs
Added Ability to run CLI with the Dapr runtime without an app
System Components
Added Metrics endpoint for Sidecar-Injector
Added Metrics endpoint for Kubernetes Operator
Added Metrics endpoint for Sentry CA
Added Metrics endpoint for Actors Placement Service
.NET SDK
Added Secrets API support
Improved Client APIs for gRPC
Refactored Separate Clients into a single API Client
Added Concurrency model for state operations (Thanks @rynowak)
Added Consistency model options for state operations (Thanks @rynowak)
Added editorconfig and removed Stylecop.Analyzers dependency
Updated Actor serialization to JSON by default
Updated Usage of Newtonsoft.Json package to System.Text.Json
Java SDK
Fixed Hot monos in gRPC client
Added Secrets API support
Fixed Swallowing actor exceptions
Added Strongly typed actors
Samples
Fixed Node.JS subscriber in Pub/Sub sample
Fixed Output message for Python in Bindings sample
Docs
Added Observability (metrics/logs) concepts
Added Grafana dashboard template
Changed Dapr ID
to App ID
for consistency
Fixed Pub/Sub API reference (Thanks @lynn-orrel)
Updated Azure Event Hubs binding spec
Refactored Concepts and API references structure
Added Monitoring tools(metric and logs) setup How-To tutorial
Added Secrets API How-To tutorial
Updated Diagrams
Added AWS Secret Manager How-To tutorial
Added GCP Secret Manager How-To tutorial
Added Azure Storage Queues binding spec
Added Azure KeyVault documentation
Added Component authorization How-To tutorial
Added Documentation for metrics monitoring tools
Added Documentation for logs monitoring tools
Added Cheat-sheet for common diagnostics queries
Upgrading to Dapr 0.5.0
If you're upgrading from an older version of Dapr to 0.5.0, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr
binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go!
Make sure you have the right runtime version (0.5.0) with:
dapr --version
Kubernetes
Download the latest CLI release as outlined above in the Local Machine / Self-hosted
section.
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr -n dapr-system
helm repo update
Wait until Dapr is uninstalled, and make sure the dapr-system
namespace is gone.
If you installed Dapr with Helm to a namespace other than dapr-system
, modify the uninstall command above to account for that.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, if you want to install Dapr in a dev/test setup, run:
dapr init --kubernetes
Breaking Changes
Azure Event Hubs Binding
The Azure Event Hubs binding is now using Event Processor Host to provide reliable checkpointing.
The updated YAML spec can be found here.
Host IP Environment Variable
The environment variable HOST_IP
is now changed to DAPR_HOST_IP
.
DAPR-ID parameter removed
When launching Dapr manually with the daprd
binary, to specify the ID of the app, use app-id
instead of dapr-id
.
Status Code for missing key in Get State API
The HTTP Get State endpoint will now return 204 Not Found
status code instead of 200 OK
.
Assets
22
This is the release candidate 0.5.0-rc.2
Assets
4
dapr-bot released this
Assets
8
Dapr 0.4.0
We're happy to announce the release of Dapr 0.4.0!
This release includes new components, security improvements, API level enhancements, new CLI features, stability and bug fixes, a richer Java SDK, docs and samples updates.
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Note: This release of Dapr contains breaking changes. Read through for more details, and see this section on upgrading Dapr
New in this release
Dapr Runtime
Added Support for multiple state stores (Breaking change in API)
Added Automatic mTLS between Dapr instances
Updated Main entrypoint to allow customization of included components (Thanks @pkedy)
Changed State key delimiter
Refactored Error codes (Thanks @shaggygi)
Updated Output bindings to receive component name in metadata (Thanks @lynn-orrell)
Fixed HTTP Middleware pipeline duplicate registration (Thanks @jjcollinge)
Added Forwarding HTTP headers to pipeline (Thanks @jjcollinge)
Fixed gRPC Cloud Events Envelope during publishing (Thanks @lhx6538665)
Removed Vendor directory
Updated Helm 2 to Helm 3
Improved Kafka installation in CI tests
Added VSCode Dev-Container environment and documentation
Components
Added Twilio binding (Thanks @markrussinovich)
Added Cloudstate Integration (Thanks @jroper @viktorklang @jboner)
Added Azure Table Storage State Store (Thanks @aloneguid)
Added SQL Server State Store with transactions support (Thanks @fbeltrao)
Added Aerospike State Store (Thanks @abhirockzz)
Added Couchbase Store (Thanks @abhirockzz)
Added Hazalcast State Store (Thanks @abhirockzz)
Added Managed Identity support for Azure Key Vault (Thanks @cmendible)
Added OIDC Bearer middleware (Thanks @mkosieradzki)
Added Params/SSL support for MongoDB
Fixed Block timeout issue with Redis Streams
Fixed Goroutine leak with Azure Service Bus
Fixed Single concurrency stream handler in Redis Streams
Fixed NetHTTPAdapter panicing with non-nil body
Updated Azure Blob Storage schema (Thanks @mkosieradzki)
Removed Vendor directory
Added Concurrency limit support for Azure Service Bus Pub/Sub (Thanks @jjcollinge)
Updated Logrus to v1.4.2 (Thanks @thinkerou)
Added Azure Storage Queues (Thanks @stather)
Improved Redis tests (Thanks @David-Kunz)
Added Middleware for rate limiting requests (Thanks @jjcollinge)
CLI
Added Command to view configurations in a Kubernetes cluster
Added Command to view components in a Kubernetes cluster
Added Command to view status for mTLS in a Kubernetes cluster
Added Command to fetch app/dapr logs in a Kubernetes cluster
Fixed Init command downloading -RC versions
Fixed dapr stop
failing on Windows
Removed Vendor directory
Updated Linter settings
.NET SDK
Added Support for multiple state stores
Fixed Reminder not fetching state correctly
Updated Build for Dotnet Core 3.1 LTS
Added InvokeClient and InvokeHttpClient implementations (Thanks @jeastham1993)
Updated Localhost to 127.0.0.1
Updated Actors samples to show timers and reminders (Thanks @pacodelacruz)
Fixed Integration tests (Thanks @ryanNowak)
Fixed Actor reminders corrupt state (Thanks @chgeuer)
Added Support for delete operations (Thanks @ryanNowak)
Updated ASP.NET core sample docs to include commands for windows
Fixed URL generation when BaseAddress is used (Thanks @ryanNowak)
Updated Readme for Actor Sample to clarify client invocation
Java SDK
Added Actor support
Added Support for bindings
Added Support for pub/sub
Added Support for state management
Added Support for service invocation
Added Unit tests
Added Integration tests
Added Custom serialization support
Removed Maven dependency to run dapr for examples (Thanks @Rinita-De)
Samples
Updated All samples to account for multiple state stores API changes
Docs
Added CloudState How-To
Added Azure Table Storage How-To (Thanks @aloneguid)
Added Hashicorp Vault How-To
Added mTLS How-To
Added Hazalcast How-To
Added SQL Server How-To (Thanks @fbeltrao)
Added Couchbase How-To
Added Aerospike How-To
Added Java SDK docs
Improved Event Hubs binding spec
Updated docs to comply with Microsoft Doc Authoring Pack (Thanks @LaurentLesle)
Updated Docs to account for multiple state stores API changes
Added IntelliJ debugging guide
Added Azure SignarlR binding docs (Thanks @fbeltrao)
Updated Helm 2 to Helm 3
Updated Diagrams
Upgrading to Dapr 0.4.0
If you're upgrading from an older version of Dapr to 0.4.0, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr
binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go!
Kubernetes
Download the latest CLI release as outlined above in the Local Machine / Self-hosted
section.
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr
Wait until Dapr is uninstalled, and make sure the dapr-system
namespace is gone.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, if you want to install Dapr in a dev/test setup, run:
dapr init --kubernetes
For more information on upgrading to Helm 3, go to this link.
Breaking Changes
With the introduction of multiple state stores, the API has changed to allow a developer to specify which state store the operation is targeting.
Starting this release, any state operation is required to provide a state store name:
v1.0/state/<state-store-name>/
For the latest API spec, go to this link.
Example
A call to get state prior to 0.4.0:
curl http://localhost:3500/v1.0/state/myKey
A call to get state in 0.4.0:
curl http://localhost:3500/v1.0/state/cassandra-dev/myKey
Assets
22
This is the release candidate 0.4.0-rc.1
Assets
22
This is the release candidate 0.4.0-rc.0
Assets
22
dapr-bot released this
Dapr 0.3.0
We're happy to announce the release of Dapr 0.3.0.
This release focused on improvements to our end-to-end tests infrastructure, making Service Discovery into pluggable components to support more hosting platforms, adding a few new components, improving CLI error messages and stability, and resolving bugs on and improving the Dotnet SDK.
Visit the getting started page to get started with Dapr.
Upgrading to Dapr 0.3.0
To get the latest bits, follow the instructions here to download the latest and greatest CLI release and binaries.
Standalone
Once you have the Dapr CLI in your path:
dapr uninstall --all
dapr init
Wait for the update to finish, and you're good to go!
Kubernetes
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, first download the latest CLI release as outlined above.
Once you have the CLI, run:
dapr uninstall --kubernetes
dapr init --kubernetes
If installed Dapr previously via Helm, run the following command to upgrade:
helm upgrade dapr dapr/dapr --set global.tag=0.3.0
Note: If you installed with a different chart name, use helm upgrade <your-chart-name>
Dapr Runtime
Decoupled Service Discovery from the runtime by making discovery a pluggable component
Added RabbitMQ as a Pub/Sub Message Bus
Improved Error message for unsupported state store for actors
Improved Go import statements
Improved End-To-End tests infrastructure and helper utils
Added End-To-End state management tests
Added End-To-End bindings tests
CLI
Added Flags to be presented as environment variables
Changed Name of send
command to invoke
Added The ability to choose an installation path for Dapr binaries
Improved Error message when Docker isn't running
.NET SDK
Fixed Unregister timer error
Added Serialization of ReminderInfo and Timer
Added Ability for actor type to be specified during registration
Changed Stylecop.Analyzers to be a private dependency
Samples
Fixed Hello World node sample hanging if a state store isn't enabled
Improved Structure for Hello World and Hello World Kubernetes
Assets
18
This is the release candidate 0.3.0-rc.0
Assets
18
dapr-release-bot released this
Dapr 0.2.0
We're happy to announce the release of Dapr 0.2.0.
This release focuses on community-driven components (BIG thank you to everyone involved, you rock), bug fixes across the Dapr runtime and CLI, updates to documentation and samples and the addition of E2E tests.
Upgrading to Dapr 0.2.0
To get the latest bits, follow the instructions here to download the latest and greatest CLI release and binaries.
Once you have the Dapr CLI in your path, run dapr init
.
Wait for the update to finish, and you're good to go!
Kubernetes
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, first download the latest CLI release as outlined above.
Once you have the CLI, run:
dapr uninstall --kubernetes
dapr init --kubernetes
If installed Dapr previously via Helm, run the following command to upgrade:
helm upgrade dapr dapr/dapr --set global.tag=0.2.0
Note: If you installed with a different chart name, use helm upgrade <your-chart-name>
Dapr Runtime
Added MongoDB as a State Store (w/ transactions)
Added Cassandra as a State Store
Added etcd as a State Store
Added Google Cloud Firestore as a State Store
Added Consul as a State Store
Added Memcached as a State Store
Added Zookeeper as a State Store
Added NATS as a Pub/Sub message bus
Added Azure Service Bus as a Pub/Sub message bus
Added Hashicorp Vault as a Secrets Store
Added Kafka bindings SASL authentication
Added Azure Monitor tracing exporter
Added TLS support for Redis Streams
Added E2E tests
Fixed Issue where rejected Pub/Sub messages were marked as processed successfully
Fixed Issue where headers were dropped when invoking actors
Improved Testability of the Kubernetes package
Fixed ETag error on state deletion of a given key
Added Retry mechanism for loading components, enabling running side-by-side with Service Meshes
Fixed Issue where Kubernetes services were not removed when a Dapr enabled deployment is deleted
Added Go linter checks
CLI
Added Ability to run Actor placement service and Redis in a Docker network
Fixed Issue where non-default component YAMLs could not be used when executing dapr run
Fixed Issue where the Actor placement container does not update on dapr init
.NET SDK
Changed Testing framework to XUnit
Removed Redundant using statements
Updated Actor documentation
Removed Redundant null checks
Updated to use span slicing instead of string substrings for Dapr format TimeSpan string
C++ SDK
Added A C++ SDK
Rust SDK
Added A Rust SDK
Assets
18
Dapr 0.1.0
This is this initial release of Dapr.
Assets
18
Watchers:386 |
Star:11223 |
Fork:703 |
创建时间: 2019-06-19 08:49:06 |
最后Commits: 昨天 |
许可协议:MIT |
dbfa3e4
Compare
This is the release candidate 1.0.0-rc.3