v0.3.15
0.3.14's tag build failed on py3.12 (test_capabilities_envelope) because make contract ran before the version bump landed; fixed in the prior commit but the failed tag stays put per house precedent (see 0.3.11/0.3.12 in this same file) — bump instead of rewriting a pushed tag.