<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Mark Reinhold&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/" />
<modified>2006-08-29T22:51:28Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/mreinhold/158</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2006, mreinhold</copyright>
<entry>
<title>301 Moved Permanently</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2006/08/301_moved_perma.html" />
<modified>2006-08-29T22:51:28Z</modified>
<issued>2006-08-29T22:51:08Z</issued>
<id>tag:weblogs.java.net,2006:/blog/mreinhold/158.5451</id>
<created>2006-08-29T22:51:08Z</created>
<summary type="text/plain">This is not the blog you&amp;#x2019;re looking for.

</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[I&#x2019;ve migrated my blog over to <a href="http://blogs.sun.com/mr">http://blogs.sun.com/mr</a>.]]>

</content>
</entry>
<entry>
<title>Mustang Maintenance Review 1</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2006/03/mustang_mainten.html" />
<modified>2006-03-23T05:08:05Z</modified>
<issued>2006-03-22T19:38:02Z</issued>
<id>tag:weblogs.java.net,2006:/blog/mreinhold/158.4367</id>
<created>2006-03-22T19:38:02Z</created>
<summary type="text/plain"><![CDATA[Yesterday we posted the &#64257;rst Maintenance Review for the Mustang (Java&nbsp;SE&nbsp;6) release.
This document describes the details of all the changes and additions in Mustang
that aren&#8217;t covered by their own JSRs.]]></summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> Yesterday we posted the &#64257;rst <a
href="http://java.sun.com/javase/6/jcp/beta">Maintenance Review</a> for the
<a href="http://java.sun.com/javase/6">Mustang</a> (Java&nbsp;SE&nbsp;6)
release. </p>

<p> This review describes the details of all the changes and additions made to
the Java&nbsp;SE platform speci&#64257;cation in Mustang that aren&#8217;t themselves
speci&#64257;ed by their own JSRs.  Small enhancements such as the new <a
href="http://download.java.net/jdk6/docs/api/java/awt/Desktop.html"><tt>java.awt.Desktop</tt></a>
class, <i>e.g.</i>, are speci&#64257;ed in this maintenance review, whereas a big new
feature like the <a
href="http://download.java.net/jdk6/docs/api/javax/tools/package-summary.html">
compiler API</a> is speci&#64257;ed by its own JSR,&nbsp;<a
href="http://jcp.org/en/jsr/detail?id=199">199</a>.  </p>

<p> The maintenance review also contains countless small corrections to the
platform speci&#64257;cation.  The bulk of these are summarized in a set of <a
href="http://java.sun.com/javase/6/jcp/beta/apidiffs/index-diffs.html">API
difference pages</a> which show the changes made between Tiger and
Mustang. </p>

<p> This is just the &#64257;rst Mustang maintenance review, re&#64258;ecting the content
of the &#64257;rst <a href="http://java.sun.com/javase/6">beta release</a>.  There&#8217;ll
be another MR around the time of the second beta release, and a &#64257;nal MR for
the release candidate.  The second and third MRs are expected to be much
smaller than the &#64257;rst. </p>


<p style="margin-top: 1ex; margin-bottom: .5ex; font-size: larger; font-weight:
bold"> The past is prologue </p>

<p> How is it that we&#8217;re doing a maintenance review for Mustang when Mustang
hasn&#8217;t even been &#64257;nished yet? </p>

<p> Good question!  In fact technically this is a JCP Maintenance Review of the
Tiger (J2SE&nbsp;5.0) speci&#64257;cation, <a
href="http://jcp.org/en/jsr/detail?id=176">JSR&nbsp;176</a>.  This is just an
artifact of the way that the <a href="http://jcp.org">Java Community
Process</a> works.  The smaller, non-JSR changes and additions in the Tiger
release, likewise, were covered in maintenance reviews of the Merlin
(J2SE&nbsp;1.4) speci&#64257;cation, <a
href="http://jcp.org/en/jsr/detail?id=59">JSR&nbsp;59</a>. </p>


<p style="margin-top: 1ex; margin-bottom: .5ex; font-size: larger; font-weight:
bold"> Comments welcome! </p>

<p> The formal MR-1 period ends in thirty days, but you can send feedback to
the e-mail address listed in the review materials at any time. </p>]]>

</content>
</entry>
<entry>
<title>Mustang Beta Blog Carnival!</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2006/02/mustang_beta_bl.html" />
<modified>2006-02-16T16:54:15Z</modified>
<issued>2006-02-16T16:45:00Z</issued>
<id>tag:weblogs.java.net,2006:/blog/mreinhold/158.4114</id>
<created>2006-02-16T16:45:00Z</created>
<summary type="text/plain">The Mustang Beta Release is  now
available, and we&amp;#8217;re celebrating with a blog carnival.</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> After nearly eighteen months of effort within Sun, the <a
href="http://jcp.org/en/jsr/detail?id=270">Java Community Process</a>, and the
wider <a href="http://community.java.net/jdk">JDK Community</a>, the Mustang
Beta Release is <a href="http://java.sun.com/javase/6"> now available</a>.
</p>

<p> In contrast to the <a href="http://mustang.dev.java.net">source and binary
snapshots</a> that we&#8217;ve been shipping for over a year, the formal beta release
has been through many weeks of intensive testing&#8212;and a tiny little bit of
last-minute bug-fixing&#8212;in order to produce a release that&#8217;s somewhat more
polished.  If you&#8217;ve chosen to avoid the riskier snapshot builds then now is
the perfect time to have a look at Mustang, make sure your existing code still
compiles and runs, and try out the new features.  Please do <a
href="http://bugs.sun.com/services/bugreport/index.jsp">let us know what you
think</a> or&#8212;even better&#8212;<a
href="http://mustang.dev.java.net/collaborate.html">get involved</a> and help
us make Mustang a great release for the entire community!  </p>

<p> To help celebrate the beta release I&#8217;m hosting a &#8220;blog carnival&#8221; right here
on this page.  Over the next couple of days many members of the Java&nbsp;SE
development community will post blog entries about the work they&#8217;ve been doing
for the Mustang release.  As entries are posted I&#8217;ll add them here for
convenient reference; alternatively you can get the very latest blog entries
via <a href="http://planetjdk.org">Planet&nbsp;JDK</a>, which also provides RSS
and Atom syndication feeds. </p>

<p style="margin-top: 1ex; margin-bottom: .5ex; font-size: larger; font-weight: bold">Step right
up, ladies and gentlemen&#8230; </p>

<ul>

  <li><p> <a
  href="http://weblogs.java.net/blog/chet/archive/2006/02/these_are_some.html">Chet
  Haase</a> channels <a href="http://us.imdb.com/title/tt0059742">Julie
  Andrews</a> and waxes poetic about his favorite Mustang features. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/briand?entry=what_s_in_a_name">Brian
  Doherty</a> reflects on the meaning of the word &#8220;beta&#8221; in this modern age of
  continuous integration and snapshot releases, and talks about some of the
  performance improvements&#8212;and pitfalls&#8212;in the release. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/chegar?entry=http_keep_alive_improvements">Chris
  Hegarty</a> explains how he fixed a <a
  href="http://bugs.sun.com/bugdatabase/top25_bugs.do">high-vote bug</a> in the
  <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5045306">HTTP
  keep-alive implementation</a>. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/sundararajan?entry=mixed_mode_stack_traces_on">Sundar</a>
  shows how to use <a
  href="http://www.sun.com/bigadmin/content/dtrace">DTrace</a> on Solaris to
  generate a mixed-mode stack trace whenever an exception is thrown. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/jaya_hangal?entry=new_bytes_in_the_mustang">Jaya
  Hangal</a> talks about LDAP timeouts and connection pooling in
  JNDI. </p></li>

  <li><p> <a
  href="http://weblogs.java.net/blog/zixle/archive/2006/02/mustang_the_lit.html">Scott
  Violet</a> takes a break from big-picture application architecture to
  highlight some of the smaller UI features in Mustang. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/ahe?entry=mustang_beta">Peter von der
  Ahé</a> talks about the compiler plugins&#8212;known more formally as annotation
  processors&#8212;that are enabled by the <a
  href="http://blogs.sun.com/ahe?anchor=tree_api_project_created_on">Tree&nbsp;API</a>,
  <a
  href="http://java.sun.com/javase/6/docs/api/javax/annotation/processing/package-summary.html">JSR&nbsp;269</a>,
  and <a
  href="http://java.sun.com/javase/6/docs/api/javax/tools/package-summary.html">JSR&nbsp;199</a>.
  </p></li>

  <li><p> <a
  href="http://weblogs.java.net/blog/mullan/archive/2006/02/mustang_beta_is_1.html">Sean
  Mullan</a> summarizes the new security features in the release. </p></li>

  <li><p> <a
  href="http://weblogs.java.net/blog/shan_man/archive/2006/02/choosing_the_dr.html">Shannon
  Hickey</a> introduces the new support for choosing drop actions in the Swing
  Drag and Drop API. </p></li>

  <li><p> <a
  href="http://weblogs.java.net/blog/mandychung/archive/2006/02/from_monitoring_1.html">Mandy
  Chung</a> shows off six techniques for diagnosing memory-usage
  problems. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/boardfreak?entry=and_why_in_the_world">Madhura
  Dudhgaonkar</a> explains why Mustang Beta is based on the relatively ancient
  build&nbsp;59 even though the latest snapshot release is
  build&nbsp;71. </p></li>

  <li><p> <a
  href="http://weblogs.java.net/blog/robogeek/archive/2006/02/mustang_has_gon.html">David
  Herron</a> posts a helpful reminder of the <a
  href="https://mustang.dev.java.net/regchal">Mustang Regressions
  Challenge</a>, in which you can win a <a
  href="http://www.sun.com/desktop/workstation/ultra20/index.jsp">slick new
  Opteron-based Ultra&nbsp;20 workstation</a> if you find a really egregious
  regression.  (No purchase necessary, void where prohibited by law,
  <i>etc</i>.)</p></li>

  <li><p> <a
  href="http://weblogs.java.net/blog/emcmanus/archive/2006/02/mustang_beta_an.html">&#x00c9;amonn
  McManus</a> summarizes the new JMX features. </p></li>

  <li><p> <a
  href="http://weblogs.java.net/blog/campbell/archive/2006/02/wild_horses_mus_1.html">Chris
  Campbell</a> argues with himself over whether or not the beta build is too
  passé, and also takes stock of the work that he and his team have been
  doing. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/praveenm?entry=what_s_cool_in_awt">Preveen
  Mohan</a> talks about some of the new AWT features in Mustang from the
  standpoint of a QA engineer. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/naotoj?entry=about_the_locale_sensitive_services">Naoto
  Sato</a> describes the new Locale Sensitive Services SPI. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/dannycoward?entry=naps_indeed">Danny
  Coward</a> muses on how the new <a
  href="http://jcp.org/en/jsr/detail?id=199">Compiler API</a> is going to keep
  javac up and running 24/7/365. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/Penni?entry=mustang_beta_has_shipped">Penni
  Henry</a>, the new Mustang Program Manager, reflects on the quality of the
  release from the perspective of someone relatively new to the team. </p></li>

  <li><p> <a href="http://blogs.sun.com/roller/page/tck?entry=jck_6_beta">Gauri
  Sharma</a> discusses the ongoing work on the Mustang JCK (Java Compatibility
  Kit). </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/jonthecollector?entry=so_what_s_it_worth">Jon
  Masamitsu</a> wonders whether those who want a truly &#8220;pauseless&#8221; garbage
  collector would be willing to pay for it in the currency of time and
  space. </p></li>

  <li><p> <a
  href="http://blogs.sun.com/roller/page/andreas?entry=the_java_pkcs_11_provider">Andreas
  Sterbenz</a> shows how to plug <a
  href="http://www.mozilla.org/projects/security/pki/nss">NSS</a> into the Java
  PKCS#11 crypto provider in order to improve performance on Linux and
  Windows. </p></li>

  <li><p> Finally, in <a
  href="http://blogs.sun.com/mr?entry=class_path_wildcards_in_mustang">my other
  blog</a> you can find a description of the new class-path wildcard
  feature. </p></li>

</ul>

<p> That&#8217;s it for now! </p>


<p style="margin-top: 1ex; margin-bottom: .5ex; font-size: larger; font-weight:
bold">Questions and answers</p>

<p> To answer a few of the questions that&#8217;ve been asked in the comments below:
</p>

<ul>

  <li><p> The beta release is based on weekly build 59 from way back in
  November&nbsp;2005.  <a
  href="http://blogs.sun.com/roller/page/boardfreak?entry=and_why_in_the_world">Madhura</a>
  talks a bit more about why it&#8217;s so &#8220;old.&#8221; </p></li>

  <li><p> Every bug fixed in a later snapshot build will stay fixed for the
  final release unless a problem with the fix is found in the interim and no
  alternative solution can be devised. </p></li>

  <li><p> The evaluation license is a bit, well&#8230; baroque.  We&#8217;re talking to
  our legal team to see if the part about having to notify Sun can be removed.
  </p></li>

</ul>]]>

