The struct codec was merged in #601, and there's a number of ways we could extend it. We'd like to ship the initial version in 0.3.0 that is sufficiently rich to encode metadata from SLiM and fwdpy11. Other features can be considered later.
@bhaller/@petrelharp and @molpopgen, would it be possible for you to try out the current struct codec, and see if it'll work for you? The docs need some work, so if you see places for improvement, please shout out.
https://tskit.readthedocs.io/en/latest/metadata.html