# Racket v8.13 Release Thread

**URL:** https://racket.discourse.group/t/racket-v8-13-release-thread/2857
**Category:** Internals
**Tags:** release-management, release
**Created:** [April 6, 2024, 12:07am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857 "2024-04-06T00:07:05Z")
**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: [April 6, 2024, 12:07am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/1 "2024-04-06T00:07:05Z")

</div>

```
The release process for v8.13 will begin in less than a week. If you
have any new features that you want in and are relatively close to
to being done, now is a good time to do that.

Upcoming dates:
- 10th: Branch day, merge window starts
- 17th: Merge window ends, testing starts
- 23nd: Testing ends

```

---

<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: [April 13, 2024, 6:18am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/2 "2024-04-13T06:18:10Z")

</div>

```
The release process for v8.13 has begun: release checkpoints have
been created for all packages in the main distribution, and release
branches have been created when necessary. You can go on using
`master` branches as usual. The main Racket repo's is now bumped to
v8.13.0.1 (to avoid having two different trees with the same version).

If you have any bug-fixes and changes (including history updates)
that need to go in the release then make sure to specify that in the
commit message by using the word `merge` or `release` or mail the
relevant repo manager [1]) the commit SHA1s. Do not push commits
directly to `release` branches.

Please make sure that code that you're responsible for is as stable
as possible, and let me know if there is any new work that should
not be included in this release.

      >>> NOW IS THE TIME TO FIX BUGS THAT YOU KNOW ABOUT <<<

The time between now and the end of the merge window is for fixing
new errors that prevent proper functioning of major components and
that show up during the preparation for a release. You can also
finalize piece of work that is not yet complete, but please avoid
merging new features.

Note that nightly builds will go on as usual (starting from
v8.13.0.1 and going up as usual), and pre-release builds will be
available shortly at

  https://pre-release.racket-lang.org/

[1] https://github.com/racket/racket/wiki/release-repo-managers

Upcoming dates:
- 18th: Merge window ends, testing starts
- 24th: Testing ends

```

(slipped another day, mea culpa)

---

<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: [April 24, 2024, 11:19pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/3 "2024-04-24T23:19:00Z")

</div>

```
Testing for the v8.13 release
  (using the v8.12.900 release candidate build)

Search for your name on the checklist page to find relevant items, either
reply when you finish an item (please indicate which item/s is/are done),
or check it off yourself on the checklist page. Also, if you have any
commits that should have been picked, make sure that the changes are in.

Be sure to finish your testing by the 30th. Otherwise the release
will move on without your input.

The checklist page is at:
     https://github.com/racket/racket/wiki/Release-Checklist-8.13

Release candidates are at:
     https://pre-release.racket-lang.org

Please use these installers (or source bundles) -- don't test from
your own git clone (don't test the `master' branch by mistake!).
To get the tests, you can do this:

  cd ...racket-root...
  ./bin/raco pkg install -i --auto main-distribution-test

```

---

<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: [May 2, 2024, 10:53pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/4 "2024-05-02T22:53:03Z")

</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".

```

* * *

- The `racket/treelist` and `racket/mutable-treelist` provide implementations  
of Bagwell, Riompf, Stucki, and Ureche's RRB Vectors for Racket.

- The `hash-filter-keys` and `hash-filter-values` functions allow users  
to filter hashes using a predicate on either keys or values.

- The `vector-extend` and `vector*-extend` functions provide a way  
to pre-populate the prefix of a newly allocated vector using the elements  
of an existing vector.

- The `syntax-local-lift-require-top-level-form` function allows syntax  
transformers for `require` elements to produce top-level forms that are  
inserted following the currently-being-expanded `require` form.

- The `syntax-local-make-definition-context-introducer` function allows  
syntax transformers to prune a single scope from a set of scopes during  
expansion. If you don't know whether you need this function, you  
probably don't need this function.

- Racket v8.13 uses Unicode 15.1 for character and string operations.

- Machine-specific cross-module optimization allows improved support for  
static generation of foreign-function bindings.

- The scribble/acmart language uses v2.01, which avoids errors  
concerning the hyperref package in some latex installations.

The following people contributed to this release:

