JEP 2: JEP Template

OwnerMark Reinhold
Discussiondiscuss at openjdk dot java dot net
Created2011/06/23 20:00
Updated2022/06/14 22:12
// JDK Enhancement Proposal ("JEP") body template, v2.0
// ==> Delete all lines starting with "//"
//     before entering a proposal into JBS
// Instances of this template are meant to be evolving documents.  When
// you initially draft a JEP you don't need to fill out every section of
// the template, and in fact at that point you probably won't be able to
// do so.  As you get feedback and build consensus around your proposal
// you'll revise the JEP accordingly.  If your JEP is accepted and targeted
// then you'll continue to revise it as the work progresses so that, once
// it's complete, the JEP can serve as an authoritative record of what
// was actually done.
// The body of a JEP uses the Markdown markup language
// (
// All sections are optional except those marked REQUIRED.  Keep sections
// in the order shown below.  If an optional section is not needed then
// simply omit it rather than write something like "None".  Do not add
// sections beyond those defined in the template.
// Use lines of dashes ("----") under section titles, not equals signs
// ("====").  If you need subsections then use the "###" prefix before
// subsection headings and "####" before sub-subsection headings.  Do not
// use HTML markup (`<h2>`, etc.) for section headings.  In general, avoid
// HTML markup unless it's absolutely necessary.


// REQUIRED -- Provide a short summary of the proposal, at most one or two
// sentences.  This summary will be rolled up into feature lists, JSRs, and
// other documents, so please take the time to make it short and sweet.


// What are the goals of this proposal?  Omit this section if you have
// nothing to say beyond what's already in the summary.


// Describe any goals you wish to identify specifically as being out of
// scope for this proposal.

Success Metrics

// If the success of this work can be gauged by specific numerical
// metrics and associated goals then describe them here.


// Why should this work be done?  What are its benefits?  Who's asking
// for it?  How does it compare to the competition, if any?


// REQUIRED -- Describe the enhancement in detail: Both what it is and,
// to the extent understood, how you intend to implement it.  Summarize,
// at a high level, all of the interfaces you expect to modify or extend,
// including Java APIs, command-line switches, library/JVM interfaces,
// and file formats.  Explain how failures in applications using this
// enhancement will be diagnosed, both during development and in
// production.  Describe any open design issues.
// This section will evolve over time as the work progresses, ultimately
// becoming the authoritative high-level description of the end result.
// Include hyperlinks to additional documents as required.


// Did you consider any alternative approaches or technologies?  If so
// then please describe them here and explain why they were not chosen.


// What kinds of test development and execution will be required in order
// to validate this enhancement, beyond the usual mandatory unit tests?
// Be sure to list any special platform or hardware requirements.

Risks and Assumptions

// Describe any risks or assumptions that must be considered along with
// this proposal.  Could any plausible events derail this work, or even
// render it unnecessary?  If you have mitigation plans for the known
// risks then please describe them.


// Describe all dependencies that this JEP has on other JEPs, JBS issues,
// components, products, or anything else.  Dependencies upon JEPs or JBS
// issues should also be recorded as links in the JEP issue itself.
// Describe any JEPs that depend upon this JEP, and likewise make sure
// they are linked to this issue in JBS.