[VOTE] Release Compress 1.10 based on RC2

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[VOTE] Release Compress 1.10 based on RC2

Stefan Bodewig
OK, next attempt.

Compress 1.10 RC2 is available for review here:
    https://dist.apache.org/repos/dist/dev/commons/compress/
    (svn revision 7884)

Maven artifacts are here:
   https://repository.apache.org/content/repositories/orgapachecommons-1081/org/apache/commons/commons-compress/1.10/

Details of changes since 1.9 are in the release notes:
    https://dist.apache.org/repos/dist/dev/commons/compress/RELEASE-NOTES.txt
    http://people.apache.org/~bodewig/compress-1.10-RC2/changes-report.html

The tag is here:
    http://svn.apache.org/repos/asf/commons/proper/compress/tags/COMPRESS-1.10-RC2/
    (svn revision 1655959)

Site:
    http://people.apache.org/~bodewig/compress-1.10-RC2/
    (this is close but not identical to the site I'm going to deploy
    once the vote has passed.  I'll adjust the release notes and publish
    the Javadocs of 1.10.)

Clirr Report (compared to 1.9):
    http://people.apache.org/~bodewig/compress-1.10-RC2/clirr-report.html

RAT Report:
    http://people.apache.org/~bodewig/compress-1.10-RC2/rat-report.html

KEYS:
  https://www.apache.org/dist/commons/KEYS

Please review the release candidate and vote.
  This vote will close no sooner that 72 hours from now, i.e. after
  1230 GMT 02-February 2015

[ ] +1 Release these artifacts
[ ] +0 OK, but...
[ ] -0 OK, but really should fix...
[ ] -1 I oppose this release because...

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

Bruno P. Kinoshita
+1 not binding.


Build works fine with:

Maven home: /opt/apache-maven-3.2.3
Java version: 1.7.0_75, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-44-generic", arch: "amd64", family: "unix"

Site looks good too (BTW, really liked the "what's new in $version?" section).


All tests pass, no new PMD, CPD or FindBugs errors.

Thanks,
Bruno

>________________________________
> From: Stefan Bodewig <[hidden email]>
>To: [hidden email]
>Sent: Friday, January 30, 2015 10:27 AM
>Subject: [VOTE] Release Compress 1.10 based on RC2
>
>
>OK, next attempt.
>
>Compress 1.10 RC2 is available for review here:
>    https://dist.apache.org/repos/dist/dev/commons/compress/
>    (svn revision 7884)
>
>Maven artifacts are here:
>  https://repository.apache.org/content/repositories/orgapachecommons-1081/org/apache/commons/commons-compress/1.10/
>
>Details of changes since 1.9 are in the release notes:
>    https://dist.apache.org/repos/dist/dev/commons/compress/RELEASE-NOTES.txt
>    http://people.apache.org/~bodewig/compress-1.10-RC2/changes-report.html
>
>The tag is here:
>    http://svn.apache.org/repos/asf/commons/proper/compress/tags/COMPRESS-1.10-RC2/
>    (svn revision 1655959)
>
>Site:
>    http://people.apache.org/~bodewig/compress-1.10-RC2/
>    (this is close but not identical to the site I'm going to deploy
>    once the vote has passed.  I'll adjust the release notes and publish
>    the Javadocs of 1.10.)
>
>Clirr Report (compared to 1.9):
>    http://people.apache.org/~bodewig/compress-1.10-RC2/clirr-report.html
>
>RAT Report:
>    http://people.apache.org/~bodewig/compress-1.10-RC2/rat-report.html
>
>KEYS:
>  https://www.apache.org/dist/commons/KEYS
>
>Please review the release candidate and vote.
>  This vote will close no sooner that 72 hours from now, i.e. after
>  1230 GMT 02-February 2015
>
>[ ] +1 Release these artifacts
>[ ] +0 OK, but...
>[ ] -0 OK, but really should fix...
>[ ] -1 I oppose this release because...
>
>Stefan
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [hidden email]
>For additional commands, e-mail: [hidden email]
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

