Thanks. I'm aware of the tag prefixes and will probably use them when upgrading my st2 compatible packages. Most of my packages have always required st3. As far as I know there's no way to use tag prefixes to distinguish between two different st3 versions. I'm not sure it's even worth the hassle though.
I'm mainly concerned about how existing users are affected by version bumps. I'm fine with telling users that for new features and fixes they need to upgrade to the latest ST version. I'm conscious of the difference between the dev builds and the general releases too. There has really only been one general release: 3143. I'm going to try to keep my version bumps to the general release versions, because it's not fair to be asking users to upgrade to dev builds.
So right now I want to start bumping my packages that already require st3 up to require a minimum of 3143. I think that's pretty fair. This should really be the minimum version that st3 users should be using.
With each new general release I'll be looking to bump some packages when I want to take advantage of the new features without the maintenance overhead of keeping it backwards compatible. The new color scheme format is a good example. It's just not worth maintaining two formats. So on the next general release I'll be looking to bump the version requirement, convert to the new format, and remove the old one, and be done with it. At this point, I think 3143 is good minimum requirement for most st3 only packages.