</content>
</entry>
<entry>
<title>Mustang Release Contents (JSR 270): Early Draft Review</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2005/12/mustang_release.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-12-22T01:04:22Z</issued>
<id>tag:weblogs.java.net,2005:/blog/mreinhold/158.3840</id>
<created>2005-12-22T01:04:22Z</created>
<summary type="text/plain"><![CDATA[Just in time for the holidays, the Early Draft Review version of the JSR&nbsp;270 specification is now available.]]></summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> Just in time for the holidays! </p>

<p> The Early Draft Review version of the <a
href="http://jcp.org/en/jsr/detail?id=270">JSR&nbsp;270</a> specification,
which governs the content of the Java&nbsp;SE&nbsp;6 &#x201c;Mustang&#x201d;
release, is <a href="http://jcp.org/aboutJava/communityprocess/edr/jsr270">now
available</a>. </p>

<p> JSR&nbsp;270 is an &#x201c;Umbrella&#x201d; JSR, so it doesn&#x2019;t
define specific features itself&#x2014;instead it lists features defined in
other JSRs, or in the concurrent maintenance review of the Java&nbsp;SE
platform specification.  As an improvement over past umbrella specifications,
this time around we&#x2019;ve augmented each feature description with
non-normative links to the relevant <a
href="http://download.java.net/jdk6/docs">draft Mustang javadoc</a> as well as
any associated JSRs or other material. </p>