Alec Mills, Ben Greenman, Bob Burger, Bogdan Popa, dented42, Fred Fu,  
Gustavo Massaccesi, Jason Hemann, Jay McCarthy, John Clements, Jordan  
Johnson, Justin Dhillon, Mao Yifu, Matthew Flatt, Matthias Felleisen,  
Mike Sperber, olopierpa, Oscar Waddell, Pavel Panchekha, Philip McGrath,  
Robby Findler, Sam Phillips, Sam Tobin-Hochstadt, Siddhartha  
Kasivajhula, Sorawee Porncharoenwase, Stephen De Gabrielle, Tim Standen,  
William E. Byrd, Wing Hei Chan, and Δ̷̨̧̡̭̺̙̞͖̖͕̰̥̙̯͙̞̯̗̔͌͐̿͊̌́̄̑̿̓̉̈̀͘͠λ̶͔͓̘̘̳͇̻̍̏͌̅̓̓͂̍̾̔͜λ̶̛̯̖̯̲̱͎̙͎̎̐͆͂̽̓̇́͌́̀̏̎̅͋̏̊͘λ̶̨̨̰̟̯̫̲̲̫̯̭̤̳̼̫͉̹̞́̐̒Δ̷̡̛̥̖͇͚͍͍̄̏̂͛̅̌͗̂̽̅̀͆̿̔̚͜

* * *

---

<div class="post-metadata">

### Author: ![sorawee](https://avatars.discourse-cdn.com/v4/letter/s/ea5d25/32.png) [@sorawee](https://racket.discourse.group/u/sorawee)
#### Post date: [May 2, 2024, 11:20pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/5 "2024-05-02T23:20:43Z")

</div>

Is there a better name that we should use for @dr-neptune on GitHub? Note that in the 8.9 release, we used the name `dr-neptune`.

Particularly, I don't think the name should "disrupt" nearby text.

 ![Screenshot 2024-05-02 at 4.17.19 PM.png](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/b/b032f8259a4e6b3205bb56d0dcc78d140c0fc53a.png)

---

<div class="post-metadata">

### Author: ![sorawee](https://avatars.discourse-cdn.com/v4/letter/s/ea5d25/32.png) [@sorawee](https://racket.discourse.group/u/sorawee)
#### Post date: [May 2, 2024, 11:23pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/6 "2024-05-02T23:23:11Z")

</div>

Also, do we want to mention the progress bar "feature" in `raco setup`?

---

<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: [May 2, 2024, 11:35pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/7 "2024-05-02T23:35:06Z")

</div>

I'm happy to do whatever others want, here. I admit that I'm mildly amused by the disruption, but I suppose it could get old. I'm going to discount my own vote here and say that I'm going to regard your opinion as a vote against the disruption, making the current vote tally 1-0 in favor of renaming to dr-neptune. I would definitely like to hear from @dr-neptune here!

---

<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: [May 2, 2024, 11:39pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/8 "2024-05-02T23:39:05Z")

</div>

I would defer to @robby , I think he's the author? I could easily be wrong about this. I find it useful to be able to see which threads are idle, ... I would probably write something like this:

- Command-line compilation features a progress bar that shows a progress bar and a dynamically-updated indicator of what each build thread is working on.

---

<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: [May 3, 2024, 12:48am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/9 "2024-05-03T00:48:50Z")

</div>

Uh... "a progress bar that shows a progress bar". Yep, that's the kind of progress bar I'm talking about.

- Command-line compilation features both a progress bar and a dynamically-updated indicator of what each build thread is working on.

Ending my sentences with prepositions now, what would Dr. Graulich say about me now...?

---

<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: [May 3, 2024, 2:14am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/10 "2024-05-03T02:14:50Z")

</div>

