Skip to content

Releases: labthings/labthings-fastapi

v0.0.12

09 Dec 17:09
794c402

Choose a tag to compare

What's Changed

This release includes significant tidying-up of both the codebase and the documentation, as well as a significant change, which is the move away from using FastAPI dependencies in Thing code.

Updating to v0.0.12 will require migration for Things written using previous versions of LabThings. Most old features are deprecated rather than removed, so it should be possible to migrate code gradually (except for the renamed lt.thing_action and lt.fastapi_endpoint which have had their prefixes removed). See the discussion in #194 for more details.

A full list of changes is below, in the form of pull requests merged since the last release.

New Contributors

Full Changelog: v0.0.11...v0.0.12

v0.0.11

24 Jul 11:25
3c08ea5

Choose a tag to compare

What's changed

  • A significant overhaul of the documentation, including full docstring coverage and several new overview pages (#138).
  • Fix an issue that caused errors if Blob objects were present when action invocations were listed (#144).
  • Improve spelling of documentation (#149).

Full Changelog: v0.0.10...v0.0.11

v0.0.10

07 Jul 12:11
034ea9a

Choose a tag to compare

What's Changed

  • A considerable update to the package documentation (#106)
  • An overhaul of Thing Settings to be a subclass of Thing Properties (rather than a dictionary) and to save on set. (#110)
  • Rename the Descriptor PropertyDescriptor to ThingProperty and crate matching ThingSetting (also #110)
  • Remove the need to install server packages with optional [server] argument on install (#123)
  • Considerable overhaul of the Python API by allowing import labthings-fastapi as lt which should simplify imports. (mostly #121, tweaked in #134)
  • Retired the FileManager as blobs are used for file transfer now (#130)
  • Formatting improvements to fallback server (#129)
  • Ability to set the HTML code of the fallback server (also #129)
  • MJPEG stream is now easier to stop, plus also has better test coverage (#131)

Full Changelog: v0.0.9...v0.0.10

v0.0.9

09 Jun 13:47
7e82c45

Choose a tag to compare

What's Changed

  • Build system changed to hatch from setuptools to make it easier to include non-python files in distribution
  • Fix spelling error in fallback server
  • Logging message fro deleting expired invocations is changed to debug level to reduce logging noise in applications
  • The default argument parser for the CLI can be returned so that downstream programs can add CLI arguments to the parser if needed.

Full Changelog: v0.0.8...v0.0.9

v0.0.8

08 Apr 08:13
371e2d7

Choose a tag to compare

What's Changed

Full Changelog: v0.0.7...v0.0.8

This release creates a updated fallback server that can show more information about what caused LabThings to fail to start. We also have improved our testing pipelines to be more robust, and updated the quick start documentation.

v0.0.7

28 Nov 15:45
b446f8d

Choose a tag to compare

What's Changed

Full Changelog: v0.0.6...v0.0.7

This release brings improvements to the handling of non-JSON-serialisable data. Specifically, Actions may now use Blob types in both input and output, and these blobs may be nested inside Pydantic models. This is a breaking change: BlobOutput has been replaced by Blob although it should be a drop-in replacement.

The intention here is to be more flexible in how binary data is passed into and out of Actions, and to consolidate code for handling this into a new BlobManager class (which should not need to be touched directly by a Thing). See #83 for more details.

We also fix an issue where pydantic 2.10 errors when NDArray annotated types are used: this is now resolved.

v0.0.6

11 Oct 17:58
c198dd7

Choose a tag to compare

This is purely a metadata change, removing the dependency on pydantic_numpy which is no longer required. This restores compatibility with numpy<2.0

v0.0.5

11 Oct 14:48
e290ef5

Choose a tag to compare

This release relaxes the numpy version requirement to allow <2.0. This is useful as some older libraries still require numpy <2.0.

v0.0.4

09 Oct 21:17

Choose a tag to compare

This release reverts the change to pydantic-numpy because it was not compatible with the Thing Description generation code. It also includes improvements to testing and CI.

v0.0.3

08 Oct 15:00

Choose a tag to compare

This release was yanked due to #79

This release adds some more support for websockets courtesy of @akaplanyan, fixes some CI issues, adds a documentation page on dependencies, and adopts pydantic_numpy for typing np.ndarray parameters.