amqtt/docs/changelog.md

143 wiersze
7.6 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Changelog
## 0.11.2
- config-file based plugin loading [PR #240](https://github.com/Yakifo/amqtt/pull/240)
- dockerfile build update to support psutils [PR #239](https://github.com/Yakifo/amqtt/pull/239)
- pass client session info to event callbacks [PR #241](https://github.com/Yakifo/amqtt/pull/241)
- Require at least one auth [PR #244](https://github.com/Yakifo/amqtt/pull/244)
- improvements in retaining messages [PR #248](https://github.com/Yakifo/amqtt/pull/248)
- updating docker compose with resource limits [PR #253](https://github.com/Yakifo/amqtt/pull/253)
- improve static type checking for plugin's `Config` class [PR #249](https://github.com/Yakifo/amqtt/pull/249)
- broker shouldn't allow clients to publish to '$' topics [PR #254](https://github.com/Yakifo/amqtt/pull/254)
- publishing to a topic with `*` is allowed, while `#` and `+` are not [PR #251](https://github.com/Yakifo/amqtt/pull/251)
- updated samples; plugin config consistency (yaml and python dict) [PR #252](https://github.com/Yakifo/amqtt/pull/252)
- add cpu, mem and broker version to dashboard [PR #257](https://github.com/Yakifo/amqtt/pull/257)
- [Issue 246](https://github.com/Yakifo/amqtt/issues/246) don't retain QoS 1 or 2 messages if client connects with clean session true
- [Issue 175](https://github.com/Yakifo/amqtt/issues/175) plugin examples
- [Issue 81](https://github.com/Yakifo/amqtt/issues/81) Abstract factory for plugins
- [Issue 74](https://github.com/Yakifo/amqtt/issues/74) 模拟500个客户端并发连接broker。
- [Issue 60](https://github.com/Yakifo/amqtt/issues/60) amqtt server not relaying traffic
- [Issue 31](https://github.com/Yakifo/amqtt/issues/31) Plugin config in yaml file not under - plugins entry
- [Issue 27](https://github.com/Yakifo/amqtt/issues/27) don't retain messages from anonymous clients
- [Issue 250](https://github.com/Yakifo/amqtt/issues/250) client doesn't prevent publishing to wildcard topics
- [Issue 245](https://github.com/Yakifo/amqtt/issues/245) prevent clients from publishing to `$` topics
- [Issue 196](https://github.com/Yakifo/amqtt/issues/196) proposal: enhancement to broker plugin configuration
- [Issue 187](https://github.com/Yakifo/amqtt/issues/187) anonymous login allowed even if plugin isn't enabled
- [Issue 123](https://github.com/Yakifo/amqtt/issues/123) Messages sent to mqtt can be consumed in time, but they occupy more and more memory
## 0.11.1
- [PR #226](https://github.com/Yakifo/amqtt/pull/226) Consolidate super classes for plugins
- [PR #227](https://github.com/Yakifo/amqtt/pull/227) Update sample files
- [PR #229](https://github.com/Yakifo/amqtt/pull/229) & [PR #228](https://github.com/Yakifo/amqtt/pull/228) Broken pypi and test.amqtt.io links
- [PR #232](https://github.com/Yakifo/amqtt/pull/234) $SYS additions for cpu & mem.
## 0.11.0
- upgrades to support python 3.10, 3.11, 3.12 and 3.13
- complete type hinting of the entire codebase
- linting with ruff, pylint and mypy to keep the codebase consistent in format and structure
- github workflow CI of linting before pull requests can be merged
- run linting with git pre-commit hooks
- add docker container
- switch to discord
- updates to community contribution guidance, code of conduct, etc.
- overhaul of the documentation, including move to mkdocs with the materials UI
- updated plugin documentation and full docs for the broker/client configuration
- updated doc strings and cli help messages, including auto generation of those aspects into the docs
- [Issue #215](https://github.com/Yakifo/amqtt/issues/215) test_sys.py fails on github, but not locally
- [Issue #210](https://github.com/Yakifo/amqtt/issues/210) NoDataError thrown instead of ConnectError when client fails authentication
- [Issue #199](https://github.com/Yakifo/amqtt/issues/199) will message being sent even if client properly disconnects
- [Issue #180](https://github.com/Yakifo/amqtt/issues/180) plugin broker sys: incorrect uptime topic
- [Issue #178](https://github.com/Yakifo/amqtt/issues/178) consolidate broker configuration documentation
- [Issue #170](https://github.com/Yakifo/amqtt/issues/170) compatibility test cases: paho-mqtt
- [Issue #159](https://github.com/Yakifo/amqtt/issues/159) Client last will (LWT) example and documentation
- [Issue #157](https://github.com/Yakifo/amqtt/issues/157) loop = asyncio.get_event_loop() is deprecated
- [Issue #154](https://github.com/Yakifo/amqtt/issues/154) broker rejects connect with empty will message
- [Issue #144](https://github.com/Yakifo/amqtt/issues/144) Allow amqtt.client.MQTTClient to always reconnect via config
- [Issue #105](https://github.com/Yakifo/amqtt/issues/105) Add stack traces to logging
- [Issue #95](https://github.com/Yakifo/amqtt/issues/95) asyncio.get_event_loop() deprecated in Python 3.10
- [Issue #94](https://github.com/Yakifo/amqtt/issues/94) test matrix for dependencies
- [Issue #70](https://github.com/Yakifo/amqtt/issues/70) event and plugin documentation
- [Issue #67](https://github.com/Yakifo/amqtt/issues/67) MQTTClient fails to raise appropriate exception if URI is broken
- [Issue #51](https://github.com/Yakifo/amqtt/issues/51) failing plugin kills the broker
- [Issue #48](https://github.com/Yakifo/amqtt/issues/48) Setup unit tests running against different versions of dependencies
- [Issue #35](https://github.com/Yakifo/amqtt/issues/35) plugin interface and optimization
## 0.10.2
- create the necessary .readthedocs.yaml to generate sphinx docs from the 0.10.x series
## 0.10.1
- First release under new package name: amqtt
- Reworked unit tests
- Dropped support for python3.5 and earlier
- Added support for python3.8 and 3.9
- Pass in loop to PluginManager, from [PR #126](https://github.com/beerfactory/hbmqtt/pull/126)
- Fixes taboo topic checking without session username, from [PR #151](https://github.com/beerfactory/hbmqtt/pull/151)
- Move scripts module into hbmqtt module, from [PR #167](https://github.com/beerfactory/hbmqtt/pull/167)
- Download mosquitto certificate on the fly
- Importing `hbmqtt` is deprecated, use `amqtt`
- Security fix: If an attacker could produce a KeyError inside an authentication plugin, the authentication was accepted instead of rejected
## 0.9.5
- fixes: [milestone 0.9.5](https://github.com/njouanin/hbmqtt/milestone/11?closed=1)
- fixes: [milestone 0.9.3](https://github.com/njouanin/hbmqtt/milestone/10?closed=1)
## 0.9.2
- fixes: [milestone 0.9.2](https://github.com/beerfactory/hbmqtt/milestone/9?closed=1)
## 0.9.1
- See commit log
## 0.9.0
- fixes: [milestone 0.9.0](https://github.com/beerfactory/hbmqtt/milestone/8?closed=1)
- improve plugin performance
- support Python 3.6
- upgrade to `websockets` 3.3.0
## 0.8.0
- fixes: [milestone 0.8.0](https://github.com/njouanin/hbmqtt/milestone/7?closed=1)
## 0.7.3
- fix deliver message client method to raise TimeoutError ([#40](https://github.com/beerfactory/hbmqtt/issues/40))
- fix topic filter matching in broker ([#41](https://github.com/beerfactory/hbmqtt/issues/41))
Version 0.7.2 has been jumped due to troubles with pypi...
## 0.7.1
- Fix [duplicated $SYS topic name](https://github.com/beerfactory/hbmqtt/issues/37)
## 0.7.0
- Fix a [series of issues](https://github.com/beerfactory/hbmqtt/issues?q=milestone%3A0.7+is%3Aclosed) reported by [Christoph Krey](https://github.com/ckrey)
## 0.6.3
- Fix issue [#22](https://github.com/beerfactory/hbmqtt/issues/22)
## 0.6.2
- Fix issue [#20](https://github.com/beerfactory/hbmqtt/issues/20) (`mqtt` subprotocol was missing)
- Upgrade to `websockets` 3.0
## 0.6.1
- Fix issue [#19](https://github.com/beerfactory/hbmqtt/issues/19)
## 0.6
- Added compatibility with Python 3.5
- Rewritten documentation
- Add command-line tools `amqtt`, `amqtt_pub` and `amqtt_sub`