Extend deprecation/change policy

Background

The current policy on removing or replacing something that already exists in railML 3 is:

Changes may lead to elements or attributes being deprecated. Elements and attributes that are deprecated in one minor version will be removed in the following minor version. Compatibility is only guaranteed between one minor version and the next.

This does not cover changes that do not involve removing something, but instead modifying something that already exists:

  • Renaming elements, attributes or enumeration values (includes changing between UPPERCASE and lowercase)
  • Changing the minOccurs or maxOccurs of an element
  • Changing the use of an attribute (optional or mandatory)
  • Changing between xs:sequence, xs:choice and xs:all
  • Possibly more?

Suggested solution

https://download.railml.org/events/conferences/railml_45th_virtual/2024-06-06_railml-nygreen_common

Edited by CO Onto