My module is enabled by default (i.e. when you add the module). There's also a configuration you can optionally use, which supports an enabled="true|false" setting. This way the module can be disabled after it's been added, without the need to remove the module.

But I realized the module doesn't play nicely with another module that is also enabled by default. I am considering changing my module so it's not be enabled by default. This would break for anyone that has not explicitly enabled it with the enabled="true" configuration setting.

Should I wait for v2.0 for this? semver.org mentions the public API and breaking changes, not configuration. Is it generally accepted that configuration is part of the public API?

2 Answers 2


I would consider any change that forces a user to modify their code/configuration as a result to be a breaking change.

So, in this particular case, I would wait till v2 to introduce the default of enabled=false and would instead add a note in the next minor release that explains this known scenario, that you should explicitly set enabled=false to avoid it and that the next major release will fix it.


It's not a semantic change, so you're fine changing this (it's really not a breaking change forcing people to recompile and test). This is basically a toggle and your users have the ability to change it to suit their needs. That's why you made it configuration to begin with. You didn't change the nature of what the true/false means.

Just be nice and add it to notes that its off by default, hehe.

  • Strange definition of breaking change. Feb 5, 2012 at 22:47
  • Yeah, I may be wrong on that. Someone elses perspective may be different on what they consider a breaking change.
    – jmq
    Feb 5, 2012 at 22:54
  • 1
    -1 : Thinking this is not a breaking change indicates a lack of respect for your customers and end users. Yes they can read the documentaiton, but they won't, or won't understand the impact the change will have on them. "Sorry, when I fixed you car I though it best to move the brake to the right and accellerator to the left cause the cables were getting tangled up, didn't you read my note?...."
    – mattnz
    Feb 6, 2012 at 9:21
  • Apparently you don't know what semantic change means. A better analogy would be "Sorry, when I fixed your car I left the driver window down, you can roll it back up if you'd like". You didn't alter the meaning of the peddles in the car.
    – jmq
    Feb 6, 2012 at 15:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.