The fully compliant, embeddable high-performance Go MQTT v5 server for IoT, smarthome, and pubsub
MIT License
Bot releases are hidden (Show)
🥳
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.6.4...v2.6.5
Published by mochi-co 5 months ago
disconnected
by @snej in https://github.com/mochi-mqtt/server/pull/400
omitempty
to storage structs by @snej in https://github.com/mochi-mqtt/server/pull/401
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.6.3...v2.6.4
Published by mochi-co 6 months ago
Lots of good updates, with many thanks to @dgduncan @werbenhu @thedevop!
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.6.2...v2.6.3
Published by mochi-co 6 months ago
Thank you @thedevop and @werbenhu !
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.6.1...v2.6.2
Published by mochi-co 7 months ago
Thank you @werbenhu !
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.6.0...v2.6.1
Published by mochi-co 7 months ago
Be advised - this release includes a breaking change for the Docker image which may be fixed in the future.
-v $(pwd)/config.yaml:/config.yaml
.You can use File Based Configuration with either the Docker image (noted above), or by running the build binary with the --config=config.yaml
or --config=config.json
parameter.
Configuration files provide a convenient mechanism for easily preparing a server with the most common configurations. You can enable and configure built-in hooks and listeners, and specify server options and compatibilities:
listeners:
- type: "tcp"
id: "tcp12"
address: ":1883"
- type: "ws"
id: "ws1"
address: ":1882"
- type: "sysinfo"
id: "stats"
address: ":1880"
hooks:
auth:
allow_all: true
options:
inline_client: true
Please review the examples found in examples/config
for all available configuration options.
There are a few conditions to note:
If you need to implement custom hooks or listeners, please do so using the traditional manner indicated in cmd/main.go
.
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.4.6...v2.6.0
Published by mochi-co 9 months ago
Many thanks @thedevop!
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.4.5...v2.4.6
Published by mochi-co 9 months ago
A couple of small improvements, thank you @werbenhu and @thedevop! 🙂
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.4.4...v2.4.5
Published by mochi-co 10 months ago
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.4.3...v2.4.4
Published by mochi-co 10 months ago
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.4.2...v2.4.3
Published by mochi-co 11 months ago
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.4.1...v2.4.2
Published by mochi-co about 1 year ago
The weeks got away from me a bit so this release is a little overdue, but better late than never and it contains some good, minor updates.
Also lots of great work happening with feature roadmapping and project planning in https://github.com/orgs/mochi-mqtt/discussions - so have a look if you are interested to get involved! 🚀
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.4.0...v2.4.1
Published by mochi-co about 1 year ago
We've made things better, but we had to change things a bit to get there. There are two big changes in v2.4.0
:
zerolog has been replaced with the new standard library log/slog. We will miss the colours, but this will be an important step towards ecosystem standardization.
You can read about the reasons and all the hard work that went into this change in #248. Huge thanks to @dgduncan in particular for driving this change forward.
Inline Subscriptions were added. While you could previous use the server.Publish
method to directly publish messages into the broker, there was no way to receive them without creating a new client and connecting over the network. We've reworked the Inline Client
system so that you can now Subscribe
and Unsubscribe
from topic filters directly in the adjacent code - no client required.
In order to use
Publish
, you must now enabled the inline client by settingOptions.InlineClient: true
when creating your server:
server := mqtt.New(&mqtt.Options{
InlineClient: true,
})
You can learn more about how this works by reviewing the example in examples/direct/main.go, and on the README. You can read about the implementation process and discussions that surrounded this feature in #279 and #284. Again, massive thanks to @werbenhu for the work that went into this change, as well as @dgduncan and @thedevop for their thoughtful insights and code reviews.
Finally, a note of gratitude to everyone who has participated in this version, whether it is pull requests, code reviews, or just asking questions. Thank you!
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.3.0...v2.4.0
Published by mochi-co about 1 year ago
Mochi MQTT has become an organisation! 🥳
https://github.com/mochi-co/mqtt has moved to our new organisation: https://github.com/mochi-mqtt/server
See #271 for more information.
Full Changelog: https://github.com/mochi-mqtt/server/compare/v2.2.16...v2.3.0
Published by mochi-co about 1 year ago
packets.Code
errors can now be returned from OnPublish to issue an error ack. Additionally, a packets.CodeSuccessIgnore
response has been added, which will accept an incoming publish message and complete any QoS handshake, but will neither forward the incoming message to any subscribers nor retain it.This is the biggest release in a while, with many excellent contributions! Thank you everyone!
Full Changelog: https://github.com/mochi-co/mqtt/compare/v2.2.15...v2.2.16
Published by mochi-co over 1 year ago
Full Changelog: https://github.com/mochi-co/mqtt/compare/v2.2.14...v2.2.15
Published by mochi-co over 1 year ago
a/b
were able to receive messages for topic a/b/c
. Additionally allows case-insensitive share group prefixes.SPDX Annotations are used to clearly indicate the license, copyright, and contributions of each file in a machine-readable format. If you are adding a new file to the repository, please ensure it has the following SPDX header:
// SPDX-License-Identifier: MIT
// SPDX-FileCopyrightText: 2022 mochi-co
// SPDX-FileContributor: Your name or alias <[email protected]>
package name
Please ensure to add a new SPDX-FileContributor
line for each contributor to the file. Refer to other files for examples. Please remember to do this, your contributions to this project are valuable and appreciated - it's important to receive credit!
You are requested to open a new PR adding your SPDX-FileContributor lines to the files where you have forgotten to do so!
Full Changelog: https://github.com/mochi-co/mqtt/compare/v2.2.13...v2.2.14
Published by mochi-co over 1 year ago
error
type. This value is used by server.attachClient
to halt the client connection process if the value is not nil.Use another server
or Server moved
), and packet properties (server address) from within OnConnect, and return a relevant packets.Code to halt the client connection.func (cl *Client) WritePacket(pk packets.Packet) error
from any hook.Full Changelog: https://github.com/mochi-co/mqtt/compare/v2.2.12...v2.2.13
Published by mochi-co over 1 year ago
Full Changelog: https://github.com/mochi-co/mqtt/compare/v2.2.11...v2.2.12
Published by mochi-co over 1 year ago
Full Changelog: https://github.com/mochi-co/mqtt/compare/v2.2.10...v2.2.11