Hi,

In recent weeks several breaking changes have been discovered in minor
Parquet releases:

* https://issues.apache.org/jira/browse/PARQUET-1295
* https://issues.apache.org/jira/browse/PARQUET-1304
* https://issues.apache.org/jira/browse/PARQUET-1305

Parquet uses semantic versioning. As a library, it should take extra
care not to break its public API in minor releases. This also applies
to publicly accessible classes and methods that are considered
internal if this "internalness" is not properly documented. It is
tempting to dismiss these cases with the reasoning that they were not
intended to be public in the first place, but from an API consumer's
point of view, this "leaked" API is indistinguishable from the "real"
API. Currently the information of what is public and what is internal
is undocumented and only known to a few Parquet developers.

Until API consumers have a way to determine the intended target
audience of our classes and methods, we should pay more attention to
keeping our leaked internal API backwards-compatible as well. Gabor
posted some suggestions for doing so in
https://issues.apache.org/jira/browse/PARQUET-1295. Please join the
discussion there and let us know your opinions.

Thanks,

Zoltan

Reply via email to