<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta name="copyright" content="Copyright (c) Eclipse contributors and others 2018, 2020."/>
<meta http-equiv="Content-Language" content="en-us"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="STYLESHEET" href="noteworthy.css" type="text/css"/>
<title>StatET 4.0 - New and Noteworthy</title>

</head>
<body>

<h1>StatET 4.0 - New and Noteworthy</h1>
<ul>
	<li><a href="#general">General</a></li>
	<li><a href="#r_package">R Package Development</a></li>
	<li><a href="#r_app">R App Development</a></li>
	<li><a href="#debug">Debugger</a></li>
	<li><a href="#remote">Remote Console</a></li>
</ul>
<p>For the RJ/RServi development library see its <a href="https://git.eclipse.org/c/statet/org.eclipse.statet-rj.git/tree/CHANGES.md?h=releases/4.0.0.201906060800-r">CHANGES</a> file.</p>
<p>For other information about the release see the <a href="https://projects.eclipse.org/projects/science.statet/releases/4.0.0">release page</a> for StatET 4.0.0.</p>

<table class="news">
<colgroup>
	<col class="title" />
	<col />
</colgroup>
<tbody>

	<tr>
		<td id="general" class="section" colspan="2">
			<h2>General</h2>
		</td>
	</tr>
	<tr id="general-preferences">
		<td class="title"><a>Preferences and Other Configuration</a></td>
		<td class="content">
			The preferences and other configuration settings made in previous version of StatET will
			<i>not been taken over</i> to StatET 4.0. This also includes the R code snippets, launch
			configurations, project natures and project properties.
		</td>
	</tr>
	
	<tr>
		<td id="r_package" class="section" colspan="2">
			<h2>R Package Development</h2>
		</td>
	</tr>
	<tr id="r_package-project_setup">
		<td class="title"><a>Setup of R Package Projects</a></td>
		<td class="content">
			The package name of R packages is parsed automatically from the DESCRIPTION file now.
			It is no longer required to enter the name in the project properties, only the package
			root folder must be specified correctly:
			<p><img src="images-4.0/r_package_project-config.png"/></p>
			<p>The wizards to create, convert and import R package projects are following the new
			configuration; the New R Package Project wizard generates automatically the DESCRIPTION
			file.</p>
		</td>
	</tr>
	<tr id="r_package-variables">
		<td class="title"><a>Variables for R Packages</a></td>
		<td class="content">
			The Eclipse variable for the R package root, which can be used for example in the
			R code snippets, is renamed from <code>r_pkg_base_path</code> to <code>r_pkg_root_path</code>.
		</td>
	</tr>
	
	<tr>
		<td id="r_app" class="section" colspan="2">
			<h2>R App Development</h2>
		</td>
	</tr>
	<tr id="r-">
		<td class="title"><a>Tools for R Apps</a></td>
		<td class="content">
			The IDE provides several tools for development of R apps like Shiny.
			This includes tools to start, restart and stop the app with support of different
			<b>launch profiles</b> (as known e.g. from Document Processing Tools) as well as an
			<b>app viewer</b>.
			<p><img src="images-4.0/r_app-tools.png"/></p>
		</td>
	</tr>

	<tr>
		<td id="debug" class="section" colspan="2">
			<h2>Debugger</h2>
		</td>
	</tr>
	<tr id="debugger-variables">
		<td class="title"><a>Detail of Variables</a></td>
		<td class="content">
			The Variables view shows more information about some objects. For
			<b>language objects</b> it shows the source code, if possible:
			<p><img src="images-4.0/debug-language_objects.png"/></p>
			<p>For <b>promise variables</b> it is possible to inspect their expression and
			environment:</p>
			<p><img src="images-4.0/debug-promise.png"/></p>
		</td>
	</tr>
	<tr id="debugger-nested">
		<td class="title"><a>Breakpoints in Nested Functions</a></td>
		<td class="content">
			The debugger provides improved support for breakpoint in <b>nested functions and code
			blocks</b>.
			<p>This allows for example to set line breakpoints in code of Shiny apps while the
			app is running.</p>
			<p><img src="images-4.0/debug-nested_codeblock.png"/></p>
		</td>
	</tr>

	<tr>
		<td id="remote" class="section" colspan="2">
			<h2>Remote Console</h2>
		</td>
	</tr>
	<tr id="remote-r_help_server">
		<td class="title"><a>R Help Server</a></td>
		<td class="content">
			The R help server allows to index and share the <b>R help for R remote consoles</b>
			at server side. This can simplify and accelerate the setup and distribution of remote
			console servers.
			<p>This is the recommend solution to store the R help index at server side or to access
			it by multiple client now.
			The option to specify a network folder for the R help index for remote R environments
			in the IDE is deprecated and will be removed in future releases.</p>
		</td>
	</tr>

</tbody>
</table>

</body>
</html>