sebb-2-2
In reply to this post by Stefan Bodewig
I've just had a look at the new class ZCompressorInputStream.

This has lots of mutable protected fields.

For example,

    protected int clearCode = -1;
    protected int codeSize = 9;

clearCode has a protected setter, but no getter.
What's the point of that?

As far as I can tell, these are fields new to 1.10 (I could be wrong),
if so, I think they should be made private and accessed through
getters/setters.

Classes that publish mutable fields are almost impossible to test
properly and cannot be made thread-safe.


On 30 January 2015 at 12:27, Stefan Bodewig <[hidden email]> wrote:

> OK, next attempt.
>
> Compress 1.10 RC2 is available for review here:
>     https://dist.apache.org/repos/dist/dev/commons/compress/
>     (svn revision 7884)
>
> Maven artifacts are here:
>    https://repository.apache.org/content/repositories/orgapachecommons-1081/org/apache/commons/commons-compress/1.10/
>
> Details of changes since 1.9 are in the release notes:
>     https://dist.apache.org/repos/dist/dev/commons/compress/RELEASE-NOTES.txt
>     http://people.apache.org/~bodewig/compress-1.10-RC2/changes-report.html
>
> The tag is here:
>     http://svn.apache.org/repos/asf/commons/proper/compress/tags/COMPRESS-1.10-RC2/
>     (svn revision 1655959)
>
> Site:
>     http://people.apache.org/~bodewig/compress-1.10-RC2/
>     (this is close but not identical to the site I'm going to deploy
>     once the vote has passed.  I'll adjust the release notes and publish
>     the Javadocs of 1.10.)
>
> Clirr Report (compared to 1.9):
>     http://people.apache.org/~bodewig/compress-1.10-RC2/clirr-report.html
>
> RAT Report:
>     http://people.apache.org/~bodewig/compress-1.10-RC2/rat-report.html
>
> KEYS:
>   https://www.apache.org/dist/commons/KEYS
>
> Please review the release candidate and vote.
>   This vote will close no sooner that 72 hours from now, i.e. after
>   1230 GMT 02-February 2015
>
> [ ] +1 Release these artifacts
> [ ] +0 OK, but...
> [ ] -0 OK, but really should fix...
> [ ] -1 I oppose this release because...
>
> Stefan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

sebb-2-2
On 30 January 2015 at 15:41, sebb <[hidden email]> wrote:
> I've just had a look at the new class ZCompressorInputStream.

Sorry, I meant LZWInputStream

> This has lots of mutable protected fields.
>
> For example,
>
>     protected int clearCode = -1;
>     protected int codeSize = 9;
>
> clearCode has a protected setter, but no getter.
> What's the point of that?
>
> As far as I can tell, these are fields new to 1.10 (I could be wrong),
> if so, I think they should be made private and accessed through
> getters/setters.
>
> Classes that publish mutable fields are almost impossible to test
> properly and cannot be made thread-safe.
>
>
> On 30 January 2015 at 12:27, Stefan Bodewig <[hidden email]> wrote:
>> OK, next attempt.
>>
>> Compress 1.10 RC2 is available for review here:
>>     https://dist.apache.org/repos/dist/dev/commons/compress/
>>     (svn revision 7884)
>>
>> Maven artifacts are here:
>>    https://repository.apache.org/content/repositories/orgapachecommons-1081/org/apache/commons/commons-compress/1.10/
>>
>> Details of changes since 1.9 are in the release notes:
>>     https://dist.apache.org/repos/dist/dev/commons/compress/RELEASE-NOTES.txt
>>     http://people.apache.org/~bodewig/compress-1.10-RC2/changes-report.html
>>
>> The tag is here:
>>     http://svn.apache.org/repos/asf/commons/proper/compress/tags/COMPRESS-1.10-RC2/
>>     (svn revision 1655959)
>>
>> Site:
>>     http://people.apache.org/~bodewig/compress-1.10-RC2/
>>     (this is close but not identical to the site I'm going to deploy
>>     once the vote has passed.  I'll adjust the release notes and publish
>>     the Javadocs of 1.10.)
>>
>> Clirr Report (compared to 1.9):
>>     http://people.apache.org/~bodewig/compress-1.10-RC2/clirr-report.html
>>
>> RAT Report:
>>     http://people.apache.org/~bodewig/compress-1.10-RC2/rat-report.html
>>
>> KEYS:
>>   https://www.apache.org/dist/commons/KEYS
>>
>> Please review the release candidate and vote.
>>   This vote will close no sooner that 72 hours from now, i.e. after
>>   1230 GMT 02-February 2015
>>
>> [ ] +1 Release these artifacts
>> [ ] +0 OK, but...
>> [ ] -0 OK, but really should fix...
>> [ ] -1 I oppose this release because...
>>
>> Stefan
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