> [@jbclements](#):
>
> - The `racket/treelist` and `racket/mutable-treelist` provide implementations  
> of Bagwell, Riompf, Stucki, and Ureche's RRB Vectors for Racket.

Maybe it would be better to describe the functionality of treelists, something like:

- The `racket/treelist` and `racket/mutable-treelist` libraries provide list-like containers that support many operations in effectively constant time, including inserting, updating, or deleting elements at arbitrary positions and appending or extracting treelists.

(In any case, a noun like "libraries" is needed before "provide".)

> [@jbclements](#):
>
> - The `syntax-local-lift-require-top-level-form` function allows syntax  
> transformers for `require` elements to produce top-level forms that are  
> inserted following the currently-being-expanded `require` form.

I would mention `contract-in` in addition to, or maybe even instead of, this.

> [@jbclements](#):
>
> - The `syntax-local-make-definition-context-introducer` function allows  
> syntax transformers to prune a single scope from a set of scopes during  
> expansion. If you don't know whether you need this function, you  
> probably don't need this function.

Is this worth including in the release note?

> [@jbclements](#):
>
> Uh... "a progress bar that shows a progress bar". Yep, that's the kind of progress bar I'm talking about.
> 
> - Command-line compilation features both a progress bar and a dynamically-updated indicator of what each build thread is working on.

I am looking forward to this feature and agree it's worth mentioning here. If there's a concise way to describe how to turn it off, it might be worth mentioning that, too.

> [@sorawee](#):
>
> Particularly, I don't think the name should "disrupt" nearby text.

Tangentially, how did you render this screenshot? This is what it looks like for me in Firefox, and Chromium looks fairly similar:

 ![Screenshot 2024-05-02 at 22-05-50 Racket v8.13 Release Thread - Internals - Racket Discourse](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/8/8074d51cd4446ff17937fa54570c1d544cf2e8d5.png)

(I agree with using `dr-neptune` or whatever @dr-neptune prefers, though.)

---

<div class="post-metadata">

### Author: ![sorawee](https://avatars.discourse-cdn.com/v4/letter/s/ea5d25/32.png) [@sorawee](https://racket.discourse.group/u/sorawee)
#### Post date: [May 3, 2024, 2:27am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/11 "2024-05-03T02:27:10Z")

</div>

It's Firefox on Mac.

But this is also how Emacs renders it. I guess it depends on the system font?

 ![Screenshot 2024-05-02 at 7.26.39 PM.png](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/1/131c419d15d2e97ed70d9cbc560a906345d11de7.png)

---

<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: [May 3, 2024, 2:40am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/12 "2024-05-03T02:40:59Z")

</div>

> [@sorawee](#):
>
> I guess it depends on the system font?

Confirmed; I can see it that way by changing the font.

---

<div class="post-metadata">

### Author: ![shawnw](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/shawnw/32/1031_2.png) [@shawnw](https://racket.discourse.group/u/shawnw)
#### Post date: [May 3, 2024, 3:23am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/13 "2024-05-03T03:23:30Z")

</div>

> [@jbclements](#):
>
> The `racket/treelist` and `racket/mutable-treelist` provide implementations  
> of Bagwell, Riompf, Stucki, and Ureche's RRB Vectors for Racket.

\*eyes some half-finished code\* 😮‍💨

---

<div class="post-metadata">

### Author: ![dr-neptune](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/dr-neptune/32/988_2.png) [@dr-neptune](https://racket.discourse.group/u/dr-neptune)
#### Post date: [May 3, 2024, 10:24am UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/14 "2024-05-03T10:24:01Z")

</div>

Hey folks,

I also find the disruption mildly amusing. Happy to switch it to dr-neptune 😄

---

<div class="post-metadata">

### Author: ![soegaard](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/soegaard/32/19_2.png) [@soegaard](https://racket.discourse.group/u/soegaard)
#### Post date: [May 3, 2024, 12:43pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/15 "2024-05-03T12:43:08Z")

</div>

Chrome on macOS:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/8/85a26ff57b135c0dfa0361a8dce76ff10541ec16.png)

---

<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: [May 3, 2024, 4:07pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/16 "2024-05-03T16:07:37Z")

</div>

Oh! I know that feeling.

---

<div class="post-metadata">

### Author: ![soegaard](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/soegaard/32/19_2.png) [@soegaard](https://racket.discourse.group/u/soegaard)
#### Post date: [May 3, 2024, 4:16pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/17 "2024-05-03T16:16:08Z")

</div>

If I recall correctly, the same problem exists in gmail.

---

<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: [May 3, 2024, 4:25pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/18 "2024-05-03T16:25:38Z")

</div>

> [@LiberalArtist](#):
>
> I would mention `contract-in` in addition to, or maybe even instead of, this.

I think we should hold off on the `contract-in` announcement. The version that is in this release is fairly minimal one and the full-featured one (that matches what you can do with `contract-out`) was merged only after the release branch was created. So, if everyone is okay with it, it seems better to announce it for the next release.

---

<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: [May 3, 2024, 7:58pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/19 "2024-05-03T19:58:31Z")

</div>

In principle, @dr-neptune could fix this problem by choosing a name that's sufficiently long that the disruption applies only to characters in their own name. So, for instance, **Δ̷̨̧̡̭̺̙̞͖̖͕̰̥̙̯͙̞̯̗̔͌͐̿͊̌́̄̑̿̓̉̈̀͘͠λ̶͔͓̘̘̳͇̻̍̏͌̅̓̓͂̍̾̔͜λ̶̛̯̖̯̲̱͎̙͎̎̐͆͂̽̓̇́͌́̀̏̎̅͋̏̊͘λ̶̨̨̰̟̯̫̲̲̫̯̭̤̳̼̫͉̹̞́̐̒Δ̷̡̛̥̖͇͚͍͍̄̏̂͛̅̌͗̂̽̅̀͆̿̔̚͜** \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

---

<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: [May 3, 2024, 7:59pm UTC](https://racket.discourse.group/t/racket-v8-13-release-thread/2857/20 "2024-05-03T19:59:43Z")

</div>

Whoa! Interesting. The underscores all got truncated. Here's what I typed:

 ![image](https://global.discourse-cdn.com/free1/uploads/racket/original/2X/2/2b495651cc397f56b4f9481fbac9dc7f4887150f.png)

Interesting!

[Next page](https://racket.discourse.group/t/racket-v8-13-release-thread/2857.md?page=2)
