The important part of the referenced branch is:
may discover this property from keys of the form
+ "<code><em>propertyname</em> <em>type</em></code>",
(The examples and all known implementations were already right).
The attached branch also turns the description of the serialization format into a reference to ConnectionManager's default-foo values (so we only have to explain it in one place), and recommends against using unserializable types (in practice they won't work in MC).
The branch is based on the one from #26842 but could be merged independently; it's necessary for the branch from #20774.
*** This bug has been marked as a duplicate of bug 27022 ***