[Subject changed]

On Tue, Apr 21, 2015 at 8:47 PM, Josh Elser <josh.el...@gmail.com> wrote:

> I was a little surprised when I noticed method additions to
> InterfaceAudience.Public annotated classes. This means that a user could
> write code against 1.0.1 that would not work against 1.0.0 which seems
> undesirable for a bugfix release. I read over the book section on
> compatibility and didn't see this addressed, so I thought I'd ask.


Let's clarify this. It's not the first time this question has been asked.

To get things moving:

I propose the following addition to the "Client API compatibility" section
of Section 11.1:

+ APIs available in a patch version will be available in all later
+ patch versions. However, new APIs may be added which will not be
+ available in earlier patch versions.

I propose the following change to the "Client Binary compatibility" section
of Section 11.1:

- Old client code can run unchanged (no recompilation needed) against new
jars.
+ Client code written to APIs available in a given patch release
+ can run unchanged (no recompilation needed) against the new
+ jars of later patch versions.


What do you think?

If these changes are (mostly) ok, then this clarifies in one direction.

If these changes are not acceptable, I will propose edits that clarify
toward the opposite meaning. ​


-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

Reply via email to