# Tesseract Core v1.11.0 released

**URL:** <https://si-tesseract.discourse.group/t/tesseract-core-v1-11-0-released/147>\
**Category:** Release Notes\
**Created:** [July 23, 2026, 11:20am UTC](https://si-tesseract.discourse.group/t/tesseract-core-v1-11-0-released/147 "2026-07-23T11:20:56Z")\
**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:** [July 23, 2026, 11:20am UTC](https://si-tesseract.discourse.group/t/tesseract-core-v1-11-0-released/147/1 "2026-07-23T11:20:56Z")

</div>

# Release v1.11.0

## Highlights

### Optional lz4 compression for array payloads

Arrays serialized via the `json+base64` and `json+binref` encodings can now be lz4-compressed, reducing payload sizes for large arrays. Compression is opt-in via the new `TESSERACT_COMPRESSION` config variable (set to `lz4`, unset by default).

`TESSERACT_COMPRESSION` only controls how a Tesseract encodes its _output_ — inputs are always decoded correctly whether compressed or not, since each array carries its own `compression` field. This means you can pipe a compressed output straight into another Tesseract without configuring the receiver.

Since it’s a runtime config var, forward it into the container with `-e` when using `tesseract run`:

```bash
tesseract run -e TESSERACT_COMPRESSION=lz4 vectoradd apply -f json+binref -o /tmp/out @inputs.json

```

Two things to note:

- `lz4` is now a runtime dependency of all Tesseract builds.
- The `binref` buffer spec is extended from `<path>:<offset>` to `<path>:<offset>:<compressed_size>` for compressed arrays. This is backward compatible — uncompressed buffers keep the old two-part format.

## Other changes

- Fixed several `tesseract_requirements.txt` / conda requirement-handling bugs: `../` relative paths, local packages with extras (`./mypackage[extra]`), and `pip: ./mypackage` under the conda provider now work as intended (#644).
- Fixed random port binding collisions that could cause intermittent `tesseract serve` failures; FastAPI now always serves on port 8000 inside containers unless `--network host` is used (#649).
- New pipeline guide and documentation for `tesseract run test` (#642), a learned-closure demo and Tesseract-Torch docs (#626), and an Enzyme integration demo with accompanying blog post (#542).
- CLI reference docs are now rendered with `sphinxcontrib-typer` instead of `sphinx-click` (#634).

## What’s Changed

### Features

- Add optional lz4 compression support for arrays passed via `base64` or `binref` encoding (#579)

### Bug Fixes

- Squash all requirement handling bugs (#644)
- Random port binding collisions (#649)

### Documentation

- Replace sphinx-click with sphinxcontrib-typer (#634)
- Add learned closure demo, add T-torch to landing page + docs (#626)
- Add enzyme integration demo + blog post (#542)
- Add pipeline guide and document `tesseract run test` (#642)

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