Version 0.57.1 (21 June, 2023)
------------------------------

Pull-Requests:

* PR `#8964 <https://github.com/numba/numba/pull/8964>`_: fix missing nopython keyword in cuda random module (`esc <https://github.com/esc>`_)
* PR `#8965 <https://github.com/numba/numba/pull/8965>`_: fix return dtype for np.angle (`guilhermeleobas <https://github.com/guilhermeleobas>`_ `esc <https://github.com/esc>`_)
* PR `#8982 <https://github.com/numba/numba/pull/8982>`_: Don't do the parfor diagnostics pass for the parfor gufunc. (`DrTodd13 <https://github.com/DrTodd13>`_)
* PR `#8996 <https://github.com/numba/numba/pull/8996>`_: adding a test for 8940 (`esc <https://github.com/esc>`_)
* PR `#8958 <https://github.com/numba/numba/pull/8958>`_: resurrect the import, this time in the registry initialization (`esc <https://github.com/esc>`_)
* PR `#8947 <https://github.com/numba/numba/pull/8947>`_: Introduce internal _isinstance_no_warn (`guilhermeleobas <https://github.com/guilhermeleobas>`_ `esc <https://github.com/esc>`_)
* PR `#8998 <https://github.com/numba/numba/pull/8998>`_: Fix 8939 (second attempt) (`esc <https://github.com/esc>`_)
* PR `#8978 <https://github.com/numba/numba/pull/8978>`_: Import MVC packages when using MVCLinker. (`bdice <https://github.com/bdice>`_)
* PR `#8895 <https://github.com/numba/numba/pull/8895>`_: CUDA: Enable caching functions that use CG (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8976 <https://github.com/numba/numba/pull/8976>`_: Fix index URL for ptxcompiler/cubinlinker packages. (`bdice <https://github.com/bdice>`_)
* PR `#9004 <https://github.com/numba/numba/pull/9004>`_: Skip MVC test when libraries unavailable (`gmarkall <https://github.com/gmarkall>`_ `esc <https://github.com/esc>`_)
* PR `#9006 <https://github.com/numba/numba/pull/9006>`_: link to version support table instead of using explicit versions (`esc <https://github.com/esc>`_)
* PR `#9005 <https://github.com/numba/numba/pull/9005>`_: Fix: Issue #8923 - avoid spurious device-to-host transfers in CUDA ufuncs (`gmarkall <https://github.com/gmarkall>`_)


Authors:

* `bdice <https://github.com/bdice>`_
* `DrTodd13 <https://github.com/DrTodd13>`_
* `esc <https://github.com/esc>`_
* `gmarkall <https://github.com/gmarkall>`_

Version 0.57.0 (1 May, 2023)
----------------------------

This release continues to add new features, bug fixes and stability improvements
to Numba. Please note that this release contains a significant number of both
deprecation and pending-deprecation notices with view of making it easier to
develop new technology for Numba in the future. Also note that this will be the
last release to support Windows 32-bit packages produced by the Numba team.

Highlights of core dependency upgrades:

* Support for Python 3.11 (minimum is moved to 3.8)
* Support for NumPy 1.24 (minimum is moved to 1.21)

Python language support enhancements:

* Exception classes now support arguments that are not compile time constant.
* The built-in functions ``hasattr`` and ``getattr`` are supported for compile
  time constant attributes.
* The built-in functions ``str`` and ``repr`` are now implemented similarly to
  their Python implementations. Custom ``__str__`` and ``__repr__``
  functions can be associated with types and work as expected.
* Numba's unicode functionality in ``str.startswith`` now supports kwargs
  ``start`` and ``end``.
* ``min`` and ``max`` now support boolean types.
* Support is added for the ``dict(iterable)`` constructor.

NumPy features/enhancements:

* The largest set of new features is within the ``numpy.random.Generator``
  support, the vast majority of commonly used distributions are now supported.
  Namely:

  * ``Generator.beta``
  * ``Generator.chisquare``
  * ``Generator.exponential``
  * ``Generator.f``
  * ``Generator.gamma``
  * ``Generator.geometric``
  * ``Generator.integers``
  * ``Generator.laplace``
  * ``Generator.logistic``
  * ``Generator.lognormal``
  * ``Generator.logseries``
  * ``Generator.negative_binomial``
  * ``Generator.noncentral_chisquare``
  * ``Generator.noncentral_f``
  * ``Generator.normal``
  * ``Generator.pareto``
  * ``Generator.permutation``
  * ``Generator.poisson``
  * ``Generator.power``
  * ``Generator.random``
  * ``Generator.rayleigh``
  * ``Generator.shuffle``
  * ``Generator.standard_cauchy``
  * ``Generator.standard_exponential``
  * ``Generator.standard_gamma``
  * ``Generator.standard_normal``
  * ``Generator.standard_t``
  * ``Generator.triangular``
  * ``Generator.uniform``
  * ``Generator.wald``
  * ``Generator.weibull``
  * ``Generator.zipf``

* The ``nbytes`` property on NumPy ``ndarray`` types is implemented.
* Nesting of nested-array types is now supported.
* ``datetime`` and ``timedelta`` types can be cast to ``int``.
* ``F``-order iteration is supported in ``ufunc`` generation for increased
  performance when using combinations of predominantly ``F``-order arrays.
* The following functions are also now supported:

  * ``np.argpartition``
  * ``np.isclose``
  * ``np.nan_to_num``
  * ``np.new_axis``
  * ``np.union1d``

Highlights of core changes:

* A large amount of refactoring has taken place to convert many of Numba's
  internal implementations, of both Python and NumPy functions, from the
  low-level extension API to the high-level extension API (``numba.extending``).
* The ``__repr__`` method is supported for Numba types.
* The default ``target`` for applicable functions in the extension API
  (``numba.extending``) is now ``"generic"``. This means that ``@overload*`` and
  ``@intrinsic`` functions will by default be accepted by both the CPU and CUDA
  targets.
* The use of ``__getitem__`` on Numba types is now supported in compiled code.
  i.e. ``types.float64[:, ::1]`` is now compilable.

Performance:

* The performance of ``str.find()`` and ``str.rfind()`` has been improved.
* Unicode support for ``__getitem__`` now avoids allocation and returns a view.
* The ``numba.typed.Dict`` dictionary now accepts an ``n_keys`` option to enable
  allocating the dictionary instance to a predetermined initial size (useful to
  avoid resizes!).
* The Numba Run-time (NRT) has been improved in terms of performance and safety:

  * The NRT internal statistics counters are now off by default (removes atomic
    lock contentions).
  * Debug cache line filling is off by default.
  * The NRT is only compiled once a compilation starts opposed to at function
    decoration time, this improves import speed.
  * The NRT allocation calls are all made through a "checked" layer by default.

CUDA:

* New NVIDIA hardware and software compatibility / support:

  * Toolkits: CUDA 11.8 and 12, with Minor Version Compatibility for 11.x.
  * Packaging: NVIDIA-packaged CUDA toolkit conda packages.
  * Hardware: Hopper, Ada Lovelace, and AGX Orin.

* ``float16`` support:

  * Arithmetic operations are now fully supported.
  * A new method, ``is_fp16_supported()``, and device property,
    ``supports_float16``, for checking the availability of ``float16`` support.

* Functionality:

  * The high-level extension API is now fully-supported in the CUDA target.
  * Eager compilation of multiple signatures, multiple outputs from generalized
    ufuncs, and specifying the return type of ufuncs are now supported.
  * A limited set of NumPy ufuncs (trigonometric functions) can now be called
    inside kernels.

* Lineinfo quality improvement: enabling lineinfo no longer results in any
  changes to generated code.

Deprecations:

* The ``numba.pycc`` module and everything in it is now pending deprecation.
* The long awaited full deprecation of ``object mode`` `fall-back` is
  underway. This change means ``@jit`` with no keyword arguments will eventually
  alias ``@njit``.
* The ``@generated_jit`` decorator is deprecated as the Numba extension API
  provides a better supported superset of the same functionality, particularly
  through ``@numba.extending.overload``.

Version support/dependency changes:

* The ``setuptools`` package is now an optional run-time dependency opposed to a
  required run-time dependency.
* The TBB threading-layer now requires version 2021.6 or later.
* LLVM 14 is now supported on all platforms via ``llvmlite``.

Pull-Requests:

* PR `#5113 <https://github.com/numba/numba/pull/5113>`_: Fix error handling in the Interval extending example (`esc <https://github.com/esc>`_ `eric-wieser <https://github.com/eric-wieser>`_)
* PR `#5544 <https://github.com/numba/numba/pull/5544>`_: Add support for np.union1d (`shangbol <https://github.com/shangbol>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#7009 <https://github.com/numba/numba/pull/7009>`_: Add writable args (`dmbelov <https://github.com/dmbelov>`_)
* PR `#7067 <https://github.com/numba/numba/pull/7067>`_: Implement np.isclose (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#7255 <https://github.com/numba/numba/pull/7255>`_: CUDA: Support CUDA Toolkit conda packages from NVIDIA (`gmarkall <https://github.com/gmarkall>`_)
* PR `#7622 <https://github.com/numba/numba/pull/7622>`_: Support fortran loop ordering for ufunc generation (`sklam <https://github.com/sklam>`_)
* PR `#7733 <https://github.com/numba/numba/pull/7733>`_: fix for /tmp/tmp access issues (`ChiCheng45 <https://github.com/ChiCheng45>`_)
* PR `#7884 <https://github.com/numba/numba/pull/7884>`_: Implement getattr builtin. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7885 <https://github.com/numba/numba/pull/7885>`_: Adds CUDA FP16 arithmetic operators (`testhound <https://github.com/testhound>`_)
* PR `#7920 <https://github.com/numba/numba/pull/7920>`_: Drop pre-3.7 code path (CPU only) (`sklam <https://github.com/sklam>`_)
* PR `#8001 <https://github.com/numba/numba/pull/8001>`_: CUDA fp16 math functions (`testhound <https://github.com/testhound>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8010 <https://github.com/numba/numba/pull/8010>`_: Add support for fp16 comparison native operators (`testhound <https://github.com/testhound>`_)
* PR `#8024 <https://github.com/numba/numba/pull/8024>`_: Allow converting NumPy datetimes to int (`apmasell <https://github.com/apmasell>`_)
* PR `#8038 <https://github.com/numba/numba/pull/8038>`_: Support for Numpy BitGenerators PR#2: Standard Distributions support (`kc611 <https://github.com/kc611>`_)
* PR `#8040 <https://github.com/numba/numba/pull/8040>`_: Support for Numpy BitGenerators PR#3: Advanced Distributions Support. (`kc611 <https://github.com/kc611>`_)
* PR `#8041 <https://github.com/numba/numba/pull/8041>`_: Support for Numpy BitGenerators PR#4: Generator().integers() Support. (`kc611 <https://github.com/kc611>`_)
* PR `#8042 <https://github.com/numba/numba/pull/8042>`_: Support for NumPy BitGenerators PR#5: Generator Shuffling Methods. (`kc611 <https://github.com/kc611>`_)
* PR `#8061 <https://github.com/numba/numba/pull/8061>`_: Migrate random ``glue_lowering`` to ``overload`` where easy (`apmasell <https://github.com/apmasell>`_)
* PR `#8106 <https://github.com/numba/numba/pull/8106>`_: Remove injection of atomic JIT functions into NRT memsys. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8120 <https://github.com/numba/numba/pull/8120>`_: Support nesting of nested array types (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8134 <https://github.com/numba/numba/pull/8134>`_: Support non-constant exception values in JIT (`guilhermeleobas <https://github.com/guilhermeleobas>`_ `sklam <https://github.com/sklam>`_)
* PR `#8147 <https://github.com/numba/numba/pull/8147>`_: Adds size variable at runtime for arrays that cannot be inferred  (`njriasan <https://github.com/njriasan>`_)
* PR `#8154 <https://github.com/numba/numba/pull/8154>`_: Testhound/native cast 8138 (`testhound <https://github.com/testhound>`_)
* PR `#8158 <https://github.com/numba/numba/pull/8158>`_: adding -pthread for linux-ppc64le in setup.py (`esc <https://github.com/esc>`_)
* PR `#8164 <https://github.com/numba/numba/pull/8164>`_: remove myself from automatic reviewer assignment (`esc <https://github.com/esc>`_)
* PR `#8167 <https://github.com/numba/numba/pull/8167>`_: CUDA: Facilitate and document passing arrays / pointers to foreign functions (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8180 <https://github.com/numba/numba/pull/8180>`_: CUDA: Initial support for Minor Version Compatibility (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8183 <https://github.com/numba/numba/pull/8183>`_: Add ``n_keys`` option to Dict.empty() (`stefanfed <https://github.com/stefanfed>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8198 <https://github.com/numba/numba/pull/8198>`_: Update the release template to include updating the version table. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8200 <https://github.com/numba/numba/pull/8200>`_: Make the NRT use the "unsafe" allocation API by default. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8201 <https://github.com/numba/numba/pull/8201>`_: Bump llvmlite dependency to 0.40.dev0 for Numba 0.57.0dev0 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8207 <https://github.com/numba/numba/pull/8207>`_: development tag should be in monofont (`esc <https://github.com/esc>`_)
* PR `#8212 <https://github.com/numba/numba/pull/8212>`_: release checklist: include a note to ping @RC_testers on discourse (`esc <https://github.com/esc>`_)
* PR `#8216 <https://github.com/numba/numba/pull/8216>`_: chore: Set permissions for GitHub actions (`naveensrinivasan <https://github.com/naveensrinivasan>`_)
* PR `#8217 <https://github.com/numba/numba/pull/8217>`_: Fix syntax in docs (`jorgepiloto <https://github.com/jorgepiloto>`_)
* PR `#8220 <https://github.com/numba/numba/pull/8220>`_: Added the interval example as doctest (`kc611 <https://github.com/kc611>`_)
* PR `#8221 <https://github.com/numba/numba/pull/8221>`_: CUDA stubs docstring: Replace illegal escape sequence (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8228 <https://github.com/numba/numba/pull/8228>`_: Fix typo in @vectorize docstring and a NumPy spelling. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8229 <https://github.com/numba/numba/pull/8229>`_: Remove ``mk_unique_var`` in ``inline_closurecall.py`` (`sklam <https://github.com/sklam>`_)
* PR `#8234 <https://github.com/numba/numba/pull/8234>`_: Replace @overload_glue by @overload for 20 NumPy functions (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8235 <https://github.com/numba/numba/pull/8235>`_: Make the NRT stats counters optional. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8238 <https://github.com/numba/numba/pull/8238>`_: Advanced Indexing Support #1 (`kc611 <https://github.com/kc611>`_)
* PR `#8240 <https://github.com/numba/numba/pull/8240>`_: Add get_shared_mem_per_block method to Dispatcher  (`testhound <https://github.com/testhound>`_)
* PR `#8241 <https://github.com/numba/numba/pull/8241>`_: Reorder typeof checks to avoid infinite loops on StructrefProxy  __hash__ (`DannyWeitekamp <https://github.com/DannyWeitekamp>`_)
* PR `#8243 <https://github.com/numba/numba/pull/8243>`_: Add a note to ``reference/numpysupported.rst`` ()
* PR `#8245 <https://github.com/numba/numba/pull/8245>`_: Fix links in ``CONTRIBUTING.md`` ()
* PR `#8247 <https://github.com/numba/numba/pull/8247>`_: Fix issue 8127 (`bszollosinagy <https://github.com/bszollosinagy>`_)
* PR `#8250 <https://github.com/numba/numba/pull/8250>`_: Fix issue 8161 (`bszollosinagy <https://github.com/bszollosinagy>`_)
* PR `#8253 <https://github.com/numba/numba/pull/8253>`_: CUDA: Verify NVVM IR prior to compilation (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8255 <https://github.com/numba/numba/pull/8255>`_: CUDA: Make numba.cuda.tests.doc_examples.ffi a module to fix #8252 (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8256 <https://github.com/numba/numba/pull/8256>`_: Migrate linear algebra functions from glue_lowering (`apmasell <https://github.com/apmasell>`_)
* PR `#8258 <https://github.com/numba/numba/pull/8258>`_: refactor np.where to use overload (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8259 <https://github.com/numba/numba/pull/8259>`_: Add ``np.broadcast_to(scalar_array, ())`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8264 <https://github.com/numba/numba/pull/8264>`_: remove ``mk_unique_var`` from ``parfor_lowering_utils.py`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8265 <https://github.com/numba/numba/pull/8265>`_: Remove ``mk_unique_var`` from ``array_analysis.py`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8266 <https://github.com/numba/numba/pull/8266>`_: Remove ``mk_unique_var`` in ``untyped_passes.py`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8267 <https://github.com/numba/numba/pull/8267>`_: Fix segfault for invalid axes in np.split (`aseyboldt <https://github.com/aseyboldt>`_)
* PR `#8271 <https://github.com/numba/numba/pull/8271>`_: Implement some CUDA intrinsics with ``@overload``, ``@overload_attribute``, and ``@intrinsic`` (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8274 <https://github.com/numba/numba/pull/8274>`_: Update version support table doc for 0.56. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8275 <https://github.com/numba/numba/pull/8275>`_: Update CHANGE_LOG for 0.56.0 final (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8283 <https://github.com/numba/numba/pull/8283>`_: Clean up / remove support for old NumPy versions (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8287 <https://github.com/numba/numba/pull/8287>`_: Drop CUDA 10.2 (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8289 <https://github.com/numba/numba/pull/8289>`_: Revert #8265. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8290 <https://github.com/numba/numba/pull/8290>`_: CUDA: Replace use of deprecated NVVM IR features, questionable constructs (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8292 <https://github.com/numba/numba/pull/8292>`_: update checklist (`esc <https://github.com/esc>`_)
* PR `#8294 <https://github.com/numba/numba/pull/8294>`_: CUDA: Add trig ufunc support (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8295 <https://github.com/numba/numba/pull/8295>`_: Add get_const_mem_size method to Dispatcher (`testhound <https://github.com/testhound>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8297 <https://github.com/numba/numba/pull/8297>`_: Add __name__ attribute to CUDAUFuncDispatcher and test case (`testhound <https://github.com/testhound>`_)
* PR `#8299 <https://github.com/numba/numba/pull/8299>`_: Fix build for mingw toolchain (`Biswa96 <https://github.com/Biswa96>`_)
* PR `#8302 <https://github.com/numba/numba/pull/8302>`_: CUDA: Revert numba_nvvm intrinsic name workaround (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8308 <https://github.com/numba/numba/pull/8308>`_: CUDA: Support for multiple signatures (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8315 <https://github.com/numba/numba/pull/8315>`_: Add get_local_mem_per_thread method to Dispatcher (`testhound <https://github.com/testhound>`_)
* PR `#8319 <https://github.com/numba/numba/pull/8319>`_: Bump minimum supported Python version to 3.8 (`esc <https://github.com/esc>`_ `stuartarchibald <https://github.com/stuartarchibald>`_ `jamesobutler <https://github.com/jamesobutler>`_)
* PR `#8320 <https://github.com/numba/numba/pull/8320>`_: Add __name__ support for GUFuncs (`testhound <https://github.com/testhound>`_)
* PR `#8321 <https://github.com/numba/numba/pull/8321>`_: Fix literal_unroll pass erroneously exiting on non-conformant loop. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8325 <https://github.com/numba/numba/pull/8325>`_: Remove use of mk_unique_var in stencil.py (`bszollosinagy <https://github.com/bszollosinagy>`_)
* PR `#8326 <https://github.com/numba/numba/pull/8326>`_: Remove ``mk_unique_var`` from ``parfor_lowering.py`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8331 <https://github.com/numba/numba/pull/8331>`_: Extend docs with info on how to call C functions from Numba (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8334 <https://github.com/numba/numba/pull/8334>`_: Add dict(\*iterable) constructor (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8335 <https://github.com/numba/numba/pull/8335>`_: Remove deprecated pycc script and related source. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8336 <https://github.com/numba/numba/pull/8336>`_: Fix typos of "Generalized" in GUFunc-related code (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8338 <https://github.com/numba/numba/pull/8338>`_: Calculate reductions before fusion so that use of reduction vars can stop fusion. (`DrTodd13 <https://github.com/DrTodd13>`_)
* PR `#8339 <https://github.com/numba/numba/pull/8339>`_: Fix #8291 parfor leak of redtoset variable (`sklam <https://github.com/sklam>`_)
* PR `#8341 <https://github.com/numba/numba/pull/8341>`_: CUDA: Support multiple outputs for Generalized Ufuncs (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8343 <https://github.com/numba/numba/pull/8343>`_: Eliminate references to type annotation in compile_ptx (`testhound <https://github.com/testhound>`_)
* PR `#8348 <https://github.com/numba/numba/pull/8348>`_: Add get_max_threads_per_block method to Dispatcher (`testhound <https://github.com/testhound>`_)
* PR `#8354 <https://github.com/numba/numba/pull/8354>`_: pin setuptools to < 65 and switch from mamba to conda on RTD (`esc <https://github.com/esc>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8357 <https://github.com/numba/numba/pull/8357>`_: Clean up the buildscripts directory. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8359 <https://github.com/numba/numba/pull/8359>`_: adding warnings about cache behaviour (`luk-f-a <https://github.com/luk-f-a>`_)
* PR `#8368 <https://github.com/numba/numba/pull/8368>`_: Remove ``glue_lowering`` in random math that requires IR (`apmasell <https://github.com/apmasell>`_)
* PR `#8376 <https://github.com/numba/numba/pull/8376>`_: Fix issue 8370 (`bszollosinagy <https://github.com/bszollosinagy>`_)
* PR `#8387 <https://github.com/numba/numba/pull/8387>`_: Add support for compute capability in IR Lowering (`testhound <https://github.com/testhound>`_)
* PR `#8388 <https://github.com/numba/numba/pull/8388>`_: Remove more references to the pycc binary. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8389 <https://github.com/numba/numba/pull/8389>`_: Make C++ extensions compile with correct compiler (`apmasell <https://github.com/apmasell>`_)
* PR `#8390 <https://github.com/numba/numba/pull/8390>`_: Use NumPy logic for lessthan in sort to move NaNs to the back. (`sklam <https://github.com/sklam>`_)
* PR `#8401 <https://github.com/numba/numba/pull/8401>`_: Remove Cuda toolkit version check (`testhound <https://github.com/testhound>`_)
* PR `#8415 <https://github.com/numba/numba/pull/8415>`_: Refactor ``numba.np.arraymath`` methods from lower_builtins to overloads (`kc611 <https://github.com/kc611>`_)
* PR `#8418 <https://github.com/numba/numba/pull/8418>`_: Fixes ravel failure on 1d arrays (#5229) (`cako <https://github.com/cako>`_)
* PR `#8421 <https://github.com/numba/numba/pull/8421>`_: Update release checklist: add a task to check dependency pinnings on subsequent releases (e.g. PATCH) (`esc <https://github.com/esc>`_)
* PR `#8422 <https://github.com/numba/numba/pull/8422>`_: Switch public CI builds to use gdb from conda packages. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8423 <https://github.com/numba/numba/pull/8423>`_: Remove public facing and CI references to 32 bit linux support. (`stuartarchibald <https://github.com/stuartarchibald>`_,
  in addition, we are grateful for the contribution of `jamesobutler <https://github.com/jamesobutler>`_ towards a similar goal in PR `#8319 <https://github.com/numba/numba/pull/8319>`_)
* PR `#8425 <https://github.com/numba/numba/pull/8425>`_: Post 0.56.2 cleanup (`esc <https://github.com/esc>`_)
* PR `#8427 <https://github.com/numba/numba/pull/8427>`_: Shorten the time to verify test discovery. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8429 <https://github.com/numba/numba/pull/8429>`_: changelog generator script (`esc <https://github.com/esc>`_)
* PR `#8431 <https://github.com/numba/numba/pull/8431>`_: Replace ``@overload_glue`` by ``@overload`` for ``np.linspace`` and ``np.take`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8432 <https://github.com/numba/numba/pull/8432>`_: Refactor carray/farray to use @overload (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8435 <https://github.com/numba/numba/pull/8435>`_: Migrate ``np.atleast_?`` functions from ``glue_lowering`` to ``overload`` (`apmasell <https://github.com/apmasell>`_)
* PR `#8438 <https://github.com/numba/numba/pull/8438>`_: Make the initialisation of the NRT more lazy for the njit decorator. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8439 <https://github.com/numba/numba/pull/8439>`_: Update the contributing docs to include a policy on formatting changes. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8440 <https://github.com/numba/numba/pull/8440>`_: [DOC]: Replaces icc_rt with intel-cmplr-lib-rt (`oleksandr-pavlyk <https://github.com/oleksandr-pavlyk>`_)
* PR `#8442 <https://github.com/numba/numba/pull/8442>`_: Implement hasattr(), str() and repr(). (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8446 <https://github.com/numba/numba/pull/8446>`_: add version info in ImportError's (`raybellwaves <https://github.com/raybellwaves>`_)
* PR `#8450 <https://github.com/numba/numba/pull/8450>`_: remove GitHub username from changelog generation script (`esc <https://github.com/esc>`_)
* PR `#8467 <https://github.com/numba/numba/pull/8467>`_: Convert implementations using generated_jit to overload (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8468 <https://github.com/numba/numba/pull/8468>`_: Reference test suite in installation documentation (`apmasell <https://github.com/apmasell>`_)
* PR `#8469 <https://github.com/numba/numba/pull/8469>`_: Correctly handle optional types in parfors lowering (`apmasell <https://github.com/apmasell>`_)
* PR `#8473 <https://github.com/numba/numba/pull/8473>`_: change the include style in _pymodule.h and remove unused or duplicate headers in two header files ()
* PR `#8476 <https://github.com/numba/numba/pull/8476>`_: Make setuptools optional at runtime. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8490 <https://github.com/numba/numba/pull/8490>`_: Restore installing SciPy from defaults instead of conda-forge on public CI (`esc <https://github.com/esc>`_)
* PR `#8494 <https://github.com/numba/numba/pull/8494>`_: Remove ``context.compile_internal`` where easy on ``numba/cpython/cmathimpl.py`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8495 <https://github.com/numba/numba/pull/8495>`_: Removes context.compile_internal where easy on ``numba/cpython/listobj.py`` (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8496 <https://github.com/numba/numba/pull/8496>`_: Rewrite most of the set API to use overloads (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8499 <https://github.com/numba/numba/pull/8499>`_: Deprecate numba.generated_jit (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8508 <https://github.com/numba/numba/pull/8508>`_: This updates the release checklists to capture some more checks. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8513 <https://github.com/numba/numba/pull/8513>`_: Added support for numpy.newaxis (`kc611 <https://github.com/kc611>`_)
* PR `#8517 <https://github.com/numba/numba/pull/8517>`_: make some typedlist C-APIs public ()
* PR `#8518 <https://github.com/numba/numba/pull/8518>`_: Adjust stencil tests to use hardcoded python source opposed to AST. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8520 <https://github.com/numba/numba/pull/8520>`_: Added noncentral-chisquared, noncentral-f and logseries distributions (`kc611 <https://github.com/kc611>`_)
* PR `#8522 <https://github.com/numba/numba/pull/8522>`_: Import jitclass from numba.experimental in jitclass documentation (`armgabrielyan <https://github.com/armgabrielyan>`_)
* PR `#8524 <https://github.com/numba/numba/pull/8524>`_: Fix grammar in stencil.rst (`armgabrielyan <https://github.com/armgabrielyan>`_)
* PR `#8525 <https://github.com/numba/numba/pull/8525>`_: Making CUDA specific datamodel manager (`sklam <https://github.com/sklam>`_)
* PR `#8526 <https://github.com/numba/numba/pull/8526>`_: Fix broken url (`Nimrod0901 <https://github.com/Nimrod0901>`_)
* PR `#8527 <https://github.com/numba/numba/pull/8527>`_: Fix grammar in troubleshoot.rst (`armgabrielyan <https://github.com/armgabrielyan>`_)
* PR `#8532 <https://github.com/numba/numba/pull/8532>`_: Vary NumPy version on gpuCI (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8535 <https://github.com/numba/numba/pull/8535>`_: LLVM14 (`apmasell <https://github.com/apmasell>`_)
* PR `#8536 <https://github.com/numba/numba/pull/8536>`_: Fix fusion bug. (`DrTodd13 <https://github.com/DrTodd13>`_)
* PR `#8539 <https://github.com/numba/numba/pull/8539>`_: Fix #8534, np.broadcast_to should update array size attr. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8541 <https://github.com/numba/numba/pull/8541>`_: Remove restoration of "free" channel in Azure CI windows builds. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8542 <https://github.com/numba/numba/pull/8542>`_: CUDA: Make arg optional for Stream.add_callback() (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8544 <https://github.com/numba/numba/pull/8544>`_: Remove reliance on npy_<impl> ufunc loops. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8545 <https://github.com/numba/numba/pull/8545>`_: Py3.11 basic support (`esc <https://github.com/esc>`_ `sklam <https://github.com/sklam>`_)
* PR `#8547 <https://github.com/numba/numba/pull/8547>`_: [Unicode] Add more string view usages for unicode operations ()
* PR `#8549 <https://github.com/numba/numba/pull/8549>`_: Fix rstcheck in Azure CI builds, update sphinx dep and docs to match (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8550 <https://github.com/numba/numba/pull/8550>`_: Changes how tests are split between test instances (`apmasell <https://github.com/apmasell>`_)
* PR `#8554 <https://github.com/numba/numba/pull/8554>`_: Make target for ``@overload`` have 'generic' as default. (`stuartarchibald <https://github.com/stuartarchibald>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8557 <https://github.com/numba/numba/pull/8557>`_: [Unicode] support startswith with args, start and end. ()
* PR `#8566 <https://github.com/numba/numba/pull/8566>`_: Update workqueue abort message on concurrent access. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8572 <https://github.com/numba/numba/pull/8572>`_: CUDA: Reduce memory pressure from local memory tests (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8579 <https://github.com/numba/numba/pull/8579>`_: CUDA: Add CUDA 11.8 / Hopper support and required fixes (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8580 <https://github.com/numba/numba/pull/8580>`_: adding note about doing a wheel test build prior to tagging (`esc <https://github.com/esc>`_)
* PR `#8583 <https://github.com/numba/numba/pull/8583>`_: Skip tests that contribute to M1 RuntimeDyLd Assertion error  (`sklam <https://github.com/sklam>`_)
* PR `#8587 <https://github.com/numba/numba/pull/8587>`_: Remove unused refcount removal code, clean ``core/cpu.py`` module. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8588 <https://github.com/numba/numba/pull/8588>`_: Remove lowering extension hooks, replace with pass infrastructure. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8590 <https://github.com/numba/numba/pull/8590>`_: Py3.11 support continues (`sklam <https://github.com/sklam>`_)
* PR `#8592 <https://github.com/numba/numba/pull/8592>`_: fix failure of test_cache_invalidate due to read-only install (`tpwrules <https://github.com/tpwrules>`_)
* PR `#8593 <https://github.com/numba/numba/pull/8593>`_: Adjusted ULP precesion for noncentral distribution test (`kc611 <https://github.com/kc611>`_)
* PR `#8594 <https://github.com/numba/numba/pull/8594>`_: Fix various CUDA lineinfo issues (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8597 <https://github.com/numba/numba/pull/8597>`_: Prevent use of NumPy's MaskedArray. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8598 <https://github.com/numba/numba/pull/8598>`_: Setup Azure CI to test py3.11 (`sklam <https://github.com/sklam>`_)
* PR `#8600 <https://github.com/numba/numba/pull/8600>`_: Chrome trace timestamp should be in microseconds not seconds. (`sklam <https://github.com/sklam>`_)
* PR `#8602 <https://github.com/numba/numba/pull/8602>`_: Throw error for unsupported dunder methods (`apmasell <https://github.com/apmasell>`_)
* PR `#8605 <https://github.com/numba/numba/pull/8605>`_: Support for CUDA fp16 math functions (part 1) (`testhound <https://github.com/testhound>`_)
* PR `#8606 <https://github.com/numba/numba/pull/8606>`_: [Doc] Make the RewriteArrayExprs doc more precise ()
* PR `#8619 <https://github.com/numba/numba/pull/8619>`_: Added flat iteration logic for random distributions (`kc611 <https://github.com/kc611>`_)
* PR `#8623 <https://github.com/numba/numba/pull/8623>`_: Adds support for np.nan_to_num (`thomasjpfan <https://github.com/thomasjpfan>`_)
* PR `#8624 <https://github.com/numba/numba/pull/8624>`_: DOC: Add guvectorize scalar return example (`Matt711 <https://github.com/Matt711>`_)
* PR `#8625 <https://github.com/numba/numba/pull/8625>`_: Refactor ``test_ufuncs`` (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8626 <https://github.com/numba/numba/pull/8626>`_: [unicode-PERF]: use optmized BM algorithm to replace the brute-force finder (`dlee992 <https://github.com/dlee992>`_)
* PR `#8630 <https://github.com/numba/numba/pull/8630>`_: Fix #8628: Don't test math.trunc with non-float64 NumPy scalars (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8634 <https://github.com/numba/numba/pull/8634>`_: Add new method is_fp16_supported (`testhound <https://github.com/testhound>`_)
* PR `#8636 <https://github.com/numba/numba/pull/8636>`_: CUDA: Skip ``test_ptds`` on Windows (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8639 <https://github.com/numba/numba/pull/8639>`_: Python 3.11 - fix majority of remaining test failures. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8644 <https://github.com/numba/numba/pull/8644>`_: Fix bare reraise support (`sklam <https://github.com/sklam>`_)
* PR `#8649 <https://github.com/numba/numba/pull/8649>`_: Remove ``numba.core.overload_glue`` module. (`apmasell <https://github.com/apmasell>`_)
* PR `#8659 <https://github.com/numba/numba/pull/8659>`_: Preserve module name of jitted class (`neilflood <https://github.com/neilflood>`_)
* PR `#8661 <https://github.com/numba/numba/pull/8661>`_: Make external compiler discovery lazy in the test suite. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8662 <https://github.com/numba/numba/pull/8662>`_: Add support for ``.nbytes`` accessor for numpy arrays (`alanhdu <https://github.com/alanhdu>`_)
* PR `#8666 <https://github.com/numba/numba/pull/8666>`_: Updates for Python 3.8 baseline/Python 3.11 migration (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8673 <https://github.com/numba/numba/pull/8673>`_: Enable the CUDA simulator tests on Windows builds in Azure CI. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8675 <https://github.com/numba/numba/pull/8675>`_: Make ``always_run`` test decorator a tag and improve shard tests. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8677 <https://github.com/numba/numba/pull/8677>`_: Add support for min and max on boolean types. (`DrTodd13 <https://github.com/DrTodd13>`_)
* PR `#8680 <https://github.com/numba/numba/pull/8680>`_: Adjust flake8 config to be compatible with flake8=6.0.0 (`thomasjpfan <https://github.com/thomasjpfan>`_)
* PR `#8685 <https://github.com/numba/numba/pull/8685>`_: Implement ``__repr__`` for numba types (`luk-f-a <https://github.com/luk-f-a>`_)
* PR `#8691 <https://github.com/numba/numba/pull/8691>`_: NumPy 1.24 (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8697 <https://github.com/numba/numba/pull/8697>`_: Close stale issues after 7 days (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8701 <https://github.com/numba/numba/pull/8701>`_: Relaxed ULP testing precision for NumPy Generator tests across all systems (`kc611 <https://github.com/kc611>`_)
* PR `#8702 <https://github.com/numba/numba/pull/8702>`_: Supply concrete timeline for objmode fallback deprecation/removal. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8706 <https://github.com/numba/numba/pull/8706>`_: Fix doctest for ``@vectorize`` (`sklam <https://github.com/sklam>`_)
* PR `#8711 <https://github.com/numba/numba/pull/8711>`_: Python 3.11 tracing support (continuation of #8670). (`AndrewVallette <https://github.com/AndrewVallette>`_ `sklam <https://github.com/sklam>`_)
* PR `#8716 <https://github.com/numba/numba/pull/8716>`_: CI: Use ``set -e`` in "Before Install" step and fix install (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8720 <https://github.com/numba/numba/pull/8720>`_: Enable coverage for subprocess testing (`sklam <https://github.com/sklam>`_)
* PR `#8723 <https://github.com/numba/numba/pull/8723>`_: Check for void return type in ``cuda.compile_ptx`` (`brandonwillard <https://github.com/brandonwillard>`_)
* PR `#8726 <https://github.com/numba/numba/pull/8726>`_: Make Numba dependency check run ahead of Numba internal imports. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8728 <https://github.com/numba/numba/pull/8728>`_: Fix flake8 checks since upgrade to flake8=6.x (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8729 <https://github.com/numba/numba/pull/8729>`_: Run flake8 CI step in multiple processes. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8732 <https://github.com/numba/numba/pull/8732>`_: Add numpy argpartition function support ()
* PR `#8735 <https://github.com/numba/numba/pull/8735>`_: Update bot to close PRs waiting on authors for more than 3 months (`guilhermeleobas <https://github.com/guilhermeleobas>`_)
* PR `#8736 <https://github.com/numba/numba/pull/8736>`_: Implement np.lib.stride_tricks.sliding_window_view ()
* PR `#8744 <https://github.com/numba/numba/pull/8744>`_: Update CtypesLinker::add_cu error message to include fp16 usage (`testhound <https://github.com/testhound>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8746 <https://github.com/numba/numba/pull/8746>`_: Fix failing test_dispatcher test case (`testhound <https://github.com/testhound>`_)
* PR `#8748 <https://github.com/numba/numba/pull/8748>`_: Suppress known test failures for py3.11 (`sklam <https://github.com/sklam>`_)
* PR `#8751 <https://github.com/numba/numba/pull/8751>`_: Recycle test runners more aggressively (`apmasell <https://github.com/apmasell>`_)
* PR `#8752 <https://github.com/numba/numba/pull/8752>`_: Flake8 fixes for py311 branch (`esc <https://github.com/esc>`_ `sklam <https://github.com/sklam>`_)
* PR `#8760 <https://github.com/numba/numba/pull/8760>`_: Bump llvmlite PR in py3.11 branch testing (`sklam <https://github.com/sklam>`_)
* PR `#8764 <https://github.com/numba/numba/pull/8764>`_: CUDA tidy-up: remove some unneeded methods (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8765 <https://github.com/numba/numba/pull/8765>`_: BLD: remove distutils (`fangchenli <https://github.com/fangchenli>`_)
* PR `#8766 <https://github.com/numba/numba/pull/8766>`_: Stale bot: Use ``abandoned - stale`` label for closed PRs (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8771 <https://github.com/numba/numba/pull/8771>`_: Update vendored Versioneer from 0.14 to 0.28 (`oscargus <https://github.com/oscargus>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8775 <https://github.com/numba/numba/pull/8775>`_: Revert PR#8751 for buildfarm stability (`sklam <https://github.com/sklam>`_)
* PR `#8780 <https://github.com/numba/numba/pull/8780>`_: Improved documentation for Atomic CAS (`MiloniAtal <https://github.com/MiloniAtal>`_)
* PR `#8781 <https://github.com/numba/numba/pull/8781>`_: Ensure gc.collect() is called before checking refcount in tests. (`sklam <https://github.com/sklam>`_)
* PR `#8782 <https://github.com/numba/numba/pull/8782>`_: Changed wording of the escape error (`MiloniAtal <https://github.com/MiloniAtal>`_)
* PR `#8786 <https://github.com/numba/numba/pull/8786>`_: Upgrade stale GitHub action (`apmasell <https://github.com/apmasell>`_)
* PR `#8788 <https://github.com/numba/numba/pull/8788>`_: CUDA: Fix returned dtype of vectorized functions (Issue #8400) (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8790 <https://github.com/numba/numba/pull/8790>`_: CUDA compare and swap with index (`ianthomas23 <https://github.com/ianthomas23>`_)
* PR `#8795 <https://github.com/numba/numba/pull/8795>`_: Add pending-deprecation warnings for ``numba.pycc`` (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8802 <https://github.com/numba/numba/pull/8802>`_: Move the minimum supported NumPy version to 1.21 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8803 <https://github.com/numba/numba/pull/8803>`_: Attempted fix to #8789 by changing ``compile_ptx`` to accept a signature instead of argument tuple (`KyanCheung <https://github.com/KyanCheung>`_)
* PR `#8804 <https://github.com/numba/numba/pull/8804>`_: Split parfor pass into 3 parts (`DrTodd13 <https://github.com/DrTodd13>`_)
* PR `#8809 <https://github.com/numba/numba/pull/8809>`_: Update LLVM versions for 0.57 release (`apmasell <https://github.com/apmasell>`_)
* PR `#8810 <https://github.com/numba/numba/pull/8810>`_: Fix llvmlite dependency in meta.yaml (`sklam <https://github.com/sklam>`_)
* PR `#8816 <https://github.com/numba/numba/pull/8816>`_: Fix some buildfarm test failures (`sklam <https://github.com/sklam>`_)
* PR `#8819 <https://github.com/numba/numba/pull/8819>`_: Support "static" __getitem__ on Numba types in ``@njit`` code. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8822 <https://github.com/numba/numba/pull/8822>`_: Merge py3.11 branch to main (`esc <https://github.com/esc>`_ `AndrewVallette <https://github.com/AndrewVallette>`_ `stuartarchibald <https://github.com/stuartarchibald>`_ `sklam <https://github.com/sklam>`_)
* PR `#8826 <https://github.com/numba/numba/pull/8826>`_: CUDA CFFI test: conditionally require cffi module (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8831 <https://github.com/numba/numba/pull/8831>`_: Redo py3.11 sync branch with main (`sklam <https://github.com/sklam>`_)
* PR `#8833 <https://github.com/numba/numba/pull/8833>`_: Fix typeguard import hook location. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8836 <https://github.com/numba/numba/pull/8836>`_: Fix failing typeguard test. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8837 <https://github.com/numba/numba/pull/8837>`_: Update AzureCI matrix for Python 3.11/NumPy 1.21..1.24 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8839 <https://github.com/numba/numba/pull/8839>`_: Add Dynamic Shared Memory example. (`k1m190r <https://github.com/k1m190r>`_)
* PR `#8842 <https://github.com/numba/numba/pull/8842>`_: Fix buildscripts, setup.py, docs for setuptools becoming optional. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8843 <https://github.com/numba/numba/pull/8843>`_: Pin typeguard to 3.0.1 in AzureCI. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8848 <https://github.com/numba/numba/pull/8848>`_: added lifted loops to glossary term (`cherieliu <https://github.com/cherieliu>`_)
* PR `#8852 <https://github.com/numba/numba/pull/8852>`_: Disable SLP vectorisation due to miscompilations. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8855 <https://github.com/numba/numba/pull/8855>`_: DOC: ``pip`` into double backticks in installing.rst (`F3eQnxN3RriK <https://github.com/F3eQnxN3RriK>`_)
* PR `#8856 <https://github.com/numba/numba/pull/8856>`_: Update TBB to use >= 2021.6 by default.  (`kozlov-alexey <https://github.com/kozlov-alexey>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8858 <https://github.com/numba/numba/pull/8858>`_: Update deprecation notice for objmode fallback RE ``@jit`` use. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8864 <https://github.com/numba/numba/pull/8864>`_: Remove obsolete deprecation notices (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8866 <https://github.com/numba/numba/pull/8866>`_: Revise CUDA deprecation notices (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8869 <https://github.com/numba/numba/pull/8869>`_: Update CHANGE_LOG for 0.57.0rc1 (`stuartarchibald <https://github.com/stuartarchibald>`_ `esc <https://github.com/esc>`_ `gmarkall <https://github.com/gmarkall>`_)
* PR `#8870 <https://github.com/numba/numba/pull/8870>`_: Fix opcode "spelling" change since Python 3.11 in CUDA debug test. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8879 <https://github.com/numba/numba/pull/8879>`_: Remove use of ``compile_isolated`` from generator tests. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8880 <https://github.com/numba/numba/pull/8880>`_: Fix missing dependency guard on pyyaml in ``test_azure_config``. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8881 <https://github.com/numba/numba/pull/8881>`_: Replace use of compile_isolated in test_obj_lifetime (`sklam <https://github.com/sklam>`_)
* PR `#8884 <https://github.com/numba/numba/pull/8884>`_: Pin llvmlite and NumPy on release branch (`sklam <https://github.com/sklam>`_)
* PR `#8887 <https://github.com/numba/numba/pull/8887>`_: Update PyPI supported version tags (`bryant1410 <https://github.com/bryant1410>`_)
* PR `#8896 <https://github.com/numba/numba/pull/8896>`_: Remove codecov install (now deleted from PyPI) (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8902 <https://github.com/numba/numba/pull/8902>`_: Enable CALL_FUNCTION_EX fix for py3.11 (`sklam <https://github.com/sklam>`_)
* PR `#8907 <https://github.com/numba/numba/pull/8907>`_: Work around issue #8898. Defer ``exp2`` (and ``log2``) calls to Numba internal symbols. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8909 <https://github.com/numba/numba/pull/8909>`_: Fix #8903. ``NumbaDeprecationWarning``s raised from ``@{gu,}vectorize``. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8929 <https://github.com/numba/numba/pull/8929>`_: Update CHANGE_LOG for 0.57.0 final. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8930 <https://github.com/numba/numba/pull/8930>`_: Fix year in change log (`jtilly <https://github.com/jtilly>`_)
* PR `#8932 <https://github.com/numba/numba/pull/8932>`_: Fix 0.57 release changelog (`sklam <https://github.com/sklam>`_)

Authors:

* `alanhdu <https://github.com/alanhdu>`_
* `AndrewVallette <https://github.com/AndrewVallette>`_
* `apmasell <https://github.com/apmasell>`_
* `armgabrielyan <https://github.com/armgabrielyan>`_
* `aseyboldt <https://github.com/aseyboldt>`_
* `Biswa96 <https://github.com/Biswa96>`_
* `brandonwillard <https://github.com/brandonwillard>`_
* `bryant1410 <https://github.com/bryant1410>`_
* `bszollosinagy <https://github.com/bszollosinagy>`_
* `cako <https://github.com/cako>`_
* `cherieliu <https://github.com/cherieliu>`_
* `ChiCheng45 <https://github.com/ChiCheng45>`_
* `DannyWeitekamp <https://github.com/DannyWeitekamp>`_
* `dlee992 <https://github.com/dlee992>`_
* `dmbelov <https://github.com/dmbelov>`_
* `DrTodd13 <https://github.com/DrTodd13>`_
* `eric-wieser <https://github.com/eric-wieser>`_
* `esc <https://github.com/esc>`_
* `F3eQnxN3RriK <https://github.com/F3eQnxN3RriK>`_
* `fangchenli <https://github.com/fangchenli>`_
* `gmarkall <https://github.com/gmarkall>`_
* `guilhermeleobas <https://github.com/guilhermeleobas>`_
* `ianthomas23 <https://github.com/ianthomas23>`_
* `jamesobutler <https://github.com/jamesobutler>`_
* `jorgepiloto <https://github.com/jorgepiloto>`_
* `jtilly <https://github.com/jtilly>`_
* `k1m190r <https://github.com/k1m190r>`_
* `kc611 <https://github.com/kc611>`_
* `kozlov-alexey <https://github.com/kozlov-alexey>`_
* `KyanCheung <https://github.com/KyanCheung>`_
* `luk-f-a <https://github.com/luk-f-a>`_
* `Matt711 <https://github.com/Matt711>`_
* `MiloniAtal <https://github.com/MiloniAtal>`_
* `naveensrinivasan <https://github.com/naveensrinivasan>`_
* `neilflood <https://github.com/neilflood>`_
* `Nimrod0901 <https://github.com/Nimrod0901>`_
* `njriasan <https://github.com/njriasan>`_
* `oleksandr-pavlyk <https://github.com/oleksandr-pavlyk>`_
* `oscargus <https://github.com/oscargus>`_
* `raybellwaves <https://github.com/raybellwaves>`_
* `shangbol <https://github.com/shangbol>`_
* `sklam <https://github.com/sklam>`_
* `stefanfed <https://github.com/stefanfed>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_
* `testhound <https://github.com/testhound>`_
* `thomasjpfan <https://github.com/thomasjpfan>`_
* `tpwrules <https://github.com/tpwrules>`_

Version 0.56.4 (3 November, 2022)
---------------------------------

This is a bugfix release to fix a regression in the CUDA target in relation to
the ``.view()`` method on CUDA device arrays that is present when using NumPy
version 1.23.0 or later.

Pull-Requests:

* PR `#8537 <https://github.com/numba/numba/pull/8537>`_: Make ol_compatible_view accessible on all targets (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8552 <https://github.com/numba/numba/pull/8552>`_: Update version support table for 0.56.4. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8553 <https://github.com/numba/numba/pull/8553>`_: Update CHANGE_LOG for 0.56.4 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8570 <https://github.com/numba/numba/pull/8570>`_: Release 0.56 branch: Fix overloads with ``target="generic"`` for CUDA (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8571 <https://github.com/numba/numba/pull/8571>`_: Additional update to CHANGE_LOG for 0.56.4 (`stuartarchibald <https://github.com/stuartarchibald>`_)

Authors:

* `gmarkall <https://github.com/gmarkall>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_

Version 0.56.3 (13 October, 2022)
---------------------------------

This is a bugfix release to remove the version restriction applied to the
``setuptools`` package and to fix a bug in the CUDA target in relation to
copying zero length device arrays to zero length host arrays.

Pull-Requests:

* PR `#8475 <https://github.com/numba/numba/pull/8475>`_: Remove setuptools version pin (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8482 <https://github.com/numba/numba/pull/8482>`_: Fix #8477: Allow copies with different strides for 0-length data (`gmarkall <https://github.com/gmarkall>`_)
* PR `#8486 <https://github.com/numba/numba/pull/8486>`_: Restrict the TBB development package to supported version in Azure. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8503 <https://github.com/numba/numba/pull/8503>`_: Update version support table for 0.56.3 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8504 <https://github.com/numba/numba/pull/8504>`_: Update CHANGE_LOG for 0.56.3 (`stuartarchibald <https://github.com/stuartarchibald>`_)

Authors:

* `gmarkall <https://github.com/gmarkall>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_

Version 0.56.2 (1 September, 2022)
----------------------------------

This is a bugfix release that supports NumPy 1.23 and fixes CUDA function
caching.

Pull-Requests:

* PR `#8239 <https://github.com/numba/numba/pull/8239>`_: Add decorator to run a test in a subprocess (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8276 <https://github.com/numba/numba/pull/8276>`_: Move Azure to use macos-11 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8310 <https://github.com/numba/numba/pull/8310>`_: CUDA: Fix Issue #8309 - atomics don't work on complex components (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8342 <https://github.com/numba/numba/pull/8342>`_: Upgrade to ubuntu-20.04 for azure pipeline CI (`jamesobutler <https://github.com/jamesobutler>`_)
* PR `#8356 <https://github.com/numba/numba/pull/8356>`_: Update setup.py, buildscripts, CI and docs to require setuptools<60 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8374 <https://github.com/numba/numba/pull/8374>`_: Don't pickle LLVM IR for CUDA code libraries (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8377 <https://github.com/numba/numba/pull/8377>`_: Add support for NumPy 1.23 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8384 <https://github.com/numba/numba/pull/8384>`_: Move strace() check into tests that actually need it (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8386 <https://github.com/numba/numba/pull/8386>`_: Fix the docs for numba.get_thread_id (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8407 <https://github.com/numba/numba/pull/8407>`_: Pin NumPy version to 1.18-1.24 (`Andre Masella <https://github.com/apmasell>`_)
* PR `#8411 <https://github.com/numba/numba/pull/8411>`_: update version support table for 0.56.1 (`esc <https://github.com/esc>`_)
* PR `#8412 <https://github.com/numba/numba/pull/8412>`_: Create changelog for 0.56.1 (`Andre Masella <https://github.com/apmasell>`_)
* PR `#8413 <https://github.com/numba/numba/pull/8413>`_: Fix Azure CI for NumPy 1.23 and use conda-forge scipy (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8414 <https://github.com/numba/numba/pull/8413>`_: Hotfix for 0.56.2 (`Siu Kwan Lam <https://github.com/sklam>`_)

Authors:

* `Andre Masella <https://github.com/apmasell>`_
* `esc <https://github.com/esc>`_
* `Graham Markall <https://github.com/gmarkall>`_
* `jamesobutler <https://github.com/jamesobutler>`_
* `Siu Kwan Lam <https://github.com/sklam>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_

Version 0.56.1 (NO RELEASE)
---------------------------

The release was skipped due to issues during the release process.

Version 0.56.0 (25 July, 2022)
------------------------------

This release continues to add new features, bug fixes and stability improvements
to Numba. Please note that this will be the last release that has support for
Python 3.7 as the next release series (Numba 0.57) will support Python 3.11!
Also note that, this will be the last release to support linux-32 packages
produced by the Numba team.

Python language support enhancements:

* Previously missing support for large, in-line dictionaries and internal calls
  to functions with large numbers of keyword arguments in Python 3.10 has been
  added.
* ``operator.mul`` now works for ``list`` s.
* Literal slices, e.g. ``slice(1, 10, 2)`` can be returned from ``nopython``
  mode functions.
* The ``len`` function now works on ``dict_keys``, ``dict_values`` and
  ``dict_items`` .
* Numba's ``set`` implementation now supports reference counted items e.g.
  strings.

Numba specific feature enhancements:

* The experimental ``jitclass`` feature gains support for a large number of
  ``builtin`` methods e.g. declaring ``__hash__`` or ``__getitem__`` for a
  ``jitclass`` type.
* It's now possible to use ``@vectorize`` on an already ``@jit`` family
  decorated function.
* Name mangling has been updated to emit compiled function names that exactly
  match the function name in Python. This means debuggers, like GDB, can be set
  to break directly on Python function names.
* A GDB "pretty printing" support module has been added, when loaded into GDB
  Numba's internal representations of Python/NumPy types are rendered inside GDB
  as they would be in Python.
* An experimental option is added to the ``@jit`` family decorators to entirely
  turn off LLVM's optimisation passes for a given function (see
  ``_dbg_optnone`` kwarg in the ``@jit`` decorator family).
* A new environment variable is added ``NUMBA_EXTEND_VARIABLE_LIFETIMES``, which
  if set will extend the lifetime of variables to the end of their basic block,
  this to permit a debugging experience in GDB similar to that found in compiled
  C/C++/Fortran code.

NumPy features/enhancements:

* Initial support for passing, using and returning ``numpy.random.Generator``
  instances has been added, this currently includes support for the ``random``
  distribution.
* The broadcasting functions ``np.broadcast_shapes`` and ``np.broadcast_arrays``
  are now supported.
* The ``min`` and ``max`` functions now work with ``np.timedelta64`` and
  ``np.datetime64`` types.
* Sorting multi-dimensional arrays along the last axis is now supported in
  ``np.sort()``.
* The ``np.clip`` function is updated to accept NumPy arrays for the ``a_min``
  and ``a_max`` arguments.
* The NumPy allocation routines (``np.empty`` , ``np.ones`` etc.) support shape
  arguments specified using members of ``enum.IntEnum`` s.
* The function ``np.random.noncentral_chisquare`` is now supported.
* The performance of functions ``np.full`` and ``np.ones`` has been improved.

Parallel Accelerator enhancements:

* The ``parallel=True`` functionality is enhanced through the addition of the
  functions ``numba.set_parallel_chunksize`` and
  ``numba.get_parallel_chunksize`` to permit a more fine grained scheduling of
  work defined in a parallel region. There is also support for adjusting the
  ``chunksize`` via a context manager.
* The ``ID`` of a thread is now defined to be predictable and within a known
  range, it is available through calling the function ``numba.get_thread_id``.
* The performance of ``@stencil`` s has been improved in both serial and
  parallel execution.

CUDA enhancements:

* New functionality:

  * Self-recursive device functions.
  * Vector type support (``float4``, ``int2``, etc.).
  * Shared / local arrays of extension types can now be created.
  * Support for linking CUDA C / C++ device functions into Python kernels.
  * PTX generation for Compute Capabilities 8.6 and 8.7 - e.g. RTX A series,
    GTX 3000 series.
  * Comparison operations for ``float16`` types.

* Performance improvements:

  * Context queries are no longer made during launch configuration.
  * Launch configurations are now LRU cached.
  * On-disk caching of CUDA kernels is now supported.

* Documentation: many new examples added.

Docs:

* Numba now has an official "mission statement".
* There's now a "version support table" in the documentation to act as an easy
  to use, single reference point, for looking up information about Numba
  releases and their required/supported dependencies.

General Enhancements:

* Numba imports more quickly in environments with large numbers of packages as
  it now uses ``importlib-metadata`` for querying other packages.
* Emission of chrome tracing output is now supported for the internal
  compilation event handling system.
* This release is tested and known to work when using the
  `Pyston <https://www.pyston.org/>`_ Python interpreter.

Pull-Requests:

* PR `#5209 <https://github.com/numba/numba/pull/5209>`_: Use importlib to load numba extensions (`Stepan Rakitin <https://github.com/svrakitin>`_ `Graham Markall <https://github.com/gmarkall>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#5877 <https://github.com/numba/numba/pull/5877>`_: Jitclass builtin methods (`Ethan Pronovost <https://github.com/EPronovost>`_ `Graham Markall <https://github.com/gmarkall>`_)
* PR `#6490 <https://github.com/numba/numba/pull/6490>`_: Stencil output allocated with np.empty now and new code to initialize the borders. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7005 <https://github.com/numba/numba/pull/7005>`_: Make `numpy.searchsorted` match NumPy when first argument is unsorted (`Brandon T. Willard <https://github.com/brandonwillard>`_)
* PR `#7363 <https://github.com/numba/numba/pull/7363>`_: Update cuda.local.array to clarify "simple constant expression" (e.g. no NumPy ints) (`Sterling Baird <https://github.com/sgbaird>`_)
* PR `#7364 <https://github.com/numba/numba/pull/7364>`_: Removes an instance of signed integer overflow undefined behaviour. (`Tobias Sargeant <https://github.com/folded>`_)
* PR `#7537 <https://github.com/numba/numba/pull/7537>`_: Add chrome tracing (`Hadia Ahmed <https://github.com/hadia206>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7556 <https://github.com/numba/numba/pull/7556>`_: Testhound/fp16 comparison (`Michael Collison <https://github.com/testhound>`_ `Graham Markall <https://github.com/gmarkall>`_)
* PR `#7586 <https://github.com/numba/numba/pull/7586>`_: Support for len on dict.keys, dict.values, and dict.items (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#7617 <https://github.com/numba/numba/pull/7617>`_: Numba gdb-python extension for printing (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7619 <https://github.com/numba/numba/pull/7619>`_: CUDA: Fix linking with PTX when compiling lazily (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7621 <https://github.com/numba/numba/pull/7621>`_: Add support for linking CUDA C / C++ with `@cuda.jit` kernels (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7625 <https://github.com/numba/numba/pull/7625>`_: Combined parfor chunking and caching PRs. (`stuartarchibald <https://github.com/stuartarchibald>`_ `Todd A. Anderson <https://github.com/DrTodd13>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7651 <https://github.com/numba/numba/pull/7651>`_: DOC: pypi and conda-forge badges (`Ray Bell <https://github.com/raybellwaves>`_)
* PR `#7660 <https://github.com/numba/numba/pull/7660>`_: Add support for np.broadcast_arrays (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#7664 <https://github.com/numba/numba/pull/7664>`_: Flatten mangling dicts into a single dict (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7680 <https://github.com/numba/numba/pull/7680>`_: CUDA Docs: include example calling slow matmul (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7682 <https://github.com/numba/numba/pull/7682>`_: performance improvements to np.full and np.ones (`Rishi Kulkarni <https://github.com/rishi-kulkarni>`_)
* PR `#7684 <https://github.com/numba/numba/pull/7684>`_: DOC: remove incorrect warning in np.random reference (`Rishi Kulkarni <https://github.com/rishi-kulkarni>`_)
* PR `#7685 <https://github.com/numba/numba/pull/7685>`_: Don't convert setitems that have dimension mismatches to parfors. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7690 <https://github.com/numba/numba/pull/7690>`_: Implemented np.random.noncentral_chisquare for all size arguments (`Rishi Kulkarni <https://github.com/rishi-kulkarni>`_)
* PR `#7695 <https://github.com/numba/numba/pull/7695>`_: `IntEnumMember` support for  `np.empty`, `np.zeros`, and `np.ones` (`Benjamin Graham <https://github.com/benwilliamgraham>`_)
* PR `#7699 <https://github.com/numba/numba/pull/7699>`_: CUDA: Provide helpful error if the return type is missing for `declare_device` (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7700 <https://github.com/numba/numba/pull/7700>`_: Support for scalar arguments in Np.ascontiguousarray  (`Dhruv Patel <https://github.com/DhruvPatel01>`_)
* PR `#7703 <https://github.com/numba/numba/pull/7703>`_: Ignore unsupported types in `ShapeEquivSet._getnames()` (`Benjamin Graham <https://github.com/benwilliamgraham>`_)
* PR `#7704 <https://github.com/numba/numba/pull/7704>`_: Move the type annotation pass to post legalization. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7709 <https://github.com/numba/numba/pull/7709>`_: CUDA: Fixes missing type annotation pass following #7704 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7712 <https://github.com/numba/numba/pull/7712>`_: Fixing issue 7693 (`stuartarchibald <https://github.com/stuartarchibald>`_ `Graham Markall <https://github.com/gmarkall>`_ `luk-f-a <https://github.com/luk-f-a>`_)
* PR `#7714 <https://github.com/numba/numba/pull/7714>`_: Support for boxing SliceLiteral type (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#7718 <https://github.com/numba/numba/pull/7718>`_: Bump llvmlite dependency to 0.39.0dev0 for Numba 0.56.0dev0 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7724 <https://github.com/numba/numba/pull/7724>`_: Update URLs in error messages to refer to RTD docs. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7728 <https://github.com/numba/numba/pull/7728>`_: Document that AOT-compiled functions do not check arg types (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7729 <https://github.com/numba/numba/pull/7729>`_: Handle Omitted/OmittedArgDataModel in DI generation. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7732 <https://github.com/numba/numba/pull/7732>`_: update release checklist following 0.55.0 RC1 (`esc <https://github.com/esc>`_)
* PR `#7736 <https://github.com/numba/numba/pull/7736>`_: Update CHANGE_LOG for 0.55.0 final. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7740 <https://github.com/numba/numba/pull/7740>`_: CUDA Python 11.6 support (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7744 <https://github.com/numba/numba/pull/7744>`_: Fix issues with locating/parsing source during DebugInfo emission. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7745 <https://github.com/numba/numba/pull/7745>`_: Fix the release year for Numba 0.55 change log entry. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7748 <https://github.com/numba/numba/pull/7748>`_: Fix #7713: Ensure _prng_random_hash return has correct bitwidth (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7749 <https://github.com/numba/numba/pull/7749>`_: Refactor threading layer priority tests to not use stdout/stderr (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7752 <https://github.com/numba/numba/pull/7752>`_: Fix #7751: Use original filename for array exprs (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7755 <https://github.com/numba/numba/pull/7755>`_: CUDA: Deprecate support for CC < 5.3 and CTK < 10.2 (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7763 <https://github.com/numba/numba/pull/7763>`_: Update Read the Docs configuration (automatic) (`readthedocs-assistant <https://github.com/readthedocs-assistant>`_)
* PR `#7764 <https://github.com/numba/numba/pull/7764>`_: Add dbg_optnone and dbg_extend_lifetimes flags (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7771 <https://github.com/numba/numba/pull/7771>`_: Move function unique ID to abi-tags (`stuartarchibald <https://github.com/stuartarchibald>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7772 <https://github.com/numba/numba/pull/7772>`_: CUDA: Add Support to Creating `StructModel` Array (`Michael Wang <https://github.com/isVoid>`_)
* PR `#7776 <https://github.com/numba/numba/pull/7776>`_: Updates coverage.py config (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7777 <https://github.com/numba/numba/pull/7777>`_: Remove reference existing issue from GH template. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7778 <https://github.com/numba/numba/pull/7778>`_: Remove long deprecated flags from the CLI. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7780 <https://github.com/numba/numba/pull/7780>`_: Fix sets with reference counted items (`Benjamin Graham <https://github.com/benwilliamgraham>`_)
* PR `#7782 <https://github.com/numba/numba/pull/7782>`_: adding reminder to check on deprecations (`esc <https://github.com/esc>`_)
* PR `#7783 <https://github.com/numba/numba/pull/7783>`_: remove upper limit on Python version (`esc <https://github.com/esc>`_)
* PR `#7786 <https://github.com/numba/numba/pull/7786>`_: Remove dependency on intel-openmp for OSX (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7788 <https://github.com/numba/numba/pull/7788>`_: Avoid issue with DI gen for arrayexprs. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7796 <https://github.com/numba/numba/pull/7796>`_: update change-log for 0.55.1 (`esc <https://github.com/esc>`_)
* PR `#7797 <https://github.com/numba/numba/pull/7797>`_: prune README (`esc <https://github.com/esc>`_)
* PR `#7799 <https://github.com/numba/numba/pull/7799>`_: update the release checklist post 0.55.1 (`esc <https://github.com/esc>`_)
* PR `#7801 <https://github.com/numba/numba/pull/7801>`_: add sdist command and umask reminder (`esc <https://github.com/esc>`_)
* PR `#7804 <https://github.com/numba/numba/pull/7804>`_: update local references from master -> main (`esc <https://github.com/esc>`_)
* PR `#7805 <https://github.com/numba/numba/pull/7805>`_: Enhance source line finding logic for debuginfo (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7809 <https://github.com/numba/numba/pull/7809>`_: Updates the gdb configuration to accept a binary name or a path. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7813 <https://github.com/numba/numba/pull/7813>`_: Extend parfors test timeout for aarch64. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7814 <https://github.com/numba/numba/pull/7814>`_: CUDA Dispatcher refactor (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7815 <https://github.com/numba/numba/pull/7815>`_: CUDA Dispatcher refactor 2: inherit from `dispatcher.Dispatcher` (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7817 <https://github.com/numba/numba/pull/7817>`_: Update intersphinx URLs for NumPy and llvmlite. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7823 <https://github.com/numba/numba/pull/7823>`_: Add renamed vars to callee scope such that it is self consistent. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7829 <https://github.com/numba/numba/pull/7829>`_: CUDA: Support `Enum/IntEnum` in Kernel (`Michael Wang <https://github.com/isVoid>`_)
* PR `#7833 <https://github.com/numba/numba/pull/7833>`_: Add version support information table to docs. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7835 <https://github.com/numba/numba/pull/7835>`_: Fix pickling error when module cannot be imported (`idorrington <https://github.com/idorrington>`_)
* PR `#7836 <https://github.com/numba/numba/pull/7836>`_: min() and max() support for np.datetime and np.timedelta (`Benjamin Graham <https://github.com/benwilliamgraham>`_)
* PR `#7837 <https://github.com/numba/numba/pull/7837>`_: Initial refactoring of parfor reduction lowering  (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7845 <https://github.com/numba/numba/pull/7845>`_: change time.time() to time.perf_counter() in docs (`Nopileos2 <https://github.com/Nopileos2>`_)
* PR `#7846 <https://github.com/numba/numba/pull/7846>`_: Fix CUDA enum vectorize test on Windows (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7848 <https://github.com/numba/numba/pull/7848>`_: Support for int * list (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#7850 <https://github.com/numba/numba/pull/7850>`_: CUDA: Pass `fastmath` compiler flag down to `compile_ptx` and `compile_device`; Improve `fastmath` tests (`Michael Wang <https://github.com/isVoid>`_)
* PR `#7855 <https://github.com/numba/numba/pull/7855>`_: Ensure np.argmin/no.argmax return type is intp (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7858 <https://github.com/numba/numba/pull/7858>`_: CUDA: Deprecate `ptx` Attribute and Update Tests (`Graham Markall <https://github.com/gmarkall>`_ `Michael Wang <https://github.com/isVoid>`_)
* PR `#7861 <https://github.com/numba/numba/pull/7861>`_: Fix a spelling mistake in README (`Zizheng Guo <https://github.com/gzz2000>`_)
* PR `#7864 <https://github.com/numba/numba/pull/7864>`_: Fix cross_iter_dep check. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7865 <https://github.com/numba/numba/pull/7865>`_: Remove add_user_function (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7866 <https://github.com/numba/numba/pull/7866>`_: Support for large numbers of args/kws with Python 3.10 (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#7878 <https://github.com/numba/numba/pull/7878>`_: CUDA: Remove some deprecated support, add CC 8.6 and 8.7 (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7893 <https://github.com/numba/numba/pull/7893>`_: Use uuid.uuid4() as the key in serialization. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7895 <https://github.com/numba/numba/pull/7895>`_: Remove use of `llvmlite.llvmpy` (`Andre Masella <https://github.com/apmasell>`_)
* PR `#7898 <https://github.com/numba/numba/pull/7898>`_: Skip test_ptds under cuda-memcheck (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7901 <https://github.com/numba/numba/pull/7901>`_: Pyston compatibility for the test suite (`Kevin Modzelewski <https://github.com/kmod>`_)
* PR `#7904 <https://github.com/numba/numba/pull/7904>`_: Support m1 (`esc <https://github.com/esc>`_)
* PR `#7911 <https://github.com/numba/numba/pull/7911>`_: added sys import (`Nightfurex <https://github.com/Nightfurex>`_)
* PR `#7915 <https://github.com/numba/numba/pull/7915>`_: CUDA: Fix test checking debug info rendering. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7918 <https://github.com/numba/numba/pull/7918>`_: Add JIT examples to CUDA docs (`brandon-b-miller <https://github.com/brandon-b-miller>`_ `Graham Markall <https://github.com/gmarkall>`_)
* PR `#7919 <https://github.com/numba/numba/pull/7919>`_: Disallow //= reductions in pranges. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7924 <https://github.com/numba/numba/pull/7924>`_: Retain non-modified index tuple components. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7939 <https://github.com/numba/numba/pull/7939>`_: Fix rendering in feature request template. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7940 <https://github.com/numba/numba/pull/7940>`_: Implemented `np.allclose` in `numba/np/arraymath.py` (`Gagandeep Singh <https://github.com/czgdp1807>`_)
* PR `#7941 <https://github.com/numba/numba/pull/7941>`_: Remove debug dump output from closure inlining pass. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7946 <https://github.com/numba/numba/pull/7946>`_: instructions for creating a build environment were outdated (`esc <https://github.com/esc>`_)
* PR `#7949 <https://github.com/numba/numba/pull/7949>`_: Add Cuda Vector Types (`Michael Wang <https://github.com/isVoid>`_)
* PR `#7950 <https://github.com/numba/numba/pull/7950>`_: mission statement (`esc <https://github.com/esc>`_)
* PR `#7956 <https://github.com/numba/numba/pull/7956>`_: Stop using pip for 3.10 on public ci (Revert "start testing Python 3.10 on public CI") (`esc <https://github.com/esc>`_)
* PR `#7957 <https://github.com/numba/numba/pull/7957>`_: Use cloudpickle for disk caches (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7958 <https://github.com/numba/numba/pull/7958>`_: `numpy.clip` accept `numpy.array` for `a_min`, `a_max` (`Gagandeep Singh <https://github.com/czgdp1807>`_)
* PR `#7959 <https://github.com/numba/numba/pull/7959>`_: Permit a new array model to have a super set of array model fields. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7961 <https://github.com/numba/numba/pull/7961>`_: `numba.typed.typeddict.Dict.get` uses `castedkey` to avoid returning default value even if the key is present (`Gagandeep Singh <https://github.com/czgdp1807>`_)
* PR `#7963 <https://github.com/numba/numba/pull/7963>`_: remove the roadmap from the sphinx based docs (`esc <https://github.com/esc>`_)
* PR `#7964 <https://github.com/numba/numba/pull/7964>`_: Support for large constant dictionaries in Python 3.10 (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#7965 <https://github.com/numba/numba/pull/7965>`_: Use uuid4 instead of PID in cache temp name to prevent collisions. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7971 <https://github.com/numba/numba/pull/7971>`_: lru cache for configure call (`Tingkai Liu <https://github.com/TK-21st>`_)
* PR `#7972 <https://github.com/numba/numba/pull/7972>`_: Fix fp16 support for cuda shared array (`Michael Collison <https://github.com/testhound>`_ `Graham Markall <https://github.com/gmarkall>`_)
* PR `#7986 <https://github.com/numba/numba/pull/7986>`_: Small caching refactor to support target cache implementations (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7994 <https://github.com/numba/numba/pull/7994>`_: Supporting multidimensional arrays in quick sort (`Gagandeep Singh <https://github.com/czgdp1807>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7996 <https://github.com/numba/numba/pull/7996>`_: Fix binding logic in `@overload_glue`. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7999 <https://github.com/numba/numba/pull/7999>`_: Remove `@overload_glue` for NumPy allocators. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8003 <https://github.com/numba/numba/pull/8003>`_: Add np.broadcast_shapes (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#8004 <https://github.com/numba/numba/pull/8004>`_: CUDA fixes for Windows (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8014 <https://github.com/numba/numba/pull/8014>`_: Fix support for {real,imag} array attrs in Parfors. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8016 <https://github.com/numba/numba/pull/8016>`_: [Docs] [Very Minor] Make `numba.jit` boundscheck doc line consistent (`Kyle Martin <https://github.com/martinky24>`_)
* PR `#8017 <https://github.com/numba/numba/pull/8017>`_: Update FAQ to include details about using debug-only option (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#8027 <https://github.com/numba/numba/pull/8027>`_: Support for NumPy 1.22 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8031 <https://github.com/numba/numba/pull/8031>`_: Support for Numpy BitGenerators PR#1 - Core Generator Support (`Kaustubh <https://github.com/kc611>`_)
* PR `#8035 <https://github.com/numba/numba/pull/8035>`_: Fix a couple of typos RE implementation (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8037 <https://github.com/numba/numba/pull/8037>`_: CUDA self-recursion tests (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8044 <https://github.com/numba/numba/pull/8044>`_: Make Python 3.10 kwarg peephole less restrictive (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#8046 <https://github.com/numba/numba/pull/8046>`_: Fix caching test failures (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8049 <https://github.com/numba/numba/pull/8049>`_: support str(bool) syntax (`LI Da <https://github.com/dlee992>`_)
* PR `#8052 <https://github.com/numba/numba/pull/8052>`_: Ensure pthread is linked in when building for ppc64le. (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8056 <https://github.com/numba/numba/pull/8056>`_: Move caching tests from test_dispatcher to test_caching (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8057 <https://github.com/numba/numba/pull/8057>`_: Fix coverage checking (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8064 <https://github.com/numba/numba/pull/8064>`_: Rename "nb:run_pass" to "numba:run_pass" and document it. (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8065 <https://github.com/numba/numba/pull/8065>`_: Fix PyLowering mishandling starargs (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8068 <https://github.com/numba/numba/pull/8068>`_: update changelog for 0.55.2 (`esc <https://github.com/esc>`_)
* PR `#8077 <https://github.com/numba/numba/pull/8077>`_: change return type of np.broadcast_shapes to a tuple (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#8080 <https://github.com/numba/numba/pull/8080>`_: Fix windows test failure due to timeout when the machine is slow poss… (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8081 <https://github.com/numba/numba/pull/8081>`_: Fix erroneous array count in parallel gufunc kernel generation. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8089 <https://github.com/numba/numba/pull/8089>`_: Support on-disk caching in the CUDA target (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8097 <https://github.com/numba/numba/pull/8097>`_: Exclude libopenblas 0.3.20 on osx-arm64 (`esc <https://github.com/esc>`_)
* PR `#8099 <https://github.com/numba/numba/pull/8099>`_: Fix Py_DECREF use in case of error state (for devicearray). (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8102 <https://github.com/numba/numba/pull/8102>`_: Combine numpy run_constrained in meta.yaml to the run requirements (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8109 <https://github.com/numba/numba/pull/8109>`_: Pin TBB support with respect to incompatible 2021.6 API. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8118 <https://github.com/numba/numba/pull/8118>`_: Update release checklists post 0.55.2 (`esc <https://github.com/esc>`_)
* PR `#8123 <https://github.com/numba/numba/pull/8123>`_: Fix CUDA print tests on Windows (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8124 <https://github.com/numba/numba/pull/8124>`_: Add explicit checks to all allocators in the NRT. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8126 <https://github.com/numba/numba/pull/8126>`_: Mark gufuncs as having mutable outputs (`Andre Masella <https://github.com/apmasell>`_)
* PR `#8133 <https://github.com/numba/numba/pull/8133>`_: Fix #8132. Regression in Record.make_c_struct for handling nestedarray (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8137 <https://github.com/numba/numba/pull/8137>`_: CUDA: Fix #7806, Division by zero stops the kernel (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8142 <https://github.com/numba/numba/pull/8142>`_: CUDA: Fix some missed changes from dropping 9.2 (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8144 <https://github.com/numba/numba/pull/8144>`_: Fix NumPy capitalisation in docs. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8145 <https://github.com/numba/numba/pull/8145>`_: Allow ufunc builder to use previously JITed function (`Andre Masella <https://github.com/apmasell>`_)
* PR `#8151 <https://github.com/numba/numba/pull/8151>`_: pin NumPy to build 0 of 1.19.2 on public CI (`esc <https://github.com/esc>`_)
* PR `#8163 <https://github.com/numba/numba/pull/8163>`_: CUDA: Remove context query in launch config (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8165 <https://github.com/numba/numba/pull/8165>`_: Restrict strace based tests to be linux only via support feature. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8170 <https://github.com/numba/numba/pull/8170>`_: CUDA: Fix missing space in low occupancy warning (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8175 <https://github.com/numba/numba/pull/8175>`_: make build and upload order consistent (`esc <https://github.com/esc>`_)
* PR `#8181 <https://github.com/numba/numba/pull/8181>`_: Fix various typos (`luzpaz <https://github.com/luzpaz>`_)
* PR `#8187 <https://github.com/numba/numba/pull/8187>`_: Update CHANGE_LOG for 0.55.2 (`stuartarchibald <https://github.com/stuartarchibald>`_ `esc <https://github.com/esc>`_)
* PR `#8189 <https://github.com/numba/numba/pull/8189>`_: updated version support information for 0.55.2/0.57 (`esc <https://github.com/esc>`_)
* PR `#8191 <https://github.com/numba/numba/pull/8191>`_: CUDA: Update deprecation notes for 0.56. (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8192 <https://github.com/numba/numba/pull/8192>`_: Update CHANGE_LOG for 0.56.0 (`stuartarchibald <https://github.com/stuartarchibald>`_ `esc <https://github.com/esc>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8195 <https://github.com/numba/numba/pull/8195>`_: Make the workqueue threading backend once again fork safe. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8196 <https://github.com/numba/numba/pull/8196>`_: Fix numerical tolerance in parfors caching test. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8197 <https://github.com/numba/numba/pull/8197>`_: Fix `isinstance` warning check test. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8203 <https://github.com/numba/numba/pull/8203>`_: pin llvmlite 0.39 for public CI builds (`esc <https://github.com/esc>`_)
* PR `#8255 <https://github.com/numba/numba/pull/8255>`_: CUDA: Make numba.cuda.tests.doc_examples.ffi a module to fix #8252 (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#8274 <https://github.com/numba/numba/pull/8274>`_: Update version support table doc for 0.56. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8275 <https://github.com/numba/numba/pull/8275>`_: Update CHANGE_LOG for 0.56.0 final (`stuartarchibald <https://github.com/stuartarchibald>`_)

Authors:

* `Andre Masella <https://github.com/apmasell>`_
* `Benjamin Graham <https://github.com/benwilliamgraham>`_
* `brandon-b-miller <https://github.com/brandon-b-miller>`_
* `Brandon T. Willard <https://github.com/brandonwillard>`_
* `Gagandeep Singh <https://github.com/czgdp1807>`_
* `Dhruv Patel <https://github.com/DhruvPatel01>`_
* `LI Da <https://github.com/dlee992>`_
* `Todd A. Anderson <https://github.com/DrTodd13>`_
* `Ethan Pronovost <https://github.com/EPronovost>`_
* `esc <https://github.com/esc>`_
* `Tobias Sargeant <https://github.com/folded>`_
* `Graham Markall <https://github.com/gmarkall>`_
* `Guilherme Leobas <https://github.com/guilhermeleobas>`_
* `Zizheng Guo <https://github.com/gzz2000>`_
* `Hadia Ahmed <https://github.com/hadia206>`_
* `idorrington <https://github.com/idorrington>`_
* `Michael Wang <https://github.com/isVoid>`_
* `Kaustubh <https://github.com/kc611>`_
* `Kevin Modzelewski <https://github.com/kmod>`_
* `luk-f-a <https://github.com/luk-f-a>`_
* `luzpaz <https://github.com/luzpaz>`_
* `Kyle Martin <https://github.com/martinky24>`_
* `Nightfurex <https://github.com/Nightfurex>`_
* `Nick Riasanovsky <https://github.com/njriasan>`_
* `Nopileos2 <https://github.com/Nopileos2>`_
* `Ray Bell <https://github.com/raybellwaves>`_
* `readthedocs-assistant <https://github.com/readthedocs-assistant>`_
* `Rishi Kulkarni <https://github.com/rishi-kulkarni>`_
* `Sterling Baird <https://github.com/sgbaird>`_
* `Siu Kwan Lam <https://github.com/sklam>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_
* `Stepan Rakitin <https://github.com/svrakitin>`_
* `Michael Collison <https://github.com/testhound>`_
* `Tingkai Liu <https://github.com/TK-21st>`_

Version 0.55.2 (25 May, 2022)
-----------------------------

This is a maintenance release to support NumPy 1.22 and Apple M1.

Pull-Requests:

* PR `#8067 <https://github.com/numba/numba/pull/8067>`_: Backport #8027: Support for NumPy 1.22 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8069 <https://github.com/numba/numba/pull/8069>`_: Install llvmlite 0.38 for Numba 0.55.* (`esc <https://github.com/esc>`_)
* PR `#8075 <https://github.com/numba/numba/pull/8075>`_: update max NumPy for 0.55.2 (`esc <https://github.com/esc>`_)
* PR `#8078 <https://github.com/numba/numba/pull/8078>`_: Backport #7804: update local references from master -> main (`esc <https://github.com/esc>`_)
* PR `#8082 <https://github.com/numba/numba/pull/8082>`_: Backport #8080: fix windows failure due to timeout (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8084 <https://github.com/numba/numba/pull/8084>`_: Pin meta.yaml to llvmlite 0.38 series (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8093 <https://github.com/numba/numba/pull/8093>`_: Backport #7904: Support m1 (`esc <https://github.com/esc>`_)
* PR `#8094 <https://github.com/numba/numba/pull/8094>`_: Backport #8052 Ensure pthread is linked in when building for ppc64le. (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8098 <https://github.com/numba/numba/pull/8098>`_: Backport #8097: Exclude libopenblas 0.3.20 on osx-arm64 (`esc <https://github.com/esc>`_)
* PR `#8100 <https://github.com/numba/numba/pull/8100>`_: Backport #7786 for 0.55.2: Remove dependency on intel-openmp for OSX  (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#8103 <https://github.com/numba/numba/pull/8103>`_: Backport #8102 to fix numpy requirements (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#8114 <https://github.com/numba/numba/pull/8114>`_: Backport #8109 Pin TBB support with respect to incompatible 2021.6 API. (`stuartarchibald <https://github.com/stuartarchibald>`_)

Total PRs: 12

Authors:

* `esc <https://github.com/esc>`_
* `Siu Kwan Lam <https://github.com/sklam>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_

Total authors: 3

Version 0.55.1 (27 January, 2022)
---------------------------------

This is a bugfix release that closes all the remaining issues from the
accelerated release of 0.55.0 and also any release critical regressions
discovered since then.

CUDA target deprecation notices:

* Support for CUDA toolkits < 10.2 is deprecated and will be removed in Numba
  0.56.
* Support for devices with Compute Capability < 5.3 is deprecated and will be
  removed in Numba 0.56.


Pull-Requests:

* PR `#7755 <https://github.com/numba/numba/pull/7755>`_: CUDA: Deprecate support for CC < 5.3 and CTK < 10.2 (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7749 <https://github.com/numba/numba/pull/7749>`_: Refactor threading layer priority tests to not use stdout/stderr (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7744 <https://github.com/numba/numba/pull/7744>`_: Fix issues with locating/parsing source during DebugInfo emission. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7712 <https://github.com/numba/numba/pull/7712>`_: Fixing issue 7693 (`Graham Markall <https://github.com/gmarkall>`_ `luk-f-a <https://github.com/luk-f-a>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7729 <https://github.com/numba/numba/pull/7729>`_: Handle Omitted/OmittedArgDataModel in DI generation. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7788 <https://github.com/numba/numba/pull/7788>`_: Avoid issue with DI gen for arrayexprs. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7752 <https://github.com/numba/numba/pull/7752>`_: Fix #7751: Use original filename for array exprs (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7748 <https://github.com/numba/numba/pull/7748>`_: Fix #7713: Ensure _prng_random_hash return has correct bitwidth (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7745 <https://github.com/numba/numba/pull/7745>`_: Fix the release year for Numba 0.55 change log entry. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7740 <https://github.com/numba/numba/pull/7740>`_: CUDA Python 11.6 support (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7724 <https://github.com/numba/numba/pull/7724>`_: Update URLs in error messages to refer to RTD docs. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7709 <https://github.com/numba/numba/pull/7709>`_: CUDA: Fixes missing type annotation pass following #7704 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7704 <https://github.com/numba/numba/pull/7704>`_: Move the type annotation pass to post legalization. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7619 <https://github.com/numba/numba/pull/7619>`_: CUDA: Fix linking with PTX when compiling lazily (`Graham Markall <https://github.com/gmarkall>`_)

Authors:

* `Graham Markall <https://github.com/gmarkall>`_
* `luk-f-a <https://github.com/luk-f-a>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_

Version 0.55.0 (13 January, 2022)
---------------------------------

This release includes a significant number important dependency upgrades along
with a number of new features and bug fixes.

NOTE: Due to NumPy CVE-2021-33430 this release has bypassed the usual release
process so as to promptly provide a Numba release that supports NumPy 1.21. A
single release candidate (RC1) was made and a few issues were reported, these
are summarised as follows and will be fixed in a subsequent 0.55.1 release.

Known issues with this release:

* Incorrect result copying array-typed field of structured array (`#7693 <https://github.com/numba/numba/pull/7693>`_)
* Two issues in DebugInfo generation (`#7726 <https://github.com/numba/numba/pull/7726>`_, `#7730 <https://github.com/numba/numba/pull/7730>`_)
* Compilation failure for ``hash`` of floating point values on 32 bit Windows
  when using Python 3.10 (`#7713 <https://github.com/numba/numba/pull/7713>`_).

Highlights of core dependency upgrades:

* Support for Python 3.10
* Support for NumPy 1.21

Python language support enhancements:

* Experimental support for ``isinstance``.

NumPy features/enhancements:

The following functions are now supported:

* ``np.broadcast_to``
* ``np.float_power``
* ``np.cbrt``
* ``np.logspace``
* ``np.take_along_axis``
* ``np.average``
* ``np.argmin`` gains support for the ``axis`` kwarg.
* ``np.ndarray.astype`` gains support for types expressed as literal strings.

Highlights of core changes:

* For users of the Numba extension API, Numba now has a new error handling mode
  whereby it will treat all exceptions that do not inherit from
  ``numba.errors.NumbaException`` as a "hard error" and immediately unwind the
  stack. This makes it much easier to debug when writing ``@overload``\s etc
  from the extension API as there's now no confusion between Python errors and
  Numba errors. This feature can be enabled by setting the environment
  variable: ``NUMBA_CAPTURED_ERRORS='new_style'``.
* The threading layer selection priority can now be changed via the environment
  variable ``NUMBA_THREADING_LAYER_PRIORITY``.

Highlights of changes for the CUDA target:

* Support for NVIDIA's CUDA Python bindings.
* Support for 16-bit floating point numbers and their basic operations via
  intrinsics.
* Streams are provided in the ``Stream.async_done`` result, making it easier to
  implement asynchronous work queues.
* Support for structured types in device arrays, character sequences in NumPy
  arrays, and some array operations on nested arrays.
* Much underlying refactoring to align the CUDA target more closely with the
  CPU target, which lays the groudwork for supporting the high level extension
  API in CUDA in future releases.

Intel also kindly sponsored research and development into native debug (DWARF)
support and handling per-function compilation flags:

* Line number/location tracking is much improved.
* Numba's internal representation of containers (e.g. tuples, arrays) are now
  encoded as structures.
* Numba's per-function compilation flags are encoded into the ABI field of the
  mangled name of the function such that it's possible to compile and
  differentiate between versions of the same function with different flags set.

General deprecation notices:

* There are no new general deprecations.

CUDA target deprecation notices:

* There are no new CUDA target deprecations.

Version support/dependency changes:

* Python 3.10 is supported.
* NumPy version 1.21 is supported.
* The minimum supported NumPy version is raised to 1.18 for runtime (compilation
  however remains compatible with NumPy 1.11).


Pull-Requests:

* PR `#6075 <https://github.com/numba/numba/pull/6075>`_: add np.float_power and np.cbrt (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#7047 <https://github.com/numba/numba/pull/7047>`_: Support __hash__ for numpy.datetime64 (`Guilherme Leobas <https://github.com/guilhermeleobas>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7057 <https://github.com/numba/numba/pull/7057>`_: Fix #7041: Add charseq registry to CUDA target (`Graham Markall <https://github.com/gmarkall>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7082 <https://github.com/numba/numba/pull/7082>`_: Added Add/Sub between datetime64 array and timedelta64 scalar (`Nick Riasanovsky <https://github.com/njriasan>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7119 <https://github.com/numba/numba/pull/7119>`_: Add support for `np.broadcast_to` (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#7129 <https://github.com/numba/numba/pull/7129>`_: Add support for axis keyword argument to np.argmin() (`Itamar Turner-Trauring <https://github.com/itamarst>`_)
* PR `#7132 <https://github.com/numba/numba/pull/7132>`_: gh #7131 Support for astype with literal strings (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#7177 <https://github.com/numba/numba/pull/7177>`_: Add debug infomation support based on datamodel. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7185 <https://github.com/numba/numba/pull/7185>`_: Add get_impl_key as abstract method to types.Callable (`Alexey Kozlov <https://github.com/kozlov-alexey>`_)
* PR `#7186 <https://github.com/numba/numba/pull/7186>`_: Add support for np.logspace. (`Guoqiang QI <https://github.com/guoqiangqi>`_)
* PR `#7189 <https://github.com/numba/numba/pull/7189>`_: CUDA: Skip IPC tests on ARM (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7190 <https://github.com/numba/numba/pull/7190>`_: CUDA: Fix test_pinned on Jetson (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7192 <https://github.com/numba/numba/pull/7192>`_: Fix missing import in array.argsort impl and add more tests. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7196 <https://github.com/numba/numba/pull/7196>`_: Fixes for lineinfo emission (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7197 <https://github.com/numba/numba/pull/7197>`_: don't post to python announce on the first RC (`esc <https://github.com/esc>`_)
* PR `#7202 <https://github.com/numba/numba/pull/7202>`_: Initial implementation of np.take_along_axis (`Itamar Turner-Trauring <https://github.com/itamarst>`_)
* PR `#7203 <https://github.com/numba/numba/pull/7203>`_: remove duplicate changelog entries (`esc <https://github.com/esc>`_)
* PR `#7216 <https://github.com/numba/numba/pull/7216>`_: Update CHANGE_LOG for 0.54.0rc2 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7219 <https://github.com/numba/numba/pull/7219>`_: bump llvmlite dependency to 0.38.0dev0 for Numba 0.55.0dev0 (`esc <https://github.com/esc>`_)
* PR `#7220 <https://github.com/numba/numba/pull/7220>`_: update release checklist post 0.54rc1+2 (`esc <https://github.com/esc>`_)
* PR `#7221 <https://github.com/numba/numba/pull/7221>`_: Show GPU UUIDs in cuda.detect() output (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7222 <https://github.com/numba/numba/pull/7222>`_: CUDA: Warn when debug=True and opt=True (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7223 <https://github.com/numba/numba/pull/7223>`_: Replace assertion errors on IR assumption violation (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7226 <https://github.com/numba/numba/pull/7226>`_: Add support for structured types in Device Arrays (`Michael Collison <https://github.com/testhound>`_)
* PR `#7227 <https://github.com/numba/numba/pull/7227>`_: FIX: Typo (`Srinath Kailasa <https://github.com/skailasa>`_)
* PR `#7230 <https://github.com/numba/numba/pull/7230>`_: PR #7171 bugfix only (`stuartarchibald <https://github.com/stuartarchibald>`_ `Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7234 <https://github.com/numba/numba/pull/7234>`_: add THREADING_LAYER_PRIORITY & NUMBA_THREADING_LAYER_PRIORITY (`Kolen Cheung <https://github.com/ickc>`_)
* PR `#7235 <https://github.com/numba/numba/pull/7235>`_: replace wordings of WIP by draft PR (`Kolen Cheung <https://github.com/ickc>`_)
* PR `#7236 <https://github.com/numba/numba/pull/7236>`_: CUDA: Skip managed alloc tests on ARM (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7237 <https://github.com/numba/numba/pull/7237>`_: fix a typo in a string (`Kolen Cheung <https://github.com/ickc>`_)
* PR `#7241 <https://github.com/numba/numba/pull/7241>`_: Set aliasing information for inplace_binops.. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7242 <https://github.com/numba/numba/pull/7242>`_: FIX: typo (`Srinath Kailasa <https://github.com/skailasa>`_)
* PR `#7244 <https://github.com/numba/numba/pull/7244>`_: Implement partial literal propagation pass (support 'isinstance') (`Guilherme Leobas <https://github.com/guilhermeleobas>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7247 <https://github.com/numba/numba/pull/7247>`_: Solve memory leak to fix issue #7210  (`Siu Kwan Lam <https://github.com/sklam>`_ `Graham Markall <https://github.com/gmarkall>`_ `ysheffer <https://github.com/ysheffer>`_)
* PR `#7251 <https://github.com/numba/numba/pull/7251>`_: Fix #6001: typed.List ignores ctor arguments with JIT disabled (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7256 <https://github.com/numba/numba/pull/7256>`_: Fix link to the discourse forum in README (`Kenichi Maehashi <https://github.com/kmaehashi>`_)
* PR `#7257 <https://github.com/numba/numba/pull/7257>`_: Use normal list constructor in List.__new__() (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7260 <https://github.com/numba/numba/pull/7260>`_: Support typed lists in `heapq` (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7263 <https://github.com/numba/numba/pull/7263>`_: Updated issue URL for error messages #7261 (`DeviousLab <https://github.com/DeviousLab>`_)
* PR `#7265 <https://github.com/numba/numba/pull/7265>`_: Fix linspace to use np.divide and clamp to stop. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7266 <https://github.com/numba/numba/pull/7266>`_: CUDA: Skip multi-GPU copy test with peer access disabled (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7267 <https://github.com/numba/numba/pull/7267>`_: Fix #7258. Bug in SROA optimization (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7271 <https://github.com/numba/numba/pull/7271>`_: Update 3rd party license text. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7272 <https://github.com/numba/numba/pull/7272>`_: Allow annotations in njit-ed functions (`LunarLanding <https://github.com/LunarLanding>`_)
* PR `#7273 <https://github.com/numba/numba/pull/7273>`_: Update CHANGE_LOG for 0.54.0rc3. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7283 <https://github.com/numba/numba/pull/7283>`_: Added NPM to Glossary and linked to mentions (`Nihal Shetty <https://github.com/nihalshetty-boop>`_)
* PR `#7285 <https://github.com/numba/numba/pull/7285>`_: CUDA: Fix OOB in test_kernel_arg (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7288 <https://github.com/numba/numba/pull/7288>`_: Handle cval as a np attr in stencil generation. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7294 <https://github.com/numba/numba/pull/7294>`_: Continuation of PR #7280, fixing lifetime of TBB task_scheduler_handle (`Sergey Pokhodenko <https://github.com/PokhodenkoSA>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7296 <https://github.com/numba/numba/pull/7296>`_: Fix generator lowering not casting to the actual yielded type (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7298 <https://github.com/numba/numba/pull/7298>`_: Use CBC to pin GCC to 7 on most linux and 9 on aarch64. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7304 <https://github.com/numba/numba/pull/7304>`_: Continue PR#3655: add support for np.average (`Hadia Ahmed <https://github.com/hadia206>`_ `slnguyen <https://github.com/slnguyen>`_)
* PR `#7307 <https://github.com/numba/numba/pull/7307>`_: Prevent mutation of arrays in global tuples. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7309 <https://github.com/numba/numba/pull/7309>`_: Update MapConstraint to handle type coercion for typed.Dict correctly. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7312 <https://github.com/numba/numba/pull/7312>`_: Fix #7302. Workaround missing pthread problem on ppc64le (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7315 <https://github.com/numba/numba/pull/7315>`_: Link ELF obj as DSO for radare2 disassembly CFG (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7316 <https://github.com/numba/numba/pull/7316>`_: Use float64 for consistent typing in heapq tests. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7317 <https://github.com/numba/numba/pull/7317>`_: In TBB tsh test switch os.fork for mp fork ctx (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7319 <https://github.com/numba/numba/pull/7319>`_: Update CHANGE_LOG for 0.54.0 final. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7329 <https://github.com/numba/numba/pull/7329>`_: Improve documentation in reference to CUDA local memory (`Sterling Baird <https://github.com/sgbaird>`_)
* PR `#7330 <https://github.com/numba/numba/pull/7330>`_: Cuda matmul docs (`Sterling Baird <https://github.com/sgbaird>`_)
* PR `#7340 <https://github.com/numba/numba/pull/7340>`_: Add size_t and ssize_t types (`Bruce Merry <https://github.com/bmerry>`_)
* PR `#7345 <https://github.com/numba/numba/pull/7345>`_: Add check for ipykernel file in IPython cache locator (`Sahil Gupta <https://github.com/sahil1105>`_)
* PR `#7347 <https://github.com/numba/numba/pull/7347>`_: fix:updated url for error report and feature rquest using issue template (`DEBARGHA SAHA <https://github.com/Stark-developer01>`_)
* PR `#7349 <https://github.com/numba/numba/pull/7349>`_: Allow arbitrary walk-back in reduction nodes to find inplace_binop. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7359 <https://github.com/numba/numba/pull/7359>`_: Extend support for nested arrays inside numpy records (`Graham Markall <https://github.com/gmarkall>`_ `luk-f-a <https://github.com/luk-f-a>`_)
* PR `#7375 <https://github.com/numba/numba/pull/7375>`_: CUDA: Run doctests as part of numba.cuda.tests and fix test_cg (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7395 <https://github.com/numba/numba/pull/7395>`_: Fix #7394 and #6550 & Added test & improved error message (`MegaIng <https://github.com/MegaIng>`_)
* PR `#7397 <https://github.com/numba/numba/pull/7397>`_: Add option to catch only Numba `numba.core.errors` derived exceptions. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7398 <https://github.com/numba/numba/pull/7398>`_: Add support for arrayanalysis of tuple args. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7403 <https://github.com/numba/numba/pull/7403>`_: Fix for issue 7402: implement missing numpy ufunc interface (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#7404 <https://github.com/numba/numba/pull/7404>`_: fix typo in literal_unroll docs (`esc <https://github.com/esc>`_)
* PR `#7419 <https://github.com/numba/numba/pull/7419>`_: insert missing backtick in comment (`esc <https://github.com/esc>`_)
* PR `#7422 <https://github.com/numba/numba/pull/7422>`_: Update Omitted Type to use Hashable Values as Keys for Caching (`Nick Riasanovsky <https://github.com/njriasan>`_)
* PR `#7429 <https://github.com/numba/numba/pull/7429>`_: Update CHANGE_LOG for 0.54.1 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7432 <https://github.com/numba/numba/pull/7432>`_: add github release task to checklist (`esc <https://github.com/esc>`_)
* PR `#7440 <https://github.com/numba/numba/pull/7440>`_: Refactor TargetConfig naming. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7441 <https://github.com/numba/numba/pull/7441>`_: Permit any string as a key in literalstrkeydict type. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7442 <https://github.com/numba/numba/pull/7442>`_: Add some diagnostics to SVML test failures. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7443 <https://github.com/numba/numba/pull/7443>`_: Refactor template selection logic for targets. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7444 <https://github.com/numba/numba/pull/7444>`_: use correct variable name in closure (`esc <https://github.com/esc>`_)
* PR `#7447 <https://github.com/numba/numba/pull/7447>`_: cleanup Numba metadata (`esc <https://github.com/esc>`_)
* PR `#7453 <https://github.com/numba/numba/pull/7453>`_: CUDA: Provide stream in async_done result (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7456 <https://github.com/numba/numba/pull/7456>`_: Fix invalid codegen for #7451. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7457 <https://github.com/numba/numba/pull/7457>`_: Factor out target registry selection logic (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7459 <https://github.com/numba/numba/pull/7459>`_: Include compiler flags in symbol mangling (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7460 <https://github.com/numba/numba/pull/7460>`_: Add FP16 support for CUDA (`Michael Collison <https://github.com/testhound>`_ `Graham Markall <https://github.com/gmarkall>`_)
* PR `#7461 <https://github.com/numba/numba/pull/7461>`_: Support NVIDIA's CUDA Python bindings (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7465 <https://github.com/numba/numba/pull/7465>`_: Update changelog for 0.54.1 release (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7477 <https://github.com/numba/numba/pull/7477>`_: Fix unicode operator.eq handling of Optional types. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7479 <https://github.com/numba/numba/pull/7479>`_: CUDA: Print format string and warn for > 32 print() args (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7483 <https://github.com/numba/numba/pull/7483>`_: NumPy 1.21 support (`Sebastian Berg <https://github.com/seberg>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7484 <https://github.com/numba/numba/pull/7484>`_: Fixed outgoing link to nvidia documentation. (`Dhruv Patel <https://github.com/DhruvPatel01>`_)
* PR `#7493 <https://github.com/numba/numba/pull/7493>`_: Consolidate TLS stacks in target configuration (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7496 <https://github.com/numba/numba/pull/7496>`_: CUDA: Use a single dispatcher class for all kinds of functions (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7498 <https://github.com/numba/numba/pull/7498>`_: refactor  with-detection logic (`stuartarchibald <https://github.com/stuartarchibald>`_ `esc <https://github.com/esc>`_)
* PR `#7499 <https://github.com/numba/numba/pull/7499>`_: Add build scripts for CUDA testing on gpuCI  (`Charles Blackmon-Luca <https://github.com/charlesbluca>`_ `Graham Markall <https://github.com/gmarkall>`_)
* PR `#7500 <https://github.com/numba/numba/pull/7500>`_: Update parallel.rst (`Julius Bier Kirkegaard <https://github.com/juliusbierk>`_)
* PR `#7506 <https://github.com/numba/numba/pull/7506>`_: Enhance Flags mangling/demangling (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7514 <https://github.com/numba/numba/pull/7514>`_: Fixup cuda debuginfo emission for 7177 (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7525 <https://github.com/numba/numba/pull/7525>`_: Make sure` demangle()` returns `str` type. (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7538 <https://github.com/numba/numba/pull/7538>`_: Fix `@overload_glue` performance regression. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7539 <https://github.com/numba/numba/pull/7539>`_: Fix str decode issue from merge #7525/#7506 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7546 <https://github.com/numba/numba/pull/7546>`_: Fix handling of missing const key in LiteralStrKeyDict (`Siu Kwan Lam <https://github.com/sklam>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7547 <https://github.com/numba/numba/pull/7547>`_: Remove 32bit linux scipy installation. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7548 <https://github.com/numba/numba/pull/7548>`_: Correct evaluation order in assert statement (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7552 <https://github.com/numba/numba/pull/7552>`_: Prepend the inlined function name to inlined variables. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7557 <https://github.com/numba/numba/pull/7557>`_: Python3.10 v2 (`stuartarchibald <https://github.com/stuartarchibald>`_ `esc <https://github.com/esc>`_)
* PR `#7560 <https://github.com/numba/numba/pull/7560>`_: Refactor with detection py310 (`Siu Kwan Lam <https://github.com/sklam>`_ `esc <https://github.com/esc>`_)
* PR `#7561 <https://github.com/numba/numba/pull/7561>`_: fix a typo (`Kolen Cheung <https://github.com/ickc>`_)
* PR `#7567 <https://github.com/numba/numba/pull/7567>`_: Update docs to note meetings are public. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7570 <https://github.com/numba/numba/pull/7570>`_: Update the docs and error message for errors when importing Numba. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7580 <https://github.com/numba/numba/pull/7580>`_: Fix #7507. catch `NotImplementedError` in `.get_function()`  (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7581 <https://github.com/numba/numba/pull/7581>`_: Add support for casting from int enums (`Michael Collison <https://github.com/testhound>`_)
* PR `#7583 <https://github.com/numba/numba/pull/7583>`_: Make numba.types.Optional __str__ less verbose. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7588 <https://github.com/numba/numba/pull/7588>`_: Fix casting of start/stop in linspace (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7591 <https://github.com/numba/numba/pull/7591>`_: Remove deprecations (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7596 <https://github.com/numba/numba/pull/7596>`_: Fix max symbol match length for r2 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7597 <https://github.com/numba/numba/pull/7597>`_: Update gdb docs for new DWARF enhancements. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7603 <https://github.com/numba/numba/pull/7603>`_: Fix list.insert() for refcounted values (`Ehsan Totoni <https://github.com/ehsantn>`_)
* PR `#7605 <https://github.com/numba/numba/pull/7605>`_: Fix TBB 2021 DSO names on OSX/Win and make TBB reporting consistent (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7606 <https://github.com/numba/numba/pull/7606>`_: Ensure a prescribed threading layer can load in CI. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7610 <https://github.com/numba/numba/pull/7610>`_: Fix #7609. Type should not be mutated. (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7618 <https://github.com/numba/numba/pull/7618>`_: Fix the doc build: docutils 0.18 not compatible with pinned sphinx (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7626 <https://github.com/numba/numba/pull/7626>`_: Fix issues with package dependencies. (`stuartarchibald <https://github.com/stuartarchibald>`_ `esc <https://github.com/esc>`_)
* PR `#7627 <https://github.com/numba/numba/pull/7627>`_: PR 7321 continued (`stuartarchibald <https://github.com/stuartarchibald>`_ `Eric Wieser <https://github.com/eric-wieser>`_)
* PR `#7628 <https://github.com/numba/numba/pull/7628>`_: Move to using windows-2019 images in Azure (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7632 <https://github.com/numba/numba/pull/7632>`_: Capture output in CUDA matmul doctest (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7636 <https://github.com/numba/numba/pull/7636>`_: Copy prange loop header to after the parfor. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7637 <https://github.com/numba/numba/pull/7637>`_: Increase the timeout on the SVML tests for loaded machines. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7645 <https://github.com/numba/numba/pull/7645>`_: In debuginfo, do not add noinline to functions marked alwaysinline (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7650 <https://github.com/numba/numba/pull/7650>`_: Move Azure builds to OSX 10.15 (`stuartarchibald <https://github.com/stuartarchibald>`_ `esc <https://github.com/esc>`_ `Siu Kwan Lam <https://github.com/sklam>`_)

Authors:

* `Bruce Merry <https://github.com/bmerry>`_
* `Charles Blackmon-Luca <https://github.com/charlesbluca>`_
* `DeviousLab <https://github.com/DeviousLab>`_
* `Dhruv Patel <https://github.com/DhruvPatel01>`_
* `Todd A. Anderson <https://github.com/DrTodd13>`_
* `Ehsan Totoni <https://github.com/ehsantn>`_
* `Eric Wieser <https://github.com/eric-wieser>`_
* `esc <https://github.com/esc>`_
* `Graham Markall <https://github.com/gmarkall>`_
* `Guilherme Leobas <https://github.com/guilhermeleobas>`_
* `Guoqiang QI <https://github.com/guoqiangqi>`_
* `Hadia Ahmed <https://github.com/hadia206>`_
* `Kolen Cheung <https://github.com/ickc>`_
* `Itamar Turner-Trauring <https://github.com/itamarst>`_
* `Julius Bier Kirkegaard <https://github.com/juliusbierk>`_
* `Kenichi Maehashi <https://github.com/kmaehashi>`_
* `Alexey Kozlov <https://github.com/kozlov-alexey>`_
* `luk-f-a <https://github.com/luk-f-a>`_
* `LunarLanding <https://github.com/LunarLanding>`_
* `MegaIng <https://github.com/MegaIng>`_
* `Nihal Shetty <https://github.com/nihalshetty-boop>`_
* `Nick Riasanovsky <https://github.com/njriasan>`_
* `Sergey Pokhodenko <https://github.com/PokhodenkoSA>`_
* `Sahil Gupta <https://github.com/sahil1105>`_
* `Sebastian Berg <https://github.com/seberg>`_
* `Sterling Baird <https://github.com/sgbaird>`_
* `Srinath Kailasa <https://github.com/skailasa>`_
* `Siu Kwan Lam <https://github.com/sklam>`_
* `slnguyen <https://github.com/slnguyen>`_
* `DEBARGHA SAHA <https://github.com/Stark-developer01>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_
* `Michael Collison <https://github.com/testhound>`_
* `ysheffer <https://github.com/ysheffer>`_

Version 0.54.1 (7 October, 2021)
--------------------------------

This is a bugfix release for 0.54.0. It fixes a regression in structured array
type handling, a potential leak on initialization failure in the CUDA target, a
regression caused by Numba's vendored cloudpickle module resetting dynamic
classes and a few minor testing/infrastructure related problems.

* PR `#7348 <https://github.com/numba/numba/pull/7348>`_: test_inspect_cli: Decode exception with default (utf-8) codec (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7360 <https://github.com/numba/numba/pull/7360>`_: CUDA: Fix potential leaks when initialization fails (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7386 <https://github.com/numba/numba/pull/7386>`_: Ensure the NRT is initialized prior to use in external NRT tests. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7388 <https://github.com/numba/numba/pull/7388>`_: Patch cloudpickle to not reset dynamic class each time it is unpickled (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7393 <https://github.com/numba/numba/pull/7393>`_: skip azure pipeline test if file not present (`esc <https://github.com/esc>`_)
* PR `#7428 <https://github.com/numba/numba/pull/7428>`_: Fix regression #7355: cannot set items in structured array data types (`Siu Kwan Lam <https://github.com/sklam>`_)

Authors:

* `esc <https://github.com/esc>`_
* `Graham Markall <https://github.com/gmarkall>`_
* `Siu Kwan Lam <https://github.com/sklam>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_


Version 0.54.0 (19 August, 2021)
--------------------------------

This release includes a significant number of new features, important
refactoring, critical bug fixes and a number of dependency upgrades.

Python language support enhancements:

* Basic support for ``f-strings``.
* ``dict`` comprehensions are now supported.
* The ``sum`` built-in function is implemented.

NumPy features/enhancements:

The following functions are now supported:

  * ``np.clip``
  * ``np.iscomplex``
  * ``np.iscomplexobj``
  * ``np.isneginf``
  * ``np.isposinf``
  * ``np.isreal``
  * ``np.isrealobj``
  * ``np.isscalar``
  * ``np.random.dirichlet``
  * ``np.rot90``
  * ``np.swapaxes``

Also ``np.argmax`` has gained support for the ``axis`` keyword argument and it's
now possible to use ``0d`` NumPy arrays as scalars in ``__setitem__`` calls.

Internal changes:

* Debugging support through DWARF has been fixed and enhanced.
* Numba now optimises the way in which locals are emitted to help reduce time
  spent in LLVM's SROA passes.

CUDA target changes:

* Support for emitting ``lineinfo`` to be consumed by profiling tools such as
  Nsight Compute
* Improved fastmath code generation for various trig, division, and other
  functions
* Faster compilation using lazy addition of libdevice to compiled units
* Support for IPC on Windows
* Support for passing tuples to CUDA ufuncs
* Performance warnings:

  * When making implicit copies by calling a kernel on arrays in host memory
  * When occupancy is poor due to kernel or ufunc/gufunc configuration

* Support for implementing warp-aggregated intrinsics:

  * Using support for more CUDA functions: ``activemask()``, ``lanemask_lt()``
  * The ``ffs()`` function now works correctly!

* Support for ``@overload`` in the CUDA target

Intel kindly sponsored research and development that lead to a number of new
features and internal support changes:

* Dispatchers can now be retargetted to a new target via a user defined context
  manager.
* Support for custom NumPy array subclasses has been added (including an
  overloadable memory allocator).
* An inheritance based model for targets that permits targets to share
  ``@overload`` implementations.
* Per function compiler flags with inheritance behaviours.
* The extension API now has support for overloading class methods via the
  ``@overload_classmethod`` decorator.

Deprecations:

* The ``ROCm`` target (for AMD ROC GPUs) has been moved to an "unmaintained"
  status and a seperate repository stub has been created for it at:
  https://github.com/numba/numba-rocm

CUDA target deprecations and breaking changes:

* Relaxed strides checking is now the default when computing the contiguity of
  device arrays.
* The ``inspect_ptx()`` method is deprecated. For use cases that obtain PTX for
  further compilation outside of Numba, use ``compile_ptx()`` instead.
* Eager compilation of device functions (the case when ``device=True`` and a
  signature is provided) is deprecated.

Version support/dependency changes:

* LLVM 11 is now supported on all platforms via llvmlite.
* The minimum supported Python version is raised to 3.7.
* NumPy version 1.20 is supported.
* The minimum supported NumPy version is raised to 1.17 for runtime (compilation
  however remains compatible with NumPy 1.11).
* Vendor `cloudpickle <https://github.com/cloudpipe/cloudpickle>`_ `v1.6.0` --
  now used for all ``pickle`` operations.
* TBB >= 2021 is now supported and all prior versions are unsupported (not
  easily possible to maintain the ABI breaking changes).

Pull-Requests:

* PR `#4516 <https://github.com/numba/numba/pull/4516>`_: Make setitem accept 0d np-arrays (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#4610 <https://github.com/numba/numba/pull/4610>`_: Implement np.is* functions (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#5984 <https://github.com/numba/numba/pull/5984>`_: Handle idx and size unification in wrap_index manually. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#6468 <https://github.com/numba/numba/pull/6468>`_: Access ``replace_functions_map`` via PreParforPass instance (`Sergey Pokhodenko <https://github.com/PokhodenkoSA>`_ `Reazul Hoque <https://github.com/reazulhoque>`_)
* PR `#6469 <https://github.com/numba/numba/pull/6469>`_: Add address space in pointer type (`Sergey Pokhodenko <https://github.com/PokhodenkoSA>`_ `Reazul Hoque <https://github.com/reazulhoque>`_)
* PR `#6608 <https://github.com/numba/numba/pull/6608>`_: Support f-strings for common cases (`Ehsan Totoni <https://github.com/ehsantn>`_)
* PR `#6619 <https://github.com/numba/numba/pull/6619>`_: Improved fastmath code generation for trig, log, and exp/pow. (`Graham Markall <https://github.com/gmarkall>`_ `Michael Collison <https://github.com/testhound>`_)
* PR `#6681 <https://github.com/numba/numba/pull/6681>`_: Explicitly catch ``with..as`` and raise error. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6689 <https://github.com/numba/numba/pull/6689>`_: Fix setup.py build command detection (`Hannes Pahl <https://github.com/HPLegion>`_)
* PR `#6695 <https://github.com/numba/numba/pull/6695>`_: Enable negative indexing for cuda atomic operations (`Ashutosh Varma <https://github.com/ashutoshvarma>`_)
* PR `#6696 <https://github.com/numba/numba/pull/6696>`_: flake8: made more files flake8 compliant (`Ashutosh Varma <https://github.com/ashutoshvarma>`_)
* PR `#6698 <https://github.com/numba/numba/pull/6698>`_: Fix #6697: Wrong dtype when using np.asarray on DeviceNDArray (`Ashutosh Varma <https://github.com/ashutoshvarma>`_)
* PR `#6700 <https://github.com/numba/numba/pull/6700>`_: Add UUID to CUDA devices (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6709 <https://github.com/numba/numba/pull/6709>`_: Block matplotlib in test examples (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6718 <https://github.com/numba/numba/pull/6718>`_: doc: fix typo in rewrites.rst (extra iterates) (`Alexander-Makaryev <https://github.com/Alexander-Makaryev>`_)
* PR `#6720 <https://github.com/numba/numba/pull/6720>`_: Faster compile (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6730 <https://github.com/numba/numba/pull/6730>`_: Fix Typeguard error (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6731 <https://github.com/numba/numba/pull/6731>`_: Add CUDA-specific pipeline (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6735 <https://github.com/numba/numba/pull/6735>`_: CUDA: Don't parse IR for modules with llvmlite (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6736 <https://github.com/numba/numba/pull/6736>`_: Support for dict comprehension (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6742 <https://github.com/numba/numba/pull/6742>`_: Do not add overload function definitions to index. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6750 <https://github.com/numba/numba/pull/6750>`_: Bump to llvmlite 0.37 series (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6751 <https://github.com/numba/numba/pull/6751>`_: Suppress typeguard warnings that affect testing. (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6753 <https://github.com/numba/numba/pull/6753>`_: The check for internal types in RewriteArrayExprs (`Alexander-Makaryev <https://github.com/Alexander-Makaryev>`_)
* PR `#6755 <https://github.com/numba/numba/pull/6755>`_: install llvmlite from numba/label/dev (`esc <https://github.com/esc>`_)
* PR `#6758 <https://github.com/numba/numba/pull/6758>`_: patch to compile _devicearray.cpp with c++11 (`esc <https://github.com/esc>`_)
* PR `#6760 <https://github.com/numba/numba/pull/6760>`_: Fix scheduler bug where it rounds to 0 divisions for a chunk. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#6762 <https://github.com/numba/numba/pull/6762>`_: Glue wrappers to create @overload from split typing and lowering. (`stuartarchibald <https://github.com/stuartarchibald>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6766 <https://github.com/numba/numba/pull/6766>`_: Fix DeviceNDArray null shape issue (`Michael Collison <https://github.com/testhound>`_)
* PR `#6769 <https://github.com/numba/numba/pull/6769>`_: CUDA: Replace ``CachedPTX`` and ``CachedCUFunction`` with ``CUDACodeLibrary`` functionality (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6776 <https://github.com/numba/numba/pull/6776>`_: Fix issue with TBB interface causing warnings and parfors counting them (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6779 <https://github.com/numba/numba/pull/6779>`_: Fix wrap_index type unification. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#6786 <https://github.com/numba/numba/pull/6786>`_: Fix gufunc kwargs support (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6788 <https://github.com/numba/numba/pull/6788>`_: Add support for fastmath 32-bit floating point divide (`Michael Collison <https://github.com/testhound>`_)
* PR `#6789 <https://github.com/numba/numba/pull/6789>`_: Fix warnings struct ref typeguard (`stuartarchibald <https://github.com/stuartarchibald>`_ `Siu Kwan Lam <https://github.com/sklam>`_ `esc <https://github.com/esc>`_)
* PR `#6794 <https://github.com/numba/numba/pull/6794>`_: refactor and move create_temp_module into numba.tests.support (`Alexander-Makaryev <https://github.com/Alexander-Makaryev>`_)
* PR `#6795 <https://github.com/numba/numba/pull/6795>`_: CUDA: Lazily add libdevice to compilation units  (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6798 <https://github.com/numba/numba/pull/6798>`_: CUDA: Add optional Driver API argument logging (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6799 <https://github.com/numba/numba/pull/6799>`_: Print Numba and llvmlite versions in sysinfo (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6800 <https://github.com/numba/numba/pull/6800>`_: Make a common standard API for querying ufunc impl (`Sergey Pokhodenko <https://github.com/PokhodenkoSA>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6801 <https://github.com/numba/numba/pull/6801>`_: ParallelAccelerator no long will convert StaticSetItem to SetItem because record arrays require StaticSetItems. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#6802 <https://github.com/numba/numba/pull/6802>`_: Add lineinfo flag to PTX and SASS compilation (`Graham Markall <https://github.com/gmarkall>`_ `Max Katz <https://github.com/maxpkatz>`_)
* PR `#6804 <https://github.com/numba/numba/pull/6804>`_: added runtime version to ``numba -s`` (`Kalyan <https://github.com/rawwar>`_)
* PR `#6808 <https://github.com/numba/numba/pull/6808>`_: #3468 continued: Add support for ``np.clip`` (`Graham Markall <https://github.com/gmarkall>`_ `Aaron Russell Voelker <https://github.com/arvoelke>`_)
* PR `#6809 <https://github.com/numba/numba/pull/6809>`_: #3203 additional info in cuda detect (`Kalyan <https://github.com/rawwar>`_)
* PR `#6810 <https://github.com/numba/numba/pull/6810>`_: Fix tiny formatting error in ROC kernel docs (`Felix Divo <https://github.com/felixdivo>`_)
* PR `#6811 <https://github.com/numba/numba/pull/6811>`_: CUDA: Remove test of runtime being a supported version (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6813 <https://github.com/numba/numba/pull/6813>`_: Mostly CUDA: Replace llvmpy API usage with llvmlite APIs (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6814 <https://github.com/numba/numba/pull/6814>`_: Improving context stack (`stuartarchibald <https://github.com/stuartarchibald>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6818 <https://github.com/numba/numba/pull/6818>`_: CUDA: Support IPC on Windows (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6822 <https://github.com/numba/numba/pull/6822>`_: Add support for np.rot90 (`stuartarchibald <https://github.com/stuartarchibald>`_ `Daniel Nagel <https://github.com/braniii>`_)
* PR `#6829 <https://github.com/numba/numba/pull/6829>`_: Fix accuracy of np.arange and np.linspace (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6830 <https://github.com/numba/numba/pull/6830>`_: CUDA: Use relaxed strides checking to compute contiguity (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6833 <https://github.com/numba/numba/pull/6833>`_: Raise TypeError exception if numpy array is cast to scalar (`Michael Collison <https://github.com/testhound>`_)
* PR `#6834 <https://github.com/numba/numba/pull/6834>`_: Remove illegal "debug" kw argument (`Shaun Cutts <https://github.com/shaunc>`_)
* PR `#6836 <https://github.com/numba/numba/pull/6836>`_: CUDA: Documentation updates (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6840 <https://github.com/numba/numba/pull/6840>`_: CUDA: Remove items deprecated in 0.53 + simulator test fixes (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6841 <https://github.com/numba/numba/pull/6841>`_: CUDA: Fix source location on kernel entry and enable breakpoints to be set on kernels by mangled name (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6843 <https://github.com/numba/numba/pull/6843>`_: cross-referenced Array type in docs (`Kalyan <https://github.com/rawwar>`_)
* PR `#6844 <https://github.com/numba/numba/pull/6844>`_: CUDA: Remove NUMBAPRO env var warnings, envvars.py + other small tidy-ups (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6848 <https://github.com/numba/numba/pull/6848>`_: Ignore .ycm_extra_conf.py (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6849 <https://github.com/numba/numba/pull/6849>`_: Add __hash__ for IntEnum (`Hannes Pahl <https://github.com/HPLegion>`_)
* PR `#6850 <https://github.com/numba/numba/pull/6850>`_: Fix up more internal warnings (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6854 <https://github.com/numba/numba/pull/6854>`_: PR 6096 continued (`stuartarchibald <https://github.com/stuartarchibald>`_ `Ivan Butygin <https://github.com/Hardcode84>`_)
* PR `#6861 <https://github.com/numba/numba/pull/6861>`_: updated reference to hsa with roc (`Kalyan <https://github.com/rawwar>`_)
* PR `#6867 <https://github.com/numba/numba/pull/6867>`_: Update changelog for 0.53.1 (`esc <https://github.com/esc>`_)
* PR `#6869 <https://github.com/numba/numba/pull/6869>`_: Implement builtin sum() (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6870 <https://github.com/numba/numba/pull/6870>`_: Add support for dispatcher retargeting using with-context (`stuartarchibald <https://github.com/stuartarchibald>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6871 <https://github.com/numba/numba/pull/6871>`_: Force text-align:left when using Annotate (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#6873 <https://github.com/numba/numba/pull/6873>`_: docs: Update reference to @jitclass location (`David Nadlinger <https://github.com/dnadlinger>`_)
* PR `#6876 <https://github.com/numba/numba/pull/6876>`_: Add trailing slashes to dir paths in CODEOWNERS (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6877 <https://github.com/numba/numba/pull/6877>`_: Add doc for recent target extension features (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6878 <https://github.com/numba/numba/pull/6878>`_: CUDA: Support passing tuples to ufuncs (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6879 <https://github.com/numba/numba/pull/6879>`_: CUDA: NumPy and string dtypes for local and shared arrays (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6880 <https://github.com/numba/numba/pull/6880>`_: Add attribute lower_extension to CPUContext (`Reazul Hoque <https://github.com/reazulhoque>`_)
* PR `#6883 <https://github.com/numba/numba/pull/6883>`_: Add support of np.swapaxes #4074 (`Daniel Nagel <https://github.com/braniii>`_)
* PR `#6885 <https://github.com/numba/numba/pull/6885>`_: CUDA: Explicitly specify objmode + looplifting for jit functions in cuda.random (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6886 <https://github.com/numba/numba/pull/6886>`_: CUDA: Fix parallel testing for all testsuite submodules (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6888 <https://github.com/numba/numba/pull/6888>`_: Get overload to consider compiler flags in cache lookup (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6889 <https://github.com/numba/numba/pull/6889>`_: Address guvectorize too slow for cuda target (`Michael Collison <https://github.com/testhound>`_)
* PR `#6890 <https://github.com/numba/numba/pull/6890>`_: fixes #6884  (`Kalyan <https://github.com/rawwar>`_)
* PR `#6898 <https://github.com/numba/numba/pull/6898>`_: Work on overloading by hardware target. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6911 <https://github.com/numba/numba/pull/6911>`_: CUDA: Add support for activemask(), lanemask_lt(), and nanosleep() (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6912 <https://github.com/numba/numba/pull/6912>`_: Prevent use of varargs in closure calls. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6913 <https://github.com/numba/numba/pull/6913>`_: Add runtests option to gitdiff on the common ancestor (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6915 <https://github.com/numba/numba/pull/6915>`_: Update _Intrinsic for sphinx to capture the inner docstring (`Guilherme Leobas <https://github.com/guilhermeleobas>`_)
* PR `#6917 <https://github.com/numba/numba/pull/6917>`_: Add type conversion for StringLiteral to unicode_type and test. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6918 <https://github.com/numba/numba/pull/6918>`_: Start section on commonly encounted unsupported parfors code. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6924 <https://github.com/numba/numba/pull/6924>`_: CUDA: Fix ``ffs`` (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6928 <https://github.com/numba/numba/pull/6928>`_: Add support for axis keyword arg to numpy.argmax() (`stuartarchibald <https://github.com/stuartarchibald>`_ `Itamar Turner-Trauring <https://github.com/itamarst>`_)
* PR `#6929 <https://github.com/numba/numba/pull/6929>`_: Fix CI failure when gitpython is missing. (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6935 <https://github.com/numba/numba/pull/6935>`_: fixes broken link in numba-runtime.rst (`Kalyan <https://github.com/rawwar>`_)
* PR `#6936 <https://github.com/numba/numba/pull/6936>`_: CUDA: Implement support for PTDS globally (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6937 <https://github.com/numba/numba/pull/6937>`_: Fix memory leak in bytes boxing (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6940 <https://github.com/numba/numba/pull/6940>`_: Fix function resolution for intrinsics across hardware. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6941 <https://github.com/numba/numba/pull/6941>`_: ABC the target descriptor and make consistent throughout. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6944 <https://github.com/numba/numba/pull/6944>`_: CUDA: Support for ``@overload`` (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6945 <https://github.com/numba/numba/pull/6945>`_: Fix issue with array analysis tests needing scipy. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6948 <https://github.com/numba/numba/pull/6948>`_: Refactor registry init. (`stuartarchibald <https://github.com/stuartarchibald>`_ `Graham Markall <https://github.com/gmarkall>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6953 <https://github.com/numba/numba/pull/6953>`_: CUDA: Fix and deprecate ``inspect_ptx()``, fix NVVM option setup for device functions (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6958 <https://github.com/numba/numba/pull/6958>`_: Inconsistent behavior of reshape between numpy and numba/cuda device array (`Lauren Arnett <https://github.com/laurenarnett>`_)
* PR `#6961 <https://github.com/numba/numba/pull/6961>`_: Update overload glue to deal with typing_key (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6964 <https://github.com/numba/numba/pull/6964>`_: Move minimum supported Python version to 3.7 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6966 <https://github.com/numba/numba/pull/6966>`_: Fix issue with TBB test detecting forks from incorrect state. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6971 <https://github.com/numba/numba/pull/6971>`_: Fix CUDA ``@intrinsic`` use (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6977 <https://github.com/numba/numba/pull/6977>`_: Vendor cloudpickle (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#6978 <https://github.com/numba/numba/pull/6978>`_: Implement operator.contains for empty Tuples (`Brandon T. Willard <https://github.com/brandonwillard>`_)
* PR `#6981 <https://github.com/numba/numba/pull/6981>`_: Fix LLVM IR parsing error on use of ``np.bool_`` in globals (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6983 <https://github.com/numba/numba/pull/6983>`_: Support Optional types in ufuncs. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6985 <https://github.com/numba/numba/pull/6985>`_: Implement static set/get items on records with integer index (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6986 <https://github.com/numba/numba/pull/6986>`_: document release checklist (`esc <https://github.com/esc>`_)
* PR `#6989 <https://github.com/numba/numba/pull/6989>`_: update threading docs for function loading (`esc <https://github.com/esc>`_)
* PR `#6990 <https://github.com/numba/numba/pull/6990>`_: Refactor hardware extension API to refer to "target" instead. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6991 <https://github.com/numba/numba/pull/6991>`_: Move ROCm target status to "unmaintained". (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#6995 <https://github.com/numba/numba/pull/6995>`_: Resolve issue where nan was being assigned to int type numpy array (`Michael Collison <https://github.com/testhound>`_)
* PR `#6996 <https://github.com/numba/numba/pull/6996>`_: Add constant lowering support for `SliceType`s (`Brandon T. Willard <https://github.com/brandonwillard>`_)
* PR `#6997 <https://github.com/numba/numba/pull/6997>`_: CUDA: Remove catch of NotImplementedError in target.py (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#6999 <https://github.com/numba/numba/pull/6999>`_: Fix errors introduced by the cloudpickle patch (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7003 <https://github.com/numba/numba/pull/7003>`_: More mainline fixes (`stuartarchibald <https://github.com/stuartarchibald>`_ `Graham Markall <https://github.com/gmarkall>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7004 <https://github.com/numba/numba/pull/7004>`_: Test extending the CUDA target (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7007 <https://github.com/numba/numba/pull/7007>`_: Made stencil compilation not fail for arrays of conflicting types. (`MegaIng <https://github.com/MegaIng>`_)
* PR `#7008 <https://github.com/numba/numba/pull/7008>`_: Added support for np.random.dirichlet with all size arguments (`Rishi Kulkarni <https://github.com/rishi-kulkarni>`_)
* PR `#7016 <https://github.com/numba/numba/pull/7016>`_: Docs: Add DALI to list of CAI-supporting libraries (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7018 <https://github.com/numba/numba/pull/7018>`_: Remove cu{blas,sparse,rand,fft} from library checks (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7019 <https://github.com/numba/numba/pull/7019>`_: Support NumPy 1.20 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7020 <https://github.com/numba/numba/pull/7020>`_: Fix #7017. Adds util class PickleCallableByPath  (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7024 <https://github.com/numba/numba/pull/7024>`_: fixed llvmir usage in create_module method (`stuartarchibald <https://github.com/stuartarchibald>`_ `Kalyan <https://github.com/rawwar>`_)
* PR `#7027 <https://github.com/numba/numba/pull/7027>`_: Fix nrt debug print (`MegaIng <https://github.com/MegaIng>`_)
* PR `#7031 <https://github.com/numba/numba/pull/7031>`_: Fix inliner to use a single scope for all blocks (`Alexey Kozlov <https://github.com/kozlov-alexey>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7040 <https://github.com/numba/numba/pull/7040>`_: Add Github action to mark issues as stale (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7044 <https://github.com/numba/numba/pull/7044>`_: Fixes for LLVM 11 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7049 <https://github.com/numba/numba/pull/7049>`_: Make NumPy random module use @overload_glue (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7050 <https://github.com/numba/numba/pull/7050>`_: Add overload_classmethod (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7052 <https://github.com/numba/numba/pull/7052>`_: Fix string support in CUDA target (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7056 <https://github.com/numba/numba/pull/7056>`_: Change prange conversion approach to reuse header block. (`Todd A. Anderson <https://github.com/DrTodd13>`_)
* PR `#7061 <https://github.com/numba/numba/pull/7061>`_: Add ndarray allocator classmethod (`stuartarchibald <https://github.com/stuartarchibald>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7064 <https://github.com/numba/numba/pull/7064>`_: Testhound/host array performance warning (`Michael Collison <https://github.com/testhound>`_)
* PR `#7066 <https://github.com/numba/numba/pull/7066>`_: Fix #7065: Add expected exception messages for NumPy 1.20 to tests (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7068 <https://github.com/numba/numba/pull/7068>`_: Enhancing docs about PRNG seeding (`Jérome Eertmans <https://github.com/jeertmans>`_)
* PR `#7070 <https://github.com/numba/numba/pull/7070>`_: Improve the issue templates and pull request template. (`Guoqiang QI <https://github.com/guoqiangqi>`_)
* PR `#7080 <https://github.com/numba/numba/pull/7080>`_: Fix ``__eq__`` for Flags and cpu_options classes (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7087 <https://github.com/numba/numba/pull/7087>`_: Add note to docs about zero-initialization of variables. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7088 <https://github.com/numba/numba/pull/7088>`_: Initialize NUMBA_DEFAULT_NUM_THREADS with a batch scheduler aware value (`Thomas VINCENT <https://github.com/t20100>`_)
* PR `#7100 <https://github.com/numba/numba/pull/7100>`_: Replace deprecated call to cuDeviceComputeCapability (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7113 <https://github.com/numba/numba/pull/7113>`_: Temporarily disable debug env export. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7114 <https://github.com/numba/numba/pull/7114>`_: CUDA: Deprecate eager compilation of device functions (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7116 <https://github.com/numba/numba/pull/7116>`_: Fix various issues with dwarf emission: (`stuartarchibald <https://github.com/stuartarchibald>`_ `vlad-perevezentsev <https://github.com/vlad-perevezentsev>`_)
* PR `#7118 <https://github.com/numba/numba/pull/7118>`_: Remove print to stdout (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7121 <https://github.com/numba/numba/pull/7121>`_: Continue work on numpy subclasses (`Todd A. Anderson <https://github.com/DrTodd13>`_ `Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7122 <https://github.com/numba/numba/pull/7122>`_: Rtd/sphinx compat (`esc <https://github.com/esc>`_)
* PR `#7134 <https://github.com/numba/numba/pull/7134>`_: Move minimum LLVM version to 11. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7137 <https://github.com/numba/numba/pull/7137>`_: skip pycc test on Python 3.7 + macOS because of distutils issue (`esc <https://github.com/esc>`_)
* PR `#7138 <https://github.com/numba/numba/pull/7138>`_: Update the Azure default linux image to Ubuntu 18.04 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7141 <https://github.com/numba/numba/pull/7141>`_: Require llvmlite 0.37 as minimum supported. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7143 <https://github.com/numba/numba/pull/7143>`_: Update version checks in __init__ for np 1.17 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7145 <https://github.com/numba/numba/pull/7145>`_: Fix mainline (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7146 <https://github.com/numba/numba/pull/7146>`_: Fix ``inline_closurecall`` may not be imported (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7147 <https://github.com/numba/numba/pull/7147>`_: Revert "Workaround gitpython 3.1.18 dependency issue" (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7149 <https://github.com/numba/numba/pull/7149>`_: Fix issue in bytecode analysis where target and next are same. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7152 <https://github.com/numba/numba/pull/7152>`_: Fix iterators in CUDA (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7156 <https://github.com/numba/numba/pull/7156>`_: Fix ``ir_utils._max_label`` being updated incorrectly (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7160 <https://github.com/numba/numba/pull/7160>`_: Split parfors tests (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7161 <https://github.com/numba/numba/pull/7161>`_: Update README for 0.54 (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7162 <https://github.com/numba/numba/pull/7162>`_: CUDA: Fix linkage of device functions when compiling for debug (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7163 <https://github.com/numba/numba/pull/7163>`_: Split legalization pass to consider IR and features separately. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7165 <https://github.com/numba/numba/pull/7165>`_: Fix use of np.clip where out is not provided. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7189 <https://github.com/numba/numba/pull/7189>`_: CUDA: Skip IPC tests on ARM (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7190 <https://github.com/numba/numba/pull/7190>`_: CUDA: Fix test_pinned on Jetson (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7192 <https://github.com/numba/numba/pull/7192>`_: Fix missing import in array.argsort impl and add more tests. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7196 <https://github.com/numba/numba/pull/7196>`_: Fixes for lineinfo emission. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7203 <https://github.com/numba/numba/pull/7203>`_: remove duplicate changelog entries (`esc <https://github.com/esc>`_)
* PR `#7209 <https://github.com/numba/numba/pull/7209>`_: Clamp numpy (`esc <https://github.com/esc>`_)
* PR `#7216 <https://github.com/numba/numba/pull/7216>`_: Update CHANGE_LOG for 0.54.0rc2. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7223 <https://github.com/numba/numba/pull/7223>`_: Replace assertion errors on IR assumption violation (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7230 <https://github.com/numba/numba/pull/7230>`_: PR #7171 bugfix only (`Todd A. Anderson <https://github.com/DrTodd13>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7236 <https://github.com/numba/numba/pull/7236>`_: CUDA: Skip managed alloc tests on ARM (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7267 <https://github.com/numba/numba/pull/7267>`_: Fix #7258. Bug in SROA optimization (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7271 <https://github.com/numba/numba/pull/7271>`_: Update 3rd party license text. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7272 <https://github.com/numba/numba/pull/7272>`_: Allow annotations in njit-ed functions (`LunarLanding <https://github.com/LunarLanding>`_)
* PR `#7273 <https://github.com/numba/numba/pull/7273>`_: Update CHANGE_LOG for 0.54.0rc3. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7285 <https://github.com/numba/numba/pull/7285>`_: CUDA: Fix OOB in test_kernel_arg (`Graham Markall <https://github.com/gmarkall>`_)
* PR `#7294 <https://github.com/numba/numba/pull/7294>`_: Continuation of PR #7280, fixing lifetime of TBB task_scheduler_handle (`Sergey Pokhodenko <https://github.com/PokhodenkoSA>`_ `stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7298 <https://github.com/numba/numba/pull/7298>`_: Use CBC to pin GCC to 7 on most linux and 9 on aarch64. (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7312 <https://github.com/numba/numba/pull/7312>`_: Fix #7302. Workaround missing pthread problem on ppc64le (`Siu Kwan Lam <https://github.com/sklam>`_)
* PR `#7317 <https://github.com/numba/numba/pull/7317>`_: In TBB tsh test switch os.fork for mp fork ctx (`stuartarchibald <https://github.com/stuartarchibald>`_)
* PR `#7319 <https://github.com/numba/numba/pull/7319>`_: Update CHANGE_LOG for 0.54.0 final. (`stuartarchibald <https://github.com/stuartarchibald>`_)

Authors:

* `Alexander-Makaryev <https://github.com/Alexander-Makaryev>`_
* `Todd A. Anderson <https://github.com/DrTodd13>`_
* `Hannes Pahl <https://github.com/HPLegion>`_
* `Ivan Butygin <https://github.com/Hardcode84>`_
* `MegaIng <https://github.com/MegaIng>`_
* `Sergey Pokhodenko <https://github.com/PokhodenkoSA>`_
* `Aaron Russell Voelker <https://github.com/arvoelke>`_
* `Ashutosh Varma <https://github.com/ashutoshvarma>`_
* `Ben Greiner <https://github.com/bnavigator>`_
* `Brandon T. Willard <https://github.com/brandonwillard>`_
* `Daniel Nagel <https://github.com/braniii>`_
* `David Nadlinger <https://github.com/dnadlinger>`_
* `Ehsan Totoni <https://github.com/ehsantn>`_
* `esc <https://github.com/esc>`_
* `Felix Divo <https://github.com/felixdivo>`_
* `Graham Markall <https://github.com/gmarkall>`_
* `Guilherme Leobas <https://github.com/guilhermeleobas>`_
* `Guoqiang QI <https://github.com/guoqiangqi>`_
* `Itamar Turner-Trauring <https://github.com/itamarst>`_
* `Jérome Eertmans <https://github.com/jeertmans>`_
* `Alexey Kozlov <https://github.com/kozlov-alexey>`_
* `Lauren Arnett <https://github.com/laurenarnett>`_
* `LunarLanding <https://github.com/LunarLanding>`_
* `Max Katz <https://github.com/maxpkatz>`_
* `Kalyan <https://github.com/rawwar>`_
* `Reazul Hoque <https://github.com/reazulhoque>`_
* `Rishi Kulkarni <https://github.com/rishi-kulkarni>`_
* `Shaun Cutts <https://github.com/shaunc>`_
* `Siu Kwan Lam <https://github.com/sklam>`_
* `stuartarchibald <https://github.com/stuartarchibald>`_
* `Thomas VINCENT <https://github.com/t20100>`_
* `Michael Collison <https://github.com/testhound>`_
* `vlad-perevezentsev <https://github.com/vlad-perevezentsev>`_


Version 0.53.1 (25 March, 2021)
-------------------------------

This is a bugfix release for 0.53.0. It contains the following four
pull-requests which fix two critical regressions and two build failures
reported by the openSuSe team:

* PR #6826 Fix regression on gufunc serialization
* PR #6828 Fix regression in CUDA: Set stream in mapped and managed array
  device_setup
* PR #6837 Ignore warnings from packaging module when testing import behaviour.
* PR #6851 set non-reported llvm timing values to 0.0

Authors:

* Ben Greiner
* Graham Markall
* Siu Kwan Lam
* Stuart Archibald

Version 0.53.0 (11 March, 2021)
-------------------------------

This release continues to add new features, bug fixes and stability improvements
to Numba.

Highlights of core changes:

* Support for Python 3.9 (Stuart Archibald).
* Function sub-typing (Lucio Fernandez-Arjona).
* Initial support for dynamic ``gufuncs`` (i.e. from ``@guvectorize``)
  (Guilherme Leobas).
* Parallel Accelerator (``@njit(parallel=True)`` now supports Fortran ordered
  arrays (Todd A. Anderson and Siu Kwan Lam).

Intel also kindly sponsored research and development that lead to two new
features:

  * Exposing LLVM compilation pass timings for diagnostic purposes (Siu Kwan
    Lam).
  * An event system for broadcasting compiler events (Siu Kwan Lam).

Highlights of changes for the CUDA target:

* CUDA 11.2 onwards (versions of the toolkit using NVVM IR 1.6 / LLVM IR 7.0.1)
  are now supported (Graham Markall).
* A fast cube root function is added (Michael Collison).
* Support for atomic ``xor``, increment, decrement, exchange, are added, and
  compare-and-swap is extended to support 64-bit integers (Michael Collison).
* Addition of ``cuda.is_supported_version()`` to check if the CUDA runtime
  version is supported (Graham Markall).
* The CUDA dispatcher now shares infrastructure with the CPU dispatcher,
  improving launch times for lazily-compiled kernels (Graham Markall).
* The CUDA Array Interface is updated to version 3, with support for streams
  added (Graham Markall).
* Tuples and ``namedtuples`` can now be passed to kernels (Graham Markall).
* Initial support for Cooperative Groups is added, with support for Grid Groups
  and Grid Sync (Graham Markall and Nick White).
* Support for ``math.log2`` and ``math.remainder`` is added (Guilherme Leobas).

General deprecation notices:

* There are no new general deprecations.

CUDA target deprecation notices:

* CUDA support on macOS is deprecated with this release (it still works, it is
  just unsupported).
* The ``argtypes``, ``restypes``, and ``bind`` keyword arguments to the
  ``cuda.jit`` decorator, deprecated since 0.51.0, are removed
* The ``Device.COMPUTE_CAPABILITY`` property, deprecated since 2014, has been
  removed (use ``compute_capability`` instead).
* The ``to_host`` method of device arrays is removed (use ``copy_to_host``
  instead).

General Enhancements:

* PR #4769: objmode complex type spelling (Siu Kwan Lam)
* PR #5579: Function subtyping (Lucio Fernandez-Arjona)
* PR #5659: Add support for parfors creating 'F'ortran layout Numpy arrays.
  (Todd A. Anderson)
* PR #5936: Improve array analysis for user-defined data types. (Todd A.
  Anderson)
* PR #5938: Initial support for dynamic gufuncs (Guilherme Leobas)
* PR #5958: Making typed.List a typing Generic (Lucio Fernandez-Arjona)
* PR #6334: Support attribute access from other modules (Farah Hariri)
* PR #6373: Allow Dispatchers to be cached (Eric Wieser)
* PR #6519: Avoid unnecessary ir.Del generation and removal (Ehsan Totoni)
* PR #6545: Refactoring ParforDiagnostics (Elena Totmenina)
* PR #6560: Add LLVM pass timer (Siu Kwan Lam)
* PR #6573: Improve ``__str__`` for typed.List when invoked from IPython shell
  (Amin Sadeghi)
* PR #6575: Avoid temp variable assignments (Ehsan Totoni)
* PR #6578: Add support for numpy ``intersect1d`` and basic test cases
  (``@caljrobe``)
* PR #6579: Python 3.9 support. (Stuart Archibald)
* PR #6580: Store partial typing errors in compiler state (Ehsan Totoni)
* PR #6626: A simple event system to broadcast compiler events (Siu Kwan Lam)
* PR #6635: Try to resolve dynamic getitems as static post unroll transform.
  (Stuart Archibald)
* PR #6636: Adds llvm_lock event (Siu Kwan Lam)
* PR #6664: Adds tests for PR 5659 (Siu Kwan Lam)
* PR #6680: Allow getattr to work in objmode output type spec (Siu Kwan Lam)

Fixes:

* PR #6176: Remove references to deprecated numpy globals (Eric Wieser)
* PR #6374: Use Python 3 style OSError handling (Eric Wieser)
* PR #6402: Fix ``typed.Dict`` and ``typed.List`` crashing on parametrized types
  (Andreas Sodeur)
* PR #6403: Add ``types.ListType.key`` (Andreas Sodeur)
* PR #6410: Fixes issue #6386 (Danny Weitekamp)
* PR #6425: Fix unicode join for issue #6405 (Teugea Ioan-Teodor)
* PR #6437: Don't pass reduction variables known in an outer parfor to inner
  parfors when analyzing reductions. (Todd A. Anderson)
* PR #6453: Keep original variable names in metadata to improve diagnostics
  (Ehsan Totoni)
* PR #6454: FIX: Fixes for literals (Eric Larson)
* PR #6463: Bump llvmlite to 0.36 series (Stuart Archibald)
* PR #6466: Remove the misspelling of finalize_dynamic_globals (Sergey
  Pokhodenko)
* PR #6489: Improve the error message for unsupported Buffer in Buffer
  situation. (Stuart Archibald)
* PR #6503: Add test to ensure Numba imports without warnings. (Stuart
  Archibald)
* PR #6508: Defer requirements to setup.py (Siu Kwan Lam)
* PR #6521: Skip annotated jitclass test if typeguard is running. (Stuart
  Archibald)
* PR #6524: Fix typed.List return value (Lucio Fernandez-Arjona)
* PR #6562: Correcting typo in numba sysinfo output (Nick Sutcliffe)
* PR #6574: Run parfor fusion if 2 or more parfors (Ehsan Totoni)
* PR #6582: Fix typed dict error with uninitialized padding bytes  (Siu Kwan
  Lam)
* PR #6584: Remove jitclass from ``__init__`` ``__all__``. (Stuart Archibald)
* PR #6586: Run closure inlining ahead of branch pruning in case of nonlocal
  (Stuart Archibald)
* PR #6591: Fix inlineasm test failure. (Siu Kwan Lam)
* PR #6622: Fix 6534, handle unpack of assign-like tuples. (Stuart Archibald)
* PR #6652: Simplify PR-6334 (Siu Kwan Lam)
* PR #6653: Fix get_numba_envvar (Siu Kwan Lam)
* PR #6654: Fix #6632 support alternative dtype string spellings (Stuart
  Archibald)
* PR #6685: Add Python 3.9 to classifiers. (Stuart Archibald)
* PR #6693: patch to compile _devicearray.cpp with c++11 (Valentin Haenel)
* PR #6716: Consider assignment lhs live if used in rhs (Fixes #6715) (Ehsan
  Totoni)
* PR #6727: Avoid errors in array analysis for global tuples with non-int
  (Ehsan Totoni)
* PR #6733: Fix segfault and errors in #6668 (Siu Kwan Lam)
* PR #6741: Enable SSA in IR inliner (Ehsan Totoni)
* PR #6763: use an alternative constraint for the conda packages (Valentin
  Haenel)
* PR #6786: Fix gufunc kwargs support (Siu Kwan Lam)

CUDA Enhancements/Fixes:

* PR #5162: Specify synchronization semantics of CUDA Array Interface (Graham
  Markall)
* PR #6245: CUDA Cooperative grid groups (Graham Markall and Nick White)
* PR #6333: Remove dead ``_Kernel.__call__`` (Graham Markall)
* PR #6343: CUDA: Add support for passing tuples and namedtuples to kernels
  (Graham Markall)
* PR #6349: Refactor Dispatcher to remove unnecessary indirection (Graham
  Markall)
* PR #6358: Add log2 and remainder implementations for cuda (Guilherme Leobas)
* PR #6376: Added a fixed seed in test_atomics.py for issue #6370 (Teugea
  Ioan-Teodor)
* PR #6377: CUDA: Fix various issues in test suite (Graham Markall)
* PR #6409: Implement cuda atomic xor (Michael Collison)
* PR #6422: CUDA: Remove deprecated items, expect CUDA 11.1 (Graham Markall)
* PR #6427: Remove duplicate repeated definition of gufunc (Amit Kumar)
* PR #6432: CUDA: Use ``_dispatcher.Dispatcher`` as base Dispatcher class
  (Graham Markall)
* PR #6447: CUDA: Add get_regs_per_thread method to Dispatcher (Graham Markall)
* PR #6499: CUDA atomic increment, decrement, exchange and compare and swap
  (Michael Collison)
* PR #6510: CUDA: Make device array assignment synchronous where necessary
  (Graham Markall)
* PR #6517: CUDA: Add NVVM test of all 8-bit characters (Graham Markall)
* PR #6567: Refactor llvm replacement code into separate function (Michael
  Collison)
* PR #6642: Testhound/cuda cuberoot (Michael Collison)
* PR #6661: CUDA: Support NVVM70 / CUDA 11.2 (Graham Markall)
* PR #6663: Fix error caused by missing "-static" libraries defined for some
  platforms (Siu Kwan Lam)
* PR #6666: CUDA: Add a function to query whether the runtime version is
  supported. (Graham Markall)
* PR #6725: CUDA: Fix compile to PTX with debug for CUDA 11.2 (Graham Markall)

Documentation Updates:

* PR #5740: Add FAQ entry on how to create a MWR. (Stuart Archibald)
* PR #6346: DOC: add where to get dev builds from to FAQ  (Eyal Trabelsi)
* PR #6418: docs: use https for homepage (``@imba-tjd``)
* PR #6430: CUDA docs: Add RNG example with 3D grid and strided loops (Graham
  Markall)
* PR #6436: docs: remove typo in Deprecation Notices (Thibault Ballier)
* PR #6440: Add note about performance of typed containers from the interpreter.
  (Stuart Archibald)
* PR #6457: Link to read the docs instead of numba homepage (Hannes Pahl)
* PR #6470: Adding PyCon Sweden 2020 talk on numba (Ankit Mahato)
* PR #6472: Document ``numba.extending.is_jitted`` (Stuart Archibald)
* PR #6495: Fix typo in literal list docs. (Stuart Archibald)
* PR #6501: Add doc entry on Numba's limited resources and how to help. (Stuart
  Archibald)
* PR #6502: Add CODEOWNERS file. (Stuart Archibald)
* PR #6531: Update canonical URL. (Stuart Archibald)
* PR #6544: Minor typo / grammar fixes to 5 minute guide (Ollin Boer Bohan)
* PR #6599: docs: fix simple typo, consevatively -> conservatively (Tim Gates)
* PR #6609: Recommend miniforge instead of c4aarch64 (Isuru Fernando)
* PR #6671: Update environment creation example to python 3.8 (Lucio
  Fernandez-Arjona)
* PR #6676: Update hardware and software versions in various docs. (Stuart
  Archibald)
* PR #6682: Update deprecation notices for 0.53 (Stuart Archibald)

CI/Infrastructure Updates:

* PR #6458: Enable typeguard in CI (Siu Kwan Lam)
* PR #6500: Update bug and feature request templates. (Stuart Archibald)
* PR #6516: Fix RTD build by using conda. (Stuart Archibald)
* PR #6587: Add zenodo badge (Siu Kwan Lam)

Authors:

* Amin Sadeghi
* Amit Kumar
* Andreas Sodeur
* Ankit Mahato
* Chris Barnes
* Danny Weitekamp
* Ehsan Totoni (core dev)
* Eric Larson
* Eric Wieser
* Eyal Trabelsi
* Farah Hariri
* Graham Markall
* Guilherme Leobas
* Hannes Pahl
* Isuru Fernando
* Lucio Fernandez-Arjona
* Michael Collison
* Nick Sutcliffe
* Nick White
* Ollin Boer Bohan
* Sergey Pokhodenko
* Siu Kwan Lam (core dev)
* Stuart Archibald (core dev)
* Teugea Ioan-Teodor
* Thibault Ballier
* Tim Gates
* Todd A. Anderson (core dev)
* Valentin Haenel (core dev)
* ``@caljrobe``
* ``@imba-tjd``


Version 0.52.0 (30 November, 2020)
----------------------------------

This release focuses on performance improvements, but also adds some new
features and contains numerous bug fixes and stability improvements.

Highlights of core performance improvements include:

* Intel kindly sponsored research and development into producing a new reference
  count pruning pass. This pass operates at the LLVM level and can prune a
  number of common reference counting patterns. This will improve performance
  for two primary reasons:

  * There will be less pressure on the atomic locks used to do the reference
    counting.
  * Removal of reference counting operations permits more inlining and the
    optimisation passes can in general do more with what is present.

  (Siu Kwan Lam).
* Intel also sponsored work to improve the performance of the
  ``numba.typed.List`` container, particularly in the case of ``__getitem__``
  and iteration (Stuart Archibald).
* Superword-level parallelism vectorization is now switched on and the
  optimisation pipeline has been lightly analysed and tuned so as to be able to
  vectorize more and more often (Stuart Archibald).

Highlights of core feature changes include:

* The ``inspect_cfg`` method on the JIT dispatcher object has been
  significantly enhanced and now includes highlighted output and interleaved
  line markers and Python source (Stuart Archibald).
* The BSD operating system is now unofficially supported (Stuart Archibald).
* Numerous features/functionality improvements to NumPy support, including
  support for:

  * ``np.asfarray`` (Guilherme Leobas)
  * "subtyping" in record arrays (Lucio Fernandez-Arjona)
  * ``np.split`` and ``np.array_split`` (Isaac Virshup)
  * ``operator.contains`` with ``ndarray`` (``@mugoh``).
  * ``np.asarray_chkfinite`` (Rishabh Varshney).
  * NumPy 1.19 (Stuart Archibald).
  * the ``ndarray`` allocators, ``empty``, ``ones`` and ``zeros``, accepting a
    ``dtype`` specified as a string literal (Stuart Archibald).

* Booleans are now supported as literal types (Alexey Kozlov).
* On the CUDA target:

  * CUDA 9.0 is now the minimum supported version (Graham Markall).
  * Support for Unified Memory has been added (Max Katz).
  * Kernel launch overhead is reduced (Graham Markall).
  * Cudasim support for mapped array, memcopies and memset has been added (Mike
    Williams).
  * Access has been wired in to all libdevice functions (Graham Markall).
  * Additional CUDA atomic operations have been added (Michael Collison).
  * Additional math library functions (``frexp``, ``ldexp``, ``isfinite``)
    (Zhihao Yuan).
  * Support for ``power`` on complex numbers (Graham Markall).

Deprecations to note:

There are no new deprecations. However, note that "compatibility" mode, which
was added some 40 releases ago to help transition from 0.11 to 0.12+, has been
removed! Also, the shim to permit the import of ``jitclass`` from Numba's top
level namespace has now been removed as per the deprecation schedule.

General Enhancements:

* PR #5418: Add np.asfarray impl (Guilherme Leobas)
* PR #5560: Record subtyping (Lucio Fernandez-Arjona)
* PR #5609: Jitclass Infer Spec from Type Annotations (Ethan Pronovost)
* PR #5699: Implement np.split and np.array_split (Isaac Virshup)
* PR #6015: Adding BooleanLiteral type (Alexey Kozlov)
* PR #6027: Support operators inlining in InlineOverloads (Alexey Kozlov)
* PR #6038: Closes #6037, fixing FreeBSD compilation (László Károlyi)
* PR #6086: Add more accessible version information (Stuart Archibald)
* PR #6157: Add pipeline_class argument to @cfunc as supported by @jit. (Arthur
  Peters)
* PR #6262: Support dtype from str literal. (Stuart Archibald)
* PR #6271: Support ``ndarray`` contains (``@mugoh``)
* PR #6295: Enhance inspect_cfg (Stuart Archibald)
* PR #6304: Support NumPy 1.19 (Stuart Archibald)
* PR #6309: Add suitable file search path for BSDs. (Stuart Archibald)
* PR #6341: Re roll 6279 (Rishabh Varshney and Valentin Haenel)

Performance Enhancements:

* PR #6145: Patch to fingerprint namedtuples. (Stuart Archibald)
* PR #6202: Speed up str(int) (Stuart Archibald)
* PR #6261: Add np.ndarray.ptp() support. (Stuart Archibald)
* PR #6266: Use custom LLVM refcount pruning pass (Siu Kwan Lam)
* PR #6275: Switch on SLP vectorize. (Stuart Archibald)
* PR #6278: Improve typed list performance. (Stuart Archibald)
* PR #6335: Split optimisation passes. (Stuart Archibald)
* PR #6455: Fix refprune on obfuscated refs and stabilize optimisation WRT
  wrappers. (Stuart Archibald)

Fixes:

* PR #5639: Make UnicodeType inherit from Hashable (Stuart Archibald)
* PR #6006: Resolves incorrectly hoisted list in parfor. (Todd A. Anderson)
* PR #6126: fix version_info if version can not be determined (Valentin Haenel)
* PR #6137: Remove references to Python 2's long (Eric Wieser)
* PR #6139: Use direct syntax instead of the ``add_metaclass`` decorator (Eric
  Wieser)
* PR #6140: Replace calls to utils.iteritems(d) with d.items() (Eric Wieser)
* PR #6141: Fix #6130 objmode cache segfault (Siu Kwan Lam)
* PR #6156: Remove callers of ``reraise`` in favor of using ``with_traceback``
  directly (Eric Wieser)
* PR #6162: Move charseq support out of init (Stuart Archibald)
* PR #6165: #5425 continued (Amos Bird and Stuart Archibald)
* PR #6166: Remove Python 2 compatibility from numba.core.utils (Eric Wieser)
* PR #6185: Better error message on NotDefinedError (Luiz Almeida)
* PR #6194: Remove recursion from traverse_types (Radu Popovici)
* PR #6200: Workaround #5973 (Stuart Archibald)
* PR #6203: Make find_callname only lookup functions that are likely part of
  NumPy. (Stuart Archibald)
* PR #6204: Fix unicode kind selection for getitem. (Stuart Archibald)
* PR #6206: Build all extension modules with -g -Wall -Werror on Linux x86,
  provide -O0 flag option (Graham Markall)
* PR #6212: Fix for objmode recompilation issue (Alexey Kozlov)
* PR #6213: Fix #6177. Remove AOT dependency on the Numba package (Siu Kwan Lam)
* PR #6224: Add support for tuple concatenation to array analysis. (#5396
  continued) (Todd A. Anderson)
* PR #6231: Remove compatibility mode (Graham Markall)
* PR #6254: Fix win-32 hashing bug (from Stuart Archibald) (Ray Donnelly)
* PR #6265: Fix #6260 (Stuart Archibald)
* PR #6267: speed up a couple of really slow unittests (Stuart Archibald)
* PR #6281: Remove numba.jitclass shim as per deprecation schedule. (Stuart
  Archibald)
* PR #6294: Make return type propagate to all return variables (Andreas Sodeur)
* PR #6300: Un-skip tests that were skipped because of #4026. (Owen Anderson)
* PR #6307: Remove restrictions on SVML version due to bug in LLVM SVML CC
  (Stuart Archibald)
* PR #6316: Make IR inliner tests not self mutating. (Stuart Archibald)
* PR #6318: PR #5892 continued (Todd A. Anderson, via Stuart Archibald)
* PR #6319: Permit switching off boundschecking when debug is on. (Stuart
  Archibald)
* PR #6324: PR 6208 continued (Ivan Butygin and Stuart Archibald)
* PR #6337: Implements ``key`` on ``types.TypeRef`` (Andreas Sodeur)
* PR #6354: Bump llvmlite to 0.35. series. (Stuart Archibald)
* PR #6357: Fix enumerate invalid decref (Siu Kwan Lam)
* PR #6359: Fixes typed list indexing on 32bit (Stuart Archibald)
* PR #6378: Fix incorrect CPU override in vectorization test. (Stuart Archibald)
* PR #6379: Use O0 to enable inline and not affect loop-vectorization by later
  O3... (Siu Kwan Lam)
* PR #6384: Fix failing tests to match on platform invariant int spelling.
  (Stuart Archibald)
* PR #6390: Updates inspect_cfg (Stuart Archibald)
* PR #6396: Remove hard dependency on tbb package. (Stuart Archibald)
* PR #6408: Don't do array analysis for tuples that contain arrays. (Todd A.
  Anderson)
* PR #6441: Fix ASCII flag in Unicode slicing (0.52.0rc2 regression) (Ehsan
  Totoni)
* PR #6442: Fix array analysis regression in 0.52 RC2 for tuple of 1D arrays
  (Ehsan Totoni)
* PR #6446: Fix #6444: pruner issues with reference stealing functions (Siu
  Kwan Lam)
* PR #6450: Fix asfarray kwarg default handling. (Stuart Archibald)
* PR #6486: fix abstract base class import (Valentin Haenel)
* PR #6487: Restrict maximum version of python (Siu Kwan Lam)
* PR #6527: setup.py: fix py version guard (Chris Barnes)

CUDA Enhancements/Fixes:

* PR #5465: Remove macro expansion and replace uses with FE typing + BE lowering
  (Graham Markall)
* PR #5741: CUDA: Add two-argument implementation of round() (Graham Markall)
* PR #5900: Enable CUDA Unified Memory (Max Katz)
* PR #6042: CUDA: Lower launch overhead by launching kernel directly (Graham
  Markall)
* PR #6064: Lower math.frexp and math.ldexp in numba.cuda (Zhihao Yuan)
* PR #6066: Lower math.isfinite in numba.cuda (Zhihao Yuan)
* PR #6092: CUDA: Add mapped_array_like and pinned_array_like (Graham Markall)
* PR #6127: Fix race in reduction kernels on Volta, require CUDA 9, add syncwarp
  with default mask (Graham Markall)
* PR #6129: Extend Cudasim to support most of the memory functionality. (Mike
  Williams)
* PR #6150: CUDA: Turn on flake8 for cudadrv and fix errors (Graham Markall)
* PR #6152: CUDA: Provide wrappers for all libdevice functions, and fix typing
  of math function (#4618) (Graham Markall)
* PR #6227: Raise exception when no supported architectures are found (Jacob
  Tomlinson)
* PR #6244: CUDA Docs: Make workflow using simulator more explicit (Graham
  Markall)
* PR #6248: Add support for CUDA atomic subtract operations (Michael Collison)
* PR #6289: Refactor atomic test cases to reduce code duplication (Michael
  Collison)
* PR #6290: CUDA: Add support for complex power (Graham Markall)
* PR #6296: Fix flake8 violations in numba.cuda module (Graham Markall)
* PR #6297: Fix flake8 violations in numba.cuda.tests.cudapy module (Graham
  Markall)
* PR #6298: Fix flake8 violations in numba.cuda.tests.cudadrv (Graham Markall)
* PR #6299: Fix flake8 violations in numba.cuda.simulator (Graham Markall)
* PR #6306: Fix flake8 in cuda atomic test from merge. (Stuart Archibald)
* PR #6325: Refactor code for atomic operations (Michael Collison)
* PR #6329: Flake8 fix for a CUDA test (Stuart Archibald)
* PR #6331: Explicitly state that NUMBA_ENABLE_CUDASIM needs to be set before
  import (Graham Markall)
* PR #6340: CUDA: Fix #6339, performance regression launching specialized
  kernels (Graham Markall)
* PR #6380: Only test managed allocations on Linux (Graham Markall)

Documentation Updates:

* PR #6090: doc: Add doc on direct creation of Numba typed-list (``@rht``)
* PR #6110: Update CONTRIBUTING.md (Stuart Archibald)
* PR #6128: CUDA Docs: Restore Dispatcher.forall() docs (Graham Markall)
* PR #6277: fix: cross2d wrong doc. reference (issue #6276) (``@jeertmans``)
* PR #6282: Remove docs on Python 2(.7) EOL. (Stuart Archibald)
* PR #6283: Add note on how public CI is impl and what users can do to help.
  (Stuart Archibald)
* PR #6292: Document support for structured array attribute access
  (Graham Markall)
* PR #6310: Declare unofficial \*BSD support (Stuart Archibald)
* PR #6342: Fix docs on literally usage. (Stuart Archibald)
* PR #6348: doc: fix typo in jitclass.rst ("initilising" -> "initialising")
  (``@muxator``)
* PR #6362: Move llvmlite support in README to 0.35 (Stuart Archibald)
* PR #6363: Note that reference counted types are not permitted in set().
  (Stuart Archibald)
* PR #6364: Move deprecation schedules for 0.52 (Stuart Archibald)

CI/Infrastructure Updates:

* PR #6252: Show channel URLs (Siu Kwan Lam)
* PR #6338: Direct user questions to Discourse instead of the Google Group.
  (Stan Seibert)
* PR #6474: Add skip on PPC64LE for tests causing SIGABRT in LLVM. (Stuart
  Archibald)

Authors:

* Alexey Kozlov
* Amos Bird
* Andreas Sodeur
* Arthur Peters
* Chris Barnes
* Ehsan Totoni (core dev)
* Eric Wieser
* Ethan Pronovost
* Graham Markall
* Guilherme Leobas
* Isaac Virshup
* Ivan Butygin
* Jacob Tomlinson
* Luiz Almeida
* László Károlyi
* Lucio Fernandez-Arjona
* Max Katz
* Michael Collison
* Mike Williams
* Owen Anderson
* Radu Popovici
* Ray Donnelly
* Rishabh Varshney
* Siu Kwan Lam (core dev)
* Stan Seibert (core dev)
* Stuart Archibald (core dev)
* Todd A. Anderson (core dev)
* Valentin Haenel (core dev)
* Zhihao Yuan
* ``@jeertmans``
* ``@mugoh``
* ``@muxator``
* ``@rht``



Version 0.51.2 (September 2, 2020)
----------------------------------

This is a bugfix release for 0.51.1. It fixes a critical performance bug in the
CFG back edge computation algorithm that leads to exponential time complexity
arising in compilation for use cases with certain pathological properties.

* PR #6195: PR 6187 Continue. Don't visit already checked successors

Authors:

* Graham Markall
* Siu Kwan Lam (core dev)


Version 0.51.1 (August 26, 2020)
--------------------------------

This is a bugfix release for 0.51.0, it fixes a critical bug in caching, another
critical bug in the CUDA target initialisation sequence and also fixes some
compile time performance regressions:

* PR #6141: Fix #6130 objmode cache segfault
* PR #6146: Fix compilation slowdown due to controlflow analysis
* PR #6147: CUDA: Don't make a runtime call on import
* PR #6153: Fix for #6151. Make UnicodeCharSeq into str for comparison.
* PR #6168: Fix Issue #6167: Failure in test_cuda_submodules

Authors:

* Graham Markall
* Siu Kwan Lam (core dev)
* Stuart Archibald (core dev)


Version 0.51.0 (August 12, 2020)
--------------------------------

This release continues to add new features to Numba and also contains a
significant number of bug fixes and stability improvements.

Highlights of core feature changes include:

* The compilation chain is now based on LLVM 10 (Valentin Haenel).
* Numba has internally switched to prefer non-literal types over literal ones so
  as to reduce function over-specialisation, this with view of speeding up
  compile times (Siu Kwan Lam).
* On the CUDA target: Support for CUDA Toolkit 11, Ampere, and Compute
  Capability 8.0; Printing of ``SASS`` code for kernels; Callbacks to Python
  functions can be inserted into CUDA streams, and streams are async awaitable;
  Atomic ``nanmin`` and ``nanmax`` functions are added; Fixes for various
  miscompilations and segfaults. (mostly Graham Markall; call backs on
  streams by Peter Würtz).

Intel also kindly sponsored research and development that lead to some exciting
new features:

* Support for heterogeneous immutable lists and heterogeneous immutable string
  key dictionaries. Also optional initial/construction value capturing for all
  lists and dictionaries containing literal values (Stuart Archibald).
* A new pass-by-reference mutable structure extension type ``StructRef`` (Siu
  Kwan Lam).
* Object mode blocks are now cacheable, with the side effect of numerous bug
  fixes and performance improvements in caching. This also permits caching of
  functions defined in closures (Siu Kwan Lam).

Deprecations to note:

To align with other targets, the ``argtypes`` and ``restypes`` kwargs to
``@cuda.jit`` are now deprecated, the ``bind`` kwarg is also deprecated.
Further the ``target`` kwarg to the ``numba.jit`` decorator family is
deprecated.

General Enhancements:

* PR #5463: Add str(int) impl
* PR #5526: Impl. np.asarray(literal)
* PR #5619: Add support for multi-output ufuncs
* PR #5711: Division with timedelta input
* PR #5763: Support minlength argument to np.bincount
* PR #5779: Return zero array from np.dot when the arguments are empty.
* PR #5796: Add implementation for np.positive
* PR #5849: Setitem for records when index is StringLiteral, including literal
  unroll
* PR #5856: Add support for conversion of inplace_binop to parfor.
* PR #5893: Allocate 1D iteration space one at a time for more even
  distribution.
* PR #5922: Reduce objmode and unpickling overhead
* PR #5944: re-enable OpenMP in wheels
* PR #5946: Implement literal dictionaries and lists.
* PR #5956: Update numba_sysinfo.py
* PR #5978: Add structref as a mutable struct that is pass-by-ref
* PR #5980: Deprecate target kwarg for numba.jit.
* PR #6058: Add prefer_literal option to overload API

Fixes:

* PR #5674: Fix #3955. Allow `with objmode` to be cached
* PR #5724: Initialize process lock lazily to prevent multiprocessing issue
* PR #5783: Make np.divide and np.remainder code more similar
* PR #5808: Fix 5665 Block jit(nopython=True, forceobj=True) and suppress
  njit(forceobj=True)
* PR #5834: Fix the is operator on Ellipsis
* PR #5838: Ensure ``Dispatcher.__eq__`` always returns a bool
* PR #5841: cleanup: Use PythonAPI.bool_from_bool in more places
* PR #5862: Do not leak loop iteration variables into the numba.np.npyimpl
  namespace
* PR #5869: Update repomap
* PR #5879: Fix erroneous input mutation in linalg routines
* PR #5882: Type check function in jit decorator
* PR #5925: Use np.inf and -np.inf for max and min float values respectively.
* PR #5935: Fix default arguments with multiprocessing
* PR #5952: Fix "Internal error ... local variable 'errstr' referenced before
  assignment during BoundFunction(...)"
* PR #5962: Fix SVML tests with LLVM 10 and AVX512
* PR #5972: fix flake8 for numba/runtests.py
* PR #5995: Update setup.py with new llvmlite versions
* PR #5996: Set lower bound for llvmlite to 0.33
* PR #6004: Fix problem in branch pruning with LiteralStrKeyDict
* PR #6017: Fixing up numba_do_raise
* PR #6028: Fix #6023
* PR #6031: Continue 5821
* PR #6035: Fix overspecialize of literal
* PR #6046: Fixes statement reordering bug in maximize fusion step.
* PR #6056: Fix issue on invalid inlining of non-empty build_list by
  inline_arraycall
* PR #6057: fix aarch64/python_3.8 failure on master
* PR #6070: Fix overspecialized containers
* PR #6071: Remove f-strings in setup.py
* PR #6072: Fix for #6005
* PR #6073: Fixes invalid C prototype in helper function.
* PR #6078: Duplicate NumPy's PyArray_DescrCheck macro
* PR #6081: Fix issue with cross drive use and relpath.
* PR #6083: Fix bug in initial value unify.
* PR #6087: remove invalid sanity check from randrange tests
* PR #6089: Fix invalid reference to TypingError
* PR #6097: Add function code and closure bytes into cache key
* PR #6099: Restrict upper limit of TBB version due to ABI changes.
* PR #6101: Restrict lower limit of icc_rt version due to assumed SVML bug.
* PR #6107: Fix and test #6095
* PR #6109: Fixes an issue reported in #6094
* PR #6111: Decouple LiteralList and LiteralStrKeyDict from tuple
* PR #6116: Fix #6102. Problem with non-unique label.

CUDA Enhancements/Fixes:

* PR #5359: Remove special-casing of 0d arrays
* PR #5709: CUDA: Refactoring of cuda.jit and kernel / dispatcher abstractions
* PR #5732: CUDA Docs: document ``forall`` method of kernels
* PR #5745: CUDA stream callbacks and async awaitable streams
* PR #5761: Add implmentation for int types for isnan and isinf for CUDA
* PR #5819: Add support for CUDA 11 and Ampere / CC 8.0
* PR #5826: CUDA: Add function to get SASS for kernels
* PR #5846: CUDA: Allow disabling NVVM optimizations, and fix debug issues
* PR #5851: CUDA EMM enhancements - add default get_ipc_handle implementation,
  skip a test conditionally
* PR #5852: CUDA: Fix ``cuda.test()``
* PR #5857: CUDA docs: Add notes on resetting the EMM plugin
* PR #5859: CUDA: Fix reduce docs and style improvements
* PR #6016: Fixes change of list spelling in a cuda test.
* PR #6020: CUDA: Fix #5820, adding atomic nanmin / nanmax
* PR #6030: CUDA: Don't optimize IR before sending it to NVVM
* PR #6052: Fix dtype for atomic_add_double testsuite
* PR #6080: CUDA: Prevent auto-upgrade of atomic intrinsics
* PR #6123: Fix #6121

Documentation Updates:

* PR #5782: Host docs on Read the Docs
* PR #5830: doc: Mention that caching uses pickle
* PR #5963: Fix broken link to numpy ufunc signature docs
* PR #5975: restructure communication section
* PR #5981: Document bounds-checking behavior in python deviations page
* PR #5993: Docs for structref
* PR #6008: Small fix so bullet points are rendered by sphinx
* PR #6013: emphasize cuda kernel functions are asynchronous
* PR #6036: Update deprecation doc from numba.errors to numba.core.errors
* PR #6062: Change references to numba.pydata.org to https

CI updates:

* PR #5850: Updates the "New Issue" behaviour to better redirect users.
* PR #5940: Add discourse badge
* PR #5960: Setting mypy on CI

Enhancements from user contributed PRs (with thanks!):

* Aisha Tammy added the ability to switch off TBB support at compile time in
  #5821 (continued in #6031 by Stuart Archibald).
* Alexander Stiebing fixed a reference before assignment bug in #5952.
* Alexey Kozlov fixed a bug in tuple getitem for literals in #6028.
* Andrew Eckart updated the repomap in #5869, added support for Read the Docs
  in #5782, fixed a bug in the ``np.dot`` implementation to correctly handle
  empty arrays in #5779 and added support for ``minlength`` to ``np.bincount``
  in #5763.
* ``@bitsisbits`` updated ``numba_sysinfo.py`` to handle HSA agents correctly in
  #5956.
* Daichi Suzuo Fixed a bug in the threading backend initialisation sequence such
  that it is now correctly a lazy lock in #5724.
* Eric Wieser contributed a number of patches, particularly in enhancing and
  improving the ``ufunc`` capabilities:

  * #5359: Remove special-casing of 0d arrays
  * #5834: Fix the is operator on Ellipsis
  * #5619: Add support for multi-output ufuncs
  * #5841: cleanup: Use PythonAPI.bool_from_bool in more places
  * #5862: Do not leak loop iteration variables into the numba.np.npyimpl
    namespace
  * #5838: Ensure ``Dispatcher.__eq__`` always returns a bool
  * #5830: doc: Mention that caching uses pickle
  * #5783: Make np.divide and np.remainder code more similar

* Ethan Pronovost added a guard to prevent the common mistake of applying a jit
  decorator to the same function twice in #5881.
* Graham Markall contributed many patches to the CUDA target, as follows:

  * #6052: Fix dtype for atomic_add_double tests
  * #6030: CUDA: Don't optimize IR before sending it to NVVM
  * #5846: CUDA: Allow disabling NVVM optimizations, and fix debug issues
  * #5826: CUDA: Add function to get SASS for kernels
  * #5851: CUDA EMM enhancements - add default get_ipc_handle implementation,
    skip a test conditionally
  * #5709: CUDA: Refactoring of cuda.jit and kernel / dispatcher abstractions
  * #5819: Add support for CUDA 11 and Ampere / CC 8.0
  * #6020: CUDA: Fix #5820, adding atomic nanmin / nanmax
  * #5857: CUDA docs: Add notes on resetting the EMM plugin
  * #5859: CUDA: Fix reduce docs and style improvements
  * #5852: CUDA: Fix ``cuda.test()``
  * #5732: CUDA Docs: document ``forall`` method of kernels

* Guilherme Leobas added support for ``str(int)`` in #5463 and
  ``np.asarray(literal value)``` in #5526.
* Hameer Abbasi deprecated the ``target`` kwarg for ``numba.jit`` in #5980.
* Hannes Pahl added a badge to the Numba github page linking to the new
  discourse forum in #5940 and also fixed a bug that permitted illegal
  combinations of flags to be passed into ``@jit`` in #5808.
* Kayran Schmidt emphasized that CUDA kernel functions are asynchronous in the
  documentation in #6013.
* Leonardo Uieda fixed a broken link to the NumPy ufunc signature docs in #5963.
* Lucio Fernandez-Arjona added mypy to CI and started adding type annotations to
  the code base in #5960, also fixed a (de)serialization problem on the
  dispatcher in #5935, improved the undefined variable error message in #5876,
  added support for division with timedelta input in #5711 and implemented
  ``setitem`` for records when the index is a ``StringLiteral`` in #5849.
* Ludovic Tiako documented Numba's bounds-checking behavior in the python
  deviations page in #5981.
* Matt Roeschke changed all ``http`` references ``https`` in #6062.
* ``@niteya-shah`` implemented ``isnan`` and ``isinf`` for integer types on the
  CUDA target in #5761 and implemented ``np.positive`` in #5796.
* Peter Würtz added CUDA stream callbacks and async awaitable streams in #5745.
* ``@rht`` fixed an invalid import referred to in the deprecation documentation
  in #6036.
* Sergey Pokhodenko updated the SVML tests for LLVM 10 in #5962.
* Shyam Saladi fixed a Sphinx rendering bug in #6008.

Authors:

* Aisha Tammy
* Alexander Stiebing
* Alexey Kozlov
* Andrew Eckart
* ``@bitsisbits``
* Daichi Suzuo
* Eric Wieser
* Ethan Pronovost
* Graham Markall
* Guilherme Leobas
* Hameer Abbasi
* Hannes Pahl
* Kayran Schmidt
* Kozlov, Alexey
* Leonardo Uieda
* Lucio Fernandez-Arjona
* Ludovic Tiako
* Matt Roeschke
* ``@niteya-shah``
* Peter Würtz
* Sergey Pokhodenko
* Shyam Saladi
* ``@rht``
* Siu Kwan Lam (core dev)
* Stuart Archibald (core dev)
* Todd A. Anderson (core dev)
* Valentin Haenel (core dev)


Version 0.50.1 (Jun 24, 2020)
-----------------------------

This is a bugfix release for 0.50.0, it fixes a critical bug in error reporting
and a number of other smaller issues:

* PR #5861: Added except for possible Windows get_terminal_size exception
* PR #5876: Improve undefined variable error message
* PR #5884: Update the deprecation notices for 0.50.1
* PR #5889: Fixes literally not forcing re-dispatch for inline='always'
* PR #5912: Fix bad attr access on certain typing templates breaking exceptions.
* PR #5918: Fix cuda test due to #5876

Authors:

* ``@pepping_dore``
* Lucio Fernandez-Arjona
* Siu Kwan Lam (core dev)
* Stuart Archibald (core dev)


Version 0.50.0 (Jun 10, 2020)
-----------------------------

This is a more usual release in comparison to the others that have been made in
the last six months. It comprises the result of a number of maintenance tasks
along with some new features and a lot of bug fixes.

Highlights of core feature changes include:

* The compilation chain is now based on LLVM 9.
* The error handling and reporting system has been improved to reduce the size
  of error messages, and also improve quality and specificity.
* The CUDA target has more stream constructors available and a new function for
  compiling to PTX without linking and loading the code to a device. Further,
  the macro-based system for describing CUDA threads and blocks has been
  replaced with standard typing and lowering implementations, for improved
  debugging and extensibility.

IMPORTANT: The backwards compatibility shim, that was present in 0.49.x to
accommodate the refactoring of Numba's internals, has been removed. If a module
is imported from a moved location an ``ImportError`` will occur.

General Enhancements:

* PR #5060: Enables np.sum for timedelta64
* PR #5225: Adjust interpreter to make conditionals predicates via bool() call.
* PR #5506: Jitclass static methods
* PR #5580: Revert shim
* PR #5591: Fix #5525 Add figure for total memory to ``numba -s`` output.
* PR #5616: Simplify the ufunc kernel registration
* PR #5617: Remove /examples from the Numba repo.
* PR #5673: Fix inliners to run all passes on IR and clean up correctly.
* PR #5700: Make it easier to understand type inference: add SSA dump, use for
  ``DEBUG_TYPEINFER``
* PR #5702: Fixes for LLVM 9
* PR #5722: Improve error messages.
* PR #5758: Support NumPy 1.18

Fixes:

* PR #5390: add error handling for lookup_module
* PR #5464: Jitclass drops annotations to avoid error
* PR #5478: Fix #5471. Issue with omitted type not recognized as literal value.
* PR #5517: Fix numba.typed.List extend for singleton and empty iterable
* PR #5549: Check type getitem
* PR #5568: Add skip to entrypoint test on windows
* PR #5581: Revert #5568
* PR #5602: Fix segfault caused by pop from numba.typed.List
* PR #5645: Fix SSA redundant CFG computation
* PR #5686: Fix issue with SSA not minimal
* PR #5689: Fix bug in unified_function_type (issue 5685)
* PR #5694: Skip part of slice array analysis if any part is not analyzable.
* PR #5697: Fix usedef issue with parfor loopnest variables.
* PR #5705: A fix for cases where SSA looks like a reduction variable.
* PR #5714: Fix bug in test
* PR #5717: Initialise Numba extensions ahead of any compilation starting.
* PR #5721: Fix array iterator layout.
* PR #5738: Unbreak master on buildfarm
* PR #5757: Force LLVM to use ZMM registers for vectorization.
* PR #5764: fix flake8 errors
* PR #5768: Interval example: fix import
* PR #5781: Moving record array examples to a test module
* PR #5791: Fix up no cgroups problem
* PR #5795: Restore refct removal pass and make it strict
* PR #5807: Skip failing test on POWER8 due to PPC CTR Loop problem.
* PR #5812: Fix side issue from #5792, @overload inliner cached IR being
  mutated.
* PR #5815: Pin llvmlite to 0.33
* PR #5833: Fixes the source location appearing incorrectly in error messages.

CUDA Enhancements/Fixes:

* PR #5347: CUDA: Provide more stream constructors
* PR #5388: CUDA: Fix OOB write in test_round{f4,f8}
* PR #5437: Fix #5429: Exception using ``.get_ipc_handle(...)`` on array from
  ``as_cuda_array(...)``
* PR #5481: CUDA: Replace macros with typing and lowering implementations
* PR #5556: CUDA: Make atomic semantics match Python / NumPy, and fix #5458
* PR #5558: CUDA: Only release primary ctx if retained
* PR #5561: CUDA: Add function for compiling to PTX (+ other small fixes)
* PR #5573: CUDA: Skip tests under cuda-memcheck that hang it
* PR #5578: Implement math.modf for CUDA target
* PR #5704: CUDA Eager compilation: Fix max_registers kwarg
* PR #5718: CUDA lib path tests: unset CUDA_PATH when CUDA_HOME unset
* PR #5800: Fix LLVM 9 IR for NVVM
* PR #5803: CUDA Update expected error messages to fix #5797

Documentation Updates:

* PR #5546: DOC: Add documentation about cost model to inlining notes.
* PR #5653: Update doc with respect to try-finally case

Enhancements from user contributed PRs (with thanks!):

* Elias Kuthe fixed in issue with imports in the Interval example in #5768
* Eric Wieser Simplified the ufunc kernel registration mechanism in #5616
* Ethan Pronovost patched a problem with ``__annotations__`` in ``jitclass`` in
  #5464, fixed a bug t                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                