We are excited to announce the release of
0.2.0! In this release, we added several new features, highlighted by User Tasks, security, and Python support.
LittleHorse is free for production use according to the Server-Side Public License!
To get started with LittleHorse OSS, you can:
Additionally, with version
0.2.0, we have released our first two Docker Images:
lh-server, the production-ready build of the LittleHorse Server.
lh-standalone, a self-contained build of the LittleHorse Server that you can run to get a working LH Installation for local development.
0.2.0 contains many exciting new features, and we've highlighted a few here.
User Tasks are a massive new feature released in
0.2.0 which allow you to schedule tasks to be executed by a human user alongside tasks that are executed by computers.
0.2.0, User Tasks have reached stability, meaning that future releases will be backwards-compatible with the current User Tasks API. We currently have the following features:
- Assignment of tasks to a User or User Group
- Reminder Tasks, or
TaskRun's that are scheduled some time after a
- Automatic reassignment of a
UserTaskRunafter some period of inactivity.
- Manual reassignment of a
The public API for User Tasks is stable in all of the grpc clients and in the Java
The Go and Python grpc clients both support User Tasks. However, neither Python nor Go yet have support for User Tasks in the
0.2.0 allows you to use a
WAIT_FOR_THREADS node to wait for more than one child thread at one time. For an example, see our Parallel Approval Example on our GitHub.
Future releases will provide backwards-compatible enhancements to this functionality, allowing various strategies for handling failures of individual child threads.
We have released an alpha Python SDK! This release contains:
- Python client in grpc
- Python Task Worker SDK
WfSpec's in Python is not supported. We aim to move python Task Worker support from alpha to beta, and add alpha support for
WfSpec development in python, in the
The Python SDK is in the alpha stage, meaning that future releases could break backwards compatibility.
We added beta support for OAuth, TLS, and mTLS in release
0.2.0. The following features graduated to "beta" in this release:
- TLS encryption for incoming connections on all listeners, configured on a per-listener basis.
- mTLS to authenticate incoming connections on any listeners, configured on a per-listener basis.
- OAuth to authenticate incoming connections on any public listener (excluding the inter-server communication port).
Beta support means that we will soon add significant functionality, and as such a future release might break backwards compatibility.
However, future releases of a feature in the beta state will most likely be backwards compatible with
0.2.0 barring exceptional circumstances.
We made several optimizations to our storage management sub-system, reducing the number of put's and get's into our backing state store by roughly 30%. As a result, a LittleHorse Server running with a single partition is capable of scheduling over 1,100
TaskRun's per second.
Support for the Go client is now beta. Future releases will maintain compatibility for all features on our documentation.
0.3.0 will close the gap between the Java and Go SDK's, adding features such as:
- Format Strings for Variable Assignments in the
- User Task support in the
- Configuring Indexes on
Variables in the
We have several exciting features coming soon over the next few releases, including:
- Fine-grained access controls
- Backward-compatible improvements to Failure Handling
- C# support
- Python support for building
For an enterprise-ready distribution of LittleHorse running in your own datacenter, contact
firstname.lastname@example.org to inquire about LittleHorse Platform.
For a pay-as-you-go, serverless Managed Service of LittleHorse in the cloud, fill out the LH Cloud Waitlist Form.