You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "Zoltan Ivanfi (JIRA)" <ji...@apache.org> on 2018/05/22 12:13:00 UTC

[jira] [Comment Edited] (PARQUET-1295) Parquet libraries do not follow proper semantic versioning

    [ https://issues.apache.org/jira/browse/PARQUET-1295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16483843#comment-16483843 ] 

Zoltan Ivanfi edited comment on PARQUET-1295 at 5/22/18 12:12 PM:
------------------------------------------------------------------

I agree with [~vrozov], in fact I used the same argument [on the mailing list|https://lists.apache.org/thread.html/7db8ec906b29c917d70120fab78382cdfb2406c4188f10829933ed87@%3Cdev.parquet.apache.org%3E]:

{quote}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.
{quote}

[~vrozov], regarding your comment:

{quote}
That information is hidden somewhere in the pom file.
{quote}

It's actually even worse than that. The exclusions are only added to the pom file when a breaking change is made, so even that list is unsuitable for determining whether something is considered internal, as it only contains those parts of the internal API that we already broke.


was (Author: zi):
I agree with [~vrozov], in fact I used the same argument [on the mailing list|https://lists.apache.org/thread.html/7db8ec906b29c917d70120fab78382cdfb2406c4188f10829933ed87@%3Cdev.parquet.apache.org%3E].

{quote}That information is hidden somewhere in the pom file.{quote}

It's actually even worse than that. The exclusions are only added to the pom file when a breaking change is made, so even that list is unsuitable for determining whether something is considered internal, as it only contains those parts of the internal API that we already broke.

> Parquet libraries do not follow proper semantic versioning
> ----------------------------------------------------------
>
>                 Key: PARQUET-1295
>                 URL: https://issues.apache.org/jira/browse/PARQUET-1295
>             Project: Parquet
>          Issue Type: Bug
>            Reporter: Vlad Rozov
>            Priority: Major
>
> There are changes between 1.8.0 and 1.10.0 that break API compatibility. A minor version change is supposed to be backward compatible with 1.9.0 and 1.8.0.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)