mirror of https://github.com/pyodide/pyodide.git
DOC Reorganize changelog entries for 0.18.0 (#1768)
This commit is contained in:
parent
4cf245aa55
commit
c6404cedff
|
@ -13,52 +13,11 @@ substitutions:
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
- {{ API }} {any}`loadPyodide <globalThis.loadPyodide>` no longer automatically stores the API into a
|
||||
global variable called `pyodide`. To get old behavior, say `globalThis.pyodide = await loadPyodide({...})`.
|
||||
{pr}`1597`
|
||||
- {{ API }} {any}`loadPyodide` now accepts callback functions for `stdin`, `stdout` and `stderr`
|
||||
{pr}`1728`
|
||||
- {{ Enhancement }} Added a new {any}`CodeRunner` API for finer control than
|
||||
{any}`eval_code` and {any}`eval_code_async`. Designed with
|
||||
the needs of REPL implementations in mind.
|
||||
{pr}`1563`
|
||||
- {{ Fix }} {any}`eval_code_async` no longer automatically awaits a returned
|
||||
coroutine or attempts to await a returned generator object (which triggered an
|
||||
error).
|
||||
{pr}`1563`
|
||||
- {{ Fix }} micropip now correctly handles packages that have mixed case names.
|
||||
(See {issue}`1614`).
|
||||
{pr}`1615`
|
||||
|
||||
- {{ Enhancement }} micropip now resolves dependencies correctly for old
|
||||
versions of packages (it used to always use the dependencies from the most
|
||||
recent version, see {issue}`1619` and {issue}`1745`). micropip also will
|
||||
resolve dependencies for wheels loaded from custom urls.
|
||||
{pr}`1753`
|
||||
|
||||
- {{ Enhancement }} Pyodide now ships with first party typescript types for the entire
|
||||
Javascript API (though no typings are available for `PyProxy` fields).
|
||||
{pr}`1601`
|
||||
|
||||
- {{ Enhancement }} If a Python error occurs in a reentrant `runPython` call, the error
|
||||
will be propagated into the outer `runPython` context as the original error
|
||||
type. This is particularly important if the error is a `KeyboardInterrupt`.
|
||||
{pr}`1447`
|
||||
|
||||
- {{ Enhancement }} Added {any}`Console` class closely based on the Python standard
|
||||
library `code.InteractiveConsole` but with support for top level await and
|
||||
stream redirection. Also added the subclass {any}`PyodideConsole` which
|
||||
automatically uses {any}`pyodide.loadPackagesFromImports` on the code before running
|
||||
it.
|
||||
{pr}`1125`, {pr}`1155`, {pr}`1635`
|
||||
### General
|
||||
|
||||
- {{ Update }} Pyodide now runs Python 3.9.5.
|
||||
{pr}`1637`
|
||||
|
||||
- {{ Enhancement }} It is now possible to import `Comlink` objects into Pyodide after
|
||||
using {any}`pyodide.registerComlink`
|
||||
{pr}`1642`
|
||||
|
||||
- {{ Enhancement }} Pyodide can experimentally be used in Node.js {pr}`1689`
|
||||
|
||||
- {{ Enhancement }} Pyodide now directly exposes the [Emscripten filesystem
|
||||
|
@ -80,7 +39,7 @@ substitutions:
|
|||
|
||||
### Standard library
|
||||
|
||||
- The following standard library modules are now available as standalone packages
|
||||
- {{ API }} The following standard library modules are now available as standalone packages
|
||||
|
||||
- distlib
|
||||
|
||||
|
@ -89,13 +48,56 @@ substitutions:
|
|||
All optional stdlib modules can then be loaded as needed with
|
||||
{any}`pyodide.loadPackage`. {pr}`1543`
|
||||
|
||||
- The standard library module `audioop` is now included, making the `wave`,
|
||||
- {{ Enhancement }} The standard library module `audioop` is now included, making the `wave`,
|
||||
`sndhdr`, `aifc`, and `sunau` modules usable. {pr}`1623`
|
||||
|
||||
- Added support for `ctypes`.
|
||||
- {{ Enhancement }} Added support for `ctypes`.
|
||||
{pr}`1656`
|
||||
|
||||
### Python / JS type conversions
|
||||
### Javascript package
|
||||
|
||||
- {{ Enhancement }} The Pyodide Javascript package is released to npm under [npmjs.com/package/pyodide](https://www.npmjs.com/package/pyodide)
|
||||
{pr}`1762`
|
||||
- {{ API }} {any}`loadPyodide <globalThis.loadPyodide>` no longer automatically
|
||||
stores the API into a global variable called `pyodide`. To get old behavior,
|
||||
say `globalThis.pyodide = await loadPyodide({...})`.
|
||||
{pr}`1597`
|
||||
- {{ Enhancement }} {any}`loadPyodide` now accepts callback functions for
|
||||
`stdin`, `stdout` and `stderr`
|
||||
{pr}`1728`
|
||||
- {{ Enhancement }} Pyodide now ships with first party typescript types for the entire
|
||||
Javascript API (though no typings are available for `PyProxy` fields).
|
||||
{pr}`1601`
|
||||
|
||||
- {{ Enhancement }} It is now possible to import `Comlink` objects into Pyodide after
|
||||
using {any}`pyodide.registerComlink`
|
||||
{pr}`1642`
|
||||
|
||||
- {{ Enhancement }} If a Python error occurs in a reentrant `runPython` call, the error
|
||||
will be propagated into the outer `runPython` context as the original error
|
||||
type. This is particularly important if the error is a `KeyboardInterrupt`.
|
||||
{pr}`1447`
|
||||
|
||||
### Python package
|
||||
|
||||
- {{ Enhancement }} Added a new {any}`CodeRunner` API for finer control than
|
||||
{any}`eval_code` and {any}`eval_code_async`. Designed with
|
||||
the needs of REPL implementations in mind.
|
||||
{pr}`1563`
|
||||
|
||||
- {{ Enhancement }} Added {any}`Console` class closely based on the Python standard
|
||||
library `code.InteractiveConsole` but with support for top level await and
|
||||
stream redirection. Also added the subclass {any}`PyodideConsole` which
|
||||
automatically uses {any}`pyodide.loadPackagesFromImports` on the code before running
|
||||
it.
|
||||
{pr}`1125`, {pr}`1155`, {pr}`1635`
|
||||
|
||||
- {{ Fix }} {any}`eval_code_async` no longer automatically awaits a returned
|
||||
coroutine or attempts to await a returned generator object (which triggered an
|
||||
error).
|
||||
{pr}`1563`
|
||||
|
||||
### Python / JavaScript type conversions
|
||||
|
||||
- {{ API }} {any}`pyodide.runPythonAsync` no longer automatically calls
|
||||
{any}`pyodide.loadPackagesFromImports`.
|
||||
|
@ -127,12 +129,12 @@ substitutions:
|
|||
now takes `depth` as a named argument. Also `to_js` and `to_py` only take
|
||||
depth as a keyword argument.
|
||||
{pr}`1721`
|
||||
- {{ API }} {any}`toJs <PyProxy.toJs>` and {any}`to_js <pyodide.to_js>` now take an option `pyproxies`, if a Javascript
|
||||
Array is passed for this, then any proxies created during conversion will be
|
||||
placed into this array. This allows easy cleanup later. The `create_pyproxies`
|
||||
option can be used to disable creation of pyproxies during conversion
|
||||
(instead a `ConversionError` is raised).
|
||||
{pr}`1726`
|
||||
- {{ API }} {any}`toJs <PyProxy.toJs>` and {any}`to_js <pyodide.to_js>` now
|
||||
take an option `pyproxies`, if a Javascript Array is passed for this, then
|
||||
any proxies created during conversion will be placed into this array. This
|
||||
allows easy cleanup later. The `create_pyproxies` option can be used to
|
||||
disable creation of pyproxies during conversion (instead a `ConversionError`
|
||||
is raised). {pr}`1726`
|
||||
- {{ API }} `toJs` and `to_js` now take an option `dict_converter` which will be
|
||||
called on a Javascript iterable of two-element Arrays as the final step of
|
||||
converting dictionaries. For instance, pass `Object.fromEntries` to convert to
|
||||
|
@ -141,13 +143,26 @@ substitutions:
|
|||
|
||||
### pyodide-build
|
||||
|
||||
- {{ Enhancement }} pyodide-build is now an installable Python package, with an identically named
|
||||
CLI entrypoint that replaces `bin/pyodide` which is removed {pr}`1566`
|
||||
- {{ API }} pyodide-build is now an installable Python package, with an
|
||||
identically named CLI entrypoint that replaces `bin/pyodide` which is removed
|
||||
{pr}`1566`
|
||||
|
||||
### micropip
|
||||
|
||||
- {{ Fix }} micropip now correctly handles packages that have mixed case names.
|
||||
(See {issue}`1614`).
|
||||
{pr}`1615`
|
||||
- {{ Enhancement }} micropip now resolves dependencies correctly for old
|
||||
versions of packages (it used to always use the dependencies from the most
|
||||
recent version, see {issue}`1619` and {issue}`1745`). micropip also will
|
||||
resolve dependencies for wheels loaded from custom urls.
|
||||
{pr}`1753`
|
||||
|
||||
### Packages
|
||||
|
||||
- {{ Enhancement }} matplotlib now comes with a new renderer based on the html5 canvas element. {pr}`1579`
|
||||
It is optional and the current default backend is still the agg backend compiled to wasm.
|
||||
- {{ Enhancement }} Updated a number of packages included in Pyodide.
|
||||
|
||||
## Version 0.17.0
|
||||
|
||||
|
|
Loading…
Reference in New Issue