Racket v9.2 is now available

spdegabrielle1 pts1 comments

Racket v9.2

Racket<br>blog

27 May 2026

posted by Stephen De Gabrielle and John Clements

We are pleased to announce Racket v9.2 is now available from https://download.racket-lang.org/.

As of this release:

The match form checks that when non-linear patterns (patterns where the same variable is used multiple times) are used with ..., the two parts of the matched value actually are equal. Additionally, match rejects non-linear patterns where one use of the variable is used with ... and another is not. This repair could cause existing code to fail.

Typed Racket&rsquo;s types for the asin and acos procedures correctly handle situations where the function produces a complex number, avoiding unsound results that were previously possible. This repair could cause existing code to fail at compile time.

The #%foreign-inline core syntactic form provides unsafe access to facilities provided at the linklet layer by a Racket implementation. This means that any code that handles all core forms by enumeration will need to be updated.

Unicode 17.0 is used for character and string operations.

This release includes internal support for a more static &ldquo;ffi2&rdquo; foreign interface (to be used in a future package).

The terminal-file-position function counts bytes written to ports connected to a terminal, such as stdin and stderr.

Cross-phase persistent modules allow more types of quoted data.

The implementations of member, memw, when, unless, let/ec, and cond are rewritten to use only racket/kernel syntax

The impersonator-property-predicate-procedure? function identifies procedures created by make-impersonator-property.

In Typed Racket, polymorphic struct types are printed using type arguments (e.g., (Array Byte)) rather than exposing an internal representation.

The stepper&rsquo;s display of numbers better matches the language settings.

Scribble documents that do not use the Racket-manual style get an initial-scale of 1.0, instead of the manual style&rsquo;s 0.8, but this can be configured using the initial-scale property.

By default, margin notes appear inline for narrow displays in all styles, not just in the Racket-manual style.

Big-bang programs distributed as .dmg files correctly handle the close-on-stop feature.

There are many other repairs and documentation improvements!

Thank you

The following people contributed to this release:

Alexander Shopov, Alexis King, Asilo, Bert De Ketelaere, Bob Burger, Bogdan Popa, Chung-chieh Shan, François-René Rideau, Gustavo Massaccesi, Ilya Klyuchnikov, Jade Sailor, Jamie Taylor, John Clements, Jonathan Simpson, LS_Hower, Matthew Flatt, Matthias Felleisen, Mike Sperber, Pavel Panchekha, Philippe Meunier, RMOlive, Robby Findler, Roman Klochkov, Sam Tobin-Hochstadt, Shu-Hung You, Stephen de Gabrielle, Tejas Sanap, Vincent Lee, and Wing Hei Chan.

Racket is a community developed open source project and we welcome new contributors. See racket/README.md to learn how you can be a part of this amazing project.

Feedback Welcome

Questions and discussion welcome at the Racket community on Discourse or Discord.

Please share

If you can - please help get the word out to users and platform specific repo packagers

Racket - the Language-Oriented Programming Language - version 9.2 is now available from https://download.racket-lang.org

See https://blog.racket-lang.org/2026/05/racket-v9-2.html for the release announcement and highlights.

Made with Frog, a static-blog generator written in Racket.

Source code for this blog.

racket blog release code available https

Related Articles