# Release Announcement for v8.15

**URL:** <https://racket.discourse.group/t/release-announcement-for-v8-15/3278>\
**Category:** Internals\
**Tags:** release-management\
**Created:** [October 29, 2024, 5:34am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278 "2024-10-29T05:34:09Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [October 29, 2024, 5:34am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/1 "2024-10-29T05:34:10Z")

</div>

```
The release announcement sketch that I have so far is below. Please
mail me new items and/or edits.

Please phrase announcements using complete sentences and avoid the
word "now".

```

* * *

- Documentation search results are ordered, with visual cues indicating  
what their source is (core, main-distribution, etc.). These results  
are also grouped by language family (Racket, Rhombus, etc.)
- The Rhombus language is distributed as part of the main distribution.
- DrRacket offers to restore previously open files when starting, which  
can be made the default.
- In DrRacket, Picts can be saved by right-clicking.
- iOS is a compilation target, distinct from macOS.
- Hostname resolution on some platforms passes the `AI_V4MAPPED` and  
`AI_ADDRCONFIG` flags to `getaddrinfo`, for some improvement in  
IPv4 vs. IPv6 handling.
- Raco pkg introduces the `uninstall` command, deprecating the `remove`  
command.
- Raco pkg improves the handling of `--clone` and `--unclone`.
- Memory allocated using the ffi/unsafe library can be initially  
zeroed, using the `'zeroed-atomic` and `'zeroed-atomic-interior`  
flags.

The following people contributed to this release:

Alec Mills, Alex Knauth, Ashlynn Anderson, Ashton Wiersdorf, Ben  
Greenman, Benjamin Yeung, Bob Burger, Bogdan Popa, Breck Yunits, Carl  
Gay, Claes Wallin (韋嘉誠), CooperCorad, Crystal Jacobs, D. Ben Knoble,  
Dexter Santucci, Eduardo Cavazos, Emil Szpakowski, evelynmitchell, Greg  
Hendershott, Gunnar Ahlberg, Gwen Weinholt, Idiomdrottning, Ikko  
Eltociear Ashimine, Jacqueline Firth, Jarhmander, Jay McCarthy, Jens  
Axel Søgaard, Jimmy McNutt, jinser, Jinser Kafka, John Clements,  
lukejianu, Marc Nieper-Wißkirchen, Matej Fandl, Matthew Flatt, Matthias  
Felleisen, Michael Ballantyne, Mike Sperber, olopierpa, Paul Morris,  
Phil Nguyen, Philip McGrath, Robby Findler, Ronald Garcia, Ryan  
Culpepper, Sam Phillips, Sam Tobin-Hochstadt, Siddhartha Kasivajhula,  
Sorawee Porncharoenwase, Stephen De Gabrielle, Syntacticlosure, Taylor  
Allred, Tomas Fabrizio Orsi, Wing Hei Chan, and Yafei Yang.

* * *

Current package regressions: [Release Regressions for 8.15 · Issue #5092 · racket/racket · GitHub](https://github.com/racket/racket/issues/5092)

```
----------------------------------------------------------------------

```

---

<div class="post-metadata">

**Author:** ![usao](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/usao/32/1375_2.png) [@usao](https://racket.discourse.group/u/usao)\
**Post date:** [October 29, 2024, 7:20am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/2 "2024-10-29T07:20:51Z")

</div>

> - The Rhombus language is distributed as part of the main distribution.

Really? 😆

To clarify, Rhombus itself is changed to come with a “main distribution”, but it isn’t a part of the (Racket) main distribution (unless I’m missing anything).

---

<div class="post-metadata">

**Author:** ![benknoble](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/benknoble/32/16_2.png) [@benknoble](https://racket.discourse.group/u/benknoble)\
**Post date:** [October 29, 2024, 12:58pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/3 "2024-10-29T12:58:29Z")

</div>

> - Raco pkg introduces the `uninstall` command, deprecating the `remove`  
> command.

Perhaps we should mention the parallelism, like

> - Raco pkg introduces the `uninstall` command as the opposite of `install`, deprecating the `remove` command.

?

---

<div class="post-metadata">

**Author:** ![badkins](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/badkins/32/99_2.png) [@badkins](https://racket.discourse.group/u/badkins)\
**Post date:** [October 29, 2024, 3:26pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/4 "2024-10-29T15:26:57Z")

</div>

> - iOS is a compilation target, distinct from macOS.

Can someone elaborate on this capability?

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [October 29, 2024, 4:00pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/5 "2024-10-29T16:00:57Z")

</div>

Looks like this is primarily my misunderstanding; there's currently a dependency from `main-distribution-test` on `gui-lib` which depends on `shrubbery-lib`, which brings the `rhombus` repo into the build chain, along with all its commits. I interpreted the inclusion of the `rhombus` repository in the build chain as indicating that the full rhombus library was included; instead, it appears just to be shrubbery-lib and whatever it depends on, if anything.

---

<div class="post-metadata">

**Author:** ![samth](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/samth/32/3_2.png) [@samth](https://racket.discourse.group/u/samth)\
**Post date:** [October 29, 2024, 6:09pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/6 "2024-10-29T18:09:07Z")

</div>

Also, just to be clear, `main-distribution-test` is not part of what's distributed at all. So nothing is changing about the main Racket distribution.

---

<div class="post-metadata">

**Author:** ![samth](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/samth/32/3_2.png) [@samth](https://racket.discourse.group/u/samth)\
**Post date:** [October 29, 2024, 6:10pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/7 "2024-10-29T18:10:40Z")

</div>

See [cs,iOS: add iOS-specific machine type and make OpenSSL work by Bogdanp · Pull Request #5057 · racket/racket · GitHub](https://github.com/racket/racket/pull/5057) and [add {,t}{a6,arm64}ios machine types by Bogdanp · Pull Request #864 · cisco/ChezScheme · GitHub](https://github.com/cisco/ChezScheme/pull/864)

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [October 29, 2024, 7:59pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/8 "2024-10-29T19:59:51Z")

</div>

Took this suggestion, thanks!

---

<div class="post-metadata">

**Author:** ![shhyou](https://avatars.discourse-cdn.com/v4/letter/s/ccd318/32.png) [@shhyou](https://racket.discourse.group/u/shhyou)\
**Post date:** [October 31, 2024, 3:55pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/9 "2024-10-31T15:55:01Z")

</div>

## 1

I feel like fixes and improvements to `raco demod` is worth mentioning:

> [@Trying out raco demod](https://racket.discourse.group/t/trying-out-raco-demod/3207):
>
> Hi Thought I’d try out raco demod but I’ve run into a little roadblock I’ve got a nice little module [cli-command/hello.rkt at master · racket-templates/cli-command · GitHub](https://github.com/racket-templates/cli-command/blob/master/hello.rkt) I ran raco demod -o hellod -g hello.rkt and it made hellod with no problems. Then I ran raco exe -o hellodemod hellod to make my executable. Sadly this fails with missing submodule declaration: ‘configure-runtime . Would appreciate any guidance and/or pointers to the manual. Best regards Stephen (Edit corrected typos…

## 2

> [@jbclements](#):
>
> - Hostname resolution on some platforms passes the `AI_V4MAPPED` and  
> `AI_ADDRCONFIG` flags to `getaddrinfo`, for some improvement in  
> IPv4 vs. IPv6 handling.

How about something user-oriented like: Racket supports falling back to IPv4 during hostname resolution when IPv6 fails.

From:

> [@IPv6 fallback to IPv4](https://racket.discourse.group/t/ipv6-fallback-to-ipv4/1039):
>
> I recently had an issue where my IPv6 connection was not working (ping google.com resolved to an IPv6 address and failed to get a response), but IPv4 was working (ping -4 google.com got responses). I was able to use Firefox without noticing any issues, but my racket programs had failed with timeout errors. Is there perhaps a way to either force racket to use IPv4 or try to set a fallback mechanism to use IPv4 in case of IPv6 connection failures? So far, this situation seems very rare for my inte…

## 3

> [@jbclements](#):
>
> - Raco pkg introduces the `uninstall` command, deprecating the `remove`  
> command.

Maybe this can be mentioned earlier because it's user-facing.

---

<div class="post-metadata">

**Author:** ![LiberalArtist](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/liberalartist/32/151_2.png) [@LiberalArtist](https://racket.discourse.group/u/LiberalArtist)\
**Post date:** [October 31, 2024, 6:05pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/10 "2024-10-31T18:05:47Z")

</div>

> [@benknoble](#):
>
> Raco pkg introduces the `uninstall` command as the opposite of `install`, deprecating the `remove` command.

Sometimes people understand “deprecated” to mean something like “will be removed in the next release,” whereas in Racket we more often mean “is no longer recommended.” Maybe we should consider something like:

> Raco pkg introduces the `uninstall` command as the opposite of `install`. The `remove` command is retained for compatibility.

Also, I don't love writing `raco pkg` as “Raco pkg”.

---

<div class="post-metadata">

**Author:** ![greghendershott](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/greghendershott/32/98_2.png) [@greghendershott](https://racket.discourse.group/u/greghendershott)\
**Post date:** [October 31, 2024, 8:38pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/11 "2024-10-31T20:38:07Z")

</div>

This is the first I noticed this, and maybe I'm reading an outdated version of the docs, but:

It looks like it's merely an alternative new name -- both "uninstall" and "remove" are aliases for the exact same functionality; "uninstall" is preferred as a clear antonym of "install".

Is that correct?

[If so: I really agree that "deprecated" is misleading. My first reaction was, dang, I need to learn about some defect with the old "remove" -- and even it continues to work (badly) for compatibility, maybe I ought to run around and update things to use the shiny new "uninstall" instead.]

---

<div class="post-metadata">

**Author:** ![al\_shopov](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@al\_shopov](https://racket.discourse.group/u/al_shopov)\
**Post date:** [November 1, 2024, 3:02pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/12 "2024-11-01T15:02:30Z")

</div>

Is it possible to also include authors of updated translations in the announcement?

In this case in the [GitHub - racket/string-constants](https://github.com/racket/string-constants.git) repo:

```scheme
cd string-constants
git log v8.14.. | grep Author

```

It is only Robby (who added strings) and me.

But in principle - is it possible to regularly add translators as well?

Kind regards:  
al\_shopov

---

<div class="post-metadata">

**Author:** ![robby](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/robby/32/7_2.png) [@robby](https://racket.discourse.group/u/robby)\
**Post date:** [November 1, 2024, 4:45pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/13 "2024-11-01T16:45:53Z")

</div>

> [@al\_shopov](#):
>
> Is it possible to also include authors of updated translations in the announcement?

I think this is a great idea.

(Just in case it wasn't clear, I didn't add any translations! 🙂)

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 3, 2024, 5:45am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/14 "2024-11-03T05:45:40Z")

</div>

Okay, I've adopted @LiberalArtist's wording, with the following tweak to try to avoid your misunderstanding:

- `raco pkg` introduces the `uninstall` command as the opposite of `install`. The `remove` name for this functionality is retained for compatibility.

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 3, 2024, 5:46am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/15 "2024-11-03T05:46:16Z")

</div>

Sounds good. To check on my understanding; there's some reason why this repo's committers don't already wind up on this list?

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 3, 2024, 6:02am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/16 "2024-11-03T06:02:36Z")

</div>

1. Well, I do see that a general "many bugs are fixed" message is missing, I've added that. Do you think that this bug is particularly notable?

2. Took your suggestion. Just to check: have you read the docs for these flags, to ensure this is a reasonable summary?

3. I reordered somewhat, to move the user-facing changes up.

Many thanks!

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 3, 2024, 3:58pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/17 "2024-11-03T15:58:15Z")

</div>

Sorry, neglected to post the updated notes:

* * *

- Documentation search results are ordered, with visual cues indicating  
what their source is (core, main-distribution, etc.). These results  
are also grouped by language family (Racket, Rhombus, etc.).
- DrRacket offers to restore previously open files when starting, which  
can be made the default.
- In DrRacket, Picts can be saved by right-clicking.
- `raco pkg` introduces the `uninstall` command as the opposite of `install`.  
The `remove` name for this functionality is retained for compatibility.
- `raco pkg` improves the handling of `--clone` and `--unclone`.
- iOS is a compilation target, distinct from macOS.
- Racket supports falling back to IPv4 during hostname resolution when  
IPv6 fails.
- Memory allocated using the ffi/unsafe library can be initially  
zeroed, using the `'zeroed-atomic` and `'zeroed-atomic-interior`  
flags.
- Many other bugs are fixed and documentation has been improved!

The following people contributed to this release:

Alec Mills, Alex Knauth, Ashlynn Anderson, Ashton Wiersdorf, Ben  
Greenman, Benjamin Yeung, Bob Burger, Bogdan Popa, Breck Yunits, Carl  
Gay, Claes Wallin (韋嘉誠), CooperCorad, Crystal Jacobs, D. Ben Knoble,  
Dexter Santucci, Eduardo Cavazos, Emil Szpakowski, evelynmitchell, Greg  
Hendershott, Gunnar Ahlberg, Gwen Weinholt, Idiomdrottning, Ikko  
Eltociear Ashimine, Jacqueline Firth, Jarhmander, Jay McCarthy, Jens  
Axel Søgaard, Jimmy McNutt, jinser, Jinser Kafka, John Clements,  
lukejianu, Marc Nieper-Wißkirchen, Matej Fandl, Matthew Flatt, Matthias  
Felleisen, Michael Ballantyne, Mike Sperber, olopierpa, Paul Morris,  
Phil Nguyen, Philip McGrath, Robby Findler, Ronald Garcia, Ryan  
Culpepper, Sam Phillips, Sam Tobin-Hochstadt, Siddhartha Kasivajhula,  
Sorawee Porncharoenwase, Stephen De Gabrielle, Syntacticlosure, Taylor  
Allred, Tomas Fabrizio Orsi, Wing Hei Chan, and Yafei Yang.

* * *

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 3, 2024, 4:00pm UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/18 "2024-11-03T16:00:55Z")

</div>

I did a small amount of investigation, and it looks to me (take a look at the 8.14 release notes) as though contributors to the string-constants repository are already included in the list of contributors. With respect to the most recent updates, on October 20, those were not part of this release, so they should be picked up by the next one. Let me know if I'm mistaken, or if I'm misunderstanding your suggestion!

---

<div class="post-metadata">

**Author:** ![al\_shopov](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@al\_shopov](https://racket.discourse.group/u/al_shopov)\
**Post date:** [November 4, 2024, 10:46am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/19 "2024-11-04T10:46:15Z")

</div>

If these get auto-included - then it is fine.  
Still by the look of it - my update of translations on Oct 20 was not part of tag v8.14 but is part of tag v8.15:

```scheme
cd string-constants
git log v8.14..v8.15

```

outputs:

```scheme

commit ebf2ac6d3ce2278b573b14c3723caab712a04357 (tag: v8.15, origin/release)
Author: Alexander Shopov <ash@kambanaria.org>
Date: Sun Oct 20 08:06:46 2024 +0200

    Update Bulgarian translation (v1.47)

    Signed-off-by: Alexander Shopov <ash@kambanaria.org>
    (cherry picked from commit fc906f79f4459bcbf57e55d5e01bfcf04abe4aae)

commit 2f5680fd12e0c26d23bab8705813416a0496d621
Author: Robby Findler <robby@racket-lang.org>
Date: Tue Aug 20 15:32:14 2024 -0500

    add string constants for opening the files from a previous session

```

You decide.

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [November 5, 2024, 6:09am UTC](https://racket.discourse.group/t/release-announcement-for-v8-15/3278/20 "2024-11-05T06:09:45Z")

</div>

You are correct! This is a bit of a corner case, it looks like Robby picked this commit for the release after I had already scraped the logs for the names of the committers. I have added you to the list of contributors for the 8.15 release, many thanks for your help!

[Next page](https://racket.discourse.group/t/release-announcement-for-v8-15/3278.md?page=2)
