<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License. 
-->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>News</title>
    <meta name="description" content="Apache Wink -- News">
    <meta name="author" content="dev@wink.apache.org">

    <META http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <META name="Keywords" content="Apache Wink JSR-237 REST JavaEE6 JAX-RS" />
    <META name="Owner" content="dev@wink.apache.org" />
    <META name="Robots" content="index, follow" />
    <META name="Security" content="Public" />
    <META name="DC.Rights" content="Copyright &copy; 2009-2013, The Apache Software Foundation" />

    <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <!-- Le styles -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="assets/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <link href="assets/bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet">
    <style type="text/css">
      body {
        padding-top: 60px;
        padding-bottom: 40px;
      }
    </style>

    <!-- Le fav and touch icons -->
    <link rel="shortcut icon" href="images/wink.png">
    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="apple-touch-icon" href="images/apple-touch-icon-iphone.png" />
    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-ipad.png" />
    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-iphone-retina.png" />
    <link rel="apple-touch-icon" sizes="144x144" href="images/apple-touch-icon-ipad-retina.png" />
  </head>

  <body>
    <div class="navbar navbar-inverse navbar-fixed-top">
      <div class="navbar-inner fill">
          <div class="container">
            <!--<a class="brand" href="index.html"><img src="images/favicon.ico" width="15%" height="15%"/></a>-->

            <ul class="nav">
              <li class="active"><a href="index.html">Home</a></li>
              <li class="active"><a href="news.html">News</a></li>
              <li class="active"><a href="downloads.html">Downloads</a></li>
              <li class="active"><a href="documentation.html">Documentation</a></li>
              <li class="active"><a href="community.html">Community</a></li>
              <li class="active"><a href="source.html">Source</a></li>
              <li class="active"><a href="faq.html">FAQ</a></li>
              <li class="active"><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
              <li class="active"><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
              <li class="active"><a href="privacy.html">Privacy</a></li>
            </ul>


            <!-- Google CSE Search Box Begins  -->
              <FORM class="navbar-form pull-right" id="searchbox_007756850371322559056:un2ixevjhis" action="http://www.google.com/cse">
                <INPUT type="hidden" name="cx" value="007756850371322559056:un2ixevjhis">
                <INPUT type="hidden" name="cof" value="FORID:0">
                <INPUT name="q" type="text" placeholder="Search">
              </FORM>
              <!--<SCRIPT type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_007756850371322559056:un2ixevjhis"></SCRIPT>-->
              <!-- Google CSE Search Box Ends -->
        </div><!--/container -->
      </div><!--/navbar-inner -->
    </div><!--/navbar -->
    

    
    <div class="container" id="content">
      <h2>Latest Apache Wink News</h2>

<hr>

<div class="row">
    <div class="span12">   
    2013-04-12 - Apache Wink 1.3.0 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2012-12-19  - Apache Wink graduates as an Apache Top Level Project.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2012-08-21 - Apache Wink 1.2.1 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2012-05-21 - Wink 1.2.0 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2011-05-09 - Apache Wink 1.1.3 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2010-11-15 - Apache Wink 1.1.2 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2010-07-07 - Apache Wink 1.1.1 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2010-05-14 - Apache Wink 1.1 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2009-11-09 - Apache Wink 1.0 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2009-08-26 - Apache Wink 0.1 released.</br>
    Find more information in the project <a href="documentation.html">Documentation</a> page.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    009-07-01 - Apache Wink is JAX-RS 1.0 compliant.
    </div>
</div>

<hr>

<div class="row">
    <div class="span12">   
    2009-05-27 - Apache Wink enters incubation.
    </div>
</div>

<hr>
    </div> <!-- /container/content -->
    


    <hr>

    <div class="container">
      <footer>
        <div class="xright">
        Copyright &copy; 2009-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.Licensed under <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</br>
        Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.</br>
        </p>
    </footer>
  </div> <!-- /container/footer -->


  <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="assets/jquery/jquery-1.9.1.min.js"></script>
    <script src="assets/bootstrap/js/bootstrap.min.js"></script>

    <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-1174707-10']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();
    </script>
    
  </body>
</html>
