From 89514f9278fb3705ca5ecab2fb4656a285ad2da4 Mon Sep 17 00:00:00 2001 From: George Necula Date: Sun, 23 Feb 2020 19:18:06 +0100 Subject: [PATCH] Moved CHANGELOG to docs (#2252) * Moved CHANGELOG to docs This puts the documentation also on RTD, with TOC. Also changed its format to .rst, for consistency. Added GitHub links to the change log. * Actually add the CHANGELOG.rst * Added reminder comments to the CHANGELOG.rst --- CHANGELOG.md | 75 +------------------------------------- README.md | 3 +- docs/CHANGELOG.rst | 91 ++++++++++++++++++++++++++++++++++++++++++++++ docs/index.rst | 1 + 4 files changed, 96 insertions(+), 74 deletions(-) create mode 100644 docs/CHANGELOG.rst diff --git a/CHANGELOG.md b/CHANGELOG.md index 8091ac03a..ac24553bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,74 +1,3 @@ -# Changelog +# Change Log -These are the release notes for JAX. - -## jax 0.1.60 (unreleased) - -### New features - -* `pmap` has `static_broadcast_argnums` argument which allows the user to - specify arguments that should be treated as compile-time constants and - should be broadcasted to all devices. It works analogously to - `static_argnums` in `jit`. - -## jax 0.1.59 (February 11, 2020) - -### Breaking changes - -* The minimum jaxlib version is now 0.1.38. -* Simplified `Jaxpr` by removing the `Jaxpr.freevars` and - `Jaxpr.bound_subjaxprs`. The call primitives (`xla_call`, `xla_pmap`, - `sharded_call`, and `remat_call`) get a new parameter `call_jaxpr` with a - fully-closed (no `constvars`) JAXPR. - -### New features - -* Reverse-mode automatic differentiation (e.g. `grad`) of `lax.cond`, making it - now differentiable in both modes (https://github.com/google/jax/pull/2091) -* JAX now supports DLPack, which allows sharing CPU and GPU arrays in a - zero-copy way with other libraries, such as PyTorch. -* JAX GPU DeviceArrays now support `__cuda_array_interface__`, which is another - zero-copy protocol for sharing GPU arrays with other libraries such as CuPy - and Numba. -* JAX CPU device buffers now implement the Python buffer protocol, which allows - zero-copy buffer sharing between JAX and NumPy. -* Added JAX_SKIP_SLOW_TESTS environment variable to skip tests known as slow. - -## jaxlib 0.1.38 (January 29, 2020) - -* CUDA 9.0 is no longer supported. -* CUDA 10.2 wheels are now built by default. - -## jax 0.1.58 (January 28, 2020) - -### Breaking changes - -* JAX has dropped Python 2 support, because Python 2 reached its end of life on - January 1, 2020. Please update to Python 3.5 or newer. - -### New features - -* Forward-mode automatic differentiation (`jvp`) of while loop - (https://github.com/google/jax/pull/1980) -* New NumPy and SciPy functions: - * `jax.numpy.fft.fft2` - * `jax.numpy.fft.ifft2` - * `jax.numpy.fft.rfft` - * `jax.numpy.fft.irfft` - * `jax.numpy.fft.rfft2` - * `jax.numpy.fft.irfft2` - * `jax.numpy.fft.rfftn` - * `jax.numpy.fft.irfftn` - * `jax.numpy.fft.fftfreq` - * `jax.numpy.fft.rfftfreq` - * `jax.numpy.linalg.matrix_rank` - * `jax.numpy.linalg.matrix_power` - * `jax.scipy.special.betainc` -* Batched Cholesky decomposition on GPU now uses a more efficient batched - kernel. - - -### Notable bug fixes - -* With the Python 3 upgrade, JAX no longer depends on `fastcache`, which should - help with installation. +See [docs/CHANGELOG.rst](https://jax.readthedocs.io/en/latest/CHANGELOG.html). \ No newline at end of file diff --git a/README.md b/README.md index 132401363..4670b9dcd 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,10 @@ [**Quickstart**](#quickstart-colab-in-the-cloud) | [**Transformations**](#transformations) | [**Install guide**](#installation) +| [**Change logs**](https://jax.readthedocs.io/en/latest/CHANGELOG.html) | [**Reference docs**](https://jax.readthedocs.io/en/latest/) -**Announcement:** JAX 0.1.58 has dropped Python 2 support, and requires Python 3.5 or newer. See [CHANGELOG.md](https://github.com/google/jax/blob/master/CHANGELOG.md). +**Announcement:** JAX 0.1.58 has dropped Python 2 support, and requires Python 3.5 or newer. See [docs/CHANGELOG.rst](https://jax.readthedocs.io/en/latest/CHANGELOG.html). ## What is JAX? diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst new file mode 100644 index 000000000..6f2578b61 --- /dev/null +++ b/docs/CHANGELOG.rst @@ -0,0 +1,91 @@ +Change Log +========== + +.. This is a comment. + Remember to leave an empty line before the start of an itemized list, + and to align the itemized text with the first line of an item. + +These are the release notes for JAX. + +jax 0.1.60 (unreleased) +----------------------- + +.. PLEASE REMEMBER TO CHANGE THE '..master' WITH AN ACTUAL TAG in GITHUB LINK. + +* `GitHub commits `_. +* New features: + + * :py:func:`jax.pmap` has ``static_broadcast_argnums`` argument which allows the user to + specify arguments that should be treated as compile-time constants and + should be broadcasted to all devices. It works analogously to + ``static_argnums`` in :py:func:`jax.jit`. + * Improved error messages for when tracers are mistakenly saved in global state. + * Added :py:func:`jax.nn.one_hot` utility function. + +jax 0.1.59 (February 11, 2020) +------------------------------ + +* `GitHub commits `_. +* Breaking changes + + * The minimum jaxlib version is now 0.1.38. + * Simplified :py:class:`Jaxpr` by removing the ``Jaxpr.freevars`` and + ``Jaxpr.bound_subjaxprs``. The call primitives (``xla_call``, ``xla_pmap``, + ``sharded_call``, and ``remat_call``) get a new parameter ``call_jaxpr`` with a + fully-closed (no ``constvars``) JAXPR. Also, added a new field ``call_primitive`` + to primitives. +* New features: + + * Reverse-mode automatic differentiation (e.g. ``grad``) of ``lax.cond``, making it + now differentiable in both modes (https://github.com/google/jax/pull/2091) + * JAX now supports DLPack, which allows sharing CPU and GPU arrays in a + zero-copy way with other libraries, such as PyTorch. + * JAX GPU DeviceArrays now support ``__cuda_array_interface__``, which is another + zero-copy protocol for sharing GPU arrays with other libraries such as CuPy + and Numba. + * JAX CPU device buffers now implement the Python buffer protocol, which allows + zero-copy buffer sharing between JAX and NumPy. + * Added JAX_SKIP_SLOW_TESTS environment variable to skip tests known as slow. + +jaxlib 0.1.38 (January 29, 2020) +-------------------------------- + +* CUDA 9.0 is no longer supported. +* CUDA 10.2 wheels are now built by default. + +jax 0.1.58 (January 28, 2020) +----------------------------- + +* `GitHub commits `_. +* Breaking changes + + * JAX has dropped Python 2 support, because Python 2 reached its end of life on + January 1, 2020. Please update to Python 3.5 or newer. +* New features + + * Forward-mode automatic differentiation (`jvp`) of while loop + (https://github.com/google/jax/pull/1980) + * New NumPy and SciPy functions: + + * :py:func:`jax.numpy.fft.fft2` + * :py:func:`jax.numpy.fft.ifft2` + * :py:func:`jax.numpy.fft.rfft` + * :py:func:`jax.numpy.fft.irfft` + * :py:func:`jax.numpy.fft.rfft2` + * :py:func:`jax.numpy.fft.irfft2` + * :py:func:`jax.numpy.fft.rfftn` + * :py:func:`jax.numpy.fft.irfftn` + * :py:func:`jax.numpy.fft.fftfreq` + * :py:func:`jax.numpy.fft.rfftfreq` + * :py:func:`jax.numpy.linalg.matrix_rank` + * :py:func:`jax.numpy.linalg.matrix_power` + * :py:func:`jax.scipy.special.betainc` + * Batched Cholesky decomposition on GPU now uses a more efficient batched + kernel. + + +Notable bug fixes +^^^^^^^^^^^^^^^^^ + +* With the Python 3 upgrade, JAX no longer depends on ``fastcache``, which should + help with installation. diff --git a/docs/index.rst b/docs/index.rst index 80e67b3bf..d148479c0 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -34,6 +34,7 @@ For an introduction to JAX, start at the :maxdepth: 1 :caption: Notes + CHANGELOG jaxpr async_dispatch concurrency