What do the labels in the issue tracker mean, exactly?

There’s a few labels in use in the Github issue tracker. This is how I use them and how they should be interpreted. In general, once an issue has a bug or enhancement label I’ve accepted it and it’s on the to do list, somewhere.

  • No label at all – I haven’t decided what this is or what to do with it yet. Bug reports will stay like this until I can reproduce them, feature requests until I understand the request, etc.

  • bug – Something that should work differently that it does and will be fixed.

  • enhancement – An improvement or new feature that should be implemented, but not something that is broken (that would be a bug).

  • far-future – Like enhancement, but either very complicated, a large amount of work or very low priority. It’s kind of on the todo list, but don’t expect it to happen any time soon. It could be a long term goal that we might work towards in baby steps.

  • protocol – An issue to do with the protocol spec.

  • wontfix – An enhancement that I’ve decided not to do. This has two “branches”. If the issue is still open, I think it’s a valid enhancement that could be done, I’ve just decided not to do it myself. If someone files a pull request with the enhancement I’ll be happy to accept it. If the issue is closed I consider it something that should not be implemented in syncthing and would probably not welcome a pull request.

  • duplicate – This is a duplicate of another issue.

  • invalid – The premise of the issue is wrong; perhaps a bug report that was due to a problem not in syncthing, or a misunderstanding of some kind.

  • question – An issue that was opened just to ask something about the code or discuss something; not something that results in an action.

Labels are not set in stone. Every mind can be changed now and then, including mine, so things might move from enhancement to far-future to wontfix back to enhancement depending on discussion etc.

I use the same labels for issues in syncthing-android, with one addition:

  • upstream - An issue that has to be resolved in syncthing, not in the Android app.