A user on IRC reported issues with registering classes for UDTs. To investigate, I created a keyspace, user-defined type, and table like so:
and then tested out registering a class for the UDT:
Unexpectedly, the UDT values come back as named tuples. It doesn't seem to make a difference if the statement is prepared or not. What's strange is that tests/integration/standard/test_udts.py covers this and the tests pass.
I can add a warning for 2.6. The real answer is protocol version negotiation. There are a number of problems that come up when using C* 2.1 features with protocol version 2.
I don't view this as an important thing to write an automated test around. I think it should be sufficient to run a quick one-time manual test.
Tested by connecting and registering a type with protocol_version 2, then 3.
Verified that expected warning is output when connected with v2.