Hi @grzesiek.golec, welcome to the Cayenne Community!
Thanks for the technical feedback. In doing some research I found that the latest spec is MQTT 3.1.1, superseding 3.1 in 2014. Both 3.1 and 3.1.1 are linked on the MQTT.org site.
The Server MUST allow ClientIds which are between 1 and 23 UTF-8 encoded bytes in length, and that contain only the characters
The Server MAY allow ClientId’s that contain more than 23 encoded bytes. The Server MAY allow ClientId’s that contain characters not included in the list given above.
I assume that's how we arrived at our 36 character Client IDs with hyphens in them, but I'm tagging our engineering manager @asanchezdelc1 in case he has anything more to say on this decision.