Skip to content

Adding Version Exceptions

Siddhartha Kasivajhula edited this page Jan 13, 2024 · 4 revisions

When making a new release, we may be freshly (at least transitively, via a dependency) relying on libraries or APIs that were added in a recent version of Racket. In this case, we want to make sure that older versions of Racket use a version of your repo prior to the changes you are about to make. The standard way to do this in Racket is adding version exceptions.

Note: This should ideally be done before merging the fresh changes!

To do this for Qi:

  1. First, create a new "maintenance" branch from your existing main branch. For example:
$ git checkout main
$ git checkout -b v3.0-maintenance
$ git push upstream
  1. Sign in to the Racket Package Server
  2. Search for "qi" (or click into the upper right dropdown and "My packages")
  3. Open each Qi package (the detail view) in a new tab. Follow the remaining instructions for each of them, one at a time.
  4. Click "Edit this package"
  5. Scroll down to "Package Versions & Sources"
  6. Scroll all the way to the bottom of that section to the button "Add Racket version that will have a different source"
  1. Write the Racket version in the field (e.g. "8.3") and click that button
  2. It will now add the fields for the new version to the matrix. Populate these fields with the new branch you created, keeping all of the other fields the same as for the other version exceptions.
  1. Do this for all of the Qi packages
  2. If this is being done after merging your changes (ideally not), then click the account dropdown at the top right and "Rescan all of my packages."
Clone this wiki locally