Release Announcement for Version 8.11

Racket v8.11

----------------------------------------------------------------------

Racket version 8.11 is now available from

    https://racket-lang.org/

As of this release:

- Match clauses can include a #:do option to allow evaluation of code
  and bindings before a following #:when clause. Cf. [https://docs.racket-lang.org/reference/match.html#%28form._%28%28lib._racket%2Fmatch..rkt%29._match%29%29](https://docs.racket-lang.org/reference/match.html#%28form._%28%28lib._racket%2Fmatch..rkt%29._match%29%29)

- JSON Serialization supports indentation with an #:indent option to
  `write-json`. Cf. [https://docs.racket-lang.org/json/index.html#%28def._%28%28lib._json%2Fmain..rkt%29._write-json%29%29](https://docs.racket-lang.org/json/index.html#%28def._%28%28lib._json%2Fmain..rkt%29._write-json%29%29)

- An `initiate-sequence` function simplifies the creation of sequences.
  Cf. [https://docs.racket-lang.org/reference/sequences.html#%28def._%28%28lib._racket%2Fsequence..rkt%29._initiate-sequence%29%29](https://docs.racket-lang.org/reference/sequences.html#%28def._%28%28lib._racket%2Fsequence..rkt%29._initiate-sequence%29%29)

- The `:do-in` form allows an inner definition sequence. Cf. [https://docs.racket-lang.org/reference/for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~3ado-in%29%29](https://docs.racket-lang.org/reference/for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~3ado-in%29%29)

- The `redex-define` form allows pattern-matching in PLT Redex using a
  `define`-like syntax. Cf. [https://docs.racket-lang.org/redex/reference.html#%28form._%28%28lib._redex%2Freduction-semantics..rkt%29._redex-define%29%29](https://docs.racket-lang.org/redex/reference.html#%28form._%28%28lib._redex%2Freduction-semantics..rkt%29._redex-define%29%29)

- Racket and Chez Scheme use Robert L. Smith's "Algorithm 116" for
  division of complex numbers. Cf. [https://dl.acm.org/doi/10.1145/368637.368661](https://dl.acm.org/doi/10.1145/368637.368661)

- DrRacket has indentation guides that provide visual cues indicating
  how code is indented and grouped, accessible by using
  (\<menu-key\>-shift-i).

- "Comment-out" menu items can be specific to the #lang used by the
  current file. Cf. [https://docs.racket-lang.org/framework/Text.html#%28def._%28%28lib._framework%2Fmain..rkt%29._text~3aindent-guides~3c~25~3e%29%29](https://docs.racket-lang.org/framework/Text.html#%28def._%28%28lib._framework%2Fmain..rkt%29._text~3aindent-guides~3c~25~3e%29%29)

- Unused identifiers have a tooltip indicating that they have no bound
  occurrences.

- Quickscript includes a new form of scripting in the form of "hook"
  functions that can be attached to existing events. Cf. [https://docs.racket-lang.org/quickscript/index.html#%28part._.Hooks%29](https://docs.racket-lang.org/quickscript/index.html#%28part._.Hooks%29)

- Plots include `plot-inset` and `plot-legend-padding` parameters to
  control the amount of space left unused around the plot edge and plot
  legend. Cf. [https://docs.racket-lang.org/plot/params.html#%28def._%28%28lib._plot%2Fmain..rkt%29._plot-inset%29%29](https://docs.racket-lang.org/plot/params.html#%28def._%28%28lib._plot%2Fmain..rkt%29._plot-inset%29%29)

- There are many other documentation improvements, optimizations, and
  bug fixes!

## Thank You

Thank you to the people who contributed to this release:

Alex Harsányi, Ben Greenman, Bogdan Popa, Cameron Moy, Camille
d’Alméras, D. Ben Knoble, Efraim Flashner, Eric S. Raymond, Fred Fu,
Greg Hendershott, Gustavo Massaccesi, Jay McCarthy, jim, Joel Dueck,
John Clements, Jon Eskin, Laurent Orseau, Lucas Sta Maria, mAdkins, Mark
Hedlund, Matteo d’Addio, Matthew Flatt, Matthias Felleisen, Mike
Sperber, Noah Ma, Oscar Waddell, Philip McGrath, Qifan Wang, Robby
Findler, Ross Angle, Ryan Culpepper, Sam Tobin-Hochstadt, shenleban
tongying, Shu-Hung You, Sorawee Porncharoenwase, Stephen De Gabrielle,
Wing Hei Chan, xxyzz, and ZhangHao

Feedback Welcome
----------------------------------------------------------------------