Skip to main content

Releasing 0.11

· 3 min read
The LittleHorse Council
The Council of LittleHorse Maintainers

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 ExternalEvents 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:

  1. The lhproto module, with our GRPC clients and protobuf.
  2. 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.