Releasing 0.2.0
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.
Get Started
LittleHorse is free for production use according to the Server-Side Public License!
To get started with LittleHorse OSS, you can:
- Visit us on GitHub
- Try our quickstarts
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.
New Features
Release 0.2.0
contains many exciting new features, and we've highlighted a few here.
User Tasks
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.
In 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 aUserTaskRun
is scheduled. - Automatic reassignment of a
UserTaskRun
after some period of inactivity. - Manual reassignment of a
UserTaskRun
. UserTaskRun
search.
The public API for User Tasks is stable in all of the grpc clients and in the Java WfSpec
SDK.
The Go and Python grpc clients both support User Tasks. However, neither Python nor Go yet have support for User Tasks in the WfSpec
SDK.
Workflow Threading
Release 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.
Python Support
We have released an alpha Python SDK! This release contains:
- Python client in grpc
- Python Task Worker SDK
Currently, building 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 0.3.0
release.
To try out our python task worker client, you can head to Installation Docs and the Task Worker Development Docs.
The Python SDK is in the alpha stage, meaning that future releases could break backwards compatibility.
Security
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.
Performance
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.
Go Support
Support for the Go client is now beta. Future releases will maintain compatibility for all features on our documentation.
Release 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
WfSpec
SDK - User Task support in the
WfSpec
SDK - Configuring Indexes on
Variable
s in theWfSpec
SDK
What's Next
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
WfSpec
s
For an enterprise-ready distribution of LittleHorse running in your own datacenter, contact sales@littlehorse.io
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.