Racket v9.2
Mirrored from Hacker News — AI on Front Page for archival readability. Support the source by reading on the original site.
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
matchform 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’s types for the
asinandacosprocedures 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-inlinecore 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 “ffi2” foreign interface (to be used in a future package).
- The
terminal-file-positionfunction counts bytes written to ports connected to a terminal, such asstdinandstderr. - Cross-phase persistent modules allow more types of
quoted data. - The implementations of
member,memw,when,unless,let/ec, andcondare rewritten to use onlyracket/kernelsyntax - The
impersonator-property-predicate-procedure?function identifies procedures created bymake-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’s display of numbers better matches the language settings.
- Scribble documents that do not use the Racket-manual style get an
initial-scaleof 1.0, instead of the manual style’s 0.8, but this can be configured using theinitial-scaleproperty. - 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-stopfeature. - 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.
Discussion (0)
Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.
Sign in →No comments yet. Sign in and be the first to say something.