# Tesseract Core v1.6.0 released

**URL:** <https://si-tesseract.discourse.group/t/tesseract-core-v1-6-0-released/119>\
**Category:** Release Notes\
**Created:** [March 19, 2026, 3:13pm UTC](https://si-tesseract.discourse.group/t/tesseract-core-v1-6-0-released/119 "2026-03-19T15:13:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dionhaefner](https://yyz1.discourse-cdn.com/flex009/user_avatar/si-tesseract.discourse.group/dionhaefner/32/13_2.png) [@dionhaefner](https://si-tesseract.discourse.group/u/dionhaefner)\
**Post date:** [March 19, 2026, 3:13pm UTC](https://si-tesseract.discourse.group/t/tesseract-core-v1-6-0-released/119/1 "2026-03-19T15:13:39Z")

</div>

# Release v1.6.0

## Highlights

### Experimental auto-differentiation helpers

This release adds a suite of experimental helpers that let you generate AD endpoints automatically — without implementing analytical derivatives. Two new families of functions are available in `tesseract_core.runtime.experimental`:

[**Finite differences**](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/examples/building-blocks/finitediff.html) (when you have no derivative implementation at all):

```python
from tesseract_core.runtime.experimental import (
finite_difference_jacobian,
finite_difference_jvp,
finite_difference_vjp,
)

```

[**Gradient fallbacks**](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/examples/building-blocks/gradient-fallbacks.html) (when you have _one_ AD endpoint and want others to be derived from it):

```python
from tesseract_core.runtime.experimental import (
jvp_from_jacobian,
vjp_from_jacobian,
jacobian_from_jvp,
jacobian_from_vjp,
)

```

For more information, see the linked examples and [API reference](https://docs.pasteurlabs.ai/projects/tesseract-core/latest/content/api/tesseract-runtime-api.html#tesseract-core-runtime-experimental).

### Significant performance improvements

Two fixes combine to substantially reduce latency:

- A **fixed 100ms overhead per call** has been eliminated (#485).
- **Array encoding/decoding is now much faster** (#522) thanks to `orjson`, `pybase64`, zero-copy serialization, and HTTP session reuse.

**Note:** `orjson` and `pybase64` are now **core dependencies**. If you pin dependencies or install from source, make sure to include them.

## Other notable changes

- **CLI alias `tesseract-core`** : You can use this instead of `tesseract`, for example to avoid collision with other command line tools called `tesseract` (#491).
- **`json+binref` encoding now works in the Python SDK** , not just at the runtime level (#491).
- **Pass flags to `docker run`** via `--docker-run-args` for custom container configuration (#491).
- **`metadata` field in `tesseract_config.yaml`** : Attach arbitrary metadata to your Tesseract image as a Docker label (#523).
- **Custom validation errors** no longer break tracebacks when triggered over HTTP (#534).

## What’s Changed

### Features

- Add experimental finite difference functionality for auto-generated AD endpoints (#469)
- Issue mega sprint - allow package\_data outside root, cli alias `tesseract-core`, flags to pass arguments to `docker run` and `tesseract runtime`, `json+binref` support in SDK, better support for `tesseract serve --network host` (#491)
- Add gradient fallback helpers (`tesseract_core.runtime.experimental.vjp_from_jacobian`, …) for deriving AD endpoints from each other (#511)
- Add optional metadata field in tesseract\_config.yaml (#523)

### Bug Fixes

- Remove fixed 100ms runtime overhead for every call (#485)
- Reduce performance overhead, especially in array encoding/decoding (#522)
- Rendering of custom validation errors over HTTP (#534)

### Documentation

- Editing and restructuring of docs, README, and landing page (#510)
- More restructurings and polish (#529)

**Full diff** : [Comparing v1.5.1...v1.6.0 · pasteurlabs/tesseract-core · GitHub](https://github.com/pasteurlabs/tesseract-core/compare/v1.5.1...v1.6.0)