sebb-2-2
On 31 January 2015 at 00:10, sebb <[hidden email]> wrote:
> On 30 January 2015 at 15:41, sebb <[hidden email]> wrote:
>> I've just had a look at the new class ZCompressorInputStream.
>
> Sorry, I meant LZWInputStream

Which I just realised is mainly a copy of the internal version. Pity
the SVN history does not show this.

Given that the protected fields were in a class marked as internal, it
seems arguable that users should not have referred to any of the items
in it.
Therefore we could potentially make all the mutable protected fields
private (and add protected getters).

If we don't do that now, it won't be possible to do it later without
breaking the non-internal API.

If it is considered unsafe to make the fields private, at the very
least I think we should deprecate them and add getters instead.

So I will vote -1 for this RC.

>> This has lots of mutable protected fields.
>>
>> For example,
>>
>>     protected int clearCode = -1;
>>     protected int codeSize = 9;
>>
>> clearCode has a protected setter, but no getter.
>> What's the point of that?
>>
>> As far as I can tell, these are fields new to 1.10 (I could be wrong),
>> if so, I think they should be made private and accessed through
>> getters/setters.
>>
>> Classes that publish mutable fields are almost impossible to test
>> properly and cannot be made thread-safe.
>>
>>
>> On 30 January 2015 at 12:27, Stefan Bodewig <[hidden email]> wrote:
>>> OK, next attempt.
>>>
>>> Compress 1.10 RC2 is available for review here:
>>>     https://dist.apache.org/repos/dist/dev/commons/compress/
>>>     (svn revision 7884)
>>>
>>> Maven artifacts are here:
>>>    https://repository.apache.org/content/repositories/orgapachecommons-1081/org/apache/commons/commons-compress/1.10/
>>>
>>> Details of changes since 1.9 are in the release notes:
>>>     https://dist.apache.org/repos/dist/dev/commons/compress/RELEASE-NOTES.txt
>>>     http://people.apache.org/~bodewig/compress-1.10-RC2/changes-report.html
>>>
>>> The tag is here:
>>>     http://svn.apache.org/repos/asf/commons/proper/compress/tags/COMPRESS-1.10-RC2/
>>>     (svn revision 1655959)
>>>
>>> Site:
>>>     http://people.apache.org/~bodewig/compress-1.10-RC2/
>>>     (this is close but not identical to the site I'm going to deploy
>>>     once the vote has passed.  I'll adjust the release notes and publish
>>>     the Javadocs of 1.10.)
>>>
>>> Clirr Report (compared to 1.9):
>>>     http://people.apache.org/~bodewig/compress-1.10-RC2/clirr-report.html
>>>
>>> RAT Report:
>>>     http://people.apache.org/~bodewig/compress-1.10-RC2/rat-report.html
>>>
>>> KEYS:
>>>   https://www.apache.org/dist/commons/KEYS
>>>
>>> Please review the release candidate and vote.
>>>   This vote will close no sooner that 72 hours from now, i.e. after
>>>   1230 GMT 02-February 2015
>>>
>>> [ ] +1 Release these artifacts
>>> [ ] +0 OK, but...
>>> [ ] -0 OK, but really should fix...
>>> [ ] -1 I oppose this release because...
>>>
>>> Stefan
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]
>>> For additional commands, e-mail: [hidden email]
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

Stefan Bodewig
On 2015-01-31, sebb wrote:

> Given that the protected fields were in a class marked as internal, it
> seems arguable that users should not have referred to any of the items
> in it.
> Therefore we could potentially make all the mutable protected fields
> private (and add protected getters).

Even if the class was marked internal ZCompressorInputStream which
inherits said fields was not.  Subclasses of ZCompressorInputStream
would be broken if we changed the fields now, I'm afraid it is too late
already.

> If it is considered unsafe to make the fields private, at the very
> least I think we should deprecate them and add getters instead.

Yes, that would work for me.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

sebb-2-2
On 31 January 2015 at 09:03, Stefan Bodewig <[hidden email]> wrote:

> On 2015-01-31, sebb wrote:
>
>> Given that the protected fields were in a class marked as internal, it
>> seems arguable that users should not have referred to any of the items
>> in it.
>> Therefore we could potentially make all the mutable protected fields
>> private (and add protected getters).
>
> Even if the class was marked internal ZCompressorInputStream which
> inherits said fields was not.  Subclasses of ZCompressorInputStream
> would be broken if we changed the fields now, I'm afraid it is too late
> already.

The question is - would external subclasses need to access all these fields?
If this is considered very unlikely, it might be worth privatising them now.

>> If it is considered unsafe to make the fields private, at the very
>> least I think we should deprecate them and add getters instead.
>
> Yes, that would work for me.
>
> Stefan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

Stefan Bodewig
On 2015-01-31, sebb wrote:

> On 31 January 2015 at 09:03, Stefan Bodewig <[hidden email]> wrote:
>> On 2015-01-31, sebb wrote:

>>> Given that the protected fields were in a class marked as internal, it
>>> seems arguable that users should not have referred to any of the items
>>> in it.
>>> Therefore we could potentially make all the mutable protected fields
>>> private (and add protected getters).

>> Even if the class was marked internal ZCompressorInputStream which
>> inherits said fields was not.  Subclasses of ZCompressorInputStream
>> would be broken if we changed the fields now, I'm afraid it is too late
>> already.

> The question is - would external subclasses need to access all these
> fields?  If this is considered very unlikely, it might be worth
> privatising them now.

at the price of a -1 by somebody else for breaking backwards
compatibility :-)

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [VOTE] Release Compress 1.10 based on RC2

sebb-2-2
On 31 January 2015 at 11:41, Stefan Bodewig <[hidden email]> wrote:

> On 2015-01-31, sebb wrote:
>
>> On 31 January 2015 at 09:03, Stefan Bodewig <[hidden email]> wrote:
>>> On 2015-01-31, sebb wrote:
>
>>>> Given that the protected fields were in a class marked as internal, it
>>>> seems arguable that users should not have referred to any of the items
>>>> in it.
>>>> Therefore we could potentially make all the mutable protected fields
>>>> private (and add protected getters).
>
>>> Even if the class was marked internal ZCompressorInputStream which
>>> inherits said fields was not.  Subclasses of ZCompressorInputStream
>>> would be broken if we changed the fields now, I'm afraid it is too late
>>> already.
>
>> The question is - would external subclasses need to access all these
>> fields?  If this is considered very unlikely, it might be worth
>> privatising them now.
>
> at the price of a -1 by somebody else for breaking backwards
> compatibility :-)

Well of course it would need to be agreed in advance.

Although BC compatibiity is vitally important, if a breaking change
only affects internal code I would hope devs would agree that it is OK
to break it in such cases.

> Stefan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

[CANCEL] Release Compress 1.10 based on RC2

Stefan Bodewig
In reply to this post by Stefan Bodewig
Sorry for those who already reviewed the release candidate, I'm going to
cut a new RC once we've figured out what to do about LZWInputStream.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]