pyodide/docs/changelog.md

141 lines
5.0 KiB
Markdown
Raw Normal View History

(changelog)=
# Release notes
## Version 0.16.0
*Unreleased*
- Pyodide includes CPython 3.8.2
2020-08-18 09:00:28 +00:00
[#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.
2020-08-18 09:00:28 +00:00
- 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
- 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)
2020-12-15 09:18:39 +00:00
- New packages: freesasa, lxml, python-sat, traits, astropy, pillow
- Updated packages: numpy 1.15.4, pandas 1.0.5, matplotlib 3.3.3 among others.
- Updated default `--ldflags` argument to `pyodide_build` scripts to equal what
pyodide actually uses.
- Drop support for serving .wasm files with incorrect mime type.
2020-12-13 11:41:22 +00:00
- Replace C lz4 implementation with (upstream) javascript implementation.
[#851](https://github.com/iodide-project/pyodide/pull/851)
2020-12-14 08:16:13 +00:00
- 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,
```
window.languagePluginUrl = './';
```
before loading it.
[#855](https://github.com/iodide-project/pyodide/pull/855)
- Build runtime C libraries (e.g. libxml) via package build system with correct
dependency resolution
## Version 0.15.0
*May 19, 2020*
- Upgrades pyodide to CPython 3.7.4.
- micropip no longer uses a CORS proxy to install pure Python packages from
PyPi. Packages are now installed from PyPi directly.
- micropip can now be used from web workers.
2020-06-27 12:57:48 +00:00
- Adds support for installing pure Python wheels from arbitrary URLs with micropip.
- The CDN URL for pyodide changed to
https://pyodide-cdn2.iodide.io/v0.15.0/full/pyodide.js
It now supports versioning and should provide faster downloads. The latest release
can be accessed via `https://pyodide-cdn2.iodide.io/latest/full/`
- Adds `messageCallback` and `errorCallback` to
{ref}`pyodide.loadPackage <js_api_pyodide_loadPackage>`.
- Reduces the initial memory footprint (`TOTAL_MEMORY`) from 1 GiB to 5 MiB. More
memory will be allocated as needed.
- When building from source, only a subset of packages can be built by setting
the `PYODIDE_PACKAGES` environment variable. See
{ref}`partial builds documentation <partial-builds>` for more details.
- New packages: future, autograd
## Version 0.14.3
*Dec 11, 2019*
- Convert JavaScript numbers containing integers, e.g. `3.0`, to a real Python
long (e.g. `3`).
- Adds `__bool__` method to for `JsProxy` objects.
- Adds a Javascript-side auto completion function for Iodide that uses jedi.
- New packages: nltk, jeudi, statsmodels, regex, cytoolz, xlrd, uncertainties
## Version 0.14.0
*Aug 14, 2019*
- The built-in `sqlite` and `bz2` modules of Python are now enabled.
- Adds support for auto-completion based on jedi when used in iodide
## Version 0.13.0
*May 31, 2019*
- Tagged versions of Pyodide are now deployed to Netlify.
## Version 0.12.0
*May 3, 2019*
**User improvements:**
- Packages with pure Python wheels can now be loaded directly from PyPI. See
{ref}`micropip` for more information.
- Thanks to PEP 562, you can now `import js` from Python and use it to access
anything in the global Javascript namespace.
- Passing a Python object to Javascript always creates the same object in
Javascript. This makes APIs like `removeEventListener` usable.
- Calling `dir()` in Python on a JavaScript proxy now works.
- Passing an `ArrayBuffer` from Javascript to Python now correctly creates
a `memoryview` object.
- Pyodide now works on Safari.
## Version 0.11.0
*Apr 12, 2019*
**User improvements:**
- Support for built-in modules:
- `sqlite`, `crypt`
- New packages: `mne`
**Developer improvements:**
- The `mkpkg` command will now select an appropriate archive to use, rather than
just using the first.
- The included version of emscripten has been upgraded to 1.38.30 (plus a
bugfix).
- New packages: `jinja2`, `MarkupSafe`
## Version 0.10.0
*Mar 21, 2019*
**User improvements:**
- New packages: `html5lib`, `pygments`, `beautifulsoup4`, `soupsieve`,
`docutils`, `bleach`, `mne`
**Developer improvements:**
- `console.html` provides a simple text-only interactive console to test local
changes to Pyodide. The existing notebooks based on legacy versions of Iodide
have been removed.
- The `run_docker` script can now be configured with environment variables.