| OLD | NEW |
| 1 .. _sdk-release-notes: | 1 .. _sdk-release-notes: |
| 2 | 2 |
| 3 ############# | 3 ############# |
| 4 Release Notes | 4 Release Notes |
| 5 ############# | 5 ############# |
| 6 | 6 |
| 7 Chrome/Pepper 35 (31 Mar 2014) | 7 Chrome/Pepper 35 (31 Mar 2014) |
| 8 ============================== | 8 ============================== |
| 9 | 9 |
| 10 PNaCl | 10 PNaCl |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 PNaCl (15 May 2013) | 94 PNaCl (15 May 2013) |
| 95 =================== | 95 =================== |
| 96 | 96 |
| 97 * Portable Native Client (PNaCl) is currently available for developer preview | 97 * Portable Native Client (PNaCl) is currently available for developer preview |
| 98 in Chrome 29 or higher. | 98 in Chrome 29 or higher. |
| 99 * To produce a PNaCl executable (.pexe) file, you must use the pnacl toolchain | 99 * To produce a PNaCl executable (.pexe) file, you must use the pnacl toolchain |
| 100 in the current ``pepper_canary`` bundle. Chrome 29 does not support .pexe | 100 in the current ``pepper_canary`` bundle. Chrome 29 does not support .pexe |
| 101 files produced by earlier versions of the pnacl toolchain (that is, | 101 files produced by earlier versions of the pnacl toolchain (that is, |
| 102 executables compiled with the ``pepper_28`` bundle or earlier). | 102 executables compiled with the ``pepper_28`` bundle or earlier). |
| 103 * To run an application with a PNaCl module, you must launch Chrome 29 with the | 103 * To run an application with a PNaCl module, you must launch Chrome 29 with the |
| 104 ``--enable-pnacl`` flag (for `packaged apps | 104 ``--enable-pnacl`` flag (for `packaged apps </apps/about_apps>`_), or the |
| 105 <http://developer.chrome.com/apps/about_apps.html>`_), or the | |
| 106 ``--enable-nacl`` flag (for other apps). | 105 ``--enable-nacl`` flag (for other apps). |
| 107 * When you launch Chrome with the ``--enable-pnacl`` flag, Chrome loads a PNaCl | 106 * When you launch Chrome with the ``--enable-pnacl`` flag, Chrome loads a PNaCl |
| 108 translator in the background. Wait about a minute after you launch Chrome and | 107 translator in the background. Wait about a minute after you launch Chrome and |
| 109 check `chrome://nacl <chrome://nacl>`_ to verify that the translator loaded. | 108 check `chrome://nacl <chrome://nacl>`_ to verify that the translator loaded. |
| 110 * PNaCl translators are currently available for 32-bit x86, 64-bit x86, and ARM | 109 * PNaCl translators are currently available for 32-bit x86, 64-bit x86, and ARM |
| 111 architectures. | 110 architectures. |
| 112 * PNaCl applications must use the newlib C library (glibc and dynamic linking | 111 * PNaCl applications must use the newlib C library (glibc and dynamic linking |
| 113 are not supported yet). | 112 are not supported yet). |
| 114 * The intermediate representation (IR) format may change prior to the release | 113 * The intermediate representation (IR) format may change prior to the release |
| 115 of PNaCl. If so, you will need to recompile your application with the pnacl | 114 of PNaCl. If so, you will need to recompile your application with the pnacl |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 * The simple web server included in the SDK, ``httpd.py``, has been moved from | 253 * The simple web server included in the SDK, ``httpd.py``, has been moved from |
| 255 the ``examples/`` directory to the ``tools/`` directory. On Windows, you can | 254 the ``examples/`` directory to the ``tools/`` directory. On Windows, you can |
| 256 run ``httpd.cmd`` (in the ``examples/`` directory) to start the server. | 255 run ``httpd.cmd`` (in the ``examples/`` directory) to start the server. |
| 257 | 256 |
| 258 PPAPI | 257 PPAPI |
| 259 ----- | 258 ----- |
| 260 | 259 |
| 261 Pepper 25 includes two new APIs: | 260 Pepper 25 includes two new APIs: |
| 262 | 261 |
| 263 * The `Console API | 262 * The `Console API |
| 264 <https://developers.google.com/native-client/dev/pepperc/struct_p_p_b___consol
e__1__0>`_ | 263 </native-client/pepper_stable/c/struct_p_p_b___console__1__0>`_ lets your |
| 265 lets your module log messages to the JavaScript console in the Chrome browser. | 264 module log messages to the JavaScript console in the Chrome browser. |
| 266 * The `MessageLoop | 265 * The `MessageLoop |
| 267 <https://developers.google.com/native-client/dev/peppercpp/classpp_1_1_message
_loop>`_ | 266 </native-client/pepper_stable/cpp/classpp_1_1_message_loop>`_ API lets your |
| 268 API lets your module make PPAPI calls on a background thread. Once you've | 267 module make PPAPI calls on a background thread. Once you've created a |
| 269 created a message loop resource, attached it to a thread, and run it, you can | 268 message loop resource, attached it to a thread, and run it, you can post work |
| 270 post work to the thread, including completion callbacks for asynchronous | 269 to the thread, including completion callbacks for asynchronous operations. |
| 271 operations. For a C++ example of how to use the MessageLoop API, | 270 For a C++ example of how to use the MessageLoop API, see |
| 272 see ``pepper_25/include/ppapi/utility/threading/simple_thread.h``. Note that | 271 ``pepper_25/include/ppapi/utility/threading/simple_thread.h``. Note that you |
| 273 you cannot make asynchronous PPAPI calls on a background thread without | 272 cannot make asynchronous PPAPI calls on a background thread without creating |
| 274 creating and using a message loop. | 273 and using a message loop. |
| 275 | 274 |
| 276 Libraries | 275 Libraries |
| 277 --------- | 276 --------- |
| 278 | 277 |
| 279 The SDK includes two new libraries: | 278 The SDK includes two new libraries: |
| 280 | 279 |
| 281 * The **nacl_mounts** library provides a virtual file system that your module | 280 * The **nacl_mounts** library provides a virtual file system that your module |
| 282 can "mount" in a given directory tree. The file system can be one of several | 281 can "mount" in a given directory tree. The file system can be one of several |
| 283 types: | 282 types: |
| 284 | 283 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 380 builds both a debug and a release version. | 379 builds both a debug and a release version. |
| 381 * The example Makefiles use dependency (.d) files to enable incremental builds. | 380 * The example Makefiles use dependency (.d) files to enable incremental builds. |
| 382 * The pong example has been cleaned up and modified to run more smoothly. The | 381 * The pong example has been cleaned up and modified to run more smoothly. The |
| 383 drawing function is now set up as the Flush() callback, which allows 2D | 382 drawing function is now set up as the Flush() callback, which allows 2D |
| 384 drawing to occur as quickly as possible. | 383 drawing to occur as quickly as possible. |
| 385 | 384 |
| 386 PPAPI | 385 PPAPI |
| 387 ----- | 386 ----- |
| 388 | 387 |
| 389 * When creating a 3D rendering context, the `attribute list | 388 * When creating a 3D rendering context, the `attribute list |
| 390 <https://developers.google.com/native-client/dev/pepperc/group___enums#ga7df48
e1c55f6401beea2a1b9c07967e8>`_ | 389 </native-client/pepper_stable/c/group___enums#ga7df48e1c55f6401beea2a1b9c07967
e8>`_ |
| 391 for the context can specify whether to prefer low power or performance for | 390 for the context can specify whether to prefer low power or performance for |
| 392 the GPU. Contexts with a low power preference may be created on an integrated | 391 the GPU. Contexts with a low power preference may be created on an integrated |
| 393 GPU; contexts with a performance preference may be created on a discrete GPU. | 392 GPU; contexts with a performance preference may be created on a discrete GPU. |
| 394 | 393 |
| 395 Windows SDK | 394 Windows SDK |
| 396 ----------- | 395 ----------- |
| 397 | 396 |
| 398 * The Windows SDK includes the pthreads-win32 library to assist in porting from | 397 * The Windows SDK includes the pthreads-win32 library to assist in porting from |
| 399 win32 code. You can use this library when developing your module as a Pepper | 398 win32 code. You can use this library when developing your module as a Pepper |
| 400 plug-in (.dll). See pepper_24/include/win/pthread.h and | 399 plug-in (.dll). See pepper_24/include/win/pthread.h and |
| 401 pepper_24/src/pthread/README for additional information. | 400 pepper_24/src/pthread/README for additional information. |
| 402 * The update utility naclsdk.bat works when it is run from a path with spaces. | 401 * The update utility naclsdk.bat works when it is run from a path with spaces. |
| 403 | 402 |
| 404 Pepper 23 (15 October 2012) | 403 Pepper 23 (15 October 2012) |
| 405 =========================== | 404 =========================== |
| 406 | 405 |
| 407 The Pepper 23 bundle includes support for the nacl-gdb debugger on Mac and | 406 The Pepper 23 bundle includes support for the nacl-gdb debugger on Mac and |
| 408 32-bit Windows, resources to enable hosted development on Linux, and changes to | 407 32-bit Windows, resources to enable hosted development on Linux, and changes to |
| 409 make the SDK examples compliant with version 2 of the Chrome Web Store manifest | 408 make the SDK examples compliant with version 2 of the Chrome Web Store manifest |
| 410 file format. | 409 file format. |
| 411 | 410 |
| 412 Tools | 411 Tools |
| 413 ----- | 412 ----- |
| 414 | 413 |
| 415 * The `nacl-gdb debugger | 414 * The :ref:`nacl-gdb debugger <using_gdb>` now works on all systems (Mac, |
| 416 <https://developers.google.com/native-client/pepper23/devguide/devcycle/debugg
ing#gdb>`_ | 415 Windows, and Linux). |
| 417 now works on all systems (Mac, Windows, and Linux). | |
| 418 | 416 |
| 419 * The output of the SDK update utility has been simplified. When you run the | 417 * The output of the SDK update utility has been simplified. When you run the |
| 420 command ``naclsdk list``, the utility displays one line for each available | 418 command ``naclsdk list``, the utility displays one line for each available |
| 421 bundle, annotated with an "``I``" if the bundle is already installed on your | 419 bundle, annotated with an "``I``" if the bundle is already installed on your |
| 422 system, and a "``*``" if the bundle has an update available. To see full | 420 system, and a "``*``" if the bundle has an update available. To see full |
| 423 information about a bundle, use the command ``naclsdk info <bundle>`` (for | 421 information about a bundle, use the command ``naclsdk info <bundle>`` (for |
| 424 example, ``naclsdk info pepper_28``). | 422 example, ``naclsdk info pepper_28``). |
| 425 | 423 |
| 426 Linux SDK | 424 Linux SDK |
| 427 --------- | 425 --------- |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 :ref:`local server <web_server>` prior to running this command. | 462 :ref:`local server <web_server>` prior to running this command. |
| 465 | 463 |
| 466 Examples | 464 Examples |
| 467 -------- | 465 -------- |
| 468 | 466 |
| 469 * On Linux and Windows systems, most of the examples now build with three | 467 * On Linux and Windows systems, most of the examples now build with three |
| 470 toolchains: the Native Client glibc and newlib toolchains, and the native | 468 toolchains: the Native Client glibc and newlib toolchains, and the native |
| 471 toolchain on the host system. Modules built with the native toolchain on the | 469 toolchain on the host system. Modules built with the native toolchain on the |
| 472 host system can only run as Pepper plugins. | 470 host system can only run as Pepper plugins. |
| 473 * All examples in the SDK now comply with version 2 of the Chrome Web Store | 471 * All examples in the SDK now comply with version 2 of the Chrome Web Store |
| 474 `manifest file format | 472 `manifest file format </extensions/manifest>`_. By default, |
| 475 <http://developer.chrome.com/extensions/manifest.html>`_. By default, | |
| 476 applications that use version 2 of the manifest file format apply a strict | 473 applications that use version 2 of the manifest file format apply a strict |
| 477 `content security policy | 474 `content security policy </extensions/contentSecurityPolicy>`_, which |
| 478 <http://developer.chrome.com/extensions/contentSecurityPolicy.html>`_, which | |
| 479 includes a restriction against inline JavaScript. This restriction prohibits | 475 includes a restriction against inline JavaScript. This restriction prohibits |
| 480 both inline ``<script>`` blocks and inline event handlers (e.g., ``<button | 476 both inline ``<script>`` blocks and inline event handlers (e.g., ``<button |
| 481 onclick="...">``). See `Manifest Version | 477 onclick="...">``). See `Manifest Version </extensions/manifestVersion>`_ for |
| 482 <http://developer.chrome.com/extensions/manifestVersion.html>`_ for a list of | 478 a list of changes between version 1 and version 2 of the manifest file |
| 483 changes between version 1 and version 2 of the manifest file format, and a | 479 format, and a support schedule for applications that use version 1. |
| 484 support schedule for applications that use version 1. | |
| 485 | 480 |
| 486 PPAPI | 481 PPAPI |
| 487 ----- | 482 ----- |
| 488 | 483 |
| 489 * `PP_InputEvent_Modifier | 484 * `PP_InputEvent_Modifier |
| 490 <https://developers.google.com/native-client/pepper23/pepperc/group___enums#ga
21b811ac0484a214a8751aa3e1c959d9>`_ | 485 </native-client/pepper_stable/c/group___enums#ga21b811ac0484a214a8751aa3e1c959
d9>`_ |
| 491 has two new enum values (_ISLEFT and _ISRIGHT). | 486 has two new enum values (_ISLEFT and _ISRIGHT). |
| 492 * The memory leak in the `WebSocket | 487 * The memory leak in the `WebSocket |
| 493 <https://developers.google.com/native-client/pepper23/pepperc/struct_p_p_b___w
eb_socket__1__0>`_ | 488 </native-client/pepper_stable/c/struct_p_p_b___web_socket__1__0>`_ API has |
| 494 API has been fixed. | 489 been fixed. |
| 495 | 490 |
| 496 Pepper 22 (22 August 2012) | 491 Pepper 22 (22 August 2012) |
| 497 ========================== | 492 ========================== |
| 498 | 493 |
| 499 The Pepper 22 bundle includes a **command-line debugger**, resources to enable | 494 The Pepper 22 bundle includes a **command-line debugger**, resources to enable |
| 500 **hosted development on Windows**, and changes to the example Makefiles (each | 495 **hosted development on Windows**, and changes to the example Makefiles (each |
| 501 example now builds both a debug and a release version). | 496 example now builds both a debug and a release version). |
| 502 | 497 |
| 503 Tools | 498 Tools |
| 504 ----- | 499 ----- |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 in each example's web page, attaches event listeners to monitor the loading | 571 in each example's web page, attaches event listeners to monitor the loading |
| 577 of the module, and implements handleMessage() to respond to messages sent | 572 of the module, and implements handleMessage() to respond to messages sent |
| 578 from the NaCl module to the JavaScript side of the application | 573 from the NaCl module to the JavaScript side of the application |
| 579 | 574 |
| 580 PPAPI | 575 PPAPI |
| 581 ----- | 576 ----- |
| 582 | 577 |
| 583 * The ``CompletionCallbackFactory`` class template now takes a thread traits | 578 * The ``CompletionCallbackFactory`` class template now takes a thread traits |
| 584 class as its second parameter. For details see the `CompletionCallbackFactory | 579 class as its second parameter. For details see the `CompletionCallbackFactory |
| 585 class template reference | 580 class template reference |
| 586 <https://developers.google.com/native-client/pepper22/peppercpp/classpp_1_1_co
mpletion_callback_factory#details>`_. | 581 </native-client/pepper_stable/cpp/classpp_1_1_completion_callback_factory#deta
ils>`_. |
| 587 | 582 |
| 588 .. TODO: Port release notes for older releases | 583 .. TODO: Port release notes for older releases |
| OLD | NEW |