Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(345)

Side by Side Diff: native_client_sdk/doc_generated/sdk/release-notes.html

Issue 820673006: NaCl docs: update release notes for Chrome 39 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | native_client_sdk/src/doc/sdk/release-notes.rst » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 {{+bindTo:partials.standard_nacl_article}} 1 {{+bindTo:partials.standard_nacl_article}}
2 2
3 <section id="release-notes"> 3 <section id="release-notes">
4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1> 4 <span id="sdk-release-notes"></span><h1 id="release-notes"><span id="sdk-release -notes"></span>Release Notes</h1>
5 <p>The dates in the following release notes denote when Chrome and the NaCl SDK 5 <p>The dates in the following release notes denote when Chrome and the NaCl SDK
6 reached canary status. The stable release is typically 6 weeks later.</p> 6 reached canary status. The stable release is typically 6 weeks later.</p>
7 <h2 id="chrome-pepper-43-03-april-2015">Chrome/Pepper 43 (03 April 2015)</h2> 7 <h2 id="chrome-pepper-43-03-april-2015">Chrome/Pepper 43 (03 April 2015)</h2>
8 <h3 id="pnacl">PNaCl</h3> 8 <h3 id="pnacl">PNaCl</h3>
9 <ul class="small-gap"> 9 <ul class="small-gap">
10 <li>The C11/C++11 <code>acquire</code>, <code>release</code>, and <code>acq_rel< /code> memory orders are now 10 <li>The C11/C++11 <code>acquire</code>, <code>release</code>, and <code>acq_rel< /code> memory orders are now
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 <h3 id="id3">PNaCl</h3> 48 <h3 id="id3">PNaCl</h3>
49 <ul class="small-gap"> 49 <ul class="small-gap">
50 <li>PNaCl is now based on LLVM 3.5.</li> 50 <li>PNaCl is now based on LLVM 3.5.</li>
51 </ul> 51 </ul>
52 <h2 id="chrome-pepper-40-november-07-2014">Chrome/Pepper 40 (November 07 2014)</ h2> 52 <h2 id="chrome-pepper-40-november-07-2014">Chrome/Pepper 40 (November 07 2014)</ h2>
53 <ul class="small-gap"> 53 <ul class="small-gap">
54 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_video_decoder.html">VideoDecoder</a> is now 54 <li><a class="reference external" href="/native-client/pepper_stable/cpp/classpp _1_1_video_decoder.html">VideoDecoder</a> is now
55 stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</co de>.</li> 55 stable, see the SDK example in <code>pepper_canary/examples/api/video_decode</co de>.</li>
56 </ul> 56 </ul>
57 <h2 id="chrome-pepper-39-26-september-2014">Chrome/Pepper 39 (26 September 2014) </h2> 57 <h2 id="chrome-pepper-39-26-september-2014">Chrome/Pepper 39 (26 September 2014) </h2>
58 <h3 id="id4">NaCl</h3>
59 <ul class="small-gap">
60 <li>This release contains a fix for CVE-2015-0565: <a class="reference external" href="https://code.google.com/p/nativeclient/issues/detail?id=3944">disable the x86 CLFLUSH
61 instruction due to rowhammer problem</a>.</li>
62 </ul>
58 <h3 id="pepper">Pepper</h3> 63 <h3 id="pepper">Pepper</h3>
59 <ul class="small-gap"> 64 <ul class="small-gap">
60 <li>Support for <code>DEBUG_ONLY:dev://postmessage</code> has been removed in fa vor of 65 <li>Support for <code>DEBUG_ONLY:dev://postmessage</code> has been removed in fa vor of
61 <a class="reference internal" href="/native-client/devguide/devcycle/debugging.h tml#devcycle-debugging"><em>other more useful debugging approaches</em></a>.</li > 66 <a class="reference internal" href="/native-client/devguide/devcycle/debugging.h tml#devcycle-debugging"><em>other more useful debugging approaches</em></a>.</li >
62 <li><code>postMessageAndAwaitResponse</code> is now stable and allows JavaScript to 67 <li><code>postMessageAndAwaitResponse</code> is now stable and allows JavaScript to
63 <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1 _message_handler">communicate synchronously</a> with PNaCl 68 <a class="reference external" href="/native-client/pepper_stable/cpp/classpp_1_1 _message_handler">communicate synchronously</a> with PNaCl
64 embeds.</li> 69 embeds.</li>
65 </ul> 70 </ul>
66 <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2> 71 <h2 id="chrome-pepper-38-15-august-2014">Chrome/Pepper 38 (15 August 2014)</h2>
67 <h3 id="id4">PNaCl</h3> 72 <h3 id="id5">PNaCl</h3>
68 <ul class="small-gap"> 73 <ul class="small-gap">
69 <li>Compilation speed improvements due to validation caching of the translator a nd 74 <li>Compilation speed improvements due to validation caching of the translator a nd
70 linker.</li> 75 linker.</li>
71 <li>Performance improvement of SIMD vector shuffle.</li> 76 <li>Performance improvement of SIMD vector shuffle.</li>
72 </ul> 77 </ul>
73 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2> 78 <h2 id="chrome-pepper-37-20-june-2014">Chrome/Pepper 37 (20 June 2014)</h2>
74 <h3 id="id5">PNaCl</h3> 79 <h3 id="id6">PNaCl</h3>
75 <ul class="small-gap"> 80 <ul class="small-gap">
76 <li>2–10% translation time improvement.</li> 81 <li>2–10% translation time improvement.</li>
77 <li>Improved vector load/store and shuffle performance.</li> 82 <li>Improved vector load/store and shuffle performance.</li>
78 </ul> 83 </ul>
79 <h3 id="id6">Pepper</h3> 84 <h3 id="id7">Pepper</h3>
80 <ul class="small-gap"> 85 <ul class="small-gap">
81 <li>Media Streams Input support.</li> 86 <li>Media Streams Input support.</li>
82 <li>Compositor API.</li> 87 <li>Compositor API.</li>
83 <li>Hardware Decode API in development preview.</li> 88 <li>Hardware Decode API in development preview.</li>
84 <li>Sync API in development preview.</li> 89 <li>Sync API in development preview.</li>
85 </ul> 90 </ul>
86 <h3 id="id7">SDK</h3> 91 <h3 id="id8">SDK</h3>
87 <ul class="small-gap"> 92 <ul class="small-gap">
88 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li> 93 <li>Demo of a <a class="reference internal" href="/native-client/io2014.html#io2 014"><em>full development environment in the browser</em></a>.</li>
89 </ul> 94 </ul>
90 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2> 95 <h2 id="chrome-pepper-36-09-may-2014">Chrome/Pepper 36 (09 May 2014)</h2>
91 <h3 id="id8">PNaCl</h3> 96 <h3 id="id9">PNaCl</h3>
92 <ul class="small-gap"> 97 <ul class="small-gap">
93 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a> 98 <li>Support <a class="reference external" href="http://clang.llvm.org/docs/Langu ageExtensions.html#vectors-and-extended-vectors">LLVM vectors</a>
94 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD 99 and <a class="reference external" href="http://gcc.gnu.org/onlinedocs/gcc/Vector -Extensions.html">GCC vectors</a> for SIMD
95 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release, 100 vectors through <a class="reference internal" href="/native-client/reference/pna cl-c-cpp-language-support.html#portable-simd-vectors"><em>Portable SIMD Vectors< /em></a>. Note that this is still an early release,
96 and performance is expected to become acceptable for version 37 of 101 and performance is expected to become acceptable for version 37 of
97 Chrome. More SIMD instructions will be added in later releases.</li> 102 Chrome. More SIMD instructions will be added in later releases.</li>
98 </ul> 103 </ul>
99 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2> 104 <h2 id="chrome-pepper-35-31-mar-2014">Chrome/Pepper 35 (31 Mar 2014)</h2>
100 <h3 id="id9">PNaCl</h3> 105 <h3 id="id10">PNaCl</h3>
101 <ul class="small-gap"> 106 <ul class="small-gap">
102 <li>Upgraded LLVM to version 3.4.</li> 107 <li>Upgraded LLVM to version 3.4.</li>
103 <li>Translation now uses dynamic load balancing, making translation time faster. </li> 108 <li>Translation now uses dynamic load balancing, making translation time faster. </li>
104 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by 109 <li>Unstable pexes (i.e. non-finalized) with debug information can be loaded by
105 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li> 110 Chrome, simplifying debugging with PNaCl. See <a class="reference internal" href ="/native-client/devguide/devcycle/debugging.html#debugging-pnacl-pexes"><em>Deb ugging PNaCl pexes</em></a></li>
106 </ul> 111 </ul>
107 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2> 112 <h2 id="chrome-pepper-34-20-feb-2014">Chrome/Pepper 34 (20 Feb 2014)</h2>
108 <h3 id="id10">Pepper</h3> 113 <h3 id="id11">Pepper</h3>
109 <ul class="small-gap"> 114 <ul class="small-gap">
110 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting 115 <li>Filesystems can now be passed from JavaScript to NaCl. The resulting
111 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the 116 <code>pp::Var</code> will contain a <code>pp::Resource</code> that can be given to the
112 <code>pp::FileSystem</code> constructor.</li> 117 <code>pp::FileSystem</code> constructor.</li>
113 <li>New Audio and Video input APIs have been added as dev interfaces. See 118 <li>New Audio and Video input APIs have been added as dev interfaces. See
114 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and 119 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_audio_track">pp::MediaStreamAudioTrack</a> and
115 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for 120 <a class="reference external" href="/native-client/pepper_dev/cpp/classpp_1_1_me dia_stream_video_track">pp::MediaStreamVideoTrack</a> for
116 more details.</li> 121 more details.</li>
117 </ul> 122 </ul>
118 <h3 id="id11">PNaCl</h3> 123 <h3 id="id12">PNaCl</h3>
119 <ul class="small-gap"> 124 <ul class="small-gap">
120 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li> 125 <li>Parallel translation: at least 1.7x faster, even with older pexes.</li>
121 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using 126 <li>Intelligent abbreviations in the bitcode: 20% reduction in binary size using
122 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li> 127 the <a class="reference internal" href="/native-client/devguide/devcycle/buildin g.html#pnacl-compress"><em>pnacl-compress</em></a> tool.</li>
123 </ul> 128 </ul>
124 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2> 129 <h2 id="chrome-pepper-33-16-dec-2013">Chrome/Pepper 33 (16 Dec 2013)</h2>
125 <h3 id="portable-native-client">Portable Native Client</h3> 130 <h3 id="portable-native-client">Portable Native Client</h3>
126 <ul class="small-gap"> 131 <ul class="small-gap">
127 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on 132 <li>PNaCl&#8217;s default C++ standard library is now LLVM&#8217;s own libc++, b ased on
128 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception 133 LLVM 3.3. This library now supports optional <code>setjmp</code>/<code>longjmp</ code> exception
129 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a> 134 handling (see <a class="reference external" href="https://groups.google.com/foru m/#!topic/native-client-discuss/0spfg6O04FM">announcement</a>
130 for details).</li> 135 for details).</li>
131 </ul> 136 </ul>
132 <h3 id="id12">SDK</h3> 137 <h3 id="id13">SDK</h3>
133 <ul class="small-gap"> 138 <ul class="small-gap">
134 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li> 139 <li>The <code>nacl_io</code> library now includes a FUSE mount.</li>
135 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the 140 <li>In the SDK examples, <code>common.js</code> now loads the Release version of the
136 nexes/pexes that are built (by default).</li> 141 nexes/pexes that are built (by default).</li>
137 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li> 142 <li>&#8220;<code>make debug</code>&#8221; and &#8220;<code>make run</code>&#8221 ; have been fixed on Mac.</li>
138 </ul> 143 </ul>
139 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2> 144 <h2 id="pnacl-enabled-by-default-in-chrome-31-12-nov-2013">PNaCl enabled by defa ult in Chrome 31 (12 Nov 2013)</h2>
140 <ul class="small-gap"> 145 <ul class="small-gap">
141 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See 146 <li>Portable Native Client (PNaCl) is enabled by default in Chrome 31. See
142 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between 147 <a class="reference internal" href="/native-client/nacl-and-pnacl.html"><em>NaCl and PNaCl</em></a> for details on the differences between
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 <ul class="small-gap"> 241 <ul class="small-gap">
237 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files 242 <li>Common makefiles, including <code>tools/common.mk</code>, can now handle sou rce files
238 located outside of an application&#8217;s root directory. For example, a Makefil e 243 located outside of an application&#8217;s root directory. For example, a Makefil e
239 for an application can specify a source file to compile such as 244 for an application can specify a source file to compile such as
240 <code>../../some/other/place.cpp</code>.</li> 245 <code>../../some/other/place.cpp</code>.</li>
241 </ul> 246 </ul>
242 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2> 247 <h2 id="pepper-26-29-march-2013">Pepper 26 (29 March 2013)</h2>
243 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts 248 <p>The Pepper 26 bundle includes a new HTTP filesystem type in the nacl_mounts
244 library (which has been renamed nacl_io), changes to the example Makefiles, a 249 library (which has been renamed nacl_io), changes to the example Makefiles, a
245 simple new 3D example, and a threaded file IO example.</p> 250 simple new 3D example, and a threaded file IO example.</p>
246 <h3 id="id13">Build tools and toolchains</h3> 251 <h3 id="id14">Build tools and toolchains</h3>
247 <ul class="small-gap"> 252 <ul class="small-gap">
248 <li><p class="first">Makefiles have been changed significantly:</p> 253 <li><p class="first">Makefiles have been changed significantly:</p>
249 <ul class="small-gap"> 254 <ul class="small-gap">
250 <li>Build commands are now specified in a number of common files 255 <li>Build commands are now specified in a number of common files
251 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li> 256 (<code>tools/*.mk</code>), which are included in the Makefiles in the examples.< /li>
252 <li>By default, make displays a simplified list of build steps (e.g., <code>CC 257 <li>By default, make displays a simplified list of build steps (e.g., <code>CC
253 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands. 258 newlib/Debug/hello_world_x86_32.o</code>) rather than the actual build commands.
254 To see the actual build commands, run <code>make V=1</code>.</li> 259 To see the actual build commands, run <code>make V=1</code>.</li>
255 <li>By default, most examples are built using one toolchain (newlib) and one 260 <li>By default, most examples are built using one toolchain (newlib) and one
256 configuration (Debug). To build an example using a different toolchain or 261 configuration (Debug). To build an example using a different toolchain or
257 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or 262 configuration, run <code>make</code> with the parameters <code>TOOLCHAIN=&lt;x&g t;</code> or
258 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example 263 <code>CONFIG=&lt;y&gt;</code>. You can also run make <code>all_versions</code> to build an example
259 with all toolchains.</li> 264 with all toolchains.</li>
260 </ul> 265 </ul>
261 </li> 266 </li>
262 <li>Header files have been moved out of the toolchains. All toolchains now share 267 <li>Header files have been moved out of the toolchains. All toolchains now share
263 the same set of header files as host builds. Previously host and NaCl builds 268 the same set of header files as host builds. Previously host and NaCl builds
264 used different headers, which could cause build problems.</li> 269 used different headers, which could cause build problems.</li>
265 </ul> 270 </ul>
266 <h3 id="id14">Libraries</h3> 271 <h3 id="id15">Libraries</h3>
267 <ul class="small-gap"> 272 <ul class="small-gap">
268 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded 273 <li>The nacl_mounts library has been renamed <strong>nacl_io</strong>, and has b een expanded
269 with a new type of mount, httpfs, which can be used to read URLs via HTTP. 274 with a new type of mount, httpfs, which can be used to read URLs via HTTP.
270 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the 275 For details see <code>include/nacl_io/nacl_io.h</code>, as well as the
271 <code>hello_nacl_io</code> example.</li> 276 <code>hello_nacl_io</code> example.</li>
272 </ul> 277 </ul>
273 <h3 id="id15">Examples</h3> 278 <h3 id="id16">Examples</h3>
274 <ul class="small-gap"> 279 <ul class="small-gap">
275 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a 280 <li>A new example, <strong>hello_world_instance3d</strong>, has been added to de monstrate a
276 simplified 3D app.</li> 281 simplified 3D app.</li>
277 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a 282 <li>The <strong>file_io</strong> example has been rewritten to do all file opera tions on a
278 thread. The example demonstrates how to use the MessageLoop API and blocking 283 thread. The example demonstrates how to use the MessageLoop API and blocking
279 callbacks on a thread.</li> 284 callbacks on a thread.</li>
280 </ul> 285 </ul>
281 <h3 id="general">General</h3> 286 <h3 id="general">General</h3>
282 <ul class="small-gap"> 287 <ul class="small-gap">
283 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native 288 <li>Old bundles (<code>pepper_20</code> and earlier) have been removed from the Native
284 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code> 289 Client SDK Manifest, and will no longer be updated by the <code>naclsdk</code>
285 command.</li> 290 command.</li>
286 </ul> 291 </ul>
287 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2> 292 <h2 id="pepper-25-21-december-2012">Pepper 25 (21 December 2012)</h2>
288 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules 293 <p>The Pepper 25 bundle features an ARM toolchain to build Native Client modules
289 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets 294 for ARM devices, two new Pepper APIs (including the MessageLoop API, which lets
290 you make Pepper calls on background threads), two new libraries (nacl_mounts, 295 you make Pepper calls on background threads), two new libraries (nacl_mounts,
291 which provides a virtual file system that you can use with standard C file 296 which provides a virtual file system that you can use with standard C file
292 operations, and ppapi_main, which lets you implement a Native Client module 297 operations, and ppapi_main, which lets you implement a Native Client module
293 using a simple ppapi_main function), and two new examples that demonstrate how 298 using a simple ppapi_main function), and two new examples that demonstrate how
294 to use the nacl_mounts and ppapi_main libraries.</p> 299 to use the nacl_mounts and ppapi_main libraries.</p>
295 <h3 id="id16">Build tools and toolchains</h3> 300 <h3 id="id17">Build tools and toolchains</h3>
296 <ul class="small-gap"> 301 <ul class="small-gap">
297 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe 302 <li><p class="first">The SDK includes a new toolchain to build Native Client exe cutables (.nexe
298 files) for <strong>ARM devices</strong>.</p> 303 files) for <strong>ARM devices</strong>.</p>
299 <ul class="small-gap"> 304 <ul class="small-gap">
300 <li>Currently the ARM toolchain can only be used to compile modules that use 305 <li>Currently the ARM toolchain can only be used to compile modules that use
301 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain 306 the <a class="reference internal" href="/native-client/devguide/devcycle/dynamic -loading.html#c-libraries"><em>newlib C library</em></a>. You cannot use the ARM toolchain
302 to compile modules that use the glibc library.</li> 307 to compile modules that use the glibc library.</li>
303 <li>The ARM toolchain is in the directory 308 <li>The ARM toolchain is in the directory
304 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains 309 <code>pepper_25/toolchain/&lt;host&gt;_arm_newlib</code>. The bin subdirectory contains
305 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the 310 the compiler (<code>arm-nacl-gcc</code>), the linker (<code>arm-nacl-g++</code>) , and the
(...skipping 16 matching lines...) Expand all
322 module log messages to the JavaScript console in the Chrome browser.</li> 327 module log messages to the JavaScript console in the Chrome browser.</li>
323 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your 328 <li>The <a class="reference external" href="/native-client/pepper_stable/cpp/cla sspp_1_1_message_loop">MessageLoop</a> API lets your
324 module make PPAPI calls on a background thread. Once you&#8217;ve created a 329 module make PPAPI calls on a background thread. Once you&#8217;ve created a
325 message loop resource, attached it to a thread, and run it, you can post work 330 message loop resource, attached it to a thread, and run it, you can post work
326 to the thread, including completion callbacks for asynchronous operations. 331 to the thread, including completion callbacks for asynchronous operations.
327 For a C++ example of how to use the MessageLoop API, see 332 For a C++ example of how to use the MessageLoop API, see
328 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you 333 <code>pepper_25/include/ppapi/utility/threading/simple_thread.h</code>. Note tha t you
329 cannot make asynchronous PPAPI calls on a background thread without creating 334 cannot make asynchronous PPAPI calls on a background thread without creating
330 and using a message loop.</li> 335 and using a message loop.</li>
331 </ul> 336 </ul>
332 <h3 id="id17">Libraries</h3> 337 <h3 id="id18">Libraries</h3>
333 <p>The SDK includes two new libraries:</p> 338 <p>The SDK includes two new libraries:</p>
334 <ul class="small-gap"> 339 <ul class="small-gap">
335 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module 340 <li><p class="first">The <strong>nacl_mounts</strong> library provides a virtual file system that your module
336 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several 341 can &#8220;mount&#8221; in a given directory tree. The file system can be one of several
337 types:</p> 342 types:</p>
338 <ul class="small-gap"> 343 <ul class="small-gap">
339 <li>&#8220;memfs&#8221; is an in-memory file system,</li> 344 <li>&#8220;memfs&#8221; is an in-memory file system,</li>
340 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>, 345 <li>&#8220;dev&#8221; is a file system with various utility nodes (e.g., <code>/ dev/null</code>,
341 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li> 346 <code>/dev/console[0-3]</code>, <code>/dev/tty</code>), and</li>
342 <li>&#8220;html5fs&#8221; is a persistent file system.</li> 347 <li>&#8220;html5fs&#8221; is a persistent file system.</li>
(...skipping 13 matching lines...) Expand all
356 providing a familiar C programming environment. With this library, your 361 providing a familiar C programming environment. With this library, your
357 module can have a simple entry point called ppapi_main(), which is similar to 362 module can have a simple entry point called ppapi_main(), which is similar to
358 the standard C main() function, complete with argc and argv[] parameters. 363 the standard C main() function, complete with argc and argv[] parameters.
359 Your module can also use standard C functions such as printf(), fopen(), and 364 Your module can also use standard C functions such as printf(), fopen(), and
360 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of 365 fwrite(). For details see include/ppapi_main/ppapi_main.h. For an example of
361 how to use ppapi_main, see examples/hello_world_stdio.</li> 366 how to use ppapi_main, see examples/hello_world_stdio.</li>
362 </ul> 367 </ul>
363 <p>Header files for the new libraries are in the <code>include/</code> directory , source 368 <p>Header files for the new libraries are in the <code>include/</code> directory , source
364 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code> 369 files are in the <code>src/</code> directory, and compiled libraries are in the <code>lib/</code>
365 directory.</p> 370 directory.</p>
366 <h3 id="id18">Examples</h3> 371 <h3 id="id19">Examples</h3>
367 <ul class="small-gap"> 372 <ul class="small-gap">
368 <li><p class="first">The SDK includes two new examples:</p> 373 <li><p class="first">The SDK includes two new examples:</p>
369 <ul class="small-gap"> 374 <ul class="small-gap">
370 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file 375 <li><strong>hello_nacl_mounts</strong> illustrates how to use standard C library file
371 operations in a Native Client module through the use of the nacl_mounts 376 operations in a Native Client module through the use of the nacl_mounts
372 library.</li> 377 library.</li>
373 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module 378 <li><strong>hello_world_stdio</strong> illustrates how to implement a Native Cli ent module
374 with a ppapi_main() function, and how to write to STDOUT and STDERR in a 379 with a ppapi_main() function, and how to write to STDOUT and STDERR in a
375 module, through the use of the nacl_mounts and ppapi_main libraries. This 380 module, through the use of the nacl_mounts and ppapi_main libraries. This
376 example makes it easy for new users to get started with Native Client by 381 example makes it easy for new users to get started with Native Client by
(...skipping 20 matching lines...) Expand all
397 Chrome is closed, the local server is shut down as well.</li> 402 Chrome is closed, the local server is shut down as well.</li>
398 <li>The hello_world_stdio example includes a simplified Makefile that only lists 403 <li>The hello_world_stdio example includes a simplified Makefile that only lists
399 source dependencies, and invokes the build rules in a separate file 404 source dependencies, and invokes the build rules in a separate file
400 (common.mk).</li> 405 (common.mk).</li>
401 </ul> 406 </ul>
402 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2> 407 <h2 id="pepper-24-5-december-2012">Pepper 24 (5 December 2012)</h2>
403 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt 408 <p>The Pepper 24 bundle features a new, experimental toolchain called PNaCl (sho rt
404 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows 409 for &#8220;Portable Native Client&#8221;), a new library (pthreads-win32) for th e Windows
405 SDK, and an expanded list of attributes for Pepper 3D contexts that lets 410 SDK, and an expanded list of attributes for Pepper 3D contexts that lets
406 applications specify a GPU preference for low power or performance.</p> 411 applications specify a GPU preference for low power or performance.</p>
407 <h3 id="id19">Build tools and toolchains</h3> 412 <h3 id="id20">Build tools and toolchains</h3>
408 <ul class="small-gap"> 413 <ul class="small-gap">
409 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced 414 <li>The SDK includes a new, experimental toolchain called <a class="reference ex ternal" href="http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf">PNaCl< /a> (pronounced
410 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable 415 &#8220;pinnacle&#8221;). The PNaCl toolchain produces architecture-independent e xecutable
411 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if 416 files (.pexe files). Chrome doesn&#8217;t yet support .pexe files directly, but if
412 you want to experiment with this early preview of PNaCl, the toolchain 417 you want to experiment with this early preview of PNaCl, the toolchain
413 includes a tool to translate .pexe files into architecture-specific .nexe 418 includes a tool to translate .pexe files into architecture-specific .nexe
414 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe 419 files. Take a look at the <code>hello_world</code> example to see how to build a .pexe
415 file and translate it into multiple .nexe files. Note that PNaCl is currently 420 file and translate it into multiple .nexe files. Note that PNaCl is currently
416 restricted to the newlib C standard library – if your application uses glibc, 421 restricted to the newlib C standard library – if your application uses glibc,
417 you can&#8217;t build it with PNaCl.</li> 422 you can&#8217;t build it with PNaCl.</li>
418 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to 423 <li>The <code>create_nmf.py</code> script uses ELF headers (rather than file nam es) to
419 determine the architecture of .nexe files. That means you can change the 424 determine the architecture of .nexe files. That means you can change the
420 names of your .nexe files and <code>create_nmf.py</code> will still be able to 425 names of your .nexe files and <code>create_nmf.py</code> will still be able to
421 generate the appropriate Native Client manifest file for your application.</li> 426 generate the appropriate Native Client manifest file for your application.</li>
422 </ul> 427 </ul>
423 <h3 id="id21">Examples</h3> 428 <h3 id="id22">Examples</h3>
424 <ul class="small-gap"> 429 <ul class="small-gap">
425 <li>The SDK examples now build with four toolchains: the glibc and newlib 430 <li>The SDK examples now build with four toolchains: the glibc and newlib
426 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on 431 toolchains, the experimental PNaCl toolchain, and the hosted toolchain on
427 your development machine. Within each toolchain build, each example also 432 your development machine. Within each toolchain build, each example also
428 builds both a debug and a release version.</li> 433 builds both a debug and a release version.</li>
429 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li> 434 <li>The example Makefiles use dependency (.d) files to enable incremental builds .</li>
430 <li>The pong example has been cleaned up and modified to run more smoothly. The 435 <li>The pong example has been cleaned up and modified to run more smoothly. The
431 drawing function is now set up as the Flush() callback, which allows 2D 436 drawing function is now set up as the Flush() callback, which allows 2D
432 drawing to occur as quickly as possible.</li> 437 drawing to occur as quickly as possible.</li>
433 </ul> 438 </ul>
434 <h3 id="id22">PPAPI</h3> 439 <h3 id="id23">PPAPI</h3>
435 <ul class="small-gap"> 440 <ul class="small-gap">
436 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a> 441 <li>When creating a 3D rendering context, the <a class="reference external" href ="/native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967e 8">attribute list</a>
437 for the context can specify whether to prefer low power or performance for 442 for the context can specify whether to prefer low power or performance for
438 the GPU. Contexts with a low power preference may be created on an integrated 443 the GPU. Contexts with a low power preference may be created on an integrated
439 GPU; contexts with a performance preference may be created on a discrete GPU.</l i> 444 GPU; contexts with a performance preference may be created on a discrete GPU.</l i>
440 </ul> 445 </ul>
441 <h3 id="windows-sdk">Windows SDK</h3> 446 <h3 id="windows-sdk">Windows SDK</h3>
442 <ul class="small-gap"> 447 <ul class="small-gap">
443 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m 448 <li>The Windows SDK includes the pthreads-win32 library to assist in porting fro m
444 win32 code. You can use this library when developing your module as a Pepper 449 win32 code. You can use this library when developing your module as a Pepper
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 <ul class="small-gap"> 501 <ul class="small-gap">
497 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to 502 <li>Look at the example Makefiles or run <code>make</code> in the example direct ories to
498 see the commands and flags used to build modules as Pepper plugins.</li> 503 see the commands and flags used to build modules as Pepper plugins.</li>
499 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e 504 <li>Run <code>make LAUNCH</code> in the example directories to see how to use th e
500 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e. 505 <code>--register-pepper-plugins</code> argument to load a Pepper plugin in Chrom e.
501 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a 506 Note that you must set the <code>CHROME_PATH</code> environment variable and sta rt a
502 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li> 507 <a class="reference internal" href="/native-client/devguide/devcycle/running.htm l#web-server"><em>local server</em></a> prior to running this command.</li>
503 </ul> 508 </ul>
504 </li> 509 </li>
505 </ul> 510 </ul>
506 <h3 id="id23">Examples</h3> 511 <h3 id="id24">Examples</h3>
507 <ul class="small-gap"> 512 <ul class="small-gap">
508 <li>On Linux and Windows systems, most of the examples now build with three 513 <li>On Linux and Windows systems, most of the examples now build with three
509 toolchains: the Native Client glibc and newlib toolchains, and the native 514 toolchains: the Native Client glibc and newlib toolchains, and the native
510 toolchain on the host system. Modules built with the native toolchain on the 515 toolchain on the host system. Modules built with the native toolchain on the
511 host system can only run as Pepper plugins.</li> 516 host system can only run as Pepper plugins.</li>
512 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store 517 <li>All examples in the SDK now comply with version 2 of the Chrome Web Store
513 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default, 518 <a class="reference external" href="/extensions/manifest">manifest file format</ a>. By default,
514 applications that use version 2 of the manifest file format apply a strict 519 applications that use version 2 of the manifest file format apply a strict
515 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which 520 <a class="reference external" href="/extensions/contentSecurityPolicy">content s ecurity policy</a>, which
516 includes a restriction against inline JavaScript. This restriction prohibits 521 includes a restriction against inline JavaScript. This restriction prohibits
517 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button 522 both inline <code>&lt;script&gt;</code> blocks and inline event handlers (e.g., <code>&lt;button
518 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for 523 onclick=&quot;...&quot;&gt;</code>). See <a class="reference external" href="/e xtensions/manifestVersion">Manifest Version</a> for
519 a list of changes between version 1 and version 2 of the manifest file 524 a list of changes between version 1 and version 2 of the manifest file
520 format, and a support schedule for applications that use version 1.</li> 525 format, and a support schedule for applications that use version 1.</li>
521 </ul> 526 </ul>
522 <h3 id="id24">PPAPI</h3> 527 <h3 id="id25">PPAPI</h3>
523 <ul class="small-gap"> 528 <ul class="small-gap">
524 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a> 529 <li><a class="reference external" href="/native-client/pepper_stable/c/group___e nums#ga21b811ac0484a214a8751aa3e1c959d9">PP_InputEvent_Modifier</a>
525 has two new enum values (_ISLEFT and _ISRIGHT).</li> 530 has two new enum values (_ISLEFT and _ISRIGHT).</li>
526 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has 531 <li>The memory leak in the <a class="reference external" href="/native-client/pe pper_stable/c/struct_p_p_b___web_socket__1__0">WebSocket</a> API has
527 been fixed.</li> 532 been fixed.</li>
528 </ul> 533 </ul>
529 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2> 534 <h2 id="pepper-22-22-august-2012">Pepper 22 (22 August 2012)</h2>
530 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable 535 <p>The Pepper 22 bundle includes a <strong>command-line debugger</strong>, resou rces to enable
531 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each 536 <strong>hosted development on Windows</strong>, and changes to the example Makef iles (each
532 example now builds both a debug and a release version).</p> 537 example now builds both a debug and a release version).</p>
533 <h3 id="id25">Tools</h3> 538 <h3 id="id26">Tools</h3>
534 <ul class="small-gap"> 539 <ul class="small-gap">
535 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug 540 <li>The SDK now includes a <strong>command-line debugger</strong> that you can u se to debug
536 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now, 541 Native Client modules. See <a class="reference internal" href="/native-client/de vguide/devcycle/debugging.html#devcycle-debugging"><em>Debugging with nacl-gdb</ em></a> for instructions on how to use this debugger. For now,
537 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux 542 nacl-gdb only works on 64-bit Windows, 64-bit Linux, and 32-bit Linux
538 systems. Support for Mac and 32-bit Windows systems will be added soon.</li> 543 systems. Support for Mac and 32-bit Windows systems will be added soon.</li>
539 </ul> 544 </ul>
540 <h3 id="id26">Windows SDK</h3> 545 <h3 id="id27">Windows SDK</h3>
541 <ul class="small-gap"> 546 <ul class="small-gap">
542 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper 547 <li><p class="first">Developers using the Windows SDK can now <strong>build a mo dule as a Pepper
543 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the 548 plugin</strong> (sometimes called a &#8220;trusted&#8221; or &#8220;in-process&# 8221; plugin) using the
544 native C/C++ compiler on their development system. In essence this makes 549 native C/C++ compiler on their development system. In essence this makes
545 developing a Native Client module a two-step process:</p> 550 developing a Native Client module a two-step process:</p>
546 <ol class="arabic simple"> 551 <ol class="arabic simple">
547 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd 552 <li>Build the module into a DLL using your system&#8217;s C/C++ compiler. Test a nd
548 debug the DLL using the tools in your normal development environment.</li> 553 debug the DLL using the tools in your normal development environment.</li>
549 <li>Build the module into a .nexe using the compiler from one of the Native 554 <li>Build the module into a .nexe using the compiler from one of the Native
550 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the 555 Client toolchains in the SDK (nacl-gcc or nacl-g++). Test and debug the
(...skipping 27 matching lines...) Expand all
578 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and 583 <strong>Note:</strong> It&#8217;s also possible to build a module as a trusted p lugin on Mac and
579 Linux systems, but doing so requires more work because the SDK does not yet 584 Linux systems, but doing so requires more work because the SDK does not yet
580 include the above resources (library source files and pre-built libraries) 585 include the above resources (library source files and pre-built libraries)
581 for Mac and Linux systems. To build and debug a trusted plugin on Mac and 586 for Mac and Linux systems. To build and debug a trusted plugin on Mac and
582 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w 587 Linux systems, you need to <a class="reference external" href="http://dev.chromi um.org/developers/how-tos/get-the-code">get the Chromium code</a> and then follo w
583 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a> 588 the <a class="reference external" href="http://www.chromium.org/nativeclient/how -tos/debugging-documentation/debugging-a-trusted-plugin/trusted-debugging-on-mac ">Mac instructions</a>
584 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>. 589 or <a class="reference external" href="http://www.chromium.org/nativeclient/how- tos/debugging-documentation/debugging-a-trusted-plugin/debugging-a-trusted-plugi n-on-linux">Linux instructions</a>.
585 In the future, the SDK will include resources for hosted development on Mac 590 In the future, the SDK will include resources for hosted development on Mac
586 and Linux as well as Windows. 591 and Linux as well as Windows.
587 </aside> 592 </aside>
588 <h3 id="id27">Examples</h3> 593 <h3 id="id28">Examples</h3>
589 <ul class="small-gap"> 594 <ul class="small-gap">
590 <li>Each example in the SDK now builds both a debug and a release version. As 595 <li>Each example in the SDK now builds both a debug and a release version. As
591 before, most examples also build newlib and glibc versions, which means that 596 before, most examples also build newlib and glibc versions, which means that
592 there are now four versions for each example. Take a look at the Makefiles in 597 there are now four versions for each example. Take a look at the Makefiles in
593 the examples to see the compiler flags that are used for debug and release 598 the examples to see the compiler flags that are used for debug and release
594 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for 599 versions. For a description of those flags, see <a class="reference internal" hr ef="/native-client/devguide/devcycle/building.html#compile-flags"><em>Compile fl ags for
595 different development scenarios</em></a>.</li> 600 different development scenarios</em></a>.</li>
596 <li>Comments have been added to common.js, which is used in all the examples. Th e 601 <li>Comments have been added to common.js, which is used in all the examples. Th e
597 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule 602 JavaScript in common.js inserts an &lt;embed&gt; element that loads the NaCl mod ule
598 in each example&#8217;s web page, attaches event listeners to monitor the loadin g 603 in each example&#8217;s web page, attaches event listeners to monitor the loadin g
599 of the module, and implements handleMessage() to respond to messages sent 604 of the module, and implements handleMessage() to respond to messages sent
600 from the NaCl module to the JavaScript side of the application</li> 605 from the NaCl module to the JavaScript side of the application</li>
601 </ul> 606 </ul>
602 <h3 id="id28">PPAPI</h3> 607 <h3 id="id29">PPAPI</h3>
603 <ul class="small-gap"> 608 <ul class="small-gap">
604 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits 609 <li>The <code>CompletionCallbackFactory</code> class template now takes a thread traits
605 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 610 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
606 class template reference</a>.</li> 611 class template reference</a>.</li>
607 </ul> 612 </ul>
608 </section> 613 </section>
609 614
610 {{/partials.standard_nacl_article}} 615 {{/partials.standard_nacl_article}}
OLDNEW
« no previous file with comments | « no previous file | native_client_sdk/src/doc/sdk/release-notes.rst » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698