[racket-dev] Release Announcement for v5.1.2, second round

From: Eli Barzilay (eli at barzilay.org)
Date: Mon Aug 1 16:11:34 EDT 2011

The release announcement sketch that I have so far is below.  Please
mail me new items and/or edits.

Robby and Jay -- two pending items:

? New racket/contract/combinator library and some contract module
  reorganization (this is in 21cbd9ad)

? New `scriblib/bibtex' that can read bibliographic databases in
  bibtex format.

* The download page includes 64-bit installers for Windows, Mac OS
  X, and two Debian flavors.

* Racket now includes a new `racket/place' library to support
  parallelism, complementing `racket/future'.  Racket's parallel
  build process is now based on places instead of multiple OS

  Places support share-nothing parallelism and message-passing
  communication.  Compared to futures, places are heavyweight, but
  they have a simpler performance model.

* The syntax-certificate system has been replaced by a syntax-taint
  system.  Both certificates and taints were designed to protect
  otherwise inaccessible bindings from abuse when they appear in
  macro expansions.  Taints are simpler and lighter, and the switch
  closes known holes in the certificate system.  Macros that are not
  implemented with `syntax-rules' or `define-syntax-rule', however,
  must explicitly use `syntax-protect' to protect their expansions
  from abuse.

* The `net/url' library supports HTTPS connections, but beware that
  by default all sites are accepted (equivalent to ignoring a
  browser's warnings about untrusted certificates).

* The `for' forms now support an `#:unless' clause, and a
  nonnegative integer can be used as a sequence.  The new `compose1'
  function creates single-valued composition functions.  The
  `racket/function' library now provides `identity', `thunk', and

* Error messages in the student languages use a smaller vocabulary
  and consistent phrasings.  If you maintain curriculum material or
  teachpacks then please consider updating.  See the "Error Message
  Composition Guidelines" section in the documentation for details.

* Typed Racket: almost all core Racket data structures and
  operations are now accessible in Typed Racket (most of this work
  is due to prolific contributor Eric Dobson).  The performance of
  the typechecker has been significantly improved.

* The license has been clarified: we now use LGPLv2.1 uniformly.
  (The license file used to specify LGPLv2, contrary to the download
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.