I should clarify, if a feature is big enough, or there are many new additions, then I might bump the version and include the changes in the next release. However, to be clear, I don't think this is one of those changes.
Additionally, I handle schema (XSD) versioning a little bit differently in SDG. That is, I actually bump the version of the XSD with every version change of SDG regardless of whether changes are actually made to the schema(s). But then, in *Spring*, users have the ability to specify a schema in an, unqualified, un-versioned manner, such as... <beans xmlns="http://www.springframework.org/schema/beans" xmlns:gfe="http://www.springframework.org/schema/gemfire" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd "> Rather than... <beans xmlns="http://www.springframework.org/schema/beans" xmlns:gfe="http://www.springframework.org/schema/gemfire" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/*spring-gemfire-1.9.xsd* "> This allows the developer to always use the latest, most up-to-date version of the XSD without making changes to their application, unless it causes them issues, then they can are free to declare a specific version as needed. This is accomplished by this file <https://github.com/spring-projects/spring-data-gemfire/blob/1.9.3.RELEASE/src/main/resources/META-INF/spring.schemas#L11> [1] that the core *Spring* container uses to resolve the URIs referencing the XSDs, including the unqualified (un-versioned) XSD. This might be worthwhile for Apache Geode to do as it saves the user a lot of headaches when upgrading. [1] https://github.com/spring-projects/spring-data-gemfire/blob/1.9.3.RELEASE/src/main/resources/META-INF/spring.schemas#L11 On Wed, May 3, 2017 at 11:31 AM, John Blum <jb...@pivotal.io> wrote: > Hi Bruce- > > The general rule of thumb I use in SDG is that an XSD may be changed iff > it is only introducing something new and non-required. > > For example, a new element to add configuration support via XML that did > not exist before, but is not required (e.g. configuring the snapshot > service). > > Another example might be adding an attribute to an existing element where > again, the attribute is not required (i.e. optional), or provides a default > value. > > Adding required elements/attributes, removing existing elements/attributes > or changing types is a breaking change and will affect existing users XML > document instances based on that XSD version, in which case, you will need > to roll the version with a new XSD (e.g. cache-1.1.xsd or cache-2.0.xsd). > > Just glancing at this PR... > > <xsd:attribute name="socket-connect-timeout" type="xsd:string" use=" > optional" /> > > If that was the only schema change, then it should not cause an issue for > existing XML documents based on cache-1.0.xsd. The "use" is "optional". > > Hope this helps. > > -John > > > On Wed, May 3, 2017 at 11:12 AM, Bruce Schuchardt <bschucha...@pivotal.io> > wrote: > >> We have a pull request that includes a change to cache-1.0.xsd. It seems >> like that shouldn't be allowed and a new version of the xsd should be >> created. >> >> https://github.com/apache/geode/pull/474/files >> > > > > -- > -John > john.blum10101 (skype) > -- -John john.blum10101 (skype)