Racket v8.6 Released

catsay racket v8.6

Racket version 8.6 is now available from https://download.racket-lang.org/

As of this release:

  • Racket has an “equal-always?” primitive that equates values that will stay the same even if mutated. See equal-always? in the Racket Reference.
  • This release uses a new build system, Zuo, which is implemented as a little language, in accordance with the ideas of Language Oriented Programming (LOP). The implementation has a single C file (plus libraries implemented in Zuo), so it compiles easily. The zuo/build library is modeled on make and Shake for tracking dependencies and build steps. See Zuo: A Tiny Racket for Scripting and New build system pushed to Git repo
  • Racket supports stencil vectors, which associate a virtual bitmask with a vector, enabling certain mask-equipped update operations. See 4.13 Stencil Vectors
  • Racket supports Arm64 machines running Windows.
  • Redex has support for simultaneous substitutions. See 4 The Redex Reference
  • The Web Server provides control over the maximum number of concurrent connections via its “safety limits” construct. See 1 Dispatching Server
  • The Web Server has improved logging performance and improved request parsing performance, reducing tail latencies.
  • The Web Server supports logging response status code via web-server/dispatchers/dispatch-logresp. See 2.9 Logging
  • The db library supports custom types for PostgreSQL connections; see pg-custom-type for details. See 5 Utilities
  • The release includes many other repairs and changes!

The following people contributed to this release:

Alex Knauth, Alexander Shopov, Alexis King, Amirouche Amazigh BOUBEKKI, Andy Keep, Ashish SHUKLA, Bob Burger, Bogdan Popa, Cameron Moy, Chung-chieh Shan, David K. Storrs, FrankHB, Fred Fu, Gustavo Massaccesi, helado de brownie, J. Ryan Stinnett, Jack Firth, Jamie Taylor, Jason Hemann, Jens Axel Søgaard, Jimmy McNutt, Joel Dueck, John Clements, José Manuel Calderón Trilla, Kevin Tew, Laurent Orseau, Matt Audesse, Matthew Flatt, Matthias Felleisen, Mike Sperber, naveen srinivasan, Niklas Larsson, Noah Ma, Oscar Waddell, Pavel Panchekha, Phil Nguyen, Philip McGrath, Philippe Meunier, rgkirch, Robby Findler, Robert Postill, Ryan Culpepper, Sam Tobin-Hochstadt, Sergiu Ivanov, Sorawee Porncharoenwase, Stephen De Gabrielle, Vincent Lee, wackbyte, and Zibing Zhang

Link to package regressions issue for the 8.6 release: Release Regressions for 8.6 · Issue #4366 · racket/racket · GitHub

Official installers for Racket on many platforms are available from https://download.racket-lang.org/.

If you are new to Racket try our Getting started guide.

Questions and feedback about the release are welcome on Discourse.

Upgrading Racket

  1. download from https://download.racket-lang.org
  2. run the installer

Note: multiple racket installations can coexist on a single machine as long as they are in different locations so you may keep or discard your old one.

  1. update $PATH. (See: Configure Command Line for Racket)
  2. open terminal and run raco pkg migrate to update any locally installed packages

If you want all the latest changes Snapshot Builds for nightly updates.

If you have questions Racket Discourse (forum/mailing list) and Racket Discord are the most active places.

(Thank you to Dr Dionna Amalie Glaze for the standard-cat.)


I'd also like to thank the following people for working at the last moment to help ensure racket was available in other package managers

@leahneukirchen for updating Racket 8.6 for Void Linux
@zyga for publishing a Racket 8.6 Snap to the beta channel.
@LiberalArtist for sending the updates for Guix in: [PATCH 0/6] gnu: Update Racket to 8.6
@xgqt & @tgbugs for updating the Racket Gentoo Package


PS If YOU use another package manager and have updated it to Racket v8.6 please let us know!


I have co-maintained the Racket package for OpenSUSE Tumbleweed since I started using it as my daily driver. The builds of 8.6 are underway. It might take another day to get into the latest snapshot of Tumbleweed.


Thanks @capfredf :racket_heart:

Please let us know how it progresses.
Best regards

The package update has been merged into the Factory. End users should see the latest Racket in the next or the one after the next snapshot


I've released racket snap to the stable channel, where it can be found and installed more easily.