<p> When reviewing this draft please keep in mind that the Umbrella JSR only
covers the component JSRs and other big-ticket or highly-visible items in
Mustang.  Most smaller enhancements aren&#x2019;t listed in the Umbrella JSR,
though of course they will be covered in the maintenance review of the platform
specification that&#x2019;ll start around the time that the beta release of the
reference implementation ships. </p>

<p> Mustang is still under development.  The JSR&nbsp;270 Expert Group has
approved all of the features listed in the draft, and we expect to see all
those features in the final release.  It&#x2019;s still possible, however, for
a feature to be dropped if, for example, it turns out to be too difficult to
implement.  It&#x2019;s also possible for new features to be added, given
sufficient justification, though at this stage big changes to the overall shape
of the release are pretty unlikely. </p>

<p> Comments on this draft are most welcome!  The formal EDR period ends in
sixty days, but you can send feedback to the e-mail address listed in the draft
at any time. </p>


<p style="margin-top: 1ex; margin-bottom: .5ex; font-weight: bold">Sneak Preview</p>

<p style="margin-top: .5ex;"> Here&#x2019;s a summary of the approved feature
list sorted by area, component, and feature name.  For more details please see
the <a href="http://jcp.org/aboutJava/communityprocess/edr/jsr270">EDR
specification</a>. </p>

