Courier Go supports MQTT v3.1.1
Middlewares allow you to hook into lifecycle of courier client, helpful in adding loggers, tracers, metric collectors, etc.
Supports TraceID propagation using OpenTelemetry protocol, can trace spans with a simple middleware addition.
Custom Codec Support
Custom codecs allow you to easily dictate serialisation/deserialisation of Golang structs.
xDS(envoy) support allows the courier client to do client side load balancing with Control Planes like Istio.