Releasing 0.11
The 0.11
release brings with it the ability to schedule workflows on a cron job, support for secret data, and various dashboard and SDK improvements.
New Features
In addition to several new features, it's worth calling out that we upgraded the internal org.apache.kafka:kafka-streams
dependency to 3.8.0
, which includes several crucial bug fixes (some of which were found by our Grumpy Maintainer, Eduwer Camacaro).
Dashboard
The Dashboard saw several enhancements, the most important of which is the ExternalEventDef
page, which allows users to view ExternalEvent
s associated with an ExternalEventDef
.
Scheduled Workflows
The ScheduledWfRun
feature creates a schedule that runs a WfSpec
on a cron schedule. This is useful for periodic background tasks.
Secret Variables
As of LittleHorse 0.11
, you may now mark a variable as masked()
, which means that its value is obscured on the Dashboard and also via lhctl get variable
.
To make a variable Masked, you can do the following:
WfRunVariable myVar = wf.addVariable("my-var", STR).masked();
We will also release a blog about this feature soon.
Saving User Task Progress
With the rpc SaveUserTaskRun
, it is now possible to save the results of a UserTaskRun
without completing it. When you do this, an event
is added to the audit log showing who saved the UserTaskRun
and what results were saved.
Release Notes and Artifacts
You can find the release notes and downloads on our GitHub page.
Upgrading
Just as since all releases since 0.8
, there were no breaking changes to our protocol buffer API. We do not anticipate any changes with our API in the future, either. This means that old client applications will continue to work with the LH Server 0.11
and beyond.
However, we refactored the Go SDK to better follow GoLang conventions, which will require code changes (but no changes to the network protocol).
Upgrading the Go SDK
Now, instead of having multiple modules to import and use, there are only two:
- The
lhproto
module, with our GRPC clients and protobuf. - The
littlehorse
module, with everything else.
To add the go SDK to your project, you can run:
go get github.com/littlehorse-enterprises/littlehorse@v0.11.2
Then, the imports are:
import (
"github.com/littlehorse-enterprises/littlehorse/sdk-go/lhproto"
"github.com/littlehorse-enterprises/littlehorse/sdk-go/littlehorse"
)
What's Next?
Before committing to Semantic Versioning, we will:
- Release our release schedule and support plan.
- Finish inspecting our SDK's for bugs and minor breaking API changes that we want to do before
1.0
. - Finish our benchmarks, chaos tests, and load tests to ensure that our software meets the highest quality standards.
We expect to release 1.0
in early October 2024.