<div style="margin: 2ex 2em;"><table style="border-collapse: collapse;"><tr><td style="padding-right:
1em;">client</td><td style="padding-right: 1em;">2d</td><td>GIF image
writer</td></tr><tr><td/><td style="padding-right: 1em; border-top: 1px solid
#ccc;">awt</td><td style="border-top: 1px solid #ccc;">Access to desktop helper
applications</td></tr><tr><td/><td/><td>Fast splash
screens</td></tr><tr><td/><td/><td>Improved modal
dialogs</td></tr><tr><td/><td/><td>System-tray support</td></tr><tr><td/><td
style="padding-right: 1em; border-top: 1px solid #ccc;">i18n</td><td
style="border-top: 1px solid #ccc;">Pluggable locale
data</td></tr><tr><td/><td/><td>Resource-bundle
enhancements</td></tr><tr><td/><td/><td>Unicode string
normalization</td></tr><tr><td/><td style="padding-right: 1em; border-top: 1px
solid #ccc;">swing</td><td style="border-top: 1px solid #ccc;">Baseline/gap
APIs</td></tr><tr><td/><td/><td>Improve Swing
drag-&amp;-drop</td></tr><tr><td/><td/><td>JTabbedPane: Tabs as
components</td></tr><tr><td/><td/><td>JTable sorting, filtering, and
highlighting</td></tr><tr><td/><td/><td>SwingWorker</td></tr><tr><td/><td/><td>Text-component
printing</td></tr><tr><td style="padding-right: 1em; border-top: 1px solid
#ccc;">core</td><td style="padding-right: 1em; border-top: 1px solid
#ccc;">&#8211;</td><td style="border-top: 1px solid #ccc;"><a
href="http://jcp.org/en/jsr/detail?id=223">JSR 223</a>: Scripting for the Java
Platform</td></tr><tr><td/><td style="padding-right: 1em; border-top: 1px solid
#ccc;">debug</td><td style="border-top: 1px solid #ccc;">Access to heap
contents</td></tr><tr><td/><td/><td>Attach-on-demand</td></tr><tr><td/><td/><td>Multiple
simultaneous agents</td></tr><tr><td/><td style="padding-right: 1em;
border-top: 1px solid #ccc;">libs</td><td style="border-top: 1px solid
#ccc;">Array reallocation</td></tr><tr><td/><td/><td>Collections:
Deques</td></tr><tr><td/><td/><td>Collections: Sorted sets and maps with
bidirectional navigation</td></tr><tr><td/><td/><td>Critical file-I/O
enhancements</td></tr><tr><td/><td/><td>Floating point: Add core IEEE 754
recommended functions</td></tr><tr><td/><td/><td>java.util.concurrent
updates</td></tr><tr><td/><td/><td><a
href="http://jcp.org/en/jsr/detail?id=202">JSR 202</a>: Java Class-File
Specification Update</td></tr><tr><td/><td/><td>Password
prompting</td></tr><tr><td/><td/><td>Reflective access to parameter
names</td></tr><tr><td/><td/><td>Service-provider lookup</td></tr><tr><td/><td
style="padding-right: 1em; border-top: 1px solid #ccc;">m&amp;m</td><td
style="border-top: 1px solid #ccc;">Generalized lock
monitoring</td></tr><tr><td/><td/><td>Generalized MBean
descriptors</td></tr><tr><td/><td/><td>Generic annotations for MBean descriptor
contents</td></tr><tr><td/><td/><td>MXBeans</td></tr><tr><td/><td
style="padding-right: 1em; border-top: 1px solid #ccc;">net</td><td
style="border-top: 1px solid #ccc;">Internationalized domain
names</td></tr><tr><td/><td/><td>Internationalized resource
identifiers</td></tr><tr><td/><td/><td>Programmatic access to network
parameters</td></tr><tr><td/><td/><td>Simple HTTP cookie
manager</td></tr><tr><td/><td style="padding-right: 1em; border-top: 1px solid
#ccc;">sec</td><td style="border-top: 1px solid #ccc;"><a
href="http://jcp.org/en/jsr/detail?id=105">JSR 105</a>: XML Digital-Signature
APIs</td></tr><tr><td/><td style="padding-right: 1em; border-top: 1px solid
#ccc;">tools</td><td style="border-top: 1px solid #ccc;"><a
href="http://jcp.org/en/jsr/detail?id=199">JSR 199</a>: Java Compiler
API</td></tr><tr><td/><td/><td><a
href="http://jcp.org/en/jsr/detail?id=269">JSR 269</a>: Pluggable
Annotation-Processing API</td></tr><tr><td style="padding-right: 1em;
border-top: 1px solid #ccc;">ee</td><td style="padding-right: 1em; border-top:
1px solid #ccc;">&#8211;</td><td style="border-top: 1px solid #ccc;"><a
href="http://jcp.org/en/jsr/detail?id=250">JSR 250</a>: Common
Annotations</td></tr><tr><td/><td style="padding-right: 1em; border-top: 1px
solid #ccc;">jdbc</td><td style="border-top: 1px solid #ccc;"><a
href="http://jcp.org/en/jsr/detail?id=221">JSR 221</a>: JDBC
4.0</td></tr><tr><td/><td style="padding-right: 1em; border-top: 1px solid
#ccc;">xml</td><td style="border-top: 1px solid #ccc;">JavaBeans Activation
Framework (JAF) 1.1</td></tr><tr><td/><td/><td><a
href="http://jcp.org/en/jsr/detail?id=173">JSR 173</a>: Streaming API for XML
(StAX)</td></tr><tr><td/><td/><td><a
href="http://jcp.org/en/jsr/detail?id=181">JSR 181</a>: Web-Services
Metadata</td></tr><tr><td/><td/><td><a
href="http://jcp.org/en/jsr/detail?id=222">JSR 222</a>: Java Architecture for
XML Binding (JAXB)&#160;2.0</td></tr><tr><td/><td/><td><a
href="http://jcp.org/en/jsr/detail?id=224">JSR 224</a>: Java API for XML
Web Services (JAX-WS)&#160;2.0</td></tr></table></div>

<p> You can check out the initial implementations of many&#x2014;though not
all&#x2014;of these new features in the <a
href="http://mustang.dev.java.net">weekly snapshot builds</a> of the reference
implementation. </p>
]]>

</content>
</entry>
<entry>
<title>planetjdk.org now publishes syndication feeds</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2005/11/planetjdkorg_no.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-11-18T16:41:48Z</issued>
<id>tag:weblogs.java.net,2005:/blog/mreinhold/158.3659</id>
<created>2005-11-18T16:41:48Z</created>
<summary type="text/plain">It was just a simple matter of programming...</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>Community: JDK</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> By popular demand <a href="http://planetjdk.org">Planet&nbsp;JDK</a> now
publishes both an <a href="http://planetjdk.org/feed.rss">RSS feed</a> and an
<a href="http://planetjdk.org/feed.atom-0.3">Atom feed</a>.

