Skip to content

Commit c1086b4

Browse files
spdegabriellemflatt
authored andcommitted
8.18 release
1 parent 70e2cb0 commit c1086b4

File tree

4 files changed

+136
-37
lines changed

4 files changed

+136
-37
lines changed

announcements/v8.18.txt

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
1755669600
2+
Racket v8.18
3+
4+
----------------------------------------------------------------------
5+
6+
- The racket-lang.org website no longer distributes Racket BC bundles,
7+
but it includes pre-built bundles for two flavors of ARM linux,
8+
AArch64 and 32-bit ARMv6 VFP.
9+
- XML structures are serializable.
10+
- Scribble's HTML generation conforms better to modern standards.
11+
- Racket uses Unicode 16.0 for character and string operations.
12+
- The `redex-check` default generation strategy always uses random
13+
generation to supplement the enumerator.
14+
- DrRacket supports the use of shift-tab to go backward to previous
15+
indentation positions.
16+
- The macro stepper supports the string-constants library, allowing
17+
internationalization of the stepper itself.
18+
- The `struct` form supports `#:properties prop-list-expr`, making it
19+
more convenient to attach multiple property values to a structure
20+
type.
21+
- Build-system improvements support containers registered at Docker
22+
Hub to build for all platforms that have downloads from the main
23+
Racket download site; improvements also support Unix-style builds
24+
for Mac OS in the style of MacPorts.
25+
- The `expt` function produces a more accurate result when its first
26+
argument is a flonum and its second argument is an exact integer
27+
that has no equivalent flonum representation than it did in prior
28+
versions.
29+
- TCP ports use `SO_KEEPALIVE` correctly.
30+
- Unsafe code can use “uninterruptible mode” instead of “atomic mode”
31+
to allow futures to run concurrently while preventing interruptions
32+
from other threads.
33+
- The `net/imap` library supports IMAP's `move` operation.
34+
- There are many other repairs and documentation improvements!
35+
36+
The following people contributed to this release:
37+
38+
Bob Burger, Bogdan Popa, Carl Gay, Chloé Vulquin, D. Ben Knoble,
39+
Dario Hamidi, Gustavo Massaccesi, Jacqueline Firth, Jade Sailor,
40+
Jarhmander, Jason Hemann, Jens Axel Søgaard, Joel Dueck, John
41+
Clements, jyn, Jörgen Brandt, Mao Yifu, Marc Nieper-Wißkirchen,
42+
Matthew Flatt, Matthias Felleisen, Mike Sperber, Noah Ma,
43+
paralogismos, Pavel Panchekha, Philip McGrath, Robby Findler, Ryan
44+
Culpepper, Sam Tobin-Hochstadt, Shalok Shalom, Steve Byan, Vincent
45+
Lee, Wing Hei Chan, and ZC Findler.
46+
47+
----------------------------------------------------------------------
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
Title: Racket v8.18
2+
Date: 2025-08-20T13:28:24
3+
Tags: release-announcement
4+
Authors: John Clements, Stephen De Gabrielle
5+
6+
7+
----------------------------------------------------------------------
8+
9+
We are pleased to announce Racket v8.18 is now available from [https://download.racket-lang.org/](https://download.racket-lang.org).
10+
11+
## As of this release:
12+
13+
- The [racket-lang.org](https://racket-lang.org) website no longer distributes Racket BC bundles, but it includes pre-built bundles for two flavors of ARM linux, AArch64 and 32-bit ARMv6 VFP.
14+
- [XML structures](https://docs.racket-lang.org/xml/index.html) are serializable.
15+
- [Scribble's](https://docs.racket-lang.org/scribble/index.html) HTML generation conforms better to modern standards.
16+
- Racket uses Unicode 16.0 for character and string operations.
17+
- The [`redex-check`](https://docs.racket-lang.org/redex/Testing.html#%28form._%28%28lib._redex%2Freduction-semantics..rkt%29._redex-check%29%29) default generation strategy always uses random generation to supplement the enumerator.
18+
- [DrRacket](https://docs.racket-lang.org/drracket/editor.html) supports the use of shift-tab to go backward to previous indentation positions.
19+
- The [macro stepper](https://docs.racket-lang.org/macro-debugger/index.html#%28part._.Macro_.Stepper%29) supports the [string-constants library](https://docs.racket-lang.org/string-constants/index.html), allowing internationalization of the stepper itself.
20+
- The [`struct`](https://docs.racket-lang.org/reference/define-struct.html) form supports [`#:properties prop-list-expr`](https://docs.racket-lang.org/reference/define-struct.html#:~:text=The%20%23%3Aproperties%20option%2C%20which%20can%20be%20supplied%20multiple%20times%2C%20accepts%20multiple%20properties%20and%20their%20values%20as%20an%20association%20list.), making it more convenient to attach multiple property values to a structure type.
21+
- Build-system improvements support containers registered at [Docker Hub](https://hub.docker.com/u/racket) to build for all platforms that have downloads from the main Racket download site; improvements also support Unix-style builds for Mac OS in the style of MacPorts.
22+
- The [`expt`](https://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29) function produces a more accurate result when its first argument is a flonum and its second argument is an exact integer that has no equivalent flonum representation than it did in prior versions.
23+
- [TCP ports](https://docs.racket-lang.org/reference/tcp.html) use `SO_KEEPALIVE` correctly.
24+
- Unsafe code can use [“uninterruptible mode”](https://docs.racket-lang.org/foreign/Atomic_Execution.html#%28tech._uninterruptible._mode%29) instead of “atomic mode” to allow futures to run concurrently while preventing interruptions from other threads.
25+
- The [`net/imap`](https://docs.racket-lang.org/net/imap.html) library supports [IMAP's `move`](https://docs.racket-lang.org/net/imap.html#%28def._%28%28lib._net%2Fimap..rkt%29._imap-move%29%29) operation.
26+
- There are many other repairs and documentation improvements!
27+
28+
## Thank you
29+
30+
The following people contributed to this release:
31+
32+
Bob Burger, Bogdan Popa, Carl Gay, Chloé Vulquin, D. Ben Knoble,
33+
Dario Hamidi, Gustavo Massaccesi, Jacqueline Firth, Jade Sailor,
34+
Jarhmander, Jason Hemann, Jens Axel Søgaard, Joel Dueck, John
35+
Clements, jyn, Jörgen Brandt, Mao Yifu, Marc Nieper-Wißkirchen,
36+
Matthew Flatt, Matthias Felleisen, Mike Sperber, Noah Ma,
37+
paralogismos, Pavel Panchekha, Philip McGrath, Robby Findler, Ryan
38+
Culpepper, Sam Tobin-Hochstadt, Shalok Shalom, Steve Byan, Vincent
39+
Lee, Wing Hei Chan, and ZC Findler.
40+
41+
**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)
42+
to learn how you can be a part of this amazing project.
43+
44+
## Feedback Welcome
45+
46+
Questions and discussion welcome at the Racket community on [Discourse](https://racket.discourse.group/invites/VxkBcXY7yL) or
47+
[Discord](https://discord.gg/6Zq8sH5).
48+
49+
## Please share
50+
51+
If you can - please help get the word out to users and platform specific repo packagers
52+
```
53+
Racket - the Language-Oriented Programming Language - version 8.18 is now available from https://download.racket-lang.org
54+
55+
See https://blog.racket-lang.org/2025/08/racket-v8-18.html for the release announcement and highlights.
56+
```

release-notes/release-notes.rkt

Lines changed: 32 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -35,63 +35,59 @@
3535
(define dr-core-url
3636
"https://github.com/racket/drracket/commit/ae16d6bc6e00a9498313cff035537ac98ef71194")
3737

38-
3938
(define bullets
4039
(list
4140

42-
@bullet{The racket-lang.org website no longer distributes Racket BC bundles, but
43-
it includes pre-built bundles for two flavors of ARM linux, AArch64 and 32-bit ARMv6 VFP.}
44-
45-
@bullet{XML structures are serializable.}
41+
@bullet{The @link[racket-lang-core-url]{racket-lang.org} website no longer distributes Racket BC bundles, but it includes pre-built
42+
bundles for two flavors of ARM linux, AArch64 and 32-bit ARMv6 VFP.}
43+
44+
@bullet{@link["https://docs.racket-lang.org/xml/index.html"]{XML structures} are serializable.}
4645

47-
@bullet{Scribble's HTML generation conforms better to modern standards.}
46+
@bullet{@link["https://docs.racket-lang.org/scribble/index.html"]{Scribble's} HTML generation conforms better to modern standards.}
4847

48+
@bullet{Racket uses Unicode 16.0 for character and string operations.}
4949

50-
@bullet{Racket uses Unicode 16.0 for character and string operations.}
51-
52-
@bullet{The `redex-check` default generation strategy
53-
always uses random generation to supplement the enumerator.}
50+
@bullet{The @link["https://docs.racket-lang.org/redex/Testing.html#%28form._%28%28lib._redex%2Freduction-semantics..rkt%29._redex-check%29%29"]{`redex-check`}
51+
default generation strategy always uses random generation to supplement the enumerator.}
5452

55-
@bullet{DrRacket supports the use of shift-tab to go backward to previous
56-
indentation positions.}
53+
@bullet{@link["https://docs.racket-lang.org/drracket/editor.html"]{DrRacket} supports the use of shift-tab to go backward to previous indentation positions.}
5754

58-
@bullet{The macro stepper supports the string-constants library,
55+
@bullet{The @link["https://docs.racket-lang.org/macro-debugger/index.html#%28part._.Macro_.Stepper%29"]{macro stepper}
56+
supports the @link["https://docs.racket-lang.org/string-constants/index.html"]{string-constants library},
5957
allowing internationalization of the stepper itself.}
6058

61-
@bullet{The `struct` form supports `#:properties prop-alist-expr`, making it more convenient
62-
to attach multiple property values to a structure type.}
59+
@bullet{The @link["https://docs.racket-lang.org/reference/define-struct.html"]{`struct`} form supports
60+
@link["https://docs.racket-lang.org/reference/define-struct.html#:~:text=The%20%23%3Aproperties%20option%2C%20which%20can%20be%20supplied%20multiple%20times%2C%20accepts%20multiple%20properties%20and%20their%20values%20as%20an%20association%20list."]{`#:properties prop-list-expr`},
61+
making it more convenient to attach multiple property values to a structure type.}
6362

64-
@bullet{The distro-build package has new infrastructure for build farms
65-
using docker images.}
63+
@bullet{Build-system improvements support containers registered at @link["https://hub.docker.com/u/racket"]{Docker Hub}
64+
to build for all platforms that have downloads from the main Racket download site; improvements also
65+
support Unix-style builds for Mac OS in the style of MacPorts.}
6666

67-
@bullet{The `expt` function produces a more accurate result when its
68-
first argument is a flonum and its second argument is an exact integer
69-
that has no equivalent flonum representation than it did in prior versions.}
67+
@bullet{The @link["https://docs.racket-lang.org/reference/generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29"]{`expt`}
68+
function produces a more accurate result when its first argument is a flonum and its
69+
second argument is an exact integer that has no equivalent flonum representation than it did in prior
70+
versions.}
7071

71-
@bullet{TCP ports use `SO_KEEPALIVE` correctly.}
72+
@bullet{@link["https://docs.racket-lang.org/reference/tcp.html"]{TCP ports} use `SO_KEEPALIVE` correctly.}
7273

73-
@bullet{Unsafe code can use “uninterruptible mode” instead of “atomic mode” to allow futures to run concurrently while preventing interruptions from other threads.}
74-
74+
@bullet{Unsafe code can use @link["https://docs.racket-lang.org/foreign/Atomic_Execution.html#%28tech._uninterruptible._mode%29"]{“uninterruptible mode”}
75+
instead of “atomic mode” to allow futures to run concurrently while preventing interruptions from other threads.}
7576

76-
@bullet{The `net/imap` library supports IMAP's `move` operation.}
77+
@bullet{The @link["https://docs.racket-lang.org/net/imap.html"]{`net/imap`} library supports
78+
@link["https://docs.racket-lang.org/net/imap.html#%28def._%28%28lib._net%2Fimap..rkt%29._imap-move%29%29"]{IMAP's `move`} operation.}
7779

7880
@bullet{There are many other repairs and documentation improvements!}
79-
80-
81-
82-
8381

8482
))
8583

8684
(define contributors
87-
'("Bob Burger"
88-
"Bogdan Popa" "Brad Lucier" "Carl Gay" "Chloé Vulquin" "D. Ben Knoble" "Gustavo Massaccesi"
89-
"Jacqueline Firth" "Jade Sailor" "Jarhmander" "Jason Hemann" "Jens Axel Søgaard" "Joel Dueck"
90-
"John Clements" "jyn" "Jörgen Brandt" "Mao Yifu" "Marc Nieper-Wißkirchen" "Matthew Flatt"
91-
"Matthias Felleisen" "Mike Sperber" "Noah Ma" "paralogismos" "Pavel Panchekha" "Philip McGrath"
92-
"Robby Findler" "Ryan Culpepper" "Sam Tobin-Hochstadt" "Shalok Shalom" "Steve Byan"
93-
"Vincent Lee" "Wing Hei Chan" "ZC Findler"))
94-
85+
(list "Bob Burger" "Bogdan Popa" "Carl Gay" "Chloé Vulquin" "D. Ben Knoble" "Dario Hamidi"
86+
"Gustavo Massaccesi" "Jacqueline Firth" "Jade Sailor" "Jarhmander" "Jason Hemann"
87+
"Jens Axel Søgaard" "Joel Dueck" "John Clements" "jyn" "Jörgen Brandt" "Mao Yifu" "Marc Nieper-Wißkirchen"
88+
"Matthew Flatt" "Matthias Felleisen" "Mike Sperber" "Noah Ma" "paralogismos" "Pavel Panchekha"
89+
"Philip McGrath" "Robby Findler" "Ryan Culpepper" "Sam Tobin-Hochstadt" "Shalok Shalom"
90+
"Steve Byan" "Vincent Lee" "Wing Hei Chan" "ZC Findler"))
9591

9692
(define (go)
9793
;; abstraction between these two OBVIOUSLY possible, waiting on this until the first time

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/05/racket-v8-17.html"]{Racket version 8.17} is available.}
46+
link["https://blog.racket-lang.org/2025/08/racket-v8-18.html"]{Racket version 8.18} is available.}
4747

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

0 commit comments

Comments
 (0)