<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'

	#*****************************************************************************
	#
	# template.php
	#
	# Author: 		Denis Roy
	# Date:			2005-06-16
	#
	# Description: Type your page comments here - these are not sent to the browser
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "BPEL Designer - New & Noteworthy";
	$pageKeywords	= "V1.0.4,BPEL,info";
	$pageAuthor		= "Bob Brodt";
	
	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# include($_SERVER['DOCUMENT_ROOT'] . "/$projectShortName/items/users_menu.php");
		
	# End: page-specific settings
	#
		
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

<STYLE type="text/css">
span.feature {
	font-size: 18pt;
	font-weight: bold;
}

span.feature:before {
   content: counter(featureId) ". " ;
   counter-increment: featureId;
}
</STYLE>
	
<div id="maincontent">
	<div id="midcolumn" style="counter-reset: featureId;" >
		<h1>$pageTitle</h1>
		<h2>Version 1.0.4 - Service Release (December 4, 2014)</h2>
		
		<p>
			This release updates the BPEL Designer for Eclipse Luna.
			</br>
			Work on fixing the content assist functionality for XPath expression editors <b>still</b> has made no progress due to lack of resources.
			We had started to implement an an XText driven content assist feature, but due to lack of manpower it has ground to a halt.
			If anyone is interested in helping, please contact the
			<a href="/$projectShortName/team.php">Project Lead</a>									
				
		</p>
		<p>
		This release includes only one bug fix:
		</p>
		<ul>
			<li>
				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=404117">Bug 404117</a> - Cannot set date (deadline expression) in Wait and OnAlarm
			</li>
		</ul>
	</div>
</div>


EOHTML;


	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