<p> The <a href="http://atomenabled.org">Atom</a> feed is in the
version&nbsp;0.3 format (sorry <a
href="http://tbray.org/ongoing/When/200x/2005/04/03/Atom-Now">Tim</a>); I'll
set up an Atom&nbsp;1.0 feed just as soon as <a
href="http://rome.dev.java.net">ROME</a> supports that version, which hopefully
will be fairly <a
href="http://rollerweblogger.org/wiki/Wiki.jsp?page=Rome08Atom10Patch">soon</a>.

<p> As I mentioned <a
href="http://weblogs.java.net/blog/mreinhold/archive/2005/11/announcing_plan.html">previously</a>,
Planet JDK is open to anyone who's <a
href="http://jdk.dev.java.net">contributed code</a> into the Java&nbsp;SE
Development Kit.  If you've contributed a <a
href="http://mustang.dev.java.net">Mustang</a> fix and your blog isn't listed
on <a href="http://planetjdk.org">planetjdk.org</a> then drop me a note and
I'll add it.]]>

</content>
</entry>
<entry>
<title>Announcing planetjdk.org</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2005/11/announcing_plan.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-11-10T23:20:58Z</issued>
<id>tag:weblogs.java.net,2005:/blog/mreinhold/158.3608</id>
<created>2005-11-10T23:20:58Z</created>
<summary type="text/plain">Many members of the JDK Community are active bloggers, but there hasn&apos;t
been one place where you can go to find their blogs&amp;#x2014;until now.</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>Community: JDK</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> Many members of the <a href="http://community.java.net/jdk">JDK
Community</a> are active bloggers, but there's no one place where you can go to
find their blogs.  Quite a few can be found on <a
href="http://weblogs.java.net">java.net</a>, but lots of Sun employees have
blogs elsewhere&#x2014;most often on <a
href="http://blogs.sun.com">blogs.sun.com</a>&#x2014;and of course non-Sun
employees have blogs all over the web.

<p> To help address this problem I've hacked up a simple aggregator and put it
up on the web at <a href="http://planetjdk.org">planetjdk.org</a>.  I didn't
have to write much new code for this since the <a
href="http://rome.dev.java.net">ROME</a> project already does the heavy lifting
of parsing syndication feeds in all of their splendiferous complexity.  It's
still a little rough around the edges&#x2014;it doesn't publish aggregated
feeds itself yet, for example, but that will come soon.  It's running,
naturally, on the very latest Mustang build.

<p> I've populated <a href="http://planetjdk.org">planetjdk.org</a> with feeds
for all of Sun's Java SE bloggers.  I've also added feeds for the blogs of
anyone who's <a href="http://jdk.dev.java.net">contributed a fix</a> to
Mustang&#x2014;at least insofar as I could find them via Google.  If you've
contributed a Mustang fix and your blog isn't listed on <a
href="http://planetjdk.org">planetjdk.org</a> then drop me a note and I'll add
it.]]>

</content>
</entry>
<entry>
<title>Mustang Component JSRs</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2005/07/mustang_compone.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-07-19T21:35:12Z</issued>
<id>tag:weblogs.java.net,2005:/blog/mreinhold/158.2955</id>
<created>2005-07-19T21:35:12Z</created>
<summary type="text/plain">The JSR 270 Expert Group recently decided upon the set of component JSRs that
will appear in Mustang, a.k.a. Java SE 6.  Here they are.</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> The <a href="http://jcp.org/en/jsr/detail?id=270">JSR 270 Expert Group</a>
recently decided upon the set of component JSRs that will appear in Mustang,
a.k.a.&nbsp;<a
href="http://weblogs.java.net/blog/kgh/archive/2005/06/goodbye_j2se_he_1.html">Java&nbsp;SE&nbsp;6</a>.
Here they are, grouped together by area: </p>

<div style="margin-left: 2em">
<table style="border-collapse: collapse">

  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=202">202</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-style: none">Java Class File Specification Update</td>
  </tr>

  <tr><td style="vertical-align: baseline; border: none; padding: 0px; padding-top: 1.5ex; border-style: none"></td><td style="vertical-align: baseline; border: none; padding: 0px; padding-top: 1.5ex; border-style: none"></td></tr>

  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=199">199</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">Java Compiler API</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-left: 1em; font-weight: bold">Ease of Development</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=269">269</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">Pluggable Annotation Processing API</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=260">260</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">Javadoc Tag Update</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=221">221</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">JDBC 4.0</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=223">223</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">Scripting for the Java Platform</td>
  </tr>

  <tr><td style="vertical-align: baseline; border: none; padding: 0px; padding-top: 1.5ex; border-style: none"></td><td style="vertical-align: baseline; border: none; padding: 0px; padding-top: 1.5ex; border-style: none"></td></tr>

  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=105">105</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">XML Digital Signature</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-left: 1em; font-weight: bold">XML</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=173">173</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">Streaming API for XML</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=222">222</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">JAXB 2.0</td>
  </tr>

  <tr><td style="vertical-align: baseline; border: none; padding: 0px; padding-top: 1.5ex; border-style: none"></td><td style="vertical-align: baseline; border: none; padding: 0px; padding-top: 1.5ex; border-style: none"></td></tr>

  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=181">181</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">WS Metadata</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-left: 1em; font-weight: bold">Web Services</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=250">250</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">Common Annotations</td>
  </tr>
  <tr>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: .25em"><a href="http://jcp.org/en/jsr/detail?id=224">224</a>:</td>
    <td style="vertical-align: baseline; border: none; padding: 0px; padding-right: 1em; border-right: 1px solid black">JAX-WS 2.0 (formerly JAX-RPC 2.0)</td>
  </tr>

