Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
add comment

2 Answers

up vote 5 down vote accepted

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.

share|improve this answer
add comment

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.

share|improve this answer
    
Strange definition of breaking change. –  CodesInChaos Feb 5 '12 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 '12 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 '12 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 '12 at 15:23
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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