Skip to content

Commit 581ba5a

Browse files
committed
v8.17 blog post and front page
1 parent b8d71a8 commit 581ba5a

File tree

4 files changed

+29
-27
lines changed

4 files changed

+29
-27
lines changed

announcements/v8.17.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Racket v8.17
2222
length 1 million.
2323
- TCP ports use `SO_KEEPALIVE`, instructing the kernel to send
2424
periodic messages while waiting for data to check whether the
25-
connection is still responsive
25+
connection is still responsive.
2626
- Racket code using a terminal in Windows can receive mouse events as
2727
virtual terminal characters after using SetConsoleMode. (This is
2828
also already possible on macOS and Linux.) See the tui-term package
@@ -32,7 +32,7 @@ Racket v8.17
3232
- The http-client module no longer sends "Content-Length: 0" for
3333
requests without a body.
3434
- The demodularizer (`compiler/demod`) can prune more unused
35-
assignments
35+
assignments.
3636
- Several judgment rendering forms in Redex are replaced by functions,
3737
allowing more convenient abstraction.
3838
- When a distribution includes no teaching languages, DrRacket’s

blog/_src/posts/2025-05-15-racket-v8-17.md

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
Title: Racket v8.17
2-
Date: 2025-05-15T13:28:24
3-
Tags: DRAFT
2+
Date: 2025-05-17T13:28:24
3+
Tags: release-announcement
4+
Authors: John Clements, Stephen De Gabrielle
5+
6+
7+
*posted by Stephen De Gabrielle*
8+
49

510

