Description
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