Changelog¶
0.14.0 - 2026-04-26¶
Added¶
CloudClientprovides a client interface to Vestaboard’s Cloud API, which supersedes the Read / Write API. It supports reading and writing messages and the Transitions API for controlling how messages animate onto the board.
Changed¶
Vestaboard has renamed the Read / Write API to the Cloud API, so our
ReadWriteClientinterface is now considered deprecated. Switch toCloudClient, which offers the same functionality plus transitions.
0.13.0 - 2025-12-29¶
Added¶
Added support for Python 3.13 and 3.14.
Added
VBMLClient.format()for formatting a message string into rows of character codes.
Changed¶
Removed dependency on
httpx. We no longer have any runtime dependencies other than the Python standard library.
Removed¶
Dropped support for Python 3.8 and 3.9.
Removed support for user-provided HTTP clients.
0.12.0 - 2024-04-12¶
Added¶
All clients now support a user-provided httpx.Client.
Added support for the VBML
absolutePositionstyle.Added support for the VBML
rawCharacterscomponent field.SubscriptionClientprovides a client interface to Vestaboard’s Subscription API.
Changed¶
The
encode_*()functions now consistently specify keyword-only arguments.Vestaboard has deprecated the Platform API, so our
Clientinterface is also considered deprecated. Switch toSubscriptionClient, which offers nearly identical functionality.
0.11.0 - 2024-01-22¶
Added¶
VBMLClientprovides a client interface to Vestaboard’s VBML (Vestaboard Markup Language) API.Added support for Python 3.12.
Changed¶
Switched to a
pyproject.toml-based package configuration.
0.10.1 - 2023-07-22¶
Added¶
Added text message support to
ReadWriteClient.write_message().
Fixed¶
ReadWriteClient.get_message()now correctly returns aRowsvalue rather than a JSON-encoded string.
0.10.0 - 2023-06-06¶
Added¶
Added
max_rowstoencode_text()for controlling the maximum number of rows that will be returned (defaulting to 6). It can be set to a lower value to produce a partial board or 0 to support unlimited rows.
Changed¶
encode_text()no longer raisesValueErrorwhen the result exceeds the maximum number of rows. Instead, the result is truncated tomax_rows.
0.9.0 - 2022-12-11¶
Added¶
Added
Color.BLANKandColor.FILLEDcolor values.
Changed¶
Switched to HTTPX as the underlying HTTP library.
Color.BLACKnow uses the official “black” character code (70). UseColor.BLANKfor character code 0 (previously used byColor.BLACK).The default “fill” color is now
Color.BLANKinstead ofColor.BLACK.
Removed¶
Dropped support for Python 3.7.
0.8.0 - 2022-08-13¶
Added¶
LocalClientprovides a client interface to Vestaboard’s Local API.ReadWriteClientprovides a client interface to Vestaboard’s Read / Write API.
Changed¶
The documentation now uses the Furo theme.
Requests version 2.27.0 or later is now required.
0.7.3 - 2022-05-31¶
Added¶
Various typing improvements, including a
py.typedmarker file.
0.7.2 - 2021-12-30¶
Added¶
encode_text()’svalignargument can be set toNoneto disable row padding.
Changed¶
encode()’s error handling has been improved. AValueErrorwill now be raised for all unsupported character codes, including those within the [0, 69] range such as 57, 58, and 61.
0.7.1 - 2021-12-19¶
Fixed¶
encode_text()was adding a leading blank character to the row after a line break.
0.7.0 - 2021-12-19¶
Added¶
encode_text()offers avalignargument for controlling vertical alignment within the board.Client.post_message()now raises ValueError ifmessageis a list of encoded characters with the wrong dimensions.
Changed¶
encode_text()now always produces six rows of output (a full board).
Removed¶
Dropped support for Python 3.6, which has officially reached the end of its supported life.
0.6.0 - 2021-12-05¶
Added¶
encode_text()for encoding lines of text
Fixed¶
Fix space character encoding
0.5.1 - 2021-11-06¶
Added¶
Initial Sphinx-based documentation
0.5.0 - 2021-11-01¶
Initial release