diff --git a/CHANGELOG.md b/CHANGELOG.md
index f14be39a1c..3daa7f2c49 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,14 +4,40 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [Unreleased]
+## [0.12.0] - 03/01/2022
### Added
-- `dpctl.tensor.asarray`, `dpctl.tensor.empty` implemented (#646).
-- `dpctl.tensor.usm_ndarray` adds support for DLPack protocol. `dpctl.tensor.from_dlpack` implemented (#682).
+
+* Properties added to MemoryUSM* objects. [#647](https://github.com/IntelPython/dpctl/pull/647)
+* Added `dpctl.tensor.asarray` [#646](https://github.com/IntelPython/dpctl/pull/646)
+* Implemented DLPack support for usm_ndarray [#682](https://github.com/IntelPython/dpctl/pull/682)
+* Exported `dpctl.tensor.Device` class [#708](https://github.com/IntelPython/dpctl/pull/708) [#718](https://github.com/IntelPython/dpctl/pull/718)
+* Added testing of examples in CI [#722](https://github.com/IntelPython/dpctl/pull/722)
+* Added user manuals to dpctl documentation [#712](https://github.com/IntelPython/dpctl/pull/712) [#773](https://github.com/IntelPython/dpctl/pull/773)
### Changed
-- dpctl-capi is now renamed to `libsyclinterface` (#666).
+
+* Folder dpctl-capi/ renamed to libsyclinterface/ in sources and documentation. [#666](https://github.com/IntelPython/dpctl/pull/666)
+ [#768](https://github.com/IntelPython/dpctl/pull/768)
+* Added workflow to publish rendered documentation on PRs [#673](https://github.com/IntelPython/dpctl/pull/673) [#753](https://github.com/IntelPython/dpctl/pull/753) [#726](https://github.com/IntelPython/dpctl/pull/726)
+* Synchronization functions and USM allocation functions release GIL [#736](https://github.com/IntelPython/dpctl/pull/736) [#766](https://github.com/IntelPython/dpctl/pull/766)
+* `dpctl.SyclEvent` destructor is made non-blocking [#751](https://github.com/IntelPython/dpctl/pull/751)
+
+### Fixed
+* Fixed for issue in code of `dpctl.tensor.usm_ndarray.T` [#653](https://github.com/IntelPython/dpctl/pull/653)
+* Fixed issue with `dpctl.tensor.reshape`'s affect on contiguity flags of usm_ndarray [#695](https://github.com/IntelPython/dpctl/pull/695)
+* Fixed handling of empty list by `dpctl.tensor.asarray` [#694](https://github.com/IntelPython/dpctl/pull/694)
+* Fixed type inference with array of empty arrays in `dpctl.tensor.asarray` [#697](https://github.com/IntelPython/dpctl/pull/697)
+* Fixed issue gh-698 with `dpctl.tensr.asarray` [#709](https://github.com/IntelPython/dpctl/pull/709)
+* Fixed performance of item assignment from numpy array [#724](https://github.com/IntelPython/dpctl/pull/724)
+* `DPCTLDeviceMgr_GetNumDevices` should not operate on rejected devices [#737](https://github.com/IntelPython/dpctl/pull/737)
+* Fixed issue gh-729 for `dpctl.tensor.reshape` applied to 0-element usm_ndarray [#756](https://github.com/IntelPython/dpctl/pull/756)
+* Fixed issue gh-728 with `dpctl.tensor.astype` [#757](https://github.com/IntelPython/dpctl/pull/757)
+* Fixed type in memory overlapping test [#770](https://github.com/IntelPython/dpctl/pull/770)
+* Fixed issue with operator.pos for `dpctl.tensor.usm_ndarray` [#783](https://github.com/IntelPython/dpctl/pull/783)
+* Only call `PyThread_Ensure` from host_task if the main-thread interpreter is initialized and not finalizing [#776](https://github.com/IntelPython/dpctl/pull/776) [#778](https://github.com/IntelPython/dpctl/pull/778) [#721](https://github.com/IntelPython/dpctl/pull/721)
+
+**Full Changelog**: https://github.com/IntelPython/dpctl/compare/0.11.4...0.12.0
## [0.11.4] - 12/03/2021
@@ -21,262 +47,262 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [0.11.3] - 11/30/2021
### Fixed
-- Set the last byte in allocated char array to zero [cherry picked from #650] (#699)
+- Set the last byte in allocated char array to zero [cherry picked from #650] [#699](https://github.com/IntelPython/dpctl/pull/699)
## [0.11.2] - 11/29/2021
### Added
-- Extending `dpctl.device_context` with nested contexts (#678)
+- Extending `dpctl.device_context` with nested contexts [#678](https://github.com/IntelPython/dpctl/pull/678)
### Fixed
-- Fixed issue #649 about incorrect behavior of `.T` method on sliced arrays (#653)
+- Fixed issue #649 about incorrect behavior of `.T` method on sliced arrays [#653](https://github.com/IntelPython/dpctl/pull/653)
## [0.11.1] - 11/10/2021
### Changed
-- Replaced uses of clang compiler with icx executable (#665)
+- Replaced uses of clang compiler with icx executable [#665](https://github.com/IntelPython/dpctl/pull/665)
## [0.11.0] - 11/01/2021
### Added
-- Use Python 3.9 in public CI (#599)
-- Add a new C API utility function (`DPCTLDeviceMgr_GetDeviceInfoStr`) to return the device info as a C string object (#620)
-- New Github workflow to build dpclt with nightly Intel llvm/sycl + drivers (#621)
-- Always raise SubDeviceCreationError even when sub-device counts are zero (#622)
-- Updated OpenCL interoprability code to fix build with Intel llvm/sycl bundle (#625)
-- Enabled use of default platform context extension in SYCL compilers that implement this extension (#627)
-- Implemented `dpctl.utils.get_execution_queue(queue_seq)` utility to help implementing "compute-follows data" convention for offload target (#632)
-- Improved code coverage (#619) (#542) (#631)
+- Use Python 3.9 in public CI [#599](https://github.com/IntelPython/dpctl/pull/599)
+- Add a new C API utility function (`DPCTLDeviceMgr_GetDeviceInfoStr`) to return the device info as a C string object [#620](https://github.com/IntelPython/dpctl/pull/620)
+- New Github workflow to build dpclt with nightly Intel llvm/sycl + drivers [#621](https://github.com/IntelPython/dpctl/pull/621)
+- Always raise SubDeviceCreationError even when sub-device counts are zero [#622](https://github.com/IntelPython/dpctl/pull/622)
+- Updated OpenCL interoprability code to fix build with Intel llvm/sycl bundle [#625](https://github.com/IntelPython/dpctl/pull/625)
+- Enabled use of default platform context extension in SYCL compilers that implement this extension [#627](https://github.com/IntelPython/dpctl/pull/627)
+- Implemented `dpctl.utils.get_execution_queue(queue_seq)` utility to help implementing "compute-follows data" convention for offload target [#632](https://github.com/IntelPython/dpctl/pull/632)
+ [#631](https://github.com/IntelPython/dpctl/pull/631)
### Changed
-- Replaced `host_device` device type with `host` in tests (#616)
-- Rework the logic in `dpctl.memory`'s `copy_from_device` method to work correctly with `host` device (#618)
-- Use `dpctl.device_type.host` instead of `dpctl.device_type.host_device` (#626)
-- Reinstate deprecated `sycl::program` and that was conditionally removed from open source DPC++ toolchain (#633)
-- Use `LoadLibraryExA` instead of `LoadLibraryA` to mitigate a possible DLL injection issue when we load the Level zero DLL on windows (#636)
-- Github coverage workflow is changed to use oneAPI 2021.3 instead of latest to work around broken profiling instrumentation in DPC++ 2021.4 (#614)
-- Update build dependencies for NumPy (#641)
-- Use "readelf" on SYCL's `pi_level_zero` library to find out and use the exact name of `ze_loader.so` in SyclInterface library (#617)
+- Replaced `host_device` device type with `host` in tests [#616](https://github.com/IntelPython/dpctl/pull/616)
+- Rework the logic in `dpctl.memory`'s `copy_from_device` method to work correctly with `host` device [#618](https://github.com/IntelPython/dpctl/pull/618)
+- Use `dpctl.device_type.host` instead of `dpctl.device_type.host_device` [#626](https://github.com/IntelPython/dpctl/pull/626)
+- Reinstate deprecated `sycl::program` and that was conditionally removed from open source DPC++ toolchain [#633](https://github.com/IntelPython/dpctl/pull/633)
+- Use `LoadLibraryExA` instead of `LoadLibraryA` to mitigate a possible DLL injection issue when we load the Level zero DLL on windows [#636](https://github.com/IntelPython/dpctl/pull/636)
+- Github coverage workflow is changed to use oneAPI 2021.3 instead of latest to work around broken profiling instrumentation in DPC++ 2021.4 [#614](https://github.com/IntelPython/dpctl/pull/614)
+- Update build dependencies for NumPy [#641](https://github.com/IntelPython/dpctl/pull/641)
+- Use "readelf" on SYCL's `pi_level_zero` library to find out and use the exact name of `ze_loader.so` in SyclInterface library [#617](https://github.com/IntelPython/dpctl/pull/617)
### Removed
-- Removed use of DPC++ features deprecated in 2021.4 and open source Intel llvm/sycl compiler (#603)
+- Removed use of DPC++ features deprecated in 2021.4 and open source Intel llvm/sycl compiler [#603](https://github.com/IntelPython/dpctl/pull/603)
### Fixed
-- Suppress errant CMake log (#610)
-- Fixes to compile dpctl using Intel llvm/sycl compiler (#603)
-- Fix for the hang is to avoid passing `nullptr` argument to `sycl::queue::prefetch` (#612)
-- Fixed the logic to return device count (#623)
-- Enabled building of C extensions with dpctl by including header defining `bool` type for C compilers (#604)
+- Suppress errant CMake log [#610](https://github.com/IntelPython/dpctl/pull/610)
+- Fixes to compile dpctl using Intel llvm/sycl compiler [#603](https://github.com/IntelPython/dpctl/pull/603)
+- Fix for the hang is to avoid passing `nullptr` argument to `sycl::queue::prefetch` [#612](https://github.com/IntelPython/dpctl/pull/612)
+- Fixed the logic to return device count [#623](https://github.com/IntelPython/dpctl/pull/623)
+- Enabled building of C extensions with dpctl by including header defining `bool` type for C compilers [#604](https://github.com/IntelPython/dpctl/pull/604)
## [0.10.0] - 09/28/2021
### Added
- Added methods __bool__, __float__, __int__, __index__,
- and __complex__ to usm_ndarray (#578)
+and __complex__ to usm_ndarray [#578](https://github.com/IntelPython/dpctl/pull/578)
- Added data-API required special methods to usm_ndarray class,
- as well as to_numpy/from_numpy, astype, reshape functions (#586)
-- Added methods to query dpctl.SyclDevice for size of global/local memory (#589)
-- Added tests for constructors with invalid capsules (#577)
-- Improved test coverage of `dpctl.SyclQueue` implementation (#574)
-- Added a test to exercise API exported function (get_event_ref). (#570)
-- Expanded tests in test_sycl_context to improve coverage (#571)
-- Tweaks to test_sycl_event to improve coverage (#567)
-- Improved coverage of dpctl.__init__ file and other service functions (#563)
-- Added test for repr and test for default argument to constructor (#565)
-- Added some tests to involve capsule (#564)
-- Added workflow for Public CI on Windows (#534)
-- DPCTLQueue_Memcpy, _Prefetch, _Memadvise become asynchronous (#557)
-- Added device aspect selector, `dpctl.select_device_with_aspects` (#558)
+as well as to_numpy/from_numpy, astype, reshape functions [#586](https://github.com/IntelPython/dpctl/pull/586)
+- Added methods to query dpctl.SyclDevice for size of global/local memory [#589](https://github.com/IntelPython/dpctl/pull/589)
+- Added tests for constructors with invalid capsules [#577](https://github.com/IntelPython/dpctl/pull/577)
+- Improved test coverage of `dpctl.SyclQueue` implementation [#574](https://github.com/IntelPython/dpctl/pull/574)
+- Added a test to exercise API exported function (get_event_ref). [#570](https://github.com/IntelPython/dpctl/pull/570)
+- Expanded tests in test_sycl_context to improve coverage [#571](https://github.com/IntelPython/dpctl/pull/571)
+- Tweaks to test_sycl_event to improve coverage [#567](https://github.com/IntelPython/dpctl/pull/567)
+- Improved coverage of dpctl.__init__ file and other service functions [#563](https://github.com/IntelPython/dpctl/pull/563)
+- Added test for repr and test for default argument to constructor [#565](https://github.com/IntelPython/dpctl/pull/565)
+- Added some tests to involve capsule [#564](https://github.com/IntelPython/dpctl/pull/564)
+- Added workflow for Public CI on Windows [#534](https://github.com/IntelPython/dpctl/pull/534)
+- DPCTLQueue_Memcpy, _Prefetch, _Memadvise become asynchronous [#557](https://github.com/IntelPython/dpctl/pull/557)
+- Added device aspect selector, `dpctl.select_device_with_aspects` [#558](https://github.com/IntelPython/dpctl/pull/558)
- Added test based on example from #583
### Changed
-- Parametrized tests for executing OpenCL kernels compiled from source in types of arguments (#581)
-- Temporary disabled self-hosted CI jobs runner (#559)
-- Changed static method `SyclQueue._create_from_context_and_device` (#579)
-- Transitioned all Python API to use pytest over unittest, improved coverage in dpctl/memory (#575)
-- Changed `dpctl.SyclEvent.profiling_info_submit` from method to a property (#573)
-- Simplified arg parsing in SyclDevice constructor (#572)
-- Used
tag with alignment attribute set in README (#562)
-- Moved sycl timer into dpctl.SyclTimer (#555)
-- Used clang-format off, clang-format on to avoid include reordering in pybind11 example (#588)
+- Parametrized tests for executing OpenCL kernels compiled from source in types of arguments [#581](https://github.com/IntelPython/dpctl/pull/581)
+- Temporary disabled self-hosted CI jobs runner [#559](https://github.com/IntelPython/dpctl/pull/559)
+- Changed static method `SyclQueue._create_from_context_and_device` [#579](https://github.com/IntelPython/dpctl/pull/579)
+- Transitioned all Python API to use pytest over unittest, improved coverage in dpctl/memory [#575](https://github.com/IntelPython/dpctl/pull/575)
+- Changed `dpctl.SyclEvent.profiling_info_submit` from method to a property [#573](https://github.com/IntelPython/dpctl/pull/573)
+- Simplified arg parsing in SyclDevice constructor [#572](https://github.com/IntelPython/dpctl/pull/572)
+- Used
tag with alignment attribute set in README [#562](https://github.com/IntelPython/dpctl/pull/562)
+- Moved sycl timer into dpctl.SyclTimer [#555](https://github.com/IntelPython/dpctl/pull/555)
+- Used clang-format off, clang-format on to avoid include reordering in pybind11 example [#588](https://github.com/IntelPython/dpctl/pull/588)
### Fixed
-- Implemented a workaround for running conda-build using Klocwork (#566)
-- Separated pipelines for Linux and Windows (#582)
-- Fixed inconsistency in `__sycl_usm_array_interface__` of `usm_ndarray` instance (#584)
-- Fixed memory leak: Capsule deleters now free resources for renamed capsules too (#568)
-- Fixed __version__ test to allow for semantic versioning (#569)
-- Improved coverage of _types.pxi (#556)
-- Fixed `UnboundLocalError` when default queue could not be created (#554)
+- Implemented a workaround for running conda-build using Klocwork [#566](https://github.com/IntelPython/dpctl/pull/566)
+- Separated pipelines for Linux and Windows [#582](https://github.com/IntelPython/dpctl/pull/582)
+- Fixed inconsistency in `__sycl_usm_array_interface__` of `usm_ndarray` instance [#584](https://github.com/IntelPython/dpctl/pull/584)
+- Fixed memory leak: Capsule deleters now free resources for renamed capsules too [#568](https://github.com/IntelPython/dpctl/pull/568)
+- Fixed __version__ test to allow for semantic versioning [#569](https://github.com/IntelPython/dpctl/pull/569)
+- Improved coverage of _types.pxi [#556](https://github.com/IntelPython/dpctl/pull/556)
+- Fixed `UnboundLocalError` when default queue could not be created [#554](https://github.com/IntelPython/dpctl/pull/554)
## [0.9.0] - 08/25/2021
### Added
-- Improvements to logic for working with custom DPC++ toolchain (#481)
-- Add SyclContext unit test cases (#488)
-- Consolidate configurations of tools that support PEP 518 into pyproject.toml (#486)
-- Added C-API hash function, used them in Python interface (#491)
+- Improvements to logic for working with custom DPC++ toolchain [#481](https://github.com/IntelPython/dpctl/pull/481)
+- Add SyclContext unit test cases [#488](https://github.com/IntelPython/dpctl/pull/488)
+- Consolidate configurations of tools that support PEP 518 into pyproject.toml [#486](https://github.com/IntelPython/dpctl/pull/486)
+- Added C-API hash function, used them in Python interface [#491](https://github.com/IntelPython/dpctl/pull/491)
- Add missing extra checks to ensure unwrapped pointer is not Null
- Add error messages to L0 program creation routine
-- Improve test coverage for dpctl_sycl_queue_interface (#492)
-- Use pytest.warns in test_lsplatform3 (#495)
-- Added test class to test DRef=nullptr case (#496)
-- Extend parameterized test in test_sycl_queue_interface (#497)
+- Improve test coverage for dpctl_sycl_queue_interface [#492](https://github.com/IntelPython/dpctl/pull/492)
+- Use pytest.warns in test_lsplatform3 [#495](https://github.com/IntelPython/dpctl/pull/495)
+- Added test class to test DRef=nullptr case [#496](https://github.com/IntelPython/dpctl/pull/496)
+- Extend parameterized test in test_sycl_queue_interface [#497](https://github.com/IntelPython/dpctl/pull/497)
- Use Memcpy, memadvise in tests
- Expanded types tests by TestQueueSubmitRange
-- Added a test that retrieved DPCPP compiled kernel and submits them via DPCTLQueue_SubmitRange (#499)
-- Add DPCTLEvent_Copy (#504), DPCTLEvent_GetBackend (#507), DPCTLEvent_GetCommandExecutionStatus (#516),
- DPCTLEvent_WaitAndThrow (#513), DPCTLEvent_GetWaitList (#510) functions
-- Propagate compile flags (#512)
-- Add conda package CI pipeline on GitHub Actions (#515)
-- Run tests on GPU (#518)
-- Add 3 wrapper func for event::get_profiling_info (#519)
+- Added a test that retrieved DPCPP compiled kernel and submits them via DPCTLQueue_SubmitRange [#499](https://github.com/IntelPython/dpctl/pull/499)
+, DPCTLEvent_GetCommandExecutionStatus [#516](https://github.com/IntelPython/dpctl/pull/516),
+, DPCTLEvent_GetWaitList [#510](https://github.com/IntelPython/dpctl/pull/510) functions
+- Propagate compile flags [#512](https://github.com/IntelPython/dpctl/pull/512)
+- Add conda package CI pipeline on GitHub Actions [#515](https://github.com/IntelPython/dpctl/pull/515)
+- Run tests on GPU [#518](https://github.com/IntelPython/dpctl/pull/518)
+- Add 3 wrapper func for event::get_profiling_info [#519](https://github.com/IntelPython/dpctl/pull/519)
- Changes to build_backend.py to enable sycl-compiler-prefix on Windows
-- dtype keyword of usm_ndarray now supports np.double and other types (#526)
+- dtype keyword of usm_ndarray now supports np.double and other types [#526](https://github.com/IntelPython/dpctl/pull/526)
- Implemented DPCTLQueue_SubmitBarrier, DPCTLQueue_SubmitBarrierForEvents,
- SyclQueue.submit_barrier (#524)
+SyclQueue.submit_barrier [#524](https://github.com/IntelPython/dpctl/pull/524)
- Added C-API DPCTLQueue_HasEnableProfiling
- Added Python API SyclQueue.has_enable_profiling
- Use public for data owning class definitions
-- Queue has enable profiling (#531)
-- Use public for data owning class definitions (#533)
-- Added logic to verify that all bits of property integer were recognized and used (#494)
+- Queue has enable profiling [#531](https://github.com/IntelPython/dpctl/pull/531)
+- Use public for data owning class definitions [#533](https://github.com/IntelPython/dpctl/pull/533)
+- Added logic to verify that all bits of property integer were recognized and used [#494](https://github.com/IntelPython/dpctl/pull/494)
- Added support for some properties/methods of underluing device
- A test for properties, method of q mirroring that of device
-- Conda build scripts should build wheels in the same setup invocation as install (#538)
+- Conda build scripts should build wheels in the same setup invocation as install [#538](https://github.com/IntelPython/dpctl/pull/538)
- Added install_requires keyword to setup call
-- Added requirements.txt files in dpctl/ and in dpctl/docs (#540)
-- Improved C-API for dpctl Cython classes, added example of using them in Pybind11 extension. (#550)
-- dpctl.SyclEvent acquired ability to get command status and get profiling information. (#553)
+- Added requirements.txt files in dpctl/ and in dpctl/docs [#540](https://github.com/IntelPython/dpctl/pull/540)
+- Improved C-API for dpctl Cython classes, added example of using them in Pybind11 extension. [#550](https://github.com/IntelPython/dpctl/pull/550)
+- dpctl.SyclEvent acquired ability to get command status and get profiling information. [#553](https://github.com/IntelPython/dpctl/pull/553)
### Changed
-- Moved DPCLSyclInterface library from MANIFEST.in (#482)
+- Moved DPCLSyclInterface library from MANIFEST.in [#482](https://github.com/IntelPython/dpctl/pull/482)
- Refactored tests
-- Use dpcpp compiler package for Linux (#514)
+- Use dpcpp compiler package for Linux [#514](https://github.com/IntelPython/dpctl/pull/514)
- Update conda-package.yml
-- Static methods _init_helper made into functions and removed from PXD files (#532)
+- Static methods _init_helper made into functions and removed from PXD files [#532](https://github.com/IntelPython/dpctl/pull/532)
### Removed
-- Remove imports from __future__ (#485)
+- Remove imports from __future__ [#485](https://github.com/IntelPython/dpctl/pull/485)
### Fixed
-- Fix sub devices (#479)
-- Fix addressof_ref function in `SyclContext` (#488)
-- Follow `DPCTLDevice_CreateFromSelector` which passes the check (#487)
-- Fix a typo in the pytest configuration (#490)
+- Fix sub devices [#479](https://github.com/IntelPython/dpctl/pull/479)
+- Fix addressof_ref function in `SyclContext` [#488](https://github.com/IntelPython/dpctl/pull/488)
+- Follow `DPCTLDevice_CreateFromSelector` which passes the check [#487](https://github.com/IntelPython/dpctl/pull/487)
+- Fix a typo in the pytest configuration [#490](https://github.com/IntelPython/dpctl/pull/490)
- Fixed dbg_build.sh script for Linux to use L0
- Reuse IntelSycl_LIBRARY_DIR variable in cmake
- CXX, dpcpp used on Windows too
- Update conda-recipe/bld.bat
-- Change to SyclQueue.__repr__ to reflect properties (#531)
-- Static methods `_init_helper` made into functions and removed from PXD files (#532)
-- Fixed typo in pip installation instruction (#536)
-- Fixed dpctl_config.h, added dpctl_service.h, .cpp (#539)
-- Fixed `__sycl_usm_array_interface__` output for 0d arrays (#547)
+- Change to SyclQueue.__repr__ to reflect properties [#531](https://github.com/IntelPython/dpctl/pull/531)
+- Static methods `_init_helper` made into functions and removed from PXD files [#532](https://github.com/IntelPython/dpctl/pull/532)
+- Fixed typo in pip installation instruction [#536](https://github.com/IntelPython/dpctl/pull/536)
+- Fixed dpctl_config.h, added dpctl_service.h, .cpp [#539](https://github.com/IntelPython/dpctl/pull/539)
+- Fixed `__sycl_usm_array_interface__` output for 0d arrays [#547](https://github.com/IntelPython/dpctl/pull/547)
## [0.8.0] - 05/26/2021
### Added
- Implemented support for constructing MemoryUSM* from object with
- __sycl_usm_array_interface__ when array-info is not contiguous (#400)
-- Print the backend as part of SyclDevice.print_device_info function (#409)
-- Added dpctl/tensor/_usmarray submodule (#427)
-- Added arg checking to functions in dpctl_sycl_usm_interface.cpp (#430)
-- A static method of _Memory to create from external allocation (#430)
-- Added usm_ndarray accessors (#435)
-- Added Device class representing Data-API notion of device (#440)
-- Added free Python function as_usm_memory(obj) (#443) and associated unit
- tests (#449)
-- Dependency for numpy 1.17 (#445)
-- Add a flag to make doxygen HTML generation optional (#450)
+__sycl_usm_array_interface__ when array-info is not contiguous [#400](https://github.com/IntelPython/dpctl/pull/400)
+- Print the backend as part of SyclDevice.print_device_info function [#409](https://github.com/IntelPython/dpctl/pull/409)
+- Added dpctl/tensor/_usmarray submodule [#427](https://github.com/IntelPython/dpctl/pull/427)
+- Added arg checking to functions in dpctl_sycl_usm_interface.cpp [#430](https://github.com/IntelPython/dpctl/pull/430)
+- A static method of _Memory to create from external allocation [#430](https://github.com/IntelPython/dpctl/pull/430)
+- Added usm_ndarray accessors [#435](https://github.com/IntelPython/dpctl/pull/435)
+- Added Device class representing Data-API notion of device [#440](https://github.com/IntelPython/dpctl/pull/440)
+- Added free Python function as_usm_memory(obj) [#443](https://github.com/IntelPython/dpctl/pull/443) and associated unit
+tests [#449](https://github.com/IntelPython/dpctl/pull/449)
+- Dependency for numpy 1.17 [#445](https://github.com/IntelPython/dpctl/pull/445)
+- Add a flag to make doxygen HTML generation optional [#450](https://github.com/IntelPython/dpctl/pull/450)
- Added a feature to get the filter string for a device from Python using the
- new dpctl.SyclDevice.get_filter_string method. Also added the corresponding
- DPCTLDeviceMgr_GetPositionInDevices(DRef, device_mask) C API function (#453)
+new dpctl.SyclDevice.get_filter_string method. Also added the corresponding
+DPCTLDeviceMgr_GetPositionInDevices(DRef, device_mask) C API function [#453](https://github.com/IntelPython/dpctl/pull/453)
- New options to setup.py to specify which dpcpp compiler to use, if L0
- program creation is to be supported, and to generate code coverage (#426)
-- Github action to check Python code quality (#422)
-- Github action to auto-publish Sphinx docs for master (#446)
-- Github action to generate coverage report and publish to coveralls.io (#459)
+program creation is to be supported, and to generate code coverage [#426](https://github.com/IntelPython/dpctl/pull/426)
+- Github action to check Python code quality [#422](https://github.com/IntelPython/dpctl/pull/422)
+- Github action to auto-publish Sphinx docs for master [#446](https://github.com/IntelPython/dpctl/pull/446)
+- Github action to generate coverage report and publish to coveralls.io [#459](https://github.com/IntelPython/dpctl/pull/459)
### Changed
-- Rename dpctl.dptensor to dpctl.tensor (#407)
-- Changed repr for Memory objects (#442)
+- Rename dpctl.dptensor to dpctl.tensor [#407](https://github.com/IntelPython/dpctl/pull/407)
+- Changed repr for Memory objects [#442](https://github.com/IntelPython/dpctl/pull/442)
- Used dpctl.SyclQueue instead of manager and get current queue in tests for
- SyclProgram (#448)
+SyclProgram [#448](https://github.com/IntelPython/dpctl/pull/448)
-
### Fixed
-- Issue #189 dpctl.memory.MemoryUSMShared(np.int64(16)) should work (#392)
-- Use size_t instead of Py_ssize_t to fit device USM pointer (#405)
+- Issue #189 dpctl.memory.MemoryUSMShared(np.int64(16)) should work [#392](https://github.com/IntelPython/dpctl/pull/392)
+- Use size_t instead of Py_ssize_t to fit device USM pointer [#405](https://github.com/IntelPython/dpctl/pull/405)
- Various code quality issues identified by flake8 (#417, #419, #420, #422)
-- Fixed issues in slicing and array construction (#441)
-- Fixed an issue (#447) where dpctl.get_devices does not return devices in the
- same order as sycl::device::get_devices (#451)
-- L0 program creation support on Windows (#319)
+- Fixed issues in slicing and array construction [#441](https://github.com/IntelPython/dpctl/pull/441)
+- Fixed an issue [#447](https://github.com/IntelPython/dpctl/pull/447) where dpctl.get_devices does not return devices in the
+same order as sycl::device::get_devices [#451](https://github.com/IntelPython/dpctl/pull/451)
+- L0 program creation support on Windows [#319](https://github.com/IntelPython/dpctl/pull/319)
### Removed
-- Removing public keyword to get_current_queue Cython declaration (#437)
+- Removing public keyword to get_current_queue Cython declaration [#437](https://github.com/IntelPython/dpctl/pull/437)
## [0.7.0] - 05/03/2021
### Added
- Complete support for `sycl::ONEAPI::filter_selector` in dpctl.
-- C API for `sycl::queue` (#323), `syc::context` (#331), and `sycl::platform` (#298)
- creation using opaque pointers.
+, and `sycl::platform` [#298](https://github.com/IntelPython/dpctl/pull/298)
+creation using opaque pointers.
- A `DPCTLDeviceMgr` module in C API that caches a default context for root
- devices (#277).
+devices [#277](https://github.com/IntelPython/dpctl/pull/277).
- `DPCTLSyclBackendType` and `DPCTLSyclDeviceType` have a new member `ALL`
- (#287).
+[#287](https://github.com/IntelPython/dpctl/pull/287).
- C API now provides helper functions to convert between dpctl and SYCL enum
- values (#296).
-- Macros to help create opaque vector classes for opaque SYCL types (#297).
-- `SyclDevice` (#321), `SyclContext` (#334), `SyclPlatform` (#336, #298),
- `SyclQueue` (#323) have constructors that recognize filter selectors and closely
- follow DPC++ interface.
-- Add API to get a `PyCapsule` from `SyclQueue`, `SyclContext` instances (#350).
+values [#296](https://github.com/IntelPython/dpctl/pull/296).
+- Macros to help create opaque vector classes for opaque SYCL types [#297](https://github.com/IntelPython/dpctl/pull/297).
+, `SyclContext` [#334](https://github.com/IntelPython/dpctl/pull/334), `SyclPlatform` (#336, #298),
+`SyclQueue` [#323](https://github.com/IntelPython/dpctl/pull/323) have constructors that recognize filter selectors and closely
+follow DPC++ interface.
+- Add API to get a `PyCapsule` from `SyclQueue`, `SyclContext` instances [#350](https://github.com/IntelPython/dpctl/pull/350).
- Added `get_queue_ref_from_ptr_and_syclobj(ptr, syclobj)` that creates
- `DPCTLSyclQueueRef` from a USM pointer and Python object `syclobj` from
- `__sycl_usm_array_interface__` (#380).
+`DPCTLSyclQueueRef` from a USM pointer and Python object `syclobj` from
+`__sycl_usm_array_interface__` [#380](https://github.com/IntelPython/dpctl/pull/380).
- Support for SYCL sub-devices, including sub-device creation, queue, and
- context creation using sub-devices (#343).
+context creation using sub-devices [#343](https://github.com/IntelPython/dpctl/pull/343).
- `SyclDevice.parent_device` property to indicate if an instance has a parent
- device (#366).
+device [#366](https://github.com/IntelPython/dpctl/pull/366).
- Several new getter functions for device info descriptors to device interface
- (#300, #335, #318, #315, #308).
-- Support for SYCL device aspects (#307).
+(#300, #335, #318, #315, #308).
+- Support for SYCL device aspects [#307](https://github.com/IntelPython/dpctl/pull/307).
- Properties for every `sycl::device` info and aspect that we support in
- `SyclDevice` (#324).
-- Support handling async errors inside `SylQueue` instances (#346).
-- `get_backend`, `get_platform`, `get_device_type` to Python `SyclDevice` class (#300)
+`SyclDevice` [#324](https://github.com/IntelPython/dpctl/pull/324).
+- Support handling async errors inside `SylQueue` instances [#346](https://github.com/IntelPython/dpctl/pull/346).
+- `get_backend`, `get_platform`, `get_device_type` to Python `SyclDevice` class [#300](https://github.com/IntelPython/dpctl/pull/300)
- A `_sycl_device_factory.pyx` module providing `SyclDevice` constructors using
- standard `sycl::device_selector` classes (previously in `_sycl_device.pyx`)
- and a new `get_devices` (#277) function to enumerate all devices.
+standard `sycl::device_selector` classes (previously in `_sycl_device.pyx`)
+and a new `get_devices` [#277](https://github.com/IntelPython/dpctl/pull/277) function to enumerate all devices.
- `_sycl_device_factory.pyx` implements `get_num_devices` and `has_*_device(s)`
- functions (#320).
-- Enable Python coverage in CI for Linux (#369).
+functions [#320](https://github.com/IntelPython/dpctl/pull/320).
+- Enable Python coverage in CI for Linux [#369](https://github.com/IntelPython/dpctl/pull/369).
- Use `public` keyword in `_sycl_*.pxd` to generate header files allowing
- non-Cython centric native extensions to work with dpctl's Python objects
- (#218).
-- Documentation improvements (#341).
+non-Cython centric native extensions to work with dpctl's Python objects
+[#218](https://github.com/IntelPython/dpctl/pull/218).
+- Documentation improvements [#341](https://github.com/IntelPython/dpctl/pull/341).
### Changed
-- Rename dpCtl to dpctl in all comments, license headers, and docs. (#342)
+- Rename dpCtl to dpctl in all comments, license headers, and docs. [#342](https://github.com/IntelPython/dpctl/pull/342)
- `dpctl.memory.MemoryUSM*` constructors now use `dpctl.SyclQueue()` instead of
- `dpctl.get_current_queue()` when the `queue` keyword argument is `None` (default) (#382).
-- `dpctl.set_default_queue` has been renamed to `dpctl.set_global_queue()` (#323).
-- Changed `dpctl.dump` to `dpctl.lsplatform` (#336).
+`dpctl.get_current_queue()` when the `queue` keyword argument is `None` (default) [#382](https://github.com/IntelPython/dpctl/pull/382).
+- `dpctl.set_default_queue` has been renamed to `dpctl.set_global_queue()` [#323](https://github.com/IntelPython/dpctl/pull/323).
+- Changed `dpctl.dump` to `dpctl.lsplatform` [#336](https://github.com/IntelPython/dpctl/pull/336).
- Various `SyclDevice` methods related to querying `sycl::info::device` were converted
- to properties (#324).
+to properties [#324](https://github.com/IntelPython/dpctl/pull/324).
- Various C API functions names were changed.
### Fixed
-- Possible crashes when a SYCL platform is not available (#349).
-- Fix tests which fail if GPU is not available (only CPU is available) (#359).
-- Fix breaking C API tests (#358).
-- Bandit warning about "subprocess.check_call(shell=True)" for Windows (#306).
+- Possible crashes when a SYCL platform is not available [#349](https://github.com/IntelPython/dpctl/pull/349).
+- Fix tests which fail if GPU is not available (only CPU is available) [#359](https://github.com/IntelPython/dpctl/pull/359).
+- Fix breaking C API tests [#358](https://github.com/IntelPython/dpctl/pull/358).
+- Bandit warning about "subprocess.check_call(shell=True)" for Windows [#306](https://github.com/IntelPython/dpctl/pull/306).
### Removed
- Removed `get_num_platforms`, `has_cpu_queues`, `has_gpu_queues`, `get_num_queues`,
- `has_sycl_platforms` (#320).
+`has_sycl_platforms` [#320](https://github.com/IntelPython/dpctl/pull/320).
## [0.6.1] - 2021-03-01
### Fixed
@@ -352,14 +378,14 @@ supports USM.
### Fixed
- Several crashes in cases where an OpenCL or Level Zero platform is not available.
- - Fix failing platform test case. (#116)
- - Properly skip tests when no OpenCL devices are available.
- - Add skip tests to test_sycl_usm.py
- - Fix Gtests configuration.
+- Fix failing platform test case. [#116](https://github.com/IntelPython/dpctl/pull/116)
+- Properly skip tests when no OpenCL devices are available.
+- Add skip tests to test_sycl_usm.py
+- Fix Gtests configuration.
## [0.3.7] - 2020-10-08
### Fixed
-- A crash on Windows due a Level Zero driver problem. Each device was getting enumerated twice. To handle the issue, we added a temporary fix to use only first device for each device type and backend (#118).
+- A crash on Windows due a Level Zero driver problem. Each device was getting enumerated twice. To handle the issue, we added a temporary fix to use only first device for each device type and backend [#118](https://github.com/IntelPython/dpctl/pull/118).
## [0.3.6] - 2020-10-06
### Added