<!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.1.2 Release Notes<a name="Apache_Wink_1.1.2_Release_Notes"></a></h3></div><div class="section"><h4>Overview<a name="Overview"></a></h4></div><p>This is the fifth 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.1 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.1.2<a name="Complete_list_of_issues_fixed_in_1.1.2"></a></h4></div><div class="section"><h5>Bug<a name="Bug"></a></h5></div><ul><li>WINK-286 - GET methods fail to serve requests without Content-Type if the class/interface has @Consumes</li><li>WINK-292 - Add proxy authentification support for the RestClient</li><li>WINK-307 - Fix obscure error message during Service Doc generation</li><li>WINK-311 - Resource Locator's @PathParam resolution is not correct.</li><li>WINK-312 - GenericsUtils.isAssignable() cannot handle primitive types</li><li>WINK-316 - AdminServlet doesn't process QueryParams properly</li><li>WINK-317 - HttpHeadersImpl.getCookies() only ever returns the first cookie in the Cookie header</li><li>WINK-320 - The JSON4J tests are failing due to not being able to find test resources</li></ul><div class="section"><h5>Improvement<a name="Improvement"></a></h5></div><ul><li>WINK-287 - Support web beans / (J)CDI / JSR-299</li><li>WINK-294 - Some plugins missing versions</li><li>WINK-295 - Upgrade to SLF4J 1.6.0</li><li>WINK-296 - DEBUG -&gt; TRACE logging reform</li><li>WINK-297 - serviceability improvement; externalize strings, confirm formatting</li><li>WINK-299 - Make Jackson the default JSON provider for Wink</li><li>WINK-304 - serviceability improvement, output information upon application registration, errors</li><li>WINK-305 - allow configuration file for SSL</li><li>WINK-310 - Annotations inherited by a resource class should determine parameter type from the subclass, not the superclass</li><li>WINK-315 - Improve the tolerance of malformed media types</li><li>WINK-319 - Simplify addition of Request/Response handlers</li><li>WINK-325 - Allow AtomCommonAttributes#otherAttributes and AtomCommonAttributesSimpleContent#otherAttributes to be lazy initialized.</li></ul><div class="section"><h5>New Feature<a name="New_Feature"></a></h5></div><ul><li>WINK-313 - WADL support</li><li>WINK-318 - Wink JSON model</li><li>WINK-321 - Support @XmlJavaTypeAdapter and @XmlElement on method params</li><li>WINK-322 - Add JSR250 life cycle management support</li><li>WINK-326 - AsyncHttpClient module</li></ul><div class="section"><h5>Test<a name="Test"></a></h5></div><ul><li>WINK-298 - enhance DTD expansion tests</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>
