We are excited to announce the minor release
0.5.0. This release is highlighted by:
- Alpha support for building
WfSpecs in Python.
- Improved monitoring and health metrics on the LittleHorse Server.
- Support for looping over a
JSON_ARRand launching threads in parallel for each element.
- Improved Exception Handling.
- Limited early access for LittleHorse Platform.
In this release, we made great strides towards full Python support, improved monitoring and observability, and added the ability to spawn threads in parallel looping over a
LittleHorse is free for production use according to the Server-Side Public License!
To get started with LittleHorse OSS, you can:
We'd like to highlight some of the exciting new features in
Our Python SDK now has full support for building
WfSpecs! You can check it out at our quickstart page.
This is a very exciting feature which allows you to iterate over a list and spawn multiple
ThreadRuns (like threads in a program).
Improved Failure Handling
This release introduces a new status for LittleHorse, called
EXCEPTION status differs from the
ERROR status in the following ways:
ERRORmeans an unexpected technical failure occurred. For example, a
TaskRuntimed out because a third-party API was down.
EXCEPTIONmeans that a failure occurred at the business process level. For example, you might use an
EXCEPTIONwhen a customer has insufficient funds in her account to complete an order.
Just like in programming, you can throw and catch
EXCEPTIONs (and you can also catch
ERRORs). For a blog post that goes in-depth into how LittleHorse makes it easy to handle failures in your workflows, check out our Failure Handling Docs.
LH Server Monitoring
We added a new path
/status on the LH Server's health endpoint (port
1822 by default) which can be used to inspect the status of all internal Kafka Streams
Tasks on the LH Server. It presents the following information:
- All Active Tasks on the host
- All Standby Tasks on the host
- Any ongoing State Restorations on the host
Additionally, we added a
/diskUsage endpoint which returns the number of bytes of disk space in use by the LH Server.
LittleHorse Platform uses these endpoints to intelligently scale, manage, and operate LittleHorse for you.
We are also in the process of writing and implementing a Kafka Improvement Proposal to improve visibility of Standby Tasks, which will allow the LittleHorse Operator (both in LH Platform and LH Cloud) to safely and smoothly scale LittleHorse clusters down without any downtime. Stay tuned in the Kafka developer mailing list!
LittleHorse Platform is a Kubernetes Operator that securely manages a LittleHorse cluster for you in your own environment. It seamlessly integrates with your Kubernetes environmnent, GitOps workflows, and security strategy (TLS, mTLS, OAuth, Cert Manager, Keycloak).
LittleHorse Platform is now available for limited early access, and has been installed in one of the largest health insurance companies in the US.
To get started with LittleHorse Platform, please contact us.
0.2.0 and later, you can search for
Variables by their value. For example, if you have a Workflow Specification that defines a variable
email_address, you can find all Workflow Run's where
email_address == 'email@example.com by using the
SearchVariable rpc call.
The problem with
0.2.0? You need to provide the
wfSpecVersion in your search request. That means you can only search for a
Variable if you know the version of the
WfSpec it came from.
0.4.0 introduced the ability to mark a
persistent, which means that:
- Every future version of the
WfSpecmust have the same variable definition with the same index type.
- You can now search for variables with a certain value across all versions of the
Be on the lookout for an upcoming blog post about using Persistent Variables and a simple backend-for-frontend to build an end-to-end Approval Workflow Application using only LittleHorse!
Over the next few weeks, we plan to:
- Add utilities to make it easier to work with the LittleHorse API.
- Allow users to throw a Workflow
EXCEPTIONfrom within the Task Worker SDK (currently, only
- Continue hardening the LittleHorse Server's availability and performance story.
- Launch limited early accesss for LittleHorse Cloud and LittleHorse UI.
To get started with LittleHorse, head over to our installation docs.
We also released
0.4.0 over the past 5 weeks! (And before
0.3.0, we had a minor patch bugfix on
The only thing missing with
0.4.0 is a blog post + announcement. That's because a lot of the features we included in this announcement were partially-implemented, implemented in some languages and not others, or in the "experimental" phase at the time of
0.4.0. We accelerated the release of
0.4.0 because certain early-access customers requested certain features on an accelerated timeline.
As our API is mostly stable now, we will slow down our release cadence to likely a new
*.x.* version (a
minor release in Semantic Versioning) every two months, with security and bugfix patch releases (
*.*.x) as needed.
Additionally, as we introduce new features, we will start a release changelog document in which we document the level of stability of the new API's introduced. For example:
STABLE: Any changes to this API before the next Major Release will be backwards compatible. The feature is covered by our integration tests.
BETA: We don't anticipate any large breaking changes to the feature/API. It is covered by our integration tests, but it might change before the
EXPERIMENTAL: Try it out and give us feedback! But you might want to wait a release or two before putting it into production.
0.6.0 release notes will include a table of all of our features and their API Stability Level in all four of our SDK's.