docs/release_notes/v1.14.2.md
When using workflows, daprd would increase in memory consumption indefinitely, eventually causing daprd to crash from a Out Of Memory Kill (OOM Kill),
Daprd would consume extra resources from the host, and periodically become unavailable and disrupt running tasks.
The actor runtime in Daprd was not releasing memory of workflow actors, and the associated workflow state (history, inbox, etc.).
The actor runtime now correctly releases the workflow state once that workflow has reached a terminal state.
When a Placement Service instance using on disk logs was upgraded to 1.14 in some cases we would get a nil map error and the instance would not start.
Dapr Placement Service instance would not start.
Restoring the old format would override the state saved in Raft with a struct that wasn't properly initialised.
Initialize the struct properly when restoring the old format.
When Kafka headers are present that are not URL encoded, the event delivery to the app will fail with a retriable error.
Messages cannot be delivered to the app.
Lack of URL encoding on header values from Kafka.
Add URL encoding to Kafka headers.
If users had IAM policies in place that only allowed access to specific secrets, the initialization of the AWS secret manager and parameter store components would fail.
Components could not be initialized.
There was a redundant check in initialization that tried to read a random secret which caused the init to fail if a policy was present to only allow reading specific secrets.
The redundant check was removed.
When publishing a message containing a null byte array with Kafka and Avro validation enabled, the message would be rejected when it shouldn't be.
A message could not be sent.
There was a missing validation logic for null byte arrays that would allow the message to continue processing.
The missing validation logic was added.
In certain cases, Dapr would drop a Kafka message when it should have been retried if the daprd process is abruptly terminated.
A message would not be retried upon failure.
Message processing logic moved on to process the next message instead of exiting when the session context was done.
The code was changed to handle session context exiting prior to processing the next message.
If outbox was being used and a publisher didn't have an app channel open or the subscriber didn't have access to the transactional state store, then outbox messages would not be published.
Outbox messages could not be sent.
Faulty logic that required Dapr to have an app channel in order to subscribe to the internal topics.
Enable Dapr to subscribe to internal topics without needing an app channel.