</table>
</div><p>

<p> There are a few differences between this set and the set originally
proposed in <a href="http://jcp.org/en/jsr/detail?id=270">JSR 270</a>:

<ul>

  <li style="margin-top: 1ex"> JSR <a
  href="http://jcp.org/en/jsr/detail?id=173">173</a>, the Streaming API for
  XML, was added; it's a prerequisite for both JAXB&nbsp;2.0 and
  JAX-WS&nbsp;2.0. </li>

  <li style="margin-top: 1ex"> JSRs <a
  href="http://jcp.org/en/jsr/detail?id=181">181</a> (WS Metadata), and <a
  href="http://jcp.org/en/jsr/detail?id=250">250</a> (Common Annotations) were
  added; these are prerequisites for JAX-WS&nbsp;2.0. </li>

  <li style="margin-top: 1ex"> There is no JSR for "JAXP.next"; instead a minor
  maintenance revision of JAXP will be proposed for Mustang. </li>

  <li style="margin-top: 1ex"> JSR <a
  href="http://jcp.org/en/jsr/detail?id=268">268</a>, the Java Smart Card I/O
  API, was dropped.  Platform implementors are of course free to deliver an
  implementation of this JSR alongside their Java&nbsp;SE&nbsp;6
  implementations, which is what Sun intends to do, but JSR&nbsp;268 won't be a
  required part of the platform.  </li>

</ul>

<p> Mustang's final release is slated for the third quarter of 2006.  A lot
could change between now and then, but unless something truly surprising
happens then these are the JSRs that will appear in Mustang.]]>

</content>
</entry>
<entry>
<title>Mustang: Experts Wanted</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2005/03/mustang_experts.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2005-03-03T05:34:28Z</issued>
<id>tag:weblogs.java.net,2005:/blog/mreinhold/158.2110</id>
<created>2005-03-03T05:34:28Z</created>
<summary type="text/plain">JSR 270, the umbrella JSR for
J2SE 6.0 (&quot;Mustang&quot;), is looking for experts.  You could be one of them.</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> <a href="http://jcp.org/en/jsr/detail?id=270">JSR 270</a>, the umbrella JSR
for J2SE 6.0 ("Mustang"), was <a
href="http://jcp.org/en/jsr/results?id=3058">resoundingly approved</a> by the
<a href="http://jcp.org/en/participation/committee#SEEE">JCP Executive
Committee for J2SE/J2EE</a> earlier this week.

<p> The expert group already has some initial members; we'll be accepting
additional <a href="http://jcp.org/en/jsr/egnom?id=270">applications</a>
through Monday, 14 March.  We won't be able to accept every application, of
course, since we'll need to strike a balance between having broad
representation from the community and having a manageable group that can make
decisions in real time.  If you'd like to help guide the future direction of
the platform, please consider <a
href="http://jcp.org/en/jsr/egnom?id=270">applying to join</a>.]]>

</content>
</entry>
<entry>
<title>Mustang Snapshots: Another experiment in openness</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2004/11/mustang_snapsho.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-11-16T00:51:10Z</issued>
<id>tag:weblogs.java.net,2004:/blog/mreinhold/158.1734</id>
<created>2004-11-16T00:51:10Z</created>
<summary type="text/plain">Results from one good experiment lead to another...</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> Way back when I was an undergrad I had a professor who was a stickler for
experimental method.  She was also, however, always anxious to see what you had
learned.  As soon as she understood your experimental setup -- which was
usually before the end of your explanation of it -- she'd insistently ask,
"What were your results?"  Between her enthusiasm for the question and her
eastern-European native tongue the last word would always come out as
"RHEE-zults".  That question, and her unique pronunciation, have stuck in my
head ever since...

<p> Last June we did a first "experiment in openness" with the <a
href="http://weblogs.java.net/blog/mreinhold/archive/2004/06/tiger_snapshots.html">Tiger
Snapshots</a>.  We posted each weekly Tiger build, in binary form, from the
Beta 2 release right up to the Release Candidate.  The results were positive:
About ten thousand brave souls downloaded the builds and filed several dozen
bugs, and the most critical handful of those bugs was fixed in time for the RC
build.

<p> Inspired by the success of the Tiger snapshots, today we posted the first
of the <a href="http://j2se.dev.java.net">Mustang Snapshots</a>.  We've made
some significant changes this time around:

<ul>

  <li style="margin-bottom: 1ex"> <p> <b>We've started earlier.</b> You can get
  build twelve today.  Yes, that's twelve as in 12.  There aren't a whole lot
  of changes in this build, mainly just bug fixes and a few small enhancements
  here and there, but you'll see more change going forward as new features are
  integrated.

  <p style="margin-top: 1ex;"> As usual, snapshot builds are not for the timid.
  They receive only limited testing -- just a few hours' worth to make sure
  that they're warm and breathing.  If you want stability then you'd best wait
  for the Mustang beta release, but if you enjoy living on the bleeding edge
  then these builds are for you.  </li>

  <li style="margin-bottom: 1ex"> <p> <b>We're shipping source bundles.</b> For
  the first time ever we're shipping source bundles for a J2SE release while
  it's under active development (gulp).  This should make it easier for
  interested developers to contribute to the release as it evolves.  In past
  releases the only ways to do that were to be lucky and know someone at Sun,
  or be lucky and have your suggestion survive the labyrinthine gauntlet of the
  bug-submission process.

  <p style="margin-top: 1ex"> Posting source bundles will also make it easier
  for us to be embarrassed by our mistakes, but we're quite happy to be
  arbitrarily embarrassed in exchange for higher quality.  </li>

  <li style="margin-bottom: 1ex"> <p> <b>We're using java.net.</b> One of the
  big goals here is to engage better with the developer community, and <a
  href="http://java.net">java.net</a> provides excellent infrastructure for
  that.  The bundles are being hosted in the overall <a
  href="http://j2se.dev.java.net">j2se</a> project, which will shortly acquire
  the other usual project accoutrements such as mailing lists and forums.
  We're also working on a streamlined process for patch submission so that you
  can send code directly to real live JDK engineers rather than paste it into a
  bug report, cross your fingers, and hope for the best.  </li>

  <li style="margin-bottom: 1ex"> <p> <b>We're using a new license.</b> The
  source bundles are covered by the <a href="http://java.net/jrl.csp">Java
  Research License</a>.  The JRL is, to my non-lawyerly brain, a big
  improvement over the old SCSL license -- for one thing, I can understand it!
  The JRL also gives developers and researchers more flexibility than SCSL did,
  though it's still not an actual <a
  href="http://opensource.org/docs/definition.php">open source</a> license in
  <a href="http://opensource.org">OSI</a> terms (sorry).  </li>

</ul>

<p> Taken together these changes obviously entail a much bigger, and longer,
experiment than the Tiger Snapshots.  We certainly don't want to wait until the
end to learn from the experience and make adjustments.  If you have ideas on
how we could do any of this better, please let us know!]]>

</content>
</entry>
<entry>
<title>Tigers and Mustangs and Dolphins, Oh My!</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2004/09/tigers_and_must.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-09-30T10:18:19Z</issued>
<id>tag:weblogs.java.net,2004:/blog/mreinhold/158.1608</id>
<created>2004-09-30T10:18:19Z</created>
<summary type="text/plain">Tiger is done!  This seems an appropriate time to look forward, and in
particular at some changes that we&apos;re making to the J2SE release model.</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> <b>Tiger is <a href="http://java.sun.com/j2se/5.0">done</a>.</b>

<p> <i>Whew!</i> I can just about hear the collective sigh of relief from
everyone, both inside and outside of Sun, who contributed to this amazing
product.  We hope you enjoy working with it.  As <a
href="http://weblogs.java.net/blog/mreinhold/archive/2004/09/tough_and_trust.html">
I've said before</a>, I think Tiger is the highest-quality JDK that we've ever
built&nbsp;--&nbsp;and I've been helping to build these things since
JDK&nbsp;1.1.

<p> This seems an appropriate time to look forward, and in particular at some
changes that we're making to the J2SE release model.

<p> The current model has three kinds of releases:

  <ul>

    <li style="margin-bottom: 1ex"> <b>Feature releases</b> are the big ones
    (1.3, 1.4, <s>1.5</s> 5.0), with tons of bug fixes and lots of new
    features.  These have generally been about 24-36 months apart.

    <li style="margin-bottom: 1ex"> <b>Maintenance releases</b>, the so-called
    "dot-dot" releases (1.4.1, 1.4.2, <i>etc.</i>), have lots of bug fixes but
    no new API features.  Lately these have been about 8-10 months apart.

    <li style="margin-bottom: 1ex"> <b>Update releases</b>, the so-called
    "underscore" releases (1.4.2_01, <s>1.5.0_01</s> 5.0 update&nbsp;1), which
    contain a very small number of bug fixes (typically around 100) carefully
    chosen to meet urgent customer needs.  Sun has shipped these about every
    3-4 months.

  </ul>

Going forward we're going to simplify this model and increase the rate at which
we ship releases.  In particular:

  <ul>

    <li style="margin-bottom: 1ex"> <b>Feature releases will ship every 18-24
    months.</b> This will allow the platform to evolve more rapidly so as to
    better meet the needs of the developer community and compete
    with&nbsp;.NET.

    <li style="margin-bottom: 1ex"> <b>There won't be any more maintenance
    releases.</b> Starting with Tiger (5.0) there won't be any more releases
    the size of 1.4.1 and 1.4.2, <i>i.e.</i>, with 1500-2000 bug fixes.  There
    still might be a release called "5.1", but it will just be a special update
    release.

    <li style="margin-bottom: 1ex"> <b>Update releases will ship every 2-3
    months.</b> This will make it possible for critical bug fixes to be
    delivered to customers in a more timely manner.

  </ul>

Changing the release model is not something we've done lightly; this is the
result of several months of investigation and many conversations with partners
and developers in the community.  A couple additional expected benefits of
these changes are:

  <ul>

    <li style="margin-bottom: 1ex"> <b>Releases will more likely ship on
    time.</b> Within the J2SE engineering organization we've long wrestled with
    the difficult choice of making the current maintenance release as perfect
    as possible versus working on great new features for the next big feature
    release.  This conflict has been the proximate cause of many schedule slips
    over the years.  The new release model finally resolves this fundamental
    tension: J2SE engineers will, by default, always be working on the next
    feature release.  There will be times when they're asked to fix a critical
    bug in an update release, and even rarer times when some nontrivial work
    (<i>e.g.,</i> to improve performance) will be done in an update release,
    but these will be the exceptions rather than the rule.

    <li style="margin-bottom: 1ex"> <b>Release adoption will improve.</b> The
    existing medium-sized maintenance releases have long been a big adoption
    barrier.  Due to the level of change in these releases many users have only
    been confident enough to adopt them after requalifying all of their
    applications&nbsp;--&nbsp;in other words, by treating them much like
    feature releases in terms of testing.  Most users are confident enough in
    the update releases to just "drop them in" without doing a lot of testing;
    now they'll be able to do so for a longer time in between feature releases.

  </ul>

These are not easy changes to make.  We're still in the middle of figuring out
a bunch of the details, so reality over the next couple of years might not
exactly match what I've described above.  Overall, however, we think that the
improved focus and increased agility of the new release model will bring big
benefits to the platform and to the Java community.]]>

</content>
</entry>
<entry>
<title>Tough and Trustworthy Tigers</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2004/09/tough_and_trust.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-09-01T23:26:32Z</issued>
<id>tag:weblogs.java.net,2004:/blog/mreinhold/158.241</id>
<created>2004-09-01T23:26:32Z</created>
<summary type="text/plain">The Tiger Release Candidate shipped earlier today.
Even more amazingly, our QA team is happy with it!
</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> The Tiger Release Candidate <a href="http://java.sun.com/j2se/5.0">shipped
earlier today</a>. </p>

<p> Even more amazingly, our QA team is happy with it! </p>

<p> Our hard-working QA team recently presented a summary of their results
based on the near-final builds of Tiger.  Overall this is looking to be the
most stable and reliable JDK that we've ever shipped.  Here are the highlights
of their report: </p>

<ul>

  <li style="margin-bottom: 1ex"> <b>Applet
  compatibility</b>&nbsp;&nbsp;&nbsp;&nbsp; We test a set of over 400 applets,
  nearly all of which are external, to make sure that they run as well on Tiger
  as they do on any other popular VM, most especially the old and somewhat
  quirky VM from Microsoft.  97% of these tests pass, which is a much higher
  fraction than for any previous JDK release.  The few failures are mostly due
  to applets that are relying on behavior that's outside the scope of the J2SE
  specification. </li>

  <li style="margin-bottom: 1ex"> <b>Reliability</b>&nbsp;&nbsp;&nbsp;&nbsp; We
  run a set of five large server-class applications, including Sun's own
  application server, another well-known application server, and Tomcat, on
  some big iron under heavy load to see how long they stay up.  As of this
  writing they've been up and running continuously for 28 days -- at some point
  we'll have to decide when to shut them off.  This is a much longer uptime
  than we've achieved in previous releases. </li>

  <li style="margin-bottom: 1ex"> <b>Conformance</b>&nbsp;&nbsp;&nbsp;&nbsp;
  The 1.5 JCK (Java Compatibility Kit) contains a whopping 45,194 tests (for
  comparison, the 1.4.2 JCK had a mere 27,309 tests).  Tiger passes all of
  them. </li>

  <li style="margin-bottom: 1ex"> <b>Regression
  tests</b>&nbsp;&nbsp;&nbsp;&nbsp; These are tests written by development
  engineers to make sure that a bug gets fixed and stays fixed.  99.7% of the
  tests in the regression-test suite pass.  We've carefully reviewed the few
  failures, and in all cases we decided that the risk of fixing them at this
  late stage outweighs their relatively small end-user impact. </li>

  <li> <b>Functional tests</b>&nbsp;&nbsp;&nbsp;&nbsp; These are tests written
  by quality engineers to test the overall functionality of the JDK.  99.7% of
  the tests in the functional-test suite pass.  As with the failing regression
  tests, fixing the few remaining failures is just not worth the risk right
  now. </li>

</ul>

<p> A total of 8,002 features, enhancements, and bug fixes were integrated into
Tiger, so when I step back and think about it this way I'm fairly amazed that
it's working so well. </p>

<p> Tiger is the highest-quality JDK that we've ever built.  Is it perfect?
No, of course not.  There are no doubt still some bugs lurking, but hopefully
none is too serious.  If Tiger quality is important to you then please download
and test the <a href="http://java.sun.com/j2se/5.0">release candidate</a> and
<a href="http://bugs.sun.com/services/bugreport/index.jsp">let us know</a>
right away if something's wrong.  The next couple of weeks are our last chance
to fix any thermonuclear, hair-on-fire, sky-is-falling showstopper bugs. </p>
]]>

</content>
</entry>
<entry>
<title>Tiger Snapshots: An experiment in openness</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/mreinhold/archive/2004/06/tiger_snapshots.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2004-06-15T02:01:55Z</issued>
<id>tag:weblogs.java.net,2004:/blog/mreinhold/158.1283</id>
<created>2004-06-15T02:01:55Z</created>
<summary type="text/plain">Last Friday we posted the first of the Tiger Snapshot releases to
the web.  Why?
</summary>
<author>
<name>mreinhold</name>

<email>mr@sun.com</email>
</author>
<dc:subject>J2SE</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/mreinhold/">
<![CDATA[<p> Last Friday we posted the first of the <a
href="http://java.sun.com/j2se/1.5.0/snapshots">Tiger Snapshot</a> releases to
the web.  Build 55 is available right now, and the plan is to post each weekly
build until we reach the Release Candidate (RC) build.  Unlike our milestone
releases these builds receive only limited testing, so they're not for the
feint of heart.  If you'd like to live on the bleeding edge, though, then these
builds are for you.

<p> Our main motivation for doing the snapshot releases is to ensure that the
FCS release of J2SE 1.5.0 is of the highest possible quality.  The end-game of
a big software release, as anyone who's survived one knows, is a particularly
tense time during which every change is closely scrutinized, lots of hard
decisions must be made, and there's never enough testing.  By posting each
weekly build on the web we're hoping to increase the level of external testing
and thereby improve the quality of the final result.

<p> A second motivation for doing the snapshot releases is to gain some more
experience with the "release early, release often" development style that's
been so successful in the Open Source community.  The Tiger Snapshot model
isn't exactly "release early", since these are post-Beta&nbsp;2 builds, and
it's not quite as "often" (<i>i.e.</i>, nightly) as some projects, but it's a
more aggressive one than we've ever tried before.  If this experiment goes well
then we'll consider releasing even earlier and oftener in future releases.
]]>

</content>
</entry>

</feed>