Skip to content
Dispatch Dispatch Dispatch

Changelog

July 2, 2024

Dispatch Go SDK v0.1.0
go get github.com/dispatchrun/dispatch-go@v0.1.0

Today we are releasing the first version of our Go SDK. The SDK offers the same set of features than our Python SDK, in a Go idiomatic way. Leveraging our coroutine library, you can easily create transactional applications and compose durable workflows.

Check out our dedicated wiki page to get started: github.com/dispatchrun/dispatch-go/wiki!

Here is a quick example:

package main
import (
"context"
"fmt"
"log"
"github.com/dispatchrun/dispatch-go"
)
func main() {
greet := dispatch.Func("greet", func(ctx context.Context, msg string) (any, error) {
fmt.Printf("Hello, %s!\n", msg)
return nil, nil
})
endpoint, err := dispatch.New(greet)
if err != nil {
log.Fatal(err)
}
go func() {
if _, err := greet.Dispatch(context.Background(), "World"); err != nil {
log.Fatal(err)
}
}()
if err := endpoint.ListenAndServe(); err != nil {
log.Fatal(err)
}
}

May 16, 2024

Computer Old Electronics Streamline Icon: https://streamlinehq.comcomputer-old-electronics Dispatch CLI v0.2.0
Terminal window
brew tap dispatchrun/dispatch
brew install dispatch

This release improves the TUI experience:

  • Adds a detail page for function calls (to try it out, press s to select a function call).
  • Fixes colors when a light terminal background is used.
  • Fixes various rendering issues.

New features

Improvements

  • Improve formatting of Python input/output values by @chriso in #50
  • Improve log output by @chriso in #49

Bug fixes

Full changelog: v0.1.0...v0.2.0

A new Python SDK v0.7.1 was also released.

Dispatch Python SDK v0.7.1
Terminal window
pip install dispatch-py==0.7.1

This version fixes a few minor issues from the previous release.

Improvements

  • Simplify registration of error/output to status mappings by @chriso in #166
  • Add top-level dispatch.batch helper function by @chriso in #165

Full changelog: v0.7.0...v0.7.1

May 3, 2024

Dispatch Python SDK v0.7.0

Python SDK v0.7.0 was released.

Terminal window
pip install dispatch-py==0.7.0

This version fixes bugs that were uncovered by more robust type checking. It also adds new APIs to support integrations with the newly released Dispatch CLI.

Improvements

Full changelog: v0.6.0...v0.7.0

April 22, 2024

Dispatch Python SDK v0.6.0

Python SDK v0.6.0 was released.

Terminal window
pip install dispatch-py==0.6.0

This version brings a lot of new and powerful APIs to the SDK.

The main change that v0.6 brings is enabling the integration of Dispatch in applications that are not based on FastAPI. The top-level dispatch package can now be used to create vanilla Dispatch applications:

import dispatch
# The .function decorator is available on the top-level package to
# declare functions that can be orchestrated by the scheduler.
@dispatch.function
def greet(who: str): ...
# The .run function runs the main event loop interacting with the
# scheduler. It takes an optional initialization function that will
# be called right before entering the event loop.
dispatch.run(lambda: greet.dispatch("me"))

New features

Improvements

  • Don’t print verification key warning when running under Dispatch CLI by @chriso in #152
  • Extract new proto fields by @chriso in #153

Full changelog: v0.5.1...v0.6.0

April 11, 2024

Dispatch Python SDK v0.5.1

Python SDK v0.5.1 of the Python SDK was released.

Terminal window
pip install dispatch-py==0.5.1

This version adds multiple bug fixes, including one that prevented dispatch functions from running concurrently within a single application instance (distributing concurrent calls across multiple instances was unaffected).

Improvements

  • Run Dispatch functions in a thread executor by @chriso in #146
  • Add experimental Lambda integration by @Pryz in #142

Bug fixes

  • Don’t pickle coroutine state twice by @chriso in #148

Full changelog: v0.5.0...v0.5.1

April 2, 2024

Dispatch Python SDK v0.5.0

Python SDK v0.5.0 was released.

Terminal window
pip install dispatch-py==0.5.0

This version introduces a new Reset error type, which when raised or returned, replaces the function being run by a different call.

New features

Full changelog: v0.4.2...v0.5.0

March 28, 2024

Dispatch Python SDK v0.4.2

Python SDK v0.4.2 was released.

Terminal window
pip install dispatch-py==0.4.2

With this patch release, programs that run on Python 3.8 can now use Dispatch.

Improvements

Full changelog: v0.4.1...v0.4.2

March 26, 2024

Python SDK v0.4.1 was released.

Terminal window
pip install dispatch-py==0.4.1

This patch release brings compatibility with Python 3.9 and 3.10. Prior to this update, the Python SDK for Dispatch was only compatible with Python 3.11+, which caused a lot of issues due to default Python installations often being older on OSX and Ubuntu (usually 3.9). This caused a lot of friction for users who tried Dispatch but didn’t have a supported version pre-installed.

New features

Improvements

Full changelog: v0.4.0...v0.4.1

March 26, 2024

Dispatch Python SDK v0.4.0

Python SDK v0.4.0 was released.

Terminal window
pip install dispatch-py==0.4.0

This is an important release with new concurrency APIs to compose more advanced applications powered by Dispatch. The release also includes new default integrations for errors raised by popular services like Slack and OpenAI, so dispatch functions can automatically handle retries when executing requests to those APIs.

New features

Bug fixes

  • Fix registration of synchronous functions by @chriso in #129

Full changelog: v0.3.0...v0.4.0

March 18, 2024

Dispatch Python SDK v0.3.0

Python SDK v0.3.0 was released.

Terminal window
pip install dispatch-py==0.3.0

SDK v0.3.0 introduces a new feature: dispatch.batch. With batch, you can construct batches of functions to be dispatched and executed concurrently. This new feature is perfect if you are building things like a data pipeline where you will want to process multiple chunks of data at once to increase your system throughput.

from dispatch import batch
@dispatch.function
def funcA(): ...
@dispatch.function
def funcB(someargs): ...
batch = dispatch.batch()
batch.add(funcA)
batch.add(funcB, someargs)
batch.dispatch()

New features

Improvements

  • Improve UX around verification keys by @chriso in #120

Documentation

  • Add section describing serialization and its quirks by @chriso in #118

Bug fixes

Full changelog: v0.2.1...v0.3.0