Release Announcement for Version 6.4

Racket v6.4

- We fixed a security vulnerability in the web server.  The existing
  web server is vulnerable to a navigation attack if it is also
  enabled to serve files statically; that is, any file readable by the
  web server is accessible remotely.

- DrRacket's scrolling is faster.

- Incremental garbage-collection mode can eliminate long pauses in a
  program. For example, incremental mode is useful for avoiding pauses
  in games and animations.

  Programs must specifically request incremental mode with
  `(collect-garbage 'incremental)`, but libraries such as
  `2htdp/universe` include the request as part of the library's

- The default package catalog is an HTTPS address instead of HTTP, and
  package operations properly validate server certificates when using

- Documentation may define their own categories for the manual top-
  level page by using strings, rather than only symbols that name
  pre-defined categories.

- The Racket cheat sheet is included in the main distribution.

- DrRacket is available in Bulgarian, thanks to Alexander Shopov.

- The contract Typed Racket generates for the `Any` type is more
  permissive, allowing more typed/untyped programs to work without
  contract errors.

- Redex supports binding specifications; describe which variables bind
  in which expressions and your metafunctions and reduction relations
  automatically become scope-sensitive. Thanks to Paul Stansifer for
  this improvement.

- All `pict` functions accept `pict-convertible`s. This allows for
  transparent interoperability between `pict` and  libraries like

- The `raco profile` and `raco contract-profile` commands provide easy
  access to profiling tools, without requiring program modifications.