prepare for 0.11.3 release (#292)

* updating docs, version # and changelog for release 0.11.3
pull/293/head^2
Andrew Mirsky 2025-08-10 18:08:52 -04:00 zatwierdzone przez GitHub
rodzic 0d678dfa7c
commit b4d58c9130
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
9 zmienionych plików z 60 dodań i 8 usunięć

Wyświetl plik

@ -1,7 +1,7 @@
# Image name and tag # Image name and tag
IMAGE_NAME := amqtt IMAGE_NAME := amqtt
IMAGE_TAG := latest IMAGE_TAG := latest
VERSION_TAG := 0.11.3-rc.1 VERSION_TAG := 0.11.3
REGISTRY := amqtt/$(IMAGE_NAME) REGISTRY := amqtt/$(IMAGE_NAME)
# Platforms to build for # Platforms to build for

Wyświetl plik

@ -14,10 +14,21 @@
## Features ## Features
- Full set of [MQTT 3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html) protocol specifications - Full set of [MQTT 3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html) protocol specifications
- Communication over TCP and/or websocket, including support for SSL/TLS - Communication over multiple TCP and/or websocket ports, including support for SSL/TLS
- Support QoS 0, QoS 1 and QoS 2 messages flow - Support QoS 0, QoS 1 and QoS 2 messages flow
- Client auto-reconnection on network lost - Client auto-reconnection on network lost
- Custom functionality expansion; plugins included: authentication, `$SYS` topic publishing, session persistence
- Plugin framework for functionality expansion; included plugins:
- `$SYS` topic publishing
- AWS IOT-style shadow states
- x509 certificate authentication (including cli cert creation)
- Secure file-based password authentication
- Configuration-based topic authorization
- MySQL, Postgres & SQLite user and/or topic auth (including cli manager)
- External server (HTTP) user and/or topic auth
- LDAP user and/or topic auth
- JWT user and/or topic auth
- Fail over session persistence
## Installation ## Installation

Wyświetl plik

@ -1,3 +1,3 @@
"""INIT.""" """INIT."""
__version__ = "0.11.3-rc.1" __version__ = "0.11.3"

Wyświetl plik

@ -217,6 +217,9 @@ class BufferWriter(WriterAdapter):
This adapter simply adapts writing to a byte buffer. This adapter simply adapts writing to a byte buffer.
""" """
def get_ssl_info(self) -> ssl.SSLObject | None:
return None
def __init__(self, buffer: bytes = b"") -> None: def __init__(self, buffer: bytes = b"") -> None:
self._stream = io.BytesIO(buffer) self._stream = io.BytesIO(buffer)

Wyświetl plik

@ -1,5 +1,29 @@
# Changelog # Changelog
## 0.11.3
* Structural elements for the 0.11.3 release https://github.com/Yakifo/amqtt/pull/265
* Release Candidate Branch for 0.11.3 https://github.com/Yakifo/amqtt/pull/272
* update the configuration for the broker running at test.amqtt.io https://github.com/Yakifo/amqtt/pull/271
* Improved broker script logging https://github.com/Yakifo/amqtt/pull/277
* test.amqtt.io dashboard cleanup https://github.com/Yakifo/amqtt/pull/278
* Structured broker and client configurations https://github.com/Yakifo/amqtt/pull/269
* Determine auth & topic access via external http server https://github.com/Yakifo/amqtt/pull/262
* Plugin: authentication against a relational database https://github.com/Yakifo/amqtt/pull/280
* Fixes #247 : expire disconnected sessions https://github.com/Yakifo/amqtt/pull/279
* Expanded structure for plugin documentation https://github.com/Yakifo/amqtt/pull/281
* Yakifo/amqtt#120 confirms : validate example is functioning https://github.com/Yakifo/amqtt/pull/284
* Yakifo/amqtt#39 : adding W0718 'broad exception caught' https://github.com/Yakifo/amqtt/pull/285
* Documentation improvement for 0.11.3 https://github.com/Yakifo/amqtt/pull/286
* Plugin naming convention https://github.com/Yakifo/amqtt/pull/288
* embed amqtt into an existing server https://github.com/Yakifo/amqtt/pull/283
* Plugin: rebuild of session persistence https://github.com/Yakifo/amqtt/pull/256
* Plugin: determine authentication based on X509 certificates https://github.com/Yakifo/amqtt/pull/264
* Plugin: device 'shadows' to bridge device online/offline states https://github.com/Yakifo/amqtt/pull/282
* Plugin: authenticate against LDAP server https://github.com/Yakifo/amqtt/pull/287
* Sample: broker and client communicating with mqtt over unix socket https://github.com/Yakifo/amqtt/pull/291
* Plugin: jwt authentication and authorization https://github.com/Yakifo/amqtt/pull/289
## 0.11.2 ## 0.11.2
- config-file based plugin loading [PR #240](https://github.com/Yakifo/amqtt/pull/240) - config-file based plugin loading [PR #240](https://github.com/Yakifo/amqtt/pull/240)

Wyświetl plik

@ -7,10 +7,20 @@
## Features ## Features
- Full set of [MQTT 3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html) protocol specifications - Full set of [MQTT 3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html) protocol specifications
- Communication over TCP and/or websocket, including support for SSL/TLS - Communication over multiple TCP and/or websocket ports, including support for SSL/TLS
- Support QoS 0, QoS 1 and QoS 2 messages flow - Support QoS 0, QoS 1 and QoS 2 messages flow
- Client auto-reconnection on network lost - Client auto-reconnection on network lost
- Custom functionality expansion; plugins included: authentication, `$SYS` topic publishing, session persistence - Plugin framework for functionality expansion; included plugins:
- `$SYS` topic publishing
- AWS IOT-style shadow states
- x509 certificate authentication (including cli cert creation)
- Secure file-based password authentication
- Configuration-based topic authorization
- MySQL, Postgres & SQLite user and/or topic auth (including cli manager)
- External server (HTTP) user and/or topic auth
- LDAP user and/or topic auth
- JWT user and/or topic auth
- Fail over session persistence
## Installation ## Installation

Wyświetl plik

@ -20,7 +20,7 @@ classifiers = [
"Programming Language :: Python :: 3.13" "Programming Language :: Python :: 3.13"
] ]
version = "0.11.3-rc.1" version = "0.11.3"
requires-python = ">=3.10.0" requires-python = ">=3.10.0"
readme = "README.md" readme = "README.md"
license = { text = "MIT" } license = { text = "MIT" }

Wyświetl plik

@ -1,6 +1,7 @@
import contextlib import contextlib
import logging import logging
import asyncio import asyncio
import ssl
from asyncio import StreamWriter, StreamReader, Event from asyncio import StreamWriter, StreamReader, Event
from functools import partial from functools import partial
from pathlib import Path from pathlib import Path
@ -76,6 +77,9 @@ class UnixStreamWriterAdapter(WriterAdapter):
with contextlib.suppress(AttributeError): with contextlib.suppress(AttributeError):
await self._writer.wait_closed() await self._writer.wait_closed()
def get_ssl_info(self) -> ssl.SSLObject | None:
pass
async def run_broker(socket_file: Path): async def run_broker(socket_file: Path):

Wyświetl plik

@ -129,7 +129,7 @@ wheels = [
[[package]] [[package]]
name = "amqtt" name = "amqtt"
version = "0.11.3rc1" version = "0.11.3"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "aiohttp" }, { name = "aiohttp" },