I thought I was pretty clued up on [Semantic Versioning](http://semver.org/) but this one change has made me unsure on what is the expected version change:

The original code:

```
if (result.error) {
  return callback(result.error);
}

```

The new code:

```
if (result.error) {
  result.error.message = `${result.error.message} on ${self.tableName()}`;
  return callback(result.error);
}

```

I'm thinking this change could be classed as a `patch`, `minor` or as a `major` change. The three scenarios:

1. `patch`: the callback is still receiving an `Error` object. The `Error` object still has a `message` property and that property is still a `String`.
2. `minor`: a consumer may be relying on the contents of the `message` property, looking for a part of the string. This change just adds more to the end of the string, therefore is just additive.
3. `major`: a consumer may be relying on the contents of the `message` property and this is now a different string

I got really angry once when a library I was using didn't conform to semver in the way I was expecting. I don't want to do that to somebody else.

I'm conscious this could be viewed as a subjective/opinion based question but I'm looking for the 'correct' answer (with evidence if possible). The safest option is obviously to go for `major` but I'm looking to see if that's overkill.