
                           TILEDARRAY REVISION HISTORY

Following is a brief summary of changes made in each release of TiledArray.

- 16-November-2020: 1.0.0
  - resolved issue 77: negative indices are supported, use signed 1-index type by default (this brings TA::Range
    in sync with btas::RangeNd), to revert to legacy behavior configure with TA_SIGNED_1INDEX_TYPE=OFF (PR #214)
  - removed interface to Elemental (PR #201)
  - added Python interface (PR #198 and #212)
  - added interface to ScaLAPACK (PR #173)
  - added ability to fuse vector<DistArray> -> DistArray and extract subarray from the fused array (PR #160 and #162)
  - resolved boost check issue (PR #161)
  - revamped TA::foreach and improved conversions to be able to handle non-standard policies
  - C++17 is now prerequisite
  - CUDA 11 is now prerequisite for execution on NVIDIA GPUs; CMake 3.18 is required if CUDA is enabled

- 07-June-2019: 1.0.0-alpha.2
  - modernized CMake handling of CUDA, CMake 3.10 is now required
  - improved CMake handling of MADNESS arguments, e.g. gperftools
  - Pmaps no longer have to store O(N) data, and no existing Pmap does

- 09-May-2019: 1.0.0-alpha.1
  - first-class support for CUDA; requires Umpire [github.com/LLNL/Umpire] and cuTT [github.com/ValeevGroup/cutt
    fork of github.com/ap-hynninen/cutt], both can be installed automatically
  - better usability with BTAS tensors and hierarchical tiles (i.e. tensors of tensors)
  - disabled automatic conversion of multiply expressions into scalars
  - updates to support C++17 (but only C++14 is required)
  - resolved issues 145, 157
  - bump to CMake 3.8

- 15-Feb-2018: 0.7.0
  - MADNESS bump to 0.11.0, requires C++14 as the result
  - added interface to latest Elemental ('El')
  - resolved issues 96, 100, 101, 102, 104, 106, 107, 108, 110, 124
  - significant API changes:
    - mixed-expressions branch is incorporated, it makes possible to implement operations on arrays of different types,
      e.g. sparse + dense = dense, etc. It also supports asynchronous tile conversion operators (i.e. returning Future<Tile>
      rather than Tile) to support expensive/communicating conversions.
    - added expr.set_{world,shape,pmap}() to override the computed defaults; key application is to
      impose the sparsity on the result of an expression
    - TiledRange1::element2tile -> TiledRange1::element_to_tile for consistency with TiledRange
    - ArrayIiterator -> ArrayIterator
  - BTAS is a required dependence, automatically installed if missing

- 27-Nov-2016: 0.6.0
  - block expression code
  - DSL extensions to "force" shape, world, and pmap
  - minor API improvements and bug fixes.
