From f6cdc1ba4d679c1eb307ce1c01986ac8481f8661 Mon Sep 17 00:00:00 2001 From: Roman Yurchak Date: Thu, 24 Dec 2020 11:31:35 +0100 Subject: [PATCH] DOC Update release notes for v0.16.0 (#813) --- docs/changelog.md | 99 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 80 insertions(+), 19 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 3e598ef9b..26276e3bc 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,34 +2,71 @@ # Release notes ## Version 0.16.0 -*Unreleased* +*December 24, 2020* + -- Pyodide includes CPython 3.8.2 - [#712](https://github.com/iodide-project/pyodide/pull/712) - Pyodide files are distributed by [JsDelivr](https://www.jsdelivr.com/), `https://cdn.jsdelivr.net/pyodide/v0.16.0/full/pyodide.js` The previous CDN `pyodide-cdn2.iodide.io` still works and there are no plans for deprecating it. However please use - JsDelivr as a more sustainable solution. + JsDelivr as a more sustainable solution, including for earlier pyodide + versions. + +### Python and the standard library + +- Pyodide includes CPython 3.8.2 + [#712](https://github.com/iodide-project/pyodide/pull/712) +- ENH Patches for the threading module were removed in all packages. + Importing the module, and a subset of functionality (e.g. locks) works, + while starting a new thread will produce an exception, as expected. + [#796](https://github.com/iodide-project/pyodide/pull/796). See + [#237](https://github.com/iodide-project/pyodide/pull/237) for the current + status of the threading support. +- ENH The multiprocessing module is now included, and will not fail at import, + thus avoiding the necessity to patch included packages. Starting a new process + will produce an exception due to the limitation of the WebAssembly VM with + the following message: `Resource temporarily unavailable` + [#796](https://github.com/iodide-project/pyodide/pull/796). + +### Python / JS type conversions + - FIX Only call `Py_INCREF()` once when proxied by PyProxy [#708](https://github.com/iodide-project/pyodide/pull/708) -- Updated docker image to Debian buster +- Javascript exceptions can now be raised and caught in Python. They are + wrapped in pyodide.JsException. + [#872](https://github.com/iodide-project/pyodide/pull/872) + +### pyodide-py package and micropip + +- The `pyodide.py` file was transformed to a pyodide-py package. The imports + remain the same so this change is transparent to the users + [#909](https://github.com/iodide-project/pyodide/pull/909). +- FIX Get last version from PyPi when installing a module via micropip + [#846](https://github.com/iodide-project/pyodide/pull/846). +- Suppress REPL results returned by `pyodide.eval_code` by adding a semicolon + [#876](https://github.com/iodide-project/pyodide/pull/876). + + +### Build system + +- Updated docker image to Debian buster, resulting in smaller images. + [#815](https://github.com/iodide-project/pyodide/pull/815) +- Pre-built docker images are now available as + [`iodide-project/pyodide`](https://hub.docker.com/r/iodide/pyodide) + [#787](https://github.com/iodide-project/pyodide/pull/787) +- Host python is no longer compiled, reducing compilation time. This also + implies that python 3.8 is now required to build pyodide. It can for instance + be installed with conda. + [#830](https://github.com/iodide-project/pyodide/pull/830) - FIX Infer package tarball directory from source url [#687](https://github.com/iodide-project/pyodide/pull/687) -- FIX Get last version from PyPi when installing a module via micropip - [#846](https://github.com/iodide-project/pyodide/pull/846) -- Updated to emscripten 1.38.34 - [#480](https://github.com/iodide-project/pyodide/pull/480) -- New packages: freesasa, lxml, python-sat, traits, astropy, pillow, scikit-image, imageio -- Updated packages: numpy 1.15.4, pandas 1.0.5, matplotlib 3.3.3 among others. +- Updated to emscripten 1.38.44 and binaryen v86 + (see related [commits](https://github.com/iodide-project/pyodide/search?q=emscripten&type=commits)) - Updated default `--ldflags` argument to `pyodide_build` scripts to equal what pyodide actually uses. -- Drop support for serving .wasm files with incorrect mime type. -- Replace C lz4 implementation with (upstream) javascript implementation. + [#817](https://github.com/iodide-project/pyodide/pull/480) +- Replace C lz4 implementation with the (upstream) Javascript implementation. [#851](https://github.com/iodide-project/pyodide/pull/851) -- New package - [pyodide-interrupt](https://pypi.org/project/pyodide-interrupts/), useful for - handling interrupts in Pyodide (see project descripion for details). - Pyodide deployment URL can now be specified with the `PYODIDE_BASE_URL` environment variable during build. The `pyodide_dev.js` is no longer distributed. To get an equivalent behavior with `pyodide.js`, set, @@ -38,12 +75,36 @@ ``` before loading it. [#855](https://github.com/iodide-project/pyodide/pull/855) -- Suppress REPL results by adding a semicolon [#876](https://github.com/iodide-project/pyodide/pull/876) -- Javascript exceptions can now be raised and caught in Python. They are wrapped in pyodide.JsException. - [#872](https://github.com/iodide-project/pyodide/pull/872) - Build runtime C libraries (e.g. libxml) via package build system with correct dependency resolution + [#927](https://github.com/iodide-project/pyodide/pull/927) +- Pyodide can now be built in a conda virtual environment + [#835](https://github.com/iodide-project/pyodide/pull/835) +### Other improvements + +- Modifiy MEMFS timestamp handling to support better caching. This in particular allows to + import newly created python modules without invalidating + [#893](https://github.com/iodide-project/pyodide/pull/893) + +### Packages +- New packages: freesasa, lxml, python-sat, traits, astropy, pillow, + scikit-image, imageio + + Note that due to the large size and the experimental state of the scipy + package, packages that depend on scipy (including scikit-image, scikit-learn) + will take longer to load, use a lot of memory and may experience failures. + +- Updated packages: numpy 1.15.4, pandas 1.0.5, matplotlib 3.3.3 among others. +- New package + [pyodide-interrupt](https://pypi.org/project/pyodide-interrupts/), useful for + handling interrupts in Pyodide (see project descripion for details). + + +### Backward incompatible changes + +- Dropped support for loading .wasm files with incorrect MIME type, following + [#851](https://github.com/iodide-project/pyodide/pull/851) ## Version 0.15.0 *May 19, 2020*