Compression, encryption, auth: not immediately. What's the use case here? Multi-machine robots are _tricky_ to get right. Running remote controls and telemetry via the framework would be really cool, but is also tricky to tune (need really good qos controls), and needs some work to be exposed safely to the outside world.
Proper schemas/API versioning: I'm not sure what you mean by "proper schemas", but schema/API versioning is also an area I'd like to get right. I've been bit before by tests using old ros bags, before some message type was changed or topic name was moved.
Use case: Imagine a location with hundreds of autonomous mobile robots that want to share state and plans with each other to behave more optimally than if they only saw each other through their sensors. They also want to share state and telemetry with monitoring systems so that humans can maintain a fleet's healthiness and address issues proactively.
After years of working with tens of thousands of deployed robots, one of the most painful things with ROS, from my perspective, is that the message definitions are very limiting. Cannot have `null` types. In research and shorter term contexts, it doesn't really jump out as an issue, but the story for how to upgrade and deploy to large fleets without downtime or hidden compatibility pains (MD5sum anyone?) is paramount when I think about "production" ready robotics.
Swarm robots: yeah, this is a really cool, but somewhat specialized for now use case. Would love to support it.
Message definitions: ros1msg does make this a little painful. Protobuf at least lets you have differing schema versions, and will do best effort to try and do forwards compatibility. The downside - this has bit me a few times in development where I've forgotten to restart a process - it will happily deserialize with the new fields being empty.
Proper schemas/API versioning: I'm not sure what you mean by "proper schemas", but schema/API versioning is also an area I'd like to get right. I've been bit before by tests using old ros bags, before some message type was changed or topic name was moved.