Thanks Henri. I'll drop the RC since we haven't called a vote. Probably in the AM.
Gary On Mon, Nov 3, 2025, 18:59 Henri Biestro <[email protected]> wrote: > I'll have a look at this momentarily. > Before we cut 3.6, I need to commit a few changes wrt switch/JEXL-440 > anyway. > Cheers > > On 2025/11/02 13:14:55 Gary Gregory wrote: > > Hi All, and Henri B in particular: > > > > (By user request), I was about to cut a release candidate for 3.6.0 BUT: > > > > There is a binary compatibility breakage in master vs. 3.5.0: > > > > - final public class org.apache.commons.jexl3.JexlFeatures > > REMOVED public static final int STRICT_STATEMENT > > > > commit c224a05a0a75b05dc19c965519d8a6424e55d4cf > > Author: Henrib <[email protected]> 2025-06-06 15:17:27 > > Committer: Henrib <[email protected]> 2025-06-06 15:17:27 > > > > @@ -127,4 +127,4 @@ > > public static final int REF_CAPTURE = 24; > > - /** Captured variables are reference. */ > > - public static final int STRICT_STATEMENT = 25; > > + /** Ambiguous or strict statement allowed. */ > > + public static final int AMBIGUOUS_STATEMENT = 25; > > /** > > > > Unfortunately, this is hidden by: > > > > > <breakBuildOnBinaryIncompatibleModifications>false</breakBuildOnBinaryIncompatibleModifications> > > > > and undocumented in changes.xml. > > > > We should strive to avoid breaking binary compatibility within a major > > release, and if we do, it must be justified and documented. > > > > Please explain and/or revert. > > > > Curiously, JApiCmp complains about: > > > > - org.apache.commons.jexl3.introspection.JexlUberspect$ClassNameResolver > > REMOVED public abstract java.lang.String > resolveClassName(java.lang.String) > > > > BUT, it looks like ClassNameResolver was added since the last release, > > but is documented as added in 3.3 (@since 3.3). This must be some odd > > bug in JApiCmp, or, am I missing something? > > > > ClassConstantResolver and ConstantResolverFactory were also added, but > > not documented with @since 3.6.0. > > > > I propose: > > - RESTORE the constant STRICT_STATEMENT. What does this mean for the > > other constants in the class, like ALL_FEATURES? > > - REMOVE the property override > breakBuildOnBinaryIncompatibleModifications > > - Javadoc the new interfaces with @since > > > > Thank you, > > Gary > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
