While testing out this tool, we've noticed that increasing the maxLength property for a String field would return API changes broke backward compatibility while decreasing the maxLength property for a String field would return a API changes are backward compatible.
Shouldn’t it be the other way round? i.e.,
Increasing the maxLength property for a String field should return API changes are backward compatible and
Decreasing the maxLength property for a String field should return API changes broke backward compatibility?
If the current behaviour is the expected behaviour we would like to understand the reasoning behind it.
Here are the snippets of the json files used for the comparison in the following 2 scenarios:
Scenario -1 : Increasing the maxLength property for a String field
oldSpec.json
"SAMPLE_FIELD": {
"type": "string",
"maxLength": 2,
"nullable": true
}
newSpec.json
“SAMPLE_FIELD: {
"type": "string",
"maxLength": 5,
"nullable": true
}
Result:
-- What's Changed --
--------------------------------------------------------------------------
- GET /SAMPLETextView
Return Type:
- Changed 200 OK
Media types:
- Changed application/json
Schema: Broken compatibility
Scenario -2 : Decreasing the maxLength property for a String field
oldSpec.json
"SAMPLE_FIELD": {
"type": "string",
"maxLength": 2,
"nullable": true
}
newSpec.json
“SAMPLE”_FIELD: {
"type": "string",
"maxLength": 1,
"nullable": true
}
Result:
-- What's Changed --
--------------------------------------------------------------------------
- GET /SAMPLETextView
Return Type:
- Changed 200 OK
Media types:
- Changed application/json
Schema: Backward compatible
Thank You
While testing out this tool, we've noticed that
increasing the maxLengthproperty for a String field would returnAPI changes broke backward compatibilitywhiledecreasing the maxLength propertyfor a String field would return aAPI changes are backward compatible.Shouldn’t it be the other way round? i.e.,
Increasing the maxLength property for a String field should return API changes are backward compatible and
Decreasing the maxLength property for a String field should return API changes broke backward compatibility?
If the current behaviour is the expected behaviour we would like to understand the reasoning behind it.
Here are the snippets of the json files used for the comparison in the following 2 scenarios:
Scenario -1 : Increasing the maxLength property for a String field
oldSpec.json
newSpec.json
Result:
Scenario -2 : Decreasing the maxLength property for a String field
oldSpec.json
newSpec.json
Result:
Thank You