611
----------------------------------------------------------------------
@@ -11,22 +16,22 @@ We are pleased to announce Racket v8.17 is now available from [https://download.
1116

1217
- The new [`drracket-core`](https://github.com/racket/drracket/commit/ae16d6bc6e00a9498313cff035537ac98ef71194) package provides a version of drracket with a smaller set of dependencies.
1318
- Typed Racket has support for [treelists](https://docs.racket-lang.org/reference/treelist.html).
14-
- The package manager computes checksums for packages when required, allowing the use and automatic upgrade of packages without them.
15-
- The `bitwise-first-bit-set` function returns the smallest bit that is set in the twos-complement representation of the given number.
16-
- The updated `dynamic-require` function makes it easier to use syntax bindings by allowing a syntax-thunk (or 'eval) to be used for them.
17-
- The `error-module-path->string-handler` parameter allows the customization of the display of module-paths in error messages.
18-
- Precision of certain numeric functions (`sin`, `cos`, and others) is improved on Windows platforms by using the MSVCRT/UCRT libraries.
19-
- The `string-append` function has improved performance and reduced memory use for long lists of strings in the Racket CS implementation. Differences are clearly noticeable for lists of length 1 million.
20-
- TCP ports use `SO_KEEPALIVE`, instructing the kernel to send periodic messages while waiting for data to check whether the connection is still responsive
19+
- The package manager computes [checksums](https://docs.racket-lang.org/pkg/Package_Concepts.html) for packages when required, allowing the use and automatic upgrade of packages without them.
20+
- The [`bitwise-first-bit-set`](https://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-first-bit-set%29%29) function returns the smallest bit that is set in the twos-complement representation of the given number.
21+
- The updated [`dynamic-require`](https://docs.racket-lang.org/reference/Module_Names_and_Loading.html#%28def._%28%28quote._~23~25kernel%29._dynamic-require%29%29) function makes it easier to use syntax bindings by allowing a syntax-thunk (or 'eval) to be used for them.
22+
- The [`error-module-path->string-handler`](https://docs.racket-lang.org/reference/exns.html#%28def._%28%28quote._~23~25kernel%29._error-module-path-~3estring-handler%29%29) parameter allows the customization of the display of module-paths in error messages.
23+
- Precision of certain [numeric functions](https://docs.racket-lang.org/reference/generic-numbers.html) (`sin`, `cos`, and others) is improved on Windows platforms by using the MSVCRT/UCRT libraries.
24+
- The [`string-append`](https://docs.racket-lang.org/reference/strings.html#%28def._%28%28quote._~23~25kernel%29._string-append%29%29) function has improved performance and reduced memory use for long lists of strings in the Racket CS implementation. Differences are clearly noticeable for lists of length 1 million.
25+
- [TCP ports](https://docs.racket-lang.org/reference/tcp.html) use `SO_KEEPALIVE`, instructing the kernel to send periodic messages while waiting for data to check whether the connection is still responsive.
2126
- Racket code using a terminal in Windows can receive mouse events as virtual terminal characters after using SetConsoleMode. (This is also already possible on macOS and Linux.) See the [tui-term](https://docs.racket-lang.org/tui-term/index.html) package for related example code.
22-
- The `#:replace-malformed-surrogate?` keyword can be used to specify a replacement for malformed unicode surrogates in JSON input
23-
- The http-client module no longer sends "Content-Length: 0" for requests without a body.
24-
- The demodularizer (`compiler/demod`) can prune more unused assignments
25-
- Several judgment rendering forms in Redex are replaced by functions, allowing more convenient abstraction.
27+
- The [`#:replace-malformed-surrogate?`](https://docs.racket-lang.org/json/index.html#%28part._.Parsing_.J.S.O.N_.Text_into_.J.S-.Expressions%29) keyword can be used to specify a replacement for malformed unicode surrogates in JSON input
28+
- The [http-client](https://docs.racket-lang.org/http-client/index.html) module no longer sends "Content-Length: 0" for requests without a body.
29+
- The [demodularizer](https://docs.racket-lang.org/raco/demod.html) (`compiler/demod`) can prune more unused assignments.
30+
- Several judgment rendering forms in [Redex](https://docs.racket-lang.org/redex/index.html) are replaced by functions, allowing more convenient abstraction.
2631
- When a distribution includes no teaching languages, DrRacket’s language-dialog configuration moves into the preferences dialog and the “Language” menu disappears.
27-
- The math library has better support for block-diagonal matrices, including both Racket and Typed Racket.
28-
- The math library contains improved implementations of acos and matrix-(cos-)angle.
29-
- The stepper again works for `big-bang` programs.
32+
- The [math library](https://docs.racket-lang.org/math/index.html) has better support for block-diagonal matrices, including both Racket and Typed Racket.
33+
- The [math library](https://docs.racket-lang.org/math/index.html) contains improved implementations of acos and matrix-(cos-)angle.
34+
- The [stepper](https://docs.racket-lang.org/stepper/index.html) again works for [`big-bang`](https://docs.racket-lang.org/teachpack/2htdpuniverse.html#(part._world._interactive)) programs.
3035
- There are many other repairs and documentation imprevements!
3136

3237
## Thank you
@@ -44,16 +49,13 @@ Culpepper, Ryan Ficklin, Sam Phillips, Sam Tobin-Hochstadt, Shu-Hung
4449
You, sogaiu, Sorawee Porncharoenwase, Stephen De Gabrielle, Vincent
4550
Lee, and Wing Hei Chan.
4651

47-
_Racket is a community developed open source project and we welcome new
48-
contributors. See
49-
[racket/README.md](https://github.com/racket/racket/blob/master/README.md#contributing)
50-
to learn how you can be a part of this amazing project._
52+
**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)
53+
to learn how you can be a part of this amazing project.
5154

5255
## Feedback Welcome
5356

54-
Questions and discussion welcome at the Racket community
55-
[Discourse](https://racket.discourse.group/invites/VxkBcXY7yL) or
56-
[Discord](https://discord.gg/6Zq8sH5)
57+
Questions and discussion welcome at the Racket community on [Discourse](https://racket.discourse.group/invites/VxkBcXY7yL) or
58+
[Discord](https://discord.gg/6Zq8sH5).
5759

5860
## Please share
5961

release-notes/release-notes.rkt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
@bullet{The @link[(dur "http-client/index.html")]{http-client} module no longer sends "Content-Length: 0" for
8181
requests without a body.}
8282

83-
@bullet{The @link[(dur "raco/demod.html")]{demodularizer} (`compiler/demod`) can prune more unused assignments}
83+
@bullet{The @link[(dur "raco/demod.html")]{demodularizer} (`compiler/demod`) can prune more unused assignments.}
8484

8585
@bullet{Several judgment rendering forms in @link[(dur "redex/index.html")]{Redex} are replaced by functions, allowing
8686
more convenient abstraction.}

www/index.html.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
◊special-section[#:class "one-column-body-text" #:style "font-size:77%" #:id "pull-quote"]{
4444
div[#:class "container-fluid vertical-in-smartphones-horizontal-otherwise"]{
4545
div[#:style "margin-left: 1em"]{
46-
link["https://blog.racket-lang.org/2025/03/racket-v8-16.html"]{Racket version 8.16} is available.}
46+
link["https://blog.racket-lang.org/2025/05/racket-v8-17.html"]{Racket version 8.17} is available.}
4747

4848
div[#:style "flex-grow:1"]{}
4949

0 commit comments

Comments
 (0)