You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Third-party runtimes seem to be sensitive to the version of bytecode emitted, but it is not always obvious what version of Inklecate is needed for that. In a particular downstream situation (y-lohse/inkjs#217) using 0.8.2 results in bytecode that is too new, while 0.8.1 works. In the current state it is easy for an update to break compatibility (to be expected) but the resulting confusion of "which version should I use?" is not good for prospective new users.
I have recommended that downstream mention the most recent known-good version. I also recommend that any other third party implementations do this, although they seem to want to write it off as a "maintenance issue."
Upstream (here), inklecate should probably carry a version stamp. Most software does, so including a line that looks something like:
Version scraping can be automated easily, but how to integrate the stamping is something I don't know about (since I don't use the MS IDE.)
git describe $(git rev-parse HEAD) will respond with the closest tag, so the usual tagged release works out. Non-release versions end up with names like "sometag~commitsbehind" but usually projects just go with the commit hash git rev-parse HEAD for unreleased editions.
I might be able to fiddle a script together to go through recent releases, compile a sample script and check the ink version. The result of that can at least go in to a simple markdown file (doesn't solve the -h situation, but does solve discoverability.)
Thoughts?
The text was updated successfully, but these errors were encountered:
Yeah, adding the official release version + the save version to the inklecate binary sounds like a sensible thing to do.
I have a set of helper scripts that I use when I want to do a new ink release, and I already have it prompting me for the new release number for the purpose of tagging. So what I could do is add a line to the script that injects it somewhere pre-compilation.
Third-party runtimes seem to be sensitive to the version of bytecode emitted, but it is not always obvious what version of Inklecate is needed for that. In a particular downstream situation (y-lohse/inkjs#217) using 0.8.2 results in bytecode that is too new, while 0.8.1 works. In the current state it is easy for an update to break compatibility (to be expected) but the resulting confusion of "which version should I use?" is not good for prospective new users.
I have recommended that downstream mention the most recent known-good version. I also recommend that any other third party implementations do this, although they seem to want to write it off as a "maintenance issue."
Upstream (here), inklecate should probably carry a version stamp. Most software does, so including a line that looks something like:
Version scraping can be automated easily, but how to integrate the stamping is something I don't know about (since I don't use the MS IDE.)
git describe $(git rev-parse HEAD)
will respond with the closest tag, so the usual tagged release works out. Non-release versions end up with names like "sometag~commitsbehind" but usually projects just go with the commit hashgit rev-parse HEAD
for unreleased editions.I might be able to fiddle a script together to go through recent releases, compile a sample script and check the ink version. The result of that can at least go in to a simple markdown file (doesn't solve the
-h
situation, but does solve discoverability.)Thoughts?
The text was updated successfully, but these errors were encountered: