Racket v9.2

Lobsters Hottest Tools

Summary

Racket v9.2 is released with improvements including safer match pattern checking, Typed Racket fixes, Unicode 17.0 support, and many other repairs and documentation updates.

<p><a href="https://lobste.rs/s/qxzf2k/racket_v9_2">Comments</a></p>
Original Article
View Cached Full Text

Cached at: 05/29/26, 03:57 PM

# Racket v9.2 Source: [https://blog.racket-lang.org/2026/05/racket-v9-2.html](https://blog.racket-lang.org/2026/05/racket-v9-2.html) *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/](https://download.racket-lang.org/)\. ## As of this release: - The[`match`](https://docs.racket-lang.org/reference/match.html#%28form._%28%28lib._racket%2Fmatch..rkt%29._match%29%29)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](https://github.com/racket/racket/pull/5467)\. - Typed Racket’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](https://github.com/racket/typed-racket/pull/1428)\. - The[`\#%foreign\-inline`](https://docs.racket-lang.org/reference/foreign-inline.html#%28form._%28%28quote._~23~25kernel%29._~23~25foreign-inline%29%29)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 “ffi2” foreign interface \(to be used in a future package\)\. - The[`terminal\-file\-position`](https://docs.racket-lang.org/reference/port-buffers.html#%28def._%28%28quote._~23~25kernel%29._terminal-file-position%29%29)function counts bytes written to ports connected to a terminal, such as`stdin`and`stderr`\. - Cross\-phase persistent modules allow more types of`quote`d data\. - The implementations of`member`,`memw`,`when`,`unless`,`let/ec`, and`cond`are rewritten to use only[`racket/kernel`](https://docs.racket-lang.org/reference/Kernel_Forms_and_Functions.html)syntax - The[`impersonator\-property\-predicate\-procedure?`](https://docs.racket-lang.org/reference/chaperones.html#%28def._%28%28quote._~23~25kernel%29._impersonator-property-predicate-procedure~3f%29%29)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’s display of numbers better matches the language settings\. - Scribble documents that do not use the Racket\-manual style get an[`initial\-scale`](https://docs.racket-lang.org/scribble/core.html#%28def._%28%28lib._scribble%2Fhtml-properties..rkt%29._initial-scale%29%29)of 1\.0, instead of the manual style’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](https://github.com/racket/racket/blob/master/README.md#contributing)to learn how you can be a part of this amazing project\. ## Feedback Welcome Questions and discussion welcome at the Racket community on[Discourse](https://racket.discourse.group/invites/VxkBcXY7yL)or[Discord](https://discord.gg/6Zq8sH5)\. 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. ```

Similar Articles

Ruff v0.16.0

Simon Willison's Blog

Ruff v0.16.0 significantly expands default rule coverage from 59 to 413 rules, catching more severe issues like syntax errors and runtime errors. This update may break existing CI workflows but provides automated fixes with `--fix --unsafe-fixes`.

Hoot 0.9.0 released

Lobsters Hottest

Hoot 0.9.0, a Scheme to WebAssembly compiler backend for Guile, has been released with new features and bug fixes, including DWARF support, standard Wasm exceptions, and a game jam template for the Lisp Game Jam.

zsh 5.9.1 released

Lobsters Hottest

zsh 5.9.1 is a stable maintenance release with bug fixes, build improvements, and a few minor new features.

Flexible metaprogramming with Rhombus

Hacker News Top

Rhombus is a new programming language that combines Racket's powerful metaprogramming capabilities with a Python-like syntax, released as version 1.0 and supported by the Racket Programming Language Foundation.