<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Feb 18, 2013 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache Wink - </title>
    <style type="text/css" media="all">
      @import url("../css/maven-base.css");
      @import url("../css/maven-theme.css");
      @import url("../css/site.css");
    </style>
    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20130218" />
    <meta http-equiv="Content-Language" content="en" />
                                                    
<link rel="shortcut icon" href="./images/wink2.ico"/>
                                                        
<style type="text/css" media="all">@import url(css/site.css);</style>
                      
  </head>
  <body class="composite">
    <div id="banner">
                  <a href="http://incubator.apache.org/wink/" id="bannerLeft">
                                                <img src="../images/wink2-s.png" alt="Apache Wink" />
                </a>
                        <a href="http://incubator.apache.org" id="bannerRight">
                                        <img src="http://incubator.apache.org/images/apache-incubator-logo.png" alt="Apache Incubator" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
                
                <div class="xleft">
                                  <a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a>
                &gt;
                              <a href="http://incubator.apache.org" class="externalLink" title="Incubator">Incubator</a>
                &gt;
                              <a href="http://incubator.apache.org/wink" class="externalLink" title="Wink">Wink</a>
                  </div>
            <div class="xright">                    <a href="http://svn.apache.org/viewvc/incubator/wink/trunk" class="externalLink" title="SVN">SVN</a>
            |
                        <a href="http://cwiki.apache.org/confluence/display/WINK/Index" class="externalLink" title="Wiki">Wiki</a>
            |
                        <a href="http://issues.apache.org/jira/browse/WINK" class="externalLink" title="Jira">Jira</a>
              
                
                &nbsp;| <span id="publishDate">Last Published: 2013-02-18</span>
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
                
                                <h5>Main</h5>
                  <ul>
                  <li class="none">
                          <a href=".././index.html" title="Introduction">Introduction</a>
            </li>
                  <li class="none">
                          <a href=".././news.html" title="News">News</a>
            </li>
                  <li class="none">
                          <a href=".././downloads.html" title="Downloads">Downloads</a>
            </li>
                  <li class="none">
                          <a href=".././documentation.html" title="Documentation">Documentation</a>
            </li>
                  <li class="none">
                          <a href=".././community.html" title="Community">Community</a>
            </li>
                  <li class="none">
                          <a href=".././faqs.html" title="FAQ">FAQ</a>
            </li>
          </ul>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
      </a>
                   
                
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h3>Apache Wink 1.0 Release Notes<a name="Apache_Wink_1.0_Release_Notes"></a></h3></div><div class="section"><h4>Overview<a name="Overview"></a></h4></div><p>This is the second official release of Apache Wink project. Apache Wink is a framework that helps you to produce and consume RESTful Web Services. Apache Wink is TCK compliant implementation of the JAX-RS v1.0 specification. The project also introduces Java API for writing clients that consume HTTP-based RESTful Web Services.</p><div class="section"><h4>Complete list of issues fixed in 1.0<a name="Complete_list_of_issues_fixed_in_1.0"></a></h4></div><div class="section"><h5>New Feature<a name="New_Feature"></a></h5></div><ul><li>WINK-69 - Consider an Abdera Provider</li><li>WINK-112 - Support for reading/writing of RSS Feeds</li><li>WINK-137 - MultiPart support</li><li>WINK-142 - Provider support for Jettison</li><li>WINK-154 - Add Jackson provider under wink-providers</li><li>WINK-155 - Deploy Wink as a servlet filter</li><li>WINK-160 - Consider content-type additional params in the resouce matching process</li><li>WINK-181 - Autoregistration of external providers</li></ul><div class="section"><h5>Bug<a name="Bug"></a></h5></div><ul><li>WINK-86 - Empty incoming body content</li><li>WINK-107 - Need to agree on what Request.selectVariant() should do</li><li>WINK-117 - Missing &quot;/&quot; before sub resource in the Admin Console</li><li>WINK-120 - RequestProcessor.PROPERTY<i>ROOT</i>RESOURCE refers to wink.searchPolicyContinuedSearch</li><li>WINK-121 - Multiple Accept headers</li><li>WINK-122 - PathParams lost when using sub resource locators</li><li>WINK-143 - javadoc in HelloWorld sample is wrong</li><li>WINK-144 - Client should use application/octet-stream when no Content-Type specified</li><li>WINK-153 - Jackson calls getContextResolver(type, null)</li><li>WINK-164 - Client should load common providers from wink-providers</li><li>WINK-165 - wink-providers of the server side are not loaded</li><li>WINK-167 - The sort algorithm in ProvidersRegistry.getProvidersByWildcardMediaType ignores priority</li><li>WINK-168 - Move AtomJaxbUtils to internal</li><li>WINK-169 - Cleanup Atom related providers</li><li>WINK-172 - Improve invalid media type toleration</li><li>WINK-183 - wink-providers must be included in the distribution archive</li><li>WINK-187 - org.apache.wink.common.internal.utils.FileLoader is not able to open a stream to existing File.</li><li>WINK-188 - org.apache.wink.server.internal.contexts.HttpHeadersImpl#getRequestHeaderInternal(String) should check for invalid values.</li><li>WINK-191 - ClientConfig's loadWinkApplications always true</li><li>WINK-201 - Fix precedence on custom type conversion</li><li>WINK-204 - wink-providers module should appear before wink-examples module in the main pom.xml</li><li>WINK-208 - Fix issue with UriEncoder with internationalized characters</li><li>WINK-214 - UriTemplateMatcher should tolerate empty @PathParam segments</li><li>WINK-215 - Build fails with missing license header when checking out to eclipse directory</li><li>WINK-217 - runtime should tolerate @Path(&quot;&quot;) and @Path(&quot;/&quot;)</li></ul><div class="section"><h5>Improvement<a name="Improvement"></a></h5></div><ul><li>WINK-34 - Externalize strings for logging messages above debug</li><li>WINK-60 - Make a better way to debug integration tests</li><li>WINK-113 - Cache reflective calls for JAXB bean annotations</li><li>WINK-114 - Cache parsed Accept header content where possible</li><li>WINK-115 - Add caching to MediaTypeMap.getProvidersbyMediaType()</li><li>WINK-150 - Include JAX-RS API Javadoc on website</li><li>WINK-151 - Make deployment configuration public</li><li>WINK-161 - Make SyndContent/AtomContent support Object values instead of String</li><li>WINK-162 - The client should send appropriate accept header when no accept specified</li><li>WINK-173 - Delay a few calls during initialization unless absolutely required</li><li>WINK-175 - Change ProvidersRegistry MediaTypeMap to allow gets to be faster</li><li>WINK-180 - Change package names of wink-providers to org.apache.wink.providers</li><li>WINK-182 - Move json.org support to a separate module</li><li>WINK-185 - Should add some servicability to common paths</li><li>WINK-186 - Support JAX-RS 1.1 E012</li><li>WINK-189 - Change for continuedSearchPolicy and caching of root resources in registry</li><li>WINK-190 - Performance change for SoftConcurrentMap</li><li>WINK-193 - JAX-RS 1.1 support:  C004</li><li>WINK-194 - JAX-RS 1.1 support:  C006</li><li>WINK-202 - Change XmlFormattingOptions to not do anything by default</li><li>WINK-203 - Apache HTTP Client change InputStream behavior</li><li>WINK-206 - Make MediaTypeMapper public</li><li>WINK-209 - Request.selectVariant() should take into account Accept-Charset</li><li>WINK-210 - Output of ProvidersRegistry$MediaTypeMap.toString() should be more readable</li><li>WINK-211 - minor serviceability improvement</li></ul><div class="section"><h5>Sub-task<a name="Sub-task"></a></h5></div><ul><li>WINK-145 - Create JAXB classes for RSS</li><li>WINK-146 - Add unit tests for the RSS object model</li><li>WINK-147 - Add an Apache Wink client example to demonstrate consuming of RSS feeds</li><li>WINK-148 - Add JAX-RS Provider to support HTTP header type=&quot;application/rss+xml&quot;</li><li>WINK-171 - JAXBElementXmlProvider ignores charset during unmarsheling</li><li>WINK-177 - Use ContextResolver to receive XmlFormattingOptions</li></ul><div class="section"><h5>Task<a name="Task"></a></h5></div><ul><li>WINK-118 - Adding documentation regarding the Wink Admin console</li><li>WINK-176 - Apache Wink 1.0 Developer Guide Documentation</li></ul><div class="section"><h5>Test<a name="Test"></a></h5></div><ul><li>WINK-178 - adding Jackson provider test</li><li>WINK-198 - JAX-RS 1.1 support:  E009</li><li>WINK-199 - JAX-RS 1.1 support:  E010</li><li>WINK-200 - JAX-RS 1.1 support:  E011</li></ul><div class="section"><h5>Wish<a name="Wish"></a></h5></div><ul><li>WINK-179 - test to ensure map types in ProvidersRegistry</li></ul>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">Copyright &#169;                    2009-2013
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
