I'm all for it. Do you know when the bounds checks were added and for what purpose?
Enlightening :-)
So, perhaps then we can just fix things for 2.10.1 to match the docs.
This is where "binary compatibility" policies become fun. We could still break users who expect negative indices to work because it did before.
I think our only policy going forward is to not break documented behavior vs. folks relying on implementation details.
Let's try to fix this for 2.10.1. Deadline is Dec 31st before that goes into lockdown.
Enlightening :-)
So, perhaps then we can just fix things for 2.10.1 to match the docs.
This is where "binary compatibility" policies become fun. We could still break users who expect negative indices to work because it did before.
I think our only policy going forward is to not break documented behavior vs. folks relying on implementation details.
Let's try to fix this for 2.10.1. Deadline is Dec 31st before that goes into lockdown.
On Nov 9, 2012 7:27 AM, "Daniel Sobral" <dcso...@gmail.com> wrote:Git blame can answer that. I looked at it, but I'm not sure which lines Simon is speaking of. A lot of remove is either from the original new collections checking or an uncommented 2005 commit.On Fri, Nov 9, 2012 at 4:52 AM, Josh Suereth <joshua....@gmail.com> wrote:I'm all for it. Do you know when the bounds checks were added and for what purpose?
On Nov 8, 2012 10:51 PM, "Simon Ochsenreither" <simon.och...@gmail.com> wrote:While triaging issues SI-6632 and SI-6633 I looked for similar code patterns and found this highly questionable behavior in ListBuffer#remove, which has an off-by-one error and data corruption issues: SI-6634.
Imho we should remove this undocumented (and unsuccessful) bounds-fixing behaviour and replace it with appropriate bound checks.
Opinions?--
Daniel C. Sobral
I travel to the future all the time.
If there's an RC3, then such a commit is ok, although we like to avoid anything unrelated to blocking issues.. In absense of a blocker, no commits go in, RC2 becomes final.
Was it intended that two of those bugs ended up in the RC2 announcement?
Btw, if we are in the state where RC's could probably ship as final, we should write that down more explicitly. (Along the lines of “if we find no additional blocker, RCx will become the final release”.)
Yes. Any issue marked critical shows in release notes. Blockers, by nature of "blocking" must be fixed. Critical are ones you should be aware of.
AND EVERY RC is a potential release.
That's why we avoid changing much in 2.10.0 because it should be good enough to release now.
Every RC is like that, RCs can only go out if they "could probably ship as final".
I'm guessing he's saying that it hasn't always been like that, and it would have been a good idea to make it abundantly clear that we're (apparently) in a new era of meaning it. We're not exactly dripping with credibility that anything we call a "release candidate" is a "candidate for release." I'm sorry that the only history we have of 2.8 is destroyed by svnmerge, because I'm sure git could paint a detailed picture of how ready-to-ship 2.8.0-RC1 was.
Yes. Any issue marked critical shows in release notes. Blockers, by nature of "blocking" must be fixed. Critical are ones you should be aware of.
AND EVERY RC is a potential release.
So 2.10.1 goes into lockdown on Dec. 31st. Consider yourself warned.
In the future dates will be fixed, and things should be more open. 2.10.0 was an odd duck in that it saw changes in management/ownership/expectations as it developed.
This (few RCs, hard restrictions on patches) is the new normal., and Long overdue.
There's talk, but no formal plans yet.