summaryrefslogtreecommitdiffstats
path: root/native_client_sdk/doc_generated/sdk/release-notes.html
diff options
context:
space:
mode:
authorjfb <jfb@chromium.org>2015-01-14 14:49:53 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-14 22:51:03 +0000
commit09aa0d8aca2b05ca13238fa2a952cb5fcb48783f (patch)
tree8a93939be7dfe7566f2e2004f9fa7b0a479b11c7 /native_client_sdk/doc_generated/sdk/release-notes.html
parent057c7a7fff9cc00a6a70567512a336ff9f854944 (diff)
downloadchromium_src-09aa0d8aca2b05ca13238fa2a952cb5fcb48783f.zip
chromium_src-09aa0d8aca2b05ca13238fa2a952cb5fcb48783f.tar.gz
chromium_src-09aa0d8aca2b05ca13238fa2a952cb5fcb48783f.tar.bz2
NaCl doc: update release notes for M41
BUG= none R= jmedley@chromium.org, bradnelson@chromium.org, dmichael@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/831263005 Cr-Commit-Position: refs/heads/master@{#311565}
Diffstat (limited to 'native_client_sdk/doc_generated/sdk/release-notes.html')
-rw-r--r--native_client_sdk/doc_generated/sdk/release-notes.html84
1 files changed, 58 insertions, 26 deletions
diff --git a/native_client_sdk/doc_generated/sdk/release-notes.html b/native_client_sdk/doc_generated/sdk/release-notes.html
index 68c8579..bfbc254 100644
--- a/native_client_sdk/doc_generated/sdk/release-notes.html
+++ b/native_client_sdk/doc_generated/sdk/release-notes.html
@@ -2,30 +2,62 @@
<section id="release-notes">
<span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release-notes"></span>Release Notes</h1>
+<p>The dates in the following release notes denote when Chrome and the NaCl SDK
+reached canary status. The stable release is typically 6 weeks later.</p>
+<h2 id="chrome-pepper-42-20-february-2015">Chrome/Pepper 42 (20 February 2015)</h2>
+<h3 id="nacl">NaCl</h3>
+<ul class="small-gap">
+<li>The x86 NaCl validators accept instructions from the FMA3 extensions.</li>
+</ul>
+<h3 id="pnacl">PNaCl</h3>
+<ul class="small-gap">
+<li>PNaCl supports C11/C++11 memory orders <cite>acquire</cite>, <cite>release</cite>, and <cite>acq_rel</cite>. It
+used to upgrade all accesses to <cite>seq_cst</cite>. It still upgrades <cite>consume</cite> to
+<cite>acquire</cite> (no compiler currently implements <cite>consume</cite>), and <cite>relaxed</cite> to
+<cite>seq_cst</cite> (to conservatively avoid platform differences due to out-of-thin-air
+problems).</li>
+<li>PNaCl handles nested struct type expansion, which allows it to better support
+non-C languages such as Rust.</li>
+<li>PNaCl breaks up many integer operations over 64-bits into individual 64-bit
+operations. This is often encountered when using large consecutive bitfields.</li>
+</ul>
+<h2 id="chrome-pepper-41-09-january-2015">Chrome/Pepper 41 (09 January 2015)</h2>
+<h3 id="id1">NaCl</h3>
+<ul class="small-gap">
+<li>The x86 NaCl validators accept instructions from the AVX1 extensions.</li>
+</ul>
+<h3 id="id2">PNaCl</h3>
+<ul class="small-gap">
+<li>PNaCl is now based on LLVM 3.5.</li>
+</ul>
+<h2 id="chrome-pepper-40-november-07-2014">Chrome/Pepper 40 (November 07 2014)</h2>
+<ul class="small-gap">
+<li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_video_decoder.html">VideoDecoder</a> is now
+stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</code>.</li>
+</ul>
<h2 id="chrome-pepper-39-26-september-2014">Chrome/Pepper 39 (26 September 2014)</h2>
<h3 id="pepper">Pepper</h3>
<ul class="small-gap">
<li>Support for <code>DEBUG_ONLY:dev://postmessage</code> has been removed in favor of
<a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#devcycle-debugging"><em>other more useful debugging approaches</em></a>.</li>
-<li><a class="reference external" href="/native-client/pepper_beta/cpp/classpp_1_1_video_decoder.html">VideoDecoder</a> is now
-stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</code>.</li>
<li><code>postMessageAndAwaitResponse</code> is now stable and allows JavaScript to
-communicate synchronously with PNaCl embeds.</li>
+<a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_message_handler">communicate synchronously</a> with PNaCl
+embeds.</li>
</ul>
<h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2>
-<h3 id="pnacl">PNaCl</h3>
+<h3 id="id3">PNaCl</h3>
<ul class="small-gap">
<li>Compilation speed improvements due to validation caching of the translator and
linker.</li>
<li>Performance improvement of SIMD vector shuffle.</li>
</ul>
<h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2>
-<h3 id="id1">PNaCl</h3>
+<h3 id="id4">PNaCl</h3>
<ul class="small-gap">
<li>2–10% translation time improvement.</li>
<li>Improved vector load/store and shuffle performance.</li>
</ul>
-<h3 id="id2">Pepper</h3>
+<h3 id="id5">Pepper</h3>
<ul class="small-gap">
<li>Media Streams Input support.</li>
<li>Compositor API.</li>
@@ -37,7 +69,7 @@ linker.</li>
<li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2014"><em>full development environment in the browser</em></a>.</li>
</ul>
<h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
-<h3 id="id3">PNaCl</h3>
+<h3 id="id6">PNaCl</h3>
<ul class="small-gap">
<li>Support <a class="reference external" href="http://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html">GCC vectors</a> for SIMD
@@ -46,7 +78,7 @@ and performance is expected to become acceptable for version 37 of
Chrome. More SIMD instructions will be added in later releases.</li>
</ul>
<h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
-<h3 id="id4">PNaCl</h3>
+<h3 id="id7">PNaCl</h3>
<ul class="small-gap">
<li>Upgraded LLVM to version 3.4.</li>
<li>Translation now uses dynamic load balancing, making translation time faster.</li>
@@ -54,7 +86,7 @@ Chrome. More SIMD instructions will be added in later releases.</li>
Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Debugging PNaCl pexes</em></a></li>
</ul>
<h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
-<h3 id="id5">Pepper</h3>
+<h3 id="id8">Pepper</h3>
<ul class="small-gap">
<li>Filesystems can now be passed from JavaScript to NaCl. The resulting
<code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
@@ -64,7 +96,7 @@ Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href
<a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_media_stream_video_track">pp::MediaStreamVideoTrack</a> for
more details.</li>
</ul>
-<h3 id="id6">PNaCl</h3>
+<h3 id="id9">PNaCl</h3>
<ul class="small-gap">
<li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
<li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
@@ -78,7 +110,7 @@ LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</
handling (see <a class="reference external" href="https://groups.google.com/forum/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
for details).</li>
</ul>
-<h3 id="id7">SDK</h3>
+<h3 id="id10">SDK</h3>
<ul class="small-gap">
<li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
<li>In the SDK examples, <code>common.js</code> now loads the Release version of the
@@ -192,7 +224,7 @@ for an application can specify a source file to compile such as
<p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
library (which has been renamed nacl_io), changes to the example Makefiles, a
simple new 3D example, and a threaded file IO example.</p>
-<h3 id="id8">Build tools and toolchains</h3>
+<h3 id="id11">Build tools and toolchains</h3>
<ul class="small-gap">
<li><p class="first">Makefiles have been changed significantly:</p>
<ul class="small-gap">
@@ -212,14 +244,14 @@ with all toolchains.</li>
the same set of header files as host builds. Previously host and NaCl builds
used different headers, which could cause build problems.</li>
</ul>
-<h3 id="id9">Libraries</h3>
+<h3 id="id12">Libraries</h3>
<ul class="small-gap">
<li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has been expanded
with a new type of mount, httpfs, which can be used to read URLs via HTTP.
For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
<code>hello_nacl_io</code> example.</li>
</ul>
-<h3 id="id10">Examples</h3>
+<h3 id="id13">Examples</h3>
<ul class="small-gap">
<li>A new example, <strong>hello_world_instance3d</strong>, has been added to demonstrate a
simplified 3D app.</li>
@@ -241,7 +273,7 @@ which provides a virtual file system that you can use with standard C file
operations, and ppapi_main, which lets you implement a Native Client module
using a simple ppapi_main function), and two new examples that demonstrate how
to use the nacl_mounts and ppapi_main libraries.</p>
-<h3 id="id11">Build tools and toolchains</h3>
+<h3 id="id14">Build tools and toolchains</h3>
<ul class="small-gap">
<li><p class="first">The SDK includes a new toolchain to build Native Client executables (.nexe
files) for <strong>ARM devices</strong>.</p>
@@ -278,7 +310,7 @@ For a C++ example of how to use the MessageLoop API, see
cannot make asynchronous PPAPI calls on a background thread without creating
and using a message loop.</li>
</ul>
-<h3 id="id12">Libraries</h3>
+<h3 id="id15">Libraries</h3>
<p>The SDK includes two new libraries:</p>
<ul class="small-gap">
<li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
@@ -312,7 +344,7 @@ how to use ppapi_main, see examples/hello_world_stdio.</li>
<p>Header files for the new libraries are in the <code>include/</code> directory, source
files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
directory.</p>
-<h3 id="id13">Examples</h3>
+<h3 id="id16">Examples</h3>
<ul class="small-gap">
<li><p class="first">The SDK includes two new examples:</p>
<ul class="small-gap">
@@ -353,7 +385,7 @@ source dependencies, and invokes the build rules in a separate file
for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for the Windows
SDK, and an expanded list of attributes for Pepper 3D contexts that lets
applications specify a GPU preference for low power or performance.</p>
-<h3 id="id14">Build tools and toolchains</h3>
+<h3 id="id17">Build tools and toolchains</h3>
<ul class="small-gap">
<li>The SDK includes a new, experimental toolchain called <a class="reference external" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl</a> (pronounced
&#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent executable
@@ -369,7 +401,7 @@ determine the architecture of .nexe files. That means you can change the
names of your .nexe files and <code>create_nmf.py</code> will still be able to
generate the appropriate Native Client manifest file for your application.</li>
</ul>
-<h3 id="id16">Examples</h3>
+<h3 id="id19">Examples</h3>
<ul class="small-gap">
<li>The SDK examples now build with four toolchains: the glibc and newlib
toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
@@ -380,7 +412,7 @@ builds both a debug and a release version.</li>
drawing function is now set up as the Flush() callback, which allows 2D
drawing to occur as quickly as possible.</li>
</ul>
-<h3 id="id17">PPAPI</h3>
+<h3 id="id20">PPAPI</h3>
<ul class="small-gap">
<li>When creating a 3D rendering context, the <a class="reference external" href="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e8">attribute list</a>
for the context can specify whether to prefer low power or performance for
@@ -452,7 +484,7 @@ Note that you must set the <code>CHROME_PATH</code> environment variable and sta
</ul>
</li>
</ul>
-<h3 id="id18">Examples</h3>
+<h3 id="id21">Examples</h3>
<ul class="small-gap">
<li>On Linux and Windows systems, most of the examples now build with three
toolchains: the Native Client glibc and newlib toolchains, and the native
@@ -468,7 +500,7 @@ onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e
a list of changes between version 1 and version 2 of the manifest file
format, and a support schedule for applications that use version 1.</li>
</ul>
-<h3 id="id19">PPAPI</h3>
+<h3 id="id22">PPAPI</h3>
<ul class="small-gap">
<li><a class="reference external" href="/native-client/pepper_stable/c/group___enums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
has two new enum values (_ISLEFT and _ISRIGHT).</li>
@@ -479,14 +511,14 @@ been fixed.</li>
<p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resources to enable
<strong>hosted development on Windows</strong>, and changes to the example Makefiles (each
example now builds both a debug and a release version).</p>
-<h3 id="id20">Tools</h3>
+<h3 id="id23">Tools</h3>
<ul class="small-gap">
<li>The SDK now includes a <strong>command-line debugger</strong> that you can use to debug
Native Client modules. See <a class="reference internal" href="/native-client/devguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</em></a> for instructions on how to use this debugger. For now,
nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
</ul>
-<h3 id="id21">Windows SDK</h3>
+<h3 id="id24">Windows SDK</h3>
<ul class="small-gap">
<li><p class="first">Developers using the Windows SDK can now <strong>build a module as a Pepper
plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&#8221; plugin) using the
@@ -534,7 +566,7 @@ or <a class="reference external" href="http://www.chromium.org/nativeclient/how-
In the future, the SDK will include resources for hosted development on Mac
and Linux as well as Windows.
</aside>
-<h3 id="id22">Examples</h3>
+<h3 id="id25">Examples</h3>
<ul class="small-gap">
<li>Each example in the SDK now builds both a debug and a release version. As
before, most examples also build newlib and glibc versions, which means that
@@ -548,7 +580,7 @@ in each example&#8217;s web page, attaches event listeners to monitor the loadin
of the module, and implements handleMessage() to respond to messages sent
from the NaCl module to the JavaScript side of the application</li>
</ul>
-<h3 id="id23">PPAPI</h3>
+<h3 id="id26">PPAPI</h3>
<ul class="small-gap">
<li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
class as its second parameter. For details see the <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory#details">CompletionCallbackFactory