Oleg,

I have three comments on your proposal, since nobody else seems to have given feedback....

1) Some of the headers refer to "2.0", whereas the body of those same sections refers to "2.1". I think you meant to change the headers....

2) For the "post 2.1" development section, I found the intent and content of this section confusing. Is it supposed to be outlining how to develop 2.1.X releases, or 2.X releases, or X.X releases, or all of the above? In any case, there seems to be insufficient detail.

3) I'd like to seem some mention and perhaps the inclusion of the development of the 3.0 interface suite, if others are actually agreeing to what I proposed(?). If we get the APIs out there, we get feedback on them sooner, and can deliver 3.0 sooner. Therefore I'd like to see them have some official mention in a 2.1 release.

Thanks for pulling this together.

-Eric.

Kalnichevski, Oleg wrote:

All,
I have taken the liberty of compiling a draft 2.1 release plan that incorporates various ideas tossed around recently (special thanks go to Eric Johnson). I feel we ought to clearly articulate our short- to mid-term development plans before 2.0 goes RC1.


Comments, ideas, critique welcome

Cheers

Oleg





------------------------------------------------------------------------

$Id$

Release Plan for HttpClient 2.1
-----------------------------------------

Administrivia:

This document describes a plan for a 2.1 release of the
Jakarta-Commons HttpClient component (for the remainder
of this document, simply "HttpClient").  Per the
Jakarta/ASF guidelines
(http://jakarta.apache.org/site/decisions.html), this
document doesn't mean anything until accepted by the
relevant committer community via a lazy majority vote
(hereafter, simply "lazy majority").  Once accepted, it may
be replaced by an alternative plan, again subject to lazy
majority approval.

Non-binding votes (votes cast by those outside the relevant
committer community) are welcome, but only binding votes
are significant for decision making purposes.

Objective:

The objective of the 2.1 release of HttpClient is to build upon the foundation laid with the previous release while addressing those architectural shortcomings and flaws identified during 2.0 development process. Several well known and much complained about problems could not be resolved without sacrificing API stability. The primary motivation behind the 2.1 is to fix those design limitations, breaking 2.0 API compatibility where absolutely unavoidable, while preserving overall compatibility with 2.0
use patterns.


Planned fixes and modifications:

1. Better exception handling framework (Bug #19868).

2. Cross-site redirect fix. Authentication, redirect & retry logic
   to be moved from HttpMethodBase to HttpClient (Bug #20089,
   #16729).

3. New configuration architecture that includes plug-in mechanism for cookie policies & authentication schemes (Bug #15435, #10790, #10790, #15297, #21151).

4. More reliable header parser (Bug #11240).

5. Ability to abort requests (Bug #20288).

6. A better test framework than SimpleHttpConnectionManager, that allows to more closely mimic real HttpConnection behavior, thus enabling more tests without actually requiring a real connection.

7. Decision on new external dependencies: commons-lang, commons-codec
   (Bug #16881)

8. Removal of functions & classes deprecated in 2.0


Release Manager:


Jeff "Jandalf" Dever (Starting July 31, 2002)


Voting: <---- Please return this portion with your vote ----> [ ] +1 I am in favor of this plan and I will help [ ] +0 I am in favor of this plan, but I am unable to help [ ] -0 I am not in favor of this plan [ ] -1 I am opposed to this plan being executed, and my reason is: <---- /Please return this portion with your vote ---->


Feature/Fault Tracking:


BugZilla will be the mechanism for tracking features and faults
(ie: bugs).  When the new Scarab system becomes available, Scarab
will replace BugZilla in this role.

Milestone development will begin immediately on approval
of this release plan. All repository changes that are non-trivial will require a bugzilla bug or feature enhancement request.
It will be the responsibility of the release manager to categorize
bugs/features into release versions, but will always remain
subject to the will of the majority. In order to declare that a
release has been reached, all bugs/features categorized into that target release must be completed and a vote must pass subject to lazy approval.


The following procedure will be followed:
1) All changes must be motivated by a bugzilla change request.
2) Patches constructed according to standard practice should be attached to the relevant BugZilla bug.
3) A committer can then commit the patch to the repository.



Milestone Development Phases:


2.1 Alpha development
Designations: 2.1A1, 2.1A2
During the previous period of development, many new features
were added, dependencies were changes, interfaces were impacted.
During Milestone development, the nature of the changes will
focus on:
a) interface changes
b) functionality additions
c) fault fixing

2.0 Beta development
Designations: 2.1B1, 2.1B2
Development will be focused on quality and stability.  No new
major features will be added, with the following change types
being the most prelevent:
a) fix faults with accompanying test cases
b) additional test cases to improve functionality
c) improve documentation

2.0 Release development
Designations: 2.1RC1, 2.1RC2, 2.1
When all features are complete and all reported bugs have been fixed,
a release candidate (RC) build will be released.  Any reported bugs
that are targeted for the 2.1 release will be fixed and a new RC
build will be released.  After a week of no changes, the last RC
build will become the 2.1 release with the following changes only:
release version, aside from:
a) change the release tag in the build.xml/project.xml
b) update the site documentation to indicate that there is a release

Post 2.1 Release development
Designations: 3.0.x
Following the release, only Bugzilla tracked bugs with attached
patches will be committed to the repository. These patches must
only:
a) fix faults with accompanying test case(s)
b) improve documentation


------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to