# Racket v8.16 draft release notes

**URL:** <https://racket.discourse.group/t/racket-v8-16-draft-release-notes/3518>\
**Category:** Internals\
**Tags:** release-management, release\
**Created:** [January 27, 2025, 5:09am UTC](https://racket.discourse.group/t/racket-v8-16-draft-release-notes/3518 "2025-01-27T05:09:28Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [January 28, 2025, 8:55pm UTC](https://racket.discourse.group/t/racket-v8-16-draft-release-notes/3518/2 "2025-01-28T20:55:30Z")

</div>

I recommend this PR by @mike: [https://github.com/racket/htdp/pull/222](https://github.com/racket/htdp/pull/222)  
I think the debugger support of menu-based ASL has been there for a long time, but `#lang htdp/asl` previously didn't get the "Debug" button.

Maybe this?

- `#lang htdp/asl` incorporates [Graphical Debugger](https://docs.racket-lang.org/drracket/debugger.html#%28part._.Debugger_.Buttons%29) support.

> [@jbclements](#):
>
> A revised representation of pointers makes `ptr-ref` and `ptr-set!`  
> substantially faster, reducing the overhead of foreign function  
> calls.

How about focusing on FFI calls in general? like

- A revised representation of pointers improves the performance of foreign function calls.
  - `ptr-ref` and `ptr-set!` are substantially faster.

Just for the record, this post details the FFI improvement (with several benchmarking results from @mflatt and @pavpanchekha):  
[https://racket.discourse.group/t/fixnum-slow-despite-docs/3409/6](https://racket.discourse.group/t/fixnum-slow-despite-docs/3409/6)

> [@jbclements](#):
>
> - A variety of new treelist utility functions are available:  
> `treelist-filter`, `treelist-flatten`, et cetera.
> - The `mutable-treelist-prepend!` function allows prepending to  
> mutable treelists.
> - Mutable treelists are serializable.

Does it make sense to make them a secondary-level list and summarize the notes as one top-level item? (e.g.

- Expanded support for immutable and mutable treelists.
  - ...
  - ...)

> [@jbclements](#):
>
> - The `open-input-nowhere` function creates an empty input port.
> - The `pipe-port?` function makes it possible to determine whether a port is connected to a pipe.
> - The `port-file-stat` function allows gathering information about the file that is the source or target of a file-stream port.

These items fall under the general "port I/O" category. Similar to the treelist items, I wonder whether grouping them under a top-level "new port I/O functions"-ish item better structures the release notes.

---

_[View the full topic](https://racket.discourse.group/t/racket-v8-16-draft-release-notes/3518)._
