Racket – the Language-Oriented Programming Language – 8.17 is now available
a year ago
- #programming
- #release
- #racket
- Racket v8.17 introduces the new `drracket-core` package with fewer dependencies.
- Typed Racket now supports treelists.
- Package manager computes checksums for packages, enabling automatic upgrades.
- New `bitwise-first-bit-set` function returns the smallest set bit in a number.
- Updated `dynamic-require` function simplifies syntax bindings usage.
- Customizable module-path display in error messages via `error-module-path->string-handler`.
- Improved precision for numeric functions (`sin`, `cos`, etc.) on Windows using MSVCRT/UCRT libraries.
- Enhanced performance and reduced memory usage for `string-append` in Racket CS.
- TCP ports use `SO_KEEPALIVE` for connection responsiveness checks.
- Windows terminal now supports mouse events as virtual terminal characters.
- New `#:replace-malformed-surrogate?` keyword for handling malformed Unicode surrogates in JSON.
- http-client module no longer sends "Content-Length: 0" for body-less requests.
- Demodularizer (`compiler/demod`) can prune more unused assignments.
- Redex replaces judgment rendering forms with functions for better abstraction.
- DrRacket's language-dialog moves to preferences if no teaching languages are included.
- Math library improvements for block-diagonal matrices, `acos`, and `matrix-(cos-)angle`.
- Stepper functionality restored for `big-bang` programs.
- Numerous other repairs and documentation improvements.