[#53072] [ruby-trunk - Feature #7994][Open] Make iterators pass an implicit named parameter `iteration` to the executed block — "alexeymuranov (Alexey Muranov)" <redmine@...>

10 messages 2013/03/01

[#53097] [ruby-trunk - Bug #8000][Open] "require 'tk'" segfaults on 64-bit linux with Tk 8.6 — "edmccard (Ed McCardell)" <edmccard@...>

25 messages 2013/03/02

[#53137] [ruby-trunk - Bug #8017][Open] Got segmentation fault on attempt to install ruby 2.0.0-p0 on Mac 10.6.8 via RVM — "adantel (Alex Filatau)" <filatau@...>

9 messages 2013/03/05

[#53168] [ruby-trunk - Bug #8034][Open] File.expand_path('something', '~') do not include home path — "rap-kasta (Pavel Manylov)" <rapkasta@...>

12 messages 2013/03/06

[#53199] [ruby-trunk - Bug #8040][Open] Unexpect behavior when using keyword arguments — "pabloh (Pablo Herrero)" <pablodherrero@...>

11 messages 2013/03/07

[#53203] [ruby-trunk - Feature #8042][Open] Add Addrinfo#socket to create a socket that is not connected or bound — "drbrain (Eric Hodel)" <drbrain@...7.net>

12 messages 2013/03/07

[#53248] Github commit log should not be used as references on redmine — Marc-Andre Lafortune <ruby-core-mailing-list@...>

Github commit log should not be used as references on redmine. E.g:

10 messages 2013/03/09

[#53386] [CommonRuby - Feature #8088][Open] Method#parameters (and friends) should provide useful information about core methods — "headius (Charles Nutter)" <headius@...>

14 messages 2013/03/13

[#53412] [CommonRuby - Feature #8096][Open] introduce Time.current_timestamp — "vipulnsward (Vipul Amler)" <vipulnsward@...>

34 messages 2013/03/14

[#53439] [ruby-trunk - Bug #8100][Open] Segfault in ruby-2.0.0p0 — "judofyr (Magnus Holm)" <judofyr@...>

22 messages 2013/03/15

[#53478] [ruby-trunk - Feature #8107][Open] [patch] runtime flag to track object allocation metadata — "tmm1 (Aman Gupta)" <ruby@...1.net>

20 messages 2013/03/16

[#53498] [ruby-trunk - Feature #8110][Open] Regex methods not changing global variables — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

21 messages 2013/03/18

[#53502] [ruby-trunk - Bug #8115][Open] make install DESTDIR=/my/install/path fails — "vo.x (Vit Ondruch)" <v.ondruch@...>

11 messages 2013/03/18

[#53688] [ruby-trunk - Feature #8158][Open] lightweight structure for loaded features index — "funny_falcon (Yura Sokolov)" <funny.falcon@...>

27 messages 2013/03/24

[#53692] [ruby-trunk - Bug #8159][Open] Build failure introduced by Rinda changes — "luislavena (Luis Lavena)" <luislavena@...>

22 messages 2013/03/24

[#53733] [ruby-trunk - Bug #8165][Open] Problems with require — "Krugloff (Alexandr Kruglov)" <mr.krugloff@...>

12 messages 2013/03/26

[#53742] [ruby-trunk - Bug #8168][Open] Feature request: support for (single) statement lambda syntax/definition — "garysweaver (Gary Weaver)" <garysweaver@...>

9 messages 2013/03/26

[#53765] [ruby-trunk - Bug #8174][Open] AIX header file conflict with rb_hook_list_struct — "edelsohn (David Edelsohn)" <dje.gcc@...>

11 messages 2013/03/27

[#53808] [ruby-trunk - Feature #8181][Open] New flag for strftime that supports adding ordinal suffixes to numbers — "tkellen (Tyler Kellen)" <tyler@...>

10 messages 2013/03/28

[#53811] [ruby-trunk - Bug #8182][Open] XMLRPC request fails with "Wrong size. Was 31564, should be 1501" — "tsagadar (Marcel Mueller)" <marcel.mueller@...>

28 messages 2013/03/28

[#53849] [ruby-trunk - Feature #8191][Open] Short-hand syntax for duck-typing — "wardrop (Tom Wardrop)" <tom@...>

48 messages 2013/03/31

[#53850] An evaluation of 2.0.0 release — Yusuke Endoh <mame@...>

Let's look back at 2.0.0 release so that we can do better next time.

12 messages 2013/03/31

[ruby-core:53850] An evaluation of 2.0.0 release

From: Yusuke Endoh <mame@...>
Date: 2013-03-31 05:15:44 UTC
List: ruby-core #53850
Let's look back at 2.0.0 release so that we can do better next time.
I am listing some points.  These are based on developer meeting in Japan:
http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130223Japan

Feel free to comment and discuss each point.
If some paticular point seems to be heavily argued, it will be good
to move the item to a separate thread/ticket.


## Refinement is half-baked

Refinement had been discussed immediately before feature
implementation deadline,
and finally it was decided to be an "experimental" feature.
According to Shugo, the biggest reason is because he found the current design
different to matz's expectation immediately before the deadline.

Possible solutions:
  - Continue the discussion
  - Increase real-time meetings to discuss the spec
    - RubyKaigi 2013 (31 May. -- 1 Jun.)
    - RubyConf 2013 (8--10 Nov., maybe too late for 2.1.0)
    - any event or on IRC?


## Preview/RC releases do not gain enough experience

Many bugs of new features are found at the final phase of releasing.
For example,

- MarcAndre found some design issues of lazy (e.g., [#7691])
- I found some corner cases of Module#prepend [#7841--7844]
- matz found some weird behaviors of keyword arguments
- luis found that cross compilation does not work in mingw [#7921]

etc.

Of course, bugs are unavoidable.  But some of them should be easily
found when anyone gives it a try with curiosity.

Possible solutions:
  - Motivate people to try new features
    - provide a tutorial or guide (in matz diary)
    - provide a install-free TryRuby-like platform (by heroku?)


## The "compatible to 1.9" slogan

I think that Matz's slogan that 2.0 should be compatible to 1.9, did work
very well, not only for developers but also for users.
Without this slogan, we couldn't release 2.0 so soon because of excessive
expectations to 2.0.
In addition, this slogan looks to reduce users' mental blocks to migrate
1.9 to 2.0.

But, we can't stay here forever.  This is my personal opinion, but 2.1
should accept minor incompatibilities.


## Timeline

  - Aug. 24th: big feature freeze
  - Oct. 24th: feature freeze
  - Nov. 2nd: preview1
  - Dec. 1st: preview2
  - Dec. 23th: code freeze
  - Jan. 7th: rc1
  - Feb. 8th: rc2 / branch
  - Feb. 24th: p0

In whopping five months (from big feature freeze to branch), any new features
were prohibited to commit, which seemed frustrating for some committers.
Also, "code freeze" was a bad name.  It meant "feature implementation deadline"
in effect.
Furthrmore, it was too short between code freeze and rc1 to make the RC package
stable.
Some committers insisted that "code freeze" imply making a branch.

Possible solution: A new release schedule template

http://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineeringMemo

  - reduced the duration between feature freeze and code freeze:
    5 months -> 2 months
  - splited feature implementation deadline and code freeze


## Announcement to committers

Many committers overlooked my announcements about release schedule/management.

Possible solutions:
  - Make a new mailing list consisting in only committers
  - Show and update the current status of release management
    - so that any committers can know what they should do and what cannot do.
    - the new release schedule template may be helpful
  - Introduce an advanced collaboration apprication


## Unmotivated release manager

2.0 release manager, i.e., I, was not paid for the work.  So once I had
anothor interest (such as IOCCC), the whole release management was stuck.

Possible solutions:
  - Show and update the current status of release management
    - so that any other person can turn over the work
    - the new Release Schedule Template may be helpful
  - Explicitly appoint "assistant release managers"
    - in effect, ko1 and naruse worked as the role in 2.0.0 release
  - Appoint a release manager to full time committer


## Backport regulation to a branch

In principle, backporting anything to a branch requires "ack" from the
release manager/branch maintainers.
But unfortunately, some commits to ruby_2_0_0 branch were done without ack.
Also, some committers were confused about how to backport.

Possible solutions:
  - Only release manager/branch maintainers are allowed to backport.
    - any non-acked commits should be automatically reverted


## Release announcement

I focused on writing and reviewing release announcements.

I hope that this motivated and facilitated people to migrate to 2.0,
though I'm not sure if it was actually effective or not.
But at least, some media seemed to use the announcement to write their
articles.

In [ruby-core:52723], Marc-Andre suggested to improve NEWS rather than the
annnouncement.
This is my personal opinion, but the announcement should include selected
appeal points such as new features and important improvements so that
unfamiliar people can understand them easily.
Of course, I think that it is another important issue to improve the NEWS file.

I regret special thanks.  It lists only people who implemented big features
and/or who was involved in release management.
I didn't intend to ignore people which worked quite some time on fixing things,
discussing issues and spec, but the special thanks might tell people the wrong
message.

Other small things:
  - I wanted to create migration notes, but couldn't.
  - I wanted to write a tip to build on mac, especially, about broken openssl
    bundled with os.


## My lessons

  - A new Release Schedule Template
    http://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineeringMemo
  - Explicitly appoint "assistant release managers"

I appreciate any opinion and feedback.

Thanks,

-- 
Yusuke Endoh <mame@tsg.ne.jp>

In This Thread

Prev Next