Dear Chapel community --

Cray, a Hewlett Packard Enterprise Company, and the Chapel open-source
community are proud to announce the release of Chapel version 1.21!

[Mac users: the Homebrew formula is still working its way through the
system... see https://github.com/Homebrew/homebrew-core/pull/52790 ]

This is the first of two releases that we will be making this month.
Chapel 1.21 is our typical semi-annual release containing numerous
feature and performance improvements.  Chapel 1.22 will focus on
changing Chapel's implicitly indexed types to 0-based indexing from
Chapel's historical choice of 1-based.  We recommend that users with
existing Chapel code incrementally upgrade to version 1.21 before 1.22
in order to ease the transition.

Chapel 1.21 includes the following highlights, many of which support
our goal of stabilizing Chapel's core features for a forthcoming
Chapel 2.0 release:

* Chapel's modules and namespaces have improved in a number of ways,
  including:

  - the addition of a new `import` statement that provides a more
    precise way of referring to a module's contents

  - a new ability to rename modules when they're used via `as` (e.g.,
    `use MyLongModuleName as M;`)

  - prototypical support for storing a module's sub-modules in their
    own files

  - reduced bleeding of symbols between modules by making `use`
    private by default and leveraging it in Chapel-provided modules

* Chapel strings are now validated to ensure that they are UTF8, and
  the `bytes` type has been improved to be a true peer to strings.

* Chapel now supports split initialization of variables, constants,
  types, params, and refs, which permits the declaration of a symbol
  to occur in a distinct statement from its initialization.

* We added several features that support a more index-neutral style of
  programming, such as support for looping over heterogeneous tuples
  and a `.indices` query for most collection types.

* This release also contains several new performance improvements and
  optimizations including:

  - better performance and scalability when creating distributed
    domains and arrays

  - improvements to the unordered operation optimization and its
    associated `unorderedCopy()` routine

  - optimized `on`-statement performance for InfiniBand networks

  - improved performance (and correctness) of mis-aligned `ugni` data
    transfers

* The language specification has been converted from PDF to HTML to
  better integrate it with Chapel's other online documentation (see
  https://chapel-lang.org/docs/language/spec/index.html)

* The `ofi`/libfabric implementation of the runtime has improved in
  terms of functionality, portability, and performance.

In addition, Chapel 1.21 contains many other feature enhancements, bug
fixes, and documentation improvements.  For a far more complete list
of changes, including pointers to supporting documentation, please
refer to CHANGES.md within the release or online:

  https://github.com/chapel-lang/chapel/blob/release/1.21/CHANGES.md

To download and install the release, see:

  https://chapel-lang.org/download.html

And for a list of everyone who contributed to Chapel 1.21, please see:

  https://github.com/chapel-lang/chapel/blob/release/1.21/CONTRIBUTORS.md

As always, we're interested in feedback on how we can make the Chapel
language, implementation, libraries, and tools more useful to you.

On behalf of the Chapel project,
-Brad Chamberlain


------------------------------------
For further information about Chapel
------------------------------------

Whether you're a user of Twitter or Facebook, or would simply enjoy
checking in on us from time-to-time, Chapel's social media pages have
a reasonably steady stream of content about the project and language:

   https://twitter.com/ChapelLanguage
   https://www.facebook.com/ChapelLanguage

Our development repository is hosted at GitHub, making it the best
place to track, or contribute to, ongoing Chapel development:

   https://github.com/chapel-lang/chapel

The Chapel website can be found at:

   https://chapel-lang.org

and it remains the best place to find Chapel-related information such
as videos, papers, presentations, blog posts, and tutorials.


_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users

Reply via email to