Skip to main content
Version: 2026-09-21 (current)

Versions

A hosted tool has one draft and any number of published versions.

  • The draft is the code you are working on. Every build in the AI Builder and every Upload Code replaces it, and the previous draft is gone — there is no history of drafts. The Sandbox runs the draft. No course ever does.
  • A published version is a permanent, numbered copy of the draft: 1, 2, 3, and so on. A single number, not major.minor.patch. Publishing records the draft as the next number; the draft itself is unchanged and you keep working on it. A version can never be edited or deleted — a fix is the next number.
  • The current version is the one you published most recently. It is what a course gets when it adopts your tool.

Publishing is refused when the draft has not changed since the last version, so a version is always a real change.

How courses adopt a version​

When an instructor adds your tool to a course, the course pins to the current version, and keeps it. From then on every launch in that course runs that version — through the whole term, and in every term the course is copied into.

Publishing a new version does not change any course. Courses are never upgraded automatically, not when you publish and not when a course rolls forward into a new semester. The instructor signed up for a specific set of features; swapping them out under a running course would be disruptive, and most universities value stability and consistency over new features. Upgrading is strictly opt-in: when a newer version exists, the instructor is offered the upgrade when they launch the tool, and the course moves to it only when they accept.

So at any moment several courses can be running several versions of your tool, and that is normal. Two consequences for your code:

  • Read what older versions wrote. A course that upgrades keeps its stored api.storage rows, so new code must accept the shapes earlier code saved. Add fields with defaults; don't rename or repurpose them.
  • Keep handling old locations. A retired location is still placed in courses on older versions.

Pinning a course to the draft​

Normally only the Sandbox runs the draft. If you have a real course of your own — a class you teach, say — you can ask for it to be pinned to the draft instead of a version, which turns it into a second testing course that runs your latest build. Ask the MyEducator team to set that up.

In practice​

  1. Build and test in the Sandbox until the draft is right.
  2. Publish. The draft becomes version n, and new courses adopt it from now on.
  3. Keep building. The draft moves on; version n does not.
  4. Fix a problem in a published version by publishing the fix as n+1. Instructors on n are offered it at their next launch.