Release Announcement for Version 6.0

Racket v6.0

Racket 6.0 has a new package system, including a catalog of
hundreds of already-available packages. Please visit

   http://pkgs.racket-lang.org/

for an overview of the packages.

Racket versions 5.3.4 through 5.3.6 included "beta" versions of the
package system. Racket version 6.0 incorporates many improvements
suggested by preliminary experiences in those versions:

  * A package is treated as a single collection by default, so it is
    even easier to use a GitHub repository as a package. Get started
    quickly:
      http://docs.racket-lang.org/pkg/getting-started.html

  * DrRacket includes a new package manager GUI, available via the
    File|Package Manager ... menu item. The GUI is also available
    as a stand-alone program via the "gui-pkg-manager" package.

  * The main Racket distribution has been separated into about 200
    packages. The Racket installer combines the core system with
    bundled versions of these packages.

    Alternatively, you may now install a Minimal Racket distribution
    --- which is about 1/10 the size of the main distribution --- and
    add only those packages that you need.

  * Package installation supports pre-built packages that include
    compiled byte code and rendered documentation, meaning packages can
    be installed quickly when built versions are available. All
    packages in the main distribution are available in pre-built form.

The recent 5.92 and 5.93 releases served as release candidates for 6.0,
and 6.0 includes a few additional repairs related to the package
system.

Further improvements to the package system are in the works, notably
including package documentation on the package-catalog web site.

COMPATIBILITY NOTE: PLaneT, the previous Racket package system, will
remain in place for the foreseeable future, but we expect all package
work to shift to the new system.

Beyond the package system, this release brings a number of other
changes:

  * Racket's HTML documentation has a new and improved look, thanks to
    Matthew Butterick.

  * The documentation includes a style guide, "How to Program Racket"
    http://docs.racket-lang.org/style/

  * Racket's JIT compiler supports the ARM architecture.

  * Racket supports the Mac's Retina display mode.

  * The performance of the Typed Racket compiler improved by 50% on
    some typed programs; e.g., see http://bit.ly/1d0Ye4z

  * The profiler provides a new mode that uses the errortrace library
    to produce fine-grained profiles.

  * A new contract profiler reports how much time programs spend
    checking contracts, and which contracts are most expensive.

  * The math/flonum library exports fast 105-bit precision operations.

  * Check Syntax handles generated identifiers, especially those
    introduced by struct (e.g. field selectors) and Redex (e.g., e_1,
    e_2)

  * 2htdp/batch-io includes functions for dealing with html/xml in
    files and web sites as X-expressions plus conveniences for
    web-based graph traversals.

  * The `gen:set' generic interface extends set operations to work on
    user-defined types that implement set methods, as well as on other
    set-like built-in types, such as lists.

  * Picts support conversion to SVG format.

  * Under unix, Racket provides desktop entries (.desktop files) for
    its graphical executables.