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 onmake
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; seepg-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
- download from https://download.racket-lang.org
- 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.
- update $PATH. (See: Configure Command Line for Racket)
- 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.