numbas / numbas/editor

Tools for dealing with breaking changes in the Numbas runtime and extensions

Open
#708 0 comments 0 reactions 0 assignees View on GitHub
feature to do
Dominant language
JavaScript
Stars
60
Forks
62
PR merge metrics
No merged PRs in 30d

Description

It's frustrating when a change in a new version of Numbas, or an extension, breaks content that used to work.

At the moment, the only thing to do is to change questions to work with the latest version. When you're on a short time scale, such as reusing an exam from last year, this isn't necessarily possible.

A short-term solution would be to choose to compile an exam with an older version of the Numbas runtime (or older versions of extensions).

How would you select this? A "version to use" drop-down in the Settings tab? How do you reconcile different versions specified by questions used in the same exam?

Could editor items record a range of Numbas versions that they work with? As with any metadata, there's a risk that it would become out of date, or not set often enough to be useful.

Need to consider that the compiler doesn't accept unexpected command-line switches, so after a new switch is added, the compilation method would have to know which switches each version supports.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the Settings tab and the compilation method, focusing on how runtime and extension versions are currently selected and which compiler switches each version supports. Define how an older version would be chosen, how conflicting question versions would be reconciled, and how compatibility metadata would remain useful. Done means the project has an agreed, implementable design for these cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.