A financial-services team maintains a versioned change log for its production credit-risk model. The model currently in production is tagged v2.1.3 using the semantic MAJOR.MINOR.PATCH scheme. For the next release the team
replaces the existing logistic-regression classifier with a gradient-boosting ensemble,
removes two input features that are no longer created upstream, and
changes the inference REST endpoint so it now receives a 23-element JSON array instead of the previous 25-element array.
No other components are modified. Which version identifier should the team record in the change description to accurately reflect the scope of this update to downstream consumers?
Semantic versioning dictates that the MAJOR component must be incremented whenever a change introduces backward-incompatible behavior-such as altering the expected input schema or fundamentally replacing the underlying model architecture. Dropping two features changes the size of the required input array, so applications built for the older 25-field contract will break unless they are updated. In addition, moving from logistic regression to gradient boosting constitutes a significant architectural shift. Because these updates are not backward-compatible, the appropriate tag is a new major version (3.0.0). Minor (2.2.x) or patch (2.1.x) increments are reserved for backward-compatible enhancements or bug fixes, so any identifier that leaves the leading '2' in place would misrepresent the impact of the change.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What is semantic versioning?
Open an interactive chat with Bash
Why was the version updated to 3.0.0 instead of 2.2.0?
Open an interactive chat with Bash
What are some examples of backward-incompatible changes in software development?