Tesseract Core v1.6.0 released

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 (when you have no derivative implementation at all):

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

Gradient fallbacks (when you have one AD endpoint and want others to be derived from it):

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.

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