<!doctype html>
<html>
<link rel="icon" type="image/png" href="favicon.ico" />
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Kitalpha</title>
	<link rel="stylesheet" href="styles.css" type="text/css" />
	
	<link rel="stylesheet" type="text/css" href="//www.eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/vendor/cookieconsent/cookieconsent.min.css" />
  	<script src="//www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/vendor/cookieconsent/default.min.js"></script>
	
	<style>
		
		.dnd a:link {
			color: #242A75;
			font-weight: bold;
			text-decoration:none;
		}
		.dnd a:visited {
			color: #999999;
			font-weight:bold;
			text-decoration:none;
		}
		.dnd a:active,
		.dnd a:hover {
			color: #1791AB;
			text-decoration:underline;
		}
		.dnd {
			font-family:Arial, Helvetica, sans-serif;
			color:#242A75;
			font-size:12px;
			text-shadow: 1px 1px 0px #fff;
			background:#eaebec;
			#margin:20px;
			border:#ccc 1px solid;

			-moz-border-radius:3px;
			-webkit-border-radius:3px;
			border-radius:3px;

			-moz-box-shadow: 0 1px 2px #d1d1d1;
			-webkit-box-shadow: 0 1px 2px #d1d1d1;
			box-shadow: 0 1px 2px #d1d1d1;
		}
		.dnd th {
			padding:21px 25px 22px 25px;
			border-top:1px solid #fafafa;
			border-bottom:1px solid #e0e0e0;

			background: #ededed;
			background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#ebebeb));
			background: -moz-linear-gradient(top,  #ededed,  #ebebeb);
		}
		.dnd th:first-child {
			text-align: left;
			padding-left:20px;
		}
		.dnd tr:first-child th:first-child {
			-moz-border-radius-topleft:3px;
			-webkit-border-top-left-radius:3px;
			border-top-left-radius:3px;
		}
		.dnd tr:first-child th:last-child {
			-moz-border-radius-topright:3px;
			-webkit-border-top-right-radius:3px;
			border-top-right-radius:3px;
		}
		.dnd tr {
			text-align: center;
			padding-left:20px;
		}
		.dnd td:first-child {
			text-align: left;
			padding-left:20px;
			border-left: 0;
		}
		.dnd td {
			padding:18px;
			border-top: 1px solid #ffffff;
			border-bottom:1px solid #e0e0e0;
			border-left: 1px solid #e0e0e0;

			background: #fafafa;
			background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfb), to(#fafafa));
			background: -moz-linear-gradient(top,  #fbfbfb,  #fafafa);
		}
		.dnd tr.even td {
			background: #f6f6f6;
			background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f6f6f6));
			background: -moz-linear-gradient(top,  #f8f8f8,  #f6f6f6);
		}
		.dnd tr:last-child td {
			border-bottom:0;
		}
		.dnd tr:last-child td:first-child {
			-moz-border-radius-bottomleft:3px;
			-webkit-border-bottom-left-radius:3px;
			border-bottom-left-radius:3px;
		}
		.dnd tr:last-child td:last-child {
			-moz-border-radius-bottomright:3px;
			-webkit-border-bottom-right-radius:3px;
			border-bottom-right-radius:3px;
		}
		.dnd tr:hover td {
			background: #f2f2f2;
			background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#f0f0f0));
			background: -moz-linear-gradient(top,  #f2f2f2,  #f0f0f0);	
		}
	</style>
	
	
	<!-- Add jQuery library -->
	<script type="text/javascript" src="//code.jquery.com/jquery-latest.min.js"></script>
	
	<script>
		(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
		(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
		m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
		})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
		
		ga('create', 'UA-60944796-1', 'auto');
		ga('send', 'pageview');
	</script>
	
</head>
<body>
	<header>
		<div class="logo-left width">
			<a href="index.html"><img src="images/logo_kitalpha.png" alt="Kitalpha logo" width="40%"></a>
		</div>
	</header>

    <nav>
		<div class="width">
			<ul>
				<li class="start"><a href="index.html">Home</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li><a href="//polarsys.org/wiki/Kitalpha/features">Features</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li><a href="start.html">Getting Started</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li><a href="events.html">Events</a></li>
				<li class="divider-vertical-second-menu"></li>
				<li class="end"><a href="community.html">Community</a></li>
				<li style="text-align:right;"><a href="download.html" class="box">Download</a></li>
				<li style="float:none;"><br style="clear:both;" /></li> 
			</ul>		
		</div>
    </nav>

	<div id="hrdiv">
		<img src="images/bg_breadcrumb.jpg" width="" alt="" height="" />
	</div>

    <div id="body" class="width-started">
		
		
        <section id="content">
        	<br />
        	
        	<div style="position: relative; z-index: 10;">

				<div
					style="background-color: #D8D8D8; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.2;"></div>
				<p>
					<img style="float: left; margin: 0px 15px 0px 0px;"
						src="images/whatsnew.png" width="100" /> <br /> <b>Kitalpha
						1.3.1</b> is now available! <br /> See the <a
						href="http://projects.eclipse.org/projects/polarsys.polarsys.kitalpha/releases/1.3.1/plan"><b>releases
							notes</b></a> for further information.
					<!-- See <b>this post</b> for more details. -->
					<br style="clear: both;" />
				</p>
			</div>
			
			<article class="expanded" id="construction">
				<table>
					<tr>
						<th>
							<h3>Information about archives</h3>
							<p>
								In order to download previous releases of Kitalpha,
								please follow <a
									href="http://download.polarsys.org/kitalpha/"><b>this link</b></a>. 
							</p>
						</th>
					</tr>
				</table>
			</article>
		
			<article class="expanded">
				<h3>
					Kitalpha 1.3.1:
				</h3>
				<table class="dnd" cellspacing='0'> <!-- cellspacing='0' is important, must stay -->

					<!-- Table Header -->
					
					<thead>
						<tr>
							<th>Operating System</th>
							<th>Architecture</th>
							<th>Download link</th>
						</tr>
					</thead>
					
					<!-- Table Header -->

					<!-- Table Body -->
					<tbody>

						<!--<tr>
							<td>Windows</td>
							<td>32-bit</td>
							<td><a href="http://download.polarsys.org/kitalpha/sdk/platform/releases/1.1.3/mars/kitalpha_1.1.3-2017-07-24_11-10-47-win32-win32-x86-mars.zip" 
									target="_blank" onClick="ga('send', 'event', 'Kitalpha', '1.1.3', 'Win-x86');"><img src="images/download.png" width="15%" alt="Link"></a></td>
						</tr>--> <!-- Table Row -->

						<tr class="even">
							<td>Windows</td>
							<td>64-bit</td>
							<td><a href="http://download.polarsys.org/kitalpha/products/release/1.3.1/kitalpha-1.3.1.201905140401-win32.win32.x86_64.zip" 
									target="_blank" onClick="ga('send', 'event', 'Kitalpha', '1.3.1', 'Win-x64');"><img src="images/download.png" width="15%" alt="Link"></a></td>
						</tr><!-- Darker Table Row -->

						<!--<tr>
							<td>Linux</td>
							<td>32-bit</td>
							<td><a href="http://download.polarsys.org/kitalpha/sdk/platform/releases/1.1.3/mars/kitalpha_1.1.3-2017-07-24_11-10-47-linux-gtk-x86-mars.tar.gz" 
									target="_blank" onClick="ga('send', 'event', 'Kitalpha', '1.1.3', 'Linux-x86');"><img src="images/download.png" width="15%" alt="Link"></a></td>
						</tr>-->

						<tr class="even">
							<td>Linux</td>
							<td>64-bit</td>
							<td><a href="https://download.polarsys.org/kitalpha/products/release/1.3.1/kitalpha-1.3.1.201905140401-linux.gtk.x86_64.zip" 
									target="_blank" onClick="ga('send', 'event', 'Kitalpha', '1.3.1', 'Linux-x64');"><img src="images/download.png" width="15%" alt="Link"></a></td>
						</tr>

						<tr>
							<td>Mac OSX</td>
							<td>64-bit</td>
							<td><a href="https://download.polarsys.org/kitalpha/products/release/1.3.1/kitalpha-1.3.1.201905140401-macosx.cocoa.x86_64.zip" 
									target="_blank" onClick="ga('send', 'event', 'Kitalpha', '1.3.1', 'MacOSX');"><img src="images/download.png" width="15%" alt="Link"></a></td>
						</tr>

					</tbody>
					<!-- Table Body -->

				</table>
				
				<br />
				
				<p>
					&nbsp;&nbsp;&nbsp;The installation instructions are detailed in the <b> <a href="start.html"> <i> Getting Started </i> </a> </b> page.
				</p>				
			</article>
        </section>
        
        <aside class="sidebar">

           <ul>	
				<li>
					<h4>Important information</h4>
					<ul>
						<!-- The release is official
						<li>
							<u>Note:</u> These are pre-release versions, not official versions. 
						</li>
						-->
						<li>
							<sup>*</sup><u>Note:</u> MacOS and Linux versions have not been field-tested. Do not hesitate to provide your feedback on the forum. 
						</li>
                    </ul>
                </li>
			</ul>
			<br />
			<br />
			<br />
		
        </aside>
    	<div class="clear"></div>
    </div>
	
    <footer>
		<div class="footer-content width">
			<ul>
				<li><h4>PolarSys</h4></li>
				<li><a href="//www.polarsys.org/about-us">About</a></li>
				<li><a href="//www.polarsys.org/contact-us">Contact Us</a></li>
				<li><a href="//www.polarsys.org/eclipse_sites/contact">Kitalpha Project Page</a></li>
			</ul>
			<ul>
            	<li><h4>Legal</h4></li>
				<li><a href="//www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
				<li><a href="//www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
				<li><a href="//www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
				<li><a href="//www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License</a></li>
				<li><a href="//www.eclipse.org/legal/">Legal Resources</a></li>
            </ul>
			<ul>
				<li><h4>Useful Links</h4></li>
				<li><a href="//polarsys.org/bugs/describecomponents.cgi?product=Kitalpha">Report a Bug</a></li>
				<li><a href="//polarsys.org/wiki/Kitalpha">How to Contribute</a></li>
				<li><a href="//polarsys.org/mailman/listinfo/kitalpha-dev">Mailing List</a></li>
				<li><a href="//polarsys.org/forums/index.php/f/8/">Forum</a></li>
			</ul>
			<ul class="endfooter">
				<li><h4>Other</h4></li>
				<li><a href="//www.thalesgroup.com/">Thalesgroup</a></li>
				<li><a href="//www.eclipse.org/org/workinggroups/">Working Groups</a></li>
			</ul>
			<table>
				<tr>
					<td>
						<a href="//www.polarsys.org/"><img src="images/polarsys.png" alt="PolarSys logo" width="250"></a>
						<br />
						<br />
					</td>
					<td>
						<div class="right-footer">
							<a href="//www.eclipse.org/"><img src="images/eclipse.png" alt="Eclipse logo"></a>
							<br />
							Copyright © <span id="year">2014</span> The Eclipse Foundation. <br /> All Rights Reserved.
						</div>
					</td>
				</tr>
			</table>
		
			<div class="clear"></div>			
		</div>
   
	</footer>
</body>
</html>