LilyPond Contributor's Guide: 8.3 Issue classification

## 8.3 Issue classification

We have several labels:

- Critical: normally a regression against the current stable version or the previous stable version. Alternatively, a regression against a fix developed for the current version. This does not apply where the “regression” occurred because a feature was removed deliberately – this is not a bug.

  Currently, only Critical items will block a stable release.

- Maintainability: hinders future development.
- Crash: any input which produces a crash.
- Ugly: overlapping or other ugly notation in graphical output.
- Defect: a problem in the core program. (the `lilypond` binary, scm files, fonts, etc).
- Documentation: inaccurate, missing, confusing, or desired additional info. Must be fixable by editing a texinfo, ly, or scm file.
- Build: problem or desired features in the build system. This includes the makefiles and python scripts.
- Scripts: problem or desired feature in the non-build-system scripts. Mostly used for convert-ly, lilypond-book, etc.
- Enhancement: a feature request for the core program. The distinction between enhancement and defect isn’t extremely clear; when in doubt, mark it as enhancement.
- Other: anything else.
- Regression: it used to work intentionally in the current stable release or the previous stable release. If the earlier output was accidental (i.e., we didn’t try to stop a collision, but it just so happened that two grobs didn’t collide), then breaking it does not count as a regression.

  To help decide whether the change is a regression, please adopt the following process:

  1. Are you certain the change is OK? If so, do nothing.
  2. Are you certain that the change is bad? Add it to the tracker as a regression.
  3. If you’re not certain either way, add it to the tracker as a regression but be aware that it may be recategorised or marked invalid.

  In particular, anything that breaks a regression test is a regression.

- Frog: the fix is believed to be suitable for a new contributor (does not require a great deal of knowledge about LilyPond). The issue should also have an estimated time in a comment.
- Bounty: somebody is willing to pay for the fix. Only add this tag if somebody has offered an exact figure in US dollars or euros.
- Warning: graphical output is fine, but lilypond prints a false/misleading warning message. Alternately, a warning should be printed (such as a bar line error), but was not. Also applies to warnings when compiling the source code or generating documentation.
- Performance: performance issue.

In addition, the following labels may be used when closing an issue:

- Invalid: issue should not have been added in the current state.
- Duplicate: issue already exists in the tracker.
- Shelved: issue won’t fix and was abandoned.

Assign an issue to yourself to indicate that you are currently working on it.

#### LilyPond — Contributor’s Guide v2.24.4 (stable-branch).