Releases: matteosox/pysparkplug
Releases · matteosox/pysparkplug
0.5.0 (2025-01-09)
Added
- Support for array datatypes, i.e. INT8_ARRAY, INT16_ARRAY, INT32_ARRAY, INT64_ARRAY,
UINT8_ARRAY, UINT16_ARRAY, UINT32_ARRAY, UINT64_ARRAY, FLOAT_ARRAY, DOUBLE_ARRAY,
STRING_ARRAY, BOOLEAN_ARRAY, and DATETIME_ARRAY.
Changed
- Payload
metrics
attribute is now type annotated and implemented as atuple
. DATETIME
datatypes are no longer all treated as UTC, instead properly converting
them to the UTC timezone. Naive datetime objects are thus treated as the local
timezone.- Unsupported datatypes now raise a
NotImplementedError
when attempting to encode/decode them instead of aValueError
.
0.4.0 (2024-10-24)
Added
- Pysparkplug now supports Python 3.13
Fixed
EdgeNode.disconnect
now correctly sends an NDEATH payload.
Deprecated
- Pysparkplug no longer supports Python 3.8, which has reached its end of life.
0.3.2 (2024-05-06)
Fixed
- Fixed topic for DDATA payloads resulting from the
EdgeNode.update_device
method.
0.3.1
Changed
- Pysparkplug is not compatible with the new 2.0 releasee of Paho, the underlying Python MQTT client.
0.3.0 (2024-01-13)
Added
- Pysparkplug now supports Python 3.12
Deprecated
- Pysparkplug no longer supports Python 3.7, which has reached its end of life.
0.2.0 (2023-08-23)
Added
SINGLE_LEVEL_WILDCARD
andMULTI_LEVEL_WILDCARD
wildcards for subscribing to multiple MQTT topics, conveniently typed to pass type checking
Changed
- Refactored how dependencies are entered into the package's metadata, using
hatch-requirements-txt
referencingrequirements/requirements.txt
Removed
- Removed
Topic.to_string()
, since users should just usestr(topic)
.
Fixed
- Explicitly making
MetricValue
available from the top-level package, resolving any type annotation issues. - Fixed bug with implementation of
StrEnum
that resulted in enums not converting correctly to string. This resulted in topics not rendering to string correctly, since themessage_type
attribute wasMessageType
, an instance ofStrEnum
. - Fixed bug with topic component validation, which was using the wrong wildcard constants
"#*"
instead of the correct"#+"
.
0.1.0 (2023-08-13)
Added
Client
low-level MQTT clientClientOptions
class of optional settings for an MQTT clientConnackCode
MQTT Connection Acknowledgement codesDBirth
class representing a DBirth payloadDCmd
class representing a DCmd payloadDData
class representing a DData payloadDDeath
class representing a DDeath payloadDataType
enumeration of Sparkplug B datatypesDevice
class representing a Device in Sparkplug BEdgeNode
class representing an EdgeNode in Sparkplug BErrorCode
MQTT error codesMQTTError
Error from MQTT clientMQTTProtocol
MQTT protocol enumMessage
class representing a Sparkplug B messageMessageType
Sparkplug B message type enumMetric
class representing a Sparkplug B metricMetricValue
type alias for the Python type of the value of a Sparkplug B metricNBirth
class representing a NBirth payloadNCmd
class representing a NCmd payloadNData
class representing a NData payloadNDeath
class representing a NDeath payloadQoS
MQTT quality of service enumState
class representing a State payloadTLSConfig
TLS configuration classTopic
class representing a Sparkplug B topicTransport
MQTT transort enumWSConfig
Websockets configuration classget_current_timestamp
returns current time in a Sparkplug B compliant format