Release Announcement for v6.10

220 views
Skip to first unread message

Vincent St-Amour

unread,
Jul 18, 2017, 1:46:59 PM7/18/17
to racke...@googlegroups.com
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".
----------------------------------------------------------------------

General
- Windows 10 creator's update bug
- MacOS docs opening bug (mostly worked around, but some open questions? pr15458, #127 @ drracket)

Leif Andersen
- scheme_atexit (a8fa5d4ebb693201ab4454ca29a74c2e5c4dafd8 @ racket)
- mzrt_sema_trywait (5c27f5550c12edf7605d8714f6870f4a706bd500 @ racket)

Dan Feltey
- check-syntax coloring changes (56d6a1b3d822155dc33c495bf746c101bc352661 @ drracket)

Robby Findler
- disable online check-syntax on monoprocessors (2ec3dc0489f681920d9944940444783ac72b7ffc @ drracket)
- doc lookup on MacOS (f175148ca3d26e97d4b68df9f73d693a0ae74243 @ racket)

Conor Finegan
- raco test ++args (9852afe1b1415e3630baed75675a833a559144a7 @ racket)

Jack Firth
- rackunit changes (748d1655c80097464e8496ebae432ab6cf1318cc b7ebc3e6eb3cecda309db8210cdcd2de7754206a 1fc5a1532b7e2daebd8862ef7fd728ab255817a6 etc. @ rackunit)

Matthew Flatt
- rktio (64146e94dc72d3744ff47b109f77be9bafda3113 @ racket)
- improve cross-compilation (c917434a86162a7b96e8766f244d013c9c25dc34 d469265a6e60b4632457ca6a35163746e9464bdf @ racket)
- authentic structs (f43234e1cbed1aa3da993750aec329b195d2f8cd @ racket)
- ffi/unsafe/global (87c0ca84a81aa55c1f7b93a1bc9e54945b992a79 @ racket)
- fix executable creation (c082d77c971f7a042cf69de9df150c80e9384b71 @ racket)

Ben Greenman
- types for immutable data (fae58e140dc35f0fb144081ffd9c3798db4e19cf @ typed-racket)

Andrew Kent
- refinement improvements (80d1654dee27b1c2c36693e09fc6a09efcfeef7a @ typed-racket)

Scott Moore
- disable TR optimizations in unsafe contexts (214d597e4b18c57ebed027597b8ea1d5f3bb900e @ typed-racket)

Vincent St-Amour
- additional kinds of vector chaperones (13443dec923238bd22fbd41404e68e5d4749bfd0 @ racket)

----------------------------------------------------------------------

Leif Andersen

unread,
Jul 18, 2017, 1:57:04 PM7/18/17
to Vincent St-Amour, racket-dev
> - scheme_atexit (a8fa5d4ebb693201ab4454ca29a74c2e5c4dafd8 @ racket)

Racket's internal runtime adds a `scheme_atexit` procedure with
identical behavior as `atexit` defined in libc.

> - mzrt_sema_trywait (5c27f5550c12edf7605d8714f6870f4a706bd500 @ racket)

I am inclined to think this one isn't worth announcing since its not
(yet) part of the public API.

~Leif Andersen
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m2d18xy6vq.wl-stamourv%40eecs.northwestern.edu.
> For more options, visit https://groups.google.com/d/optout.

Matthew Flatt

unread,
Jul 18, 2017, 2:45:31 PM7/18/17
to Vincent St-Amour, racke...@googlegroups.com
At Tue, 18 Jul 2017 12:47:21 -0500, Vincent St-Amour wrote:
> Matthew Flatt
> - rktio (64146e94dc72d3744ff47b109f77be9bafda3113 @ racket)

I'm not sure whether this should be mentioned, but maybe:

* Internally, Racket's immediate compatibility layer over
operating-system facilities has been moved into its own library,
"rktio", so it can be used in future Racket implementations. This
change should be transparent, but the refactoring moves code that
has many compiler and OS dependencies, so we expect a new glitch or
two in less-common build and execution environments. Please report
problems at https://github.com/racket/racket/issues .

> - improve cross-compilation (c917434a86162a7b96e8766f244d013c9c25dc34
> d469265a6e60b4632457ca6a35163746e9464bdf @ racket)

* Racket supports cross-compilation of executables in more cases,
including executables that depend on packages for foreign libraries.

> - authentic structs (f43234e1cbed1aa3da993750aec329b195d2f8cd @ racket)

* The `struct` form supports an `#:authentic` annotation to declare
that chaperones and impersonators are never allowed on instances of
the declared structure type. This annotation is intended for use on
a library's internal data structures, where it won't interfere with
contracts or other forms of extension at a library's interface. It
can sometimes provide a small performance boost.

> - ffi/unsafe/global (87c0ca84a81aa55c1f7b93a1bc9e54945b992a79 @ racket)
> - fix executable creation (c082d77c971f7a042cf69de9df150c80e9384b71 @ racket)

I don't think these need to be mentioned.

Leif Andersen

unread,
Jul 18, 2017, 3:21:51 PM7/18/17
to Matthew Flatt, Vincent St-Amour, racket-dev
> - ffi/unsafe/global (87c0ca84a81aa55c1f7b93a1bc9e54945b992a79 @ racket)

FWIW I think this one is more important than either of items with me tagged.

~Leif Andersen
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20170718184529.2B61B650079%40mail-svr1.cs.utah.edu.

Vincent St-Amour

unread,
Jul 18, 2017, 3:23:47 PM7/18/17
to Matthew Flatt, Vincent St-Amour, racke...@googlegroups.com
On Tue, 18 Jul 2017 13:45:28 -0500,
Matthew Flatt wrote:
>
> At Tue, 18 Jul 2017 12:47:21 -0500, Vincent St-Amour wrote:
> > Matthew Flatt
> > - rktio (64146e94dc72d3744ff47b109f77be9bafda3113 @ racket)
>
> I'm not sure whether this should be mentioned, but maybe:

I think so. It may not be a very user-visible change, but it's a major one.

Vincent


> * Internally, Racket's immediate compatibility layer over
> operating-system facilities has been moved into its own library,
> "rktio", so it can be used in future Racket implementations. This
> change should be transparent, but the refactoring moves code that
> has many compiler and OS dependencies, so we expect a new glitch or
> two in less-common build and execution environments. Please report
> problems at https://github.com/racket/racket/issues .
>
> > - improve cross-compilation (c917434a86162a7b96e8766f244d013c9c25dc34
> > d469265a6e60b4632457ca6a35163746e9464bdf @ racket)
>
> * Racket supports cross-compilation of executables in more cases,
> including executables that depend on packages for foreign libraries.
>
> > - authentic structs (f43234e1cbed1aa3da993750aec329b195d2f8cd @ racket)
>
> * The `struct` form supports an `#:authentic` annotation to declare
> that chaperones and impersonators are never allowed on instances of
> the declared structure type. This annotation is intended for use on
> a library's internal data structures, where it won't interfere with
> contracts or other forms of extension at a library's interface. It
> can sometimes provide a small performance boost.
>
> > - ffi/unsafe/global (87c0ca84a81aa55c1f7b93a1bc9e54945b992a79 @ racket)
> > - fix executable creation (c082d77c971f7a042cf69de9df150c80e9384b71 @ racket)
>
> I don't think these need to be mentioned.
>

Jack Firth

unread,
Jul 19, 2017, 6:15:08 PM7/19/17
to Racket Developers, stam...@eecs.northwestern.edu
- rackunit changes (748d1655c80097464e8496ebae432ab6cf1318cc b7ebc3e6eb3cecda309db8210cdcd2de7754206a 1fc5a1532b7e2daebd8862ef7fd728ab255817a6 etc. @ rackunit) 
  • RackUnit adds `nested-info` and `string-info` to grant custom checks more control over the display and layout of check failure info.
The other changes are internal cleanups, changes to strange undocumented behavior, or very small so I don't think they need to be mentioned.

Ben Greenman

unread,
Jul 19, 2017, 7:06:38 PM7/19/17
to Vincent St-Amour, Racket-Dev List
Ben Greenman
- types for immutable data (fae58e140dc35f0fb144081ffd9c3798db4e19cf @ typed-racket)

* Typed Racket has types for immutable, mutable, and weak hashtables; in other words the type
   `(HashTable K V)` is a union `(U (Immutable-HashTable K V) (Mutable-HashTable K V)
    (Weak-HashTable K V))`. Standard library functions may have more specific return types.
   For example, `hash-set` has type `(-> (HashTable K V) K V (Immutable-HashTable K V))`.
   When an immutable hashtable flows from untyped code to typed code, Typed Racket
   may use a flat contract to verify its type (provided the table's key and value types are flat).


Vincent St-Amour

unread,
Jul 26, 2017, 2:07:26 PM7/26/17
to racke...@googlegroups.com
Ok, so here's what I have so far. Comments welcome. In particular, could
someone double-check that my summary of the Win 10 Creators' update is
accurate?

Vincent

----------------------------------------------------------------------
Racket version 6.10 is now available from

http://racket-lang.org/

Note: Graphical Racket programs such as DrRacket are affected by a bug
in the Windows 10 Creators update which can lead to blue screens and
require reboots. We are aware of the issue, and have mitigated it in
DrRacket, which reduces the incidence of crashes. Microsoft has
diagnosed the issue and will release a fix in a future Windows update.
Additional details are available here:
https://github.com/racket/racket/issues/1671

* Internally, Racket's immediate compatibility layer over
operating-system facilities has been moved into its own library,
"rktio", so it can be used in future Racket implementations. This
change should be transparent, but the refactoring moves code that
has many compiler and OS dependencies, so we expect a new glitch or
two in less-common build and execution environments. Please report
problems at https://github.com/racket/racket/issues .

* Racket supports cross-compilation of executables in more cases,
including executables that depend on packages for foreign libraries.

* The `struct` form supports an `#:authentic` annotation to declare
that chaperones and impersonators are never allowed on instances of
the declared structure type. This annotation is intended for use on
a library's internal data structures, where it won't interfere with
contracts or other forms of extension at a library's interface. It
can sometimes provide a small performance boost.

* RackUnit adds `nested-info` and `string-info` to grant custom checks
more control over the display and layout of check failure info.

* The `raco test` command provides the `++arg` and `++args` flags to
pass arguments to tested programs.

* Typed Racket has types for immutable, mutable, and weak hashtables; in
other words the type `(HashTable K V)` is a union `(U
(Immutable-HashTable K V) (Mutable-HashTable K V) (Weak-HashTable K
V))`. Standard library functions may have more specific return types.
For example, `hash-set` has type `(-> (HashTable K V) K V
(Immutable-HashTable K V))`. When an immutable hashtable flows from
untyped code to typed code, Typed Racket may use a flat contract to
verify its type (provided the table's key and value types are flat).

* The Typed Racket Optimizer is disabled in untrusted contexts (e.g.,
sandboxes). This prevents unsoundness in the Typed Racket type system
from being used to get access to unsafe operations.

* Racket's internal runtime adds a `scheme_atexit` procedure with
identical behavior as `atexit` defined in libc.

The following people contributed to this release:
Alex Knauth, Alexander McLin, Alexis King, Andrew Kent, Ben Greenman,
Ben Noordhuis, catull, Conor Finegan, Daniel Feltey, Ethan Estrada,
Georges Dupéron, Gary F. Baumgartner, Gianluca Ciccarelli, Gustavo
Massaccesi, Harold Carr, Jack Firth, Jay McCarthy, John Clements,
Kimball Germane, Leandro Facchinetti, Lehi Toskin, Leif Andersen,
Matthew Butterick, Matthew Flatt, Matthias Felleisen, Michael Orlitzky,
Milo Turner, Mohsen Keyhani, Philip McGrath, Robby Findler, Rob Bassi,
Ryan Culpepper, Sam Caldwell, Sam Tobin-Hochstadt, Scott Moore, Spencer
Florence, Stephen Chang, Stephen De Gabrielle, Vincent St-Amour, WarGrey
Gyoudmon Ju, and William J. Bowman.

Feedback Welcome
----------------------------------------------------------------------
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m2d18xy6vq.wl-stamourv%40eecs.northwestern.edu.

Gustavo Massaccesi

unread,
Jul 26, 2017, 2:53:11 PM7/26/17
to Vincent St-Amour, racket-dev
> Internally, Racket's _immediate_ compatibility layer over
> operating-system facilities has been moved into its own library,
> "rktio", so it can be used in future Racket implementations.
> [...]

Is it _immediate_ or _intermediate_ ?

Gustavo
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/m260efrrzv.wl-stamourv%40eecs.northwestern.edu.

Matthew Flatt

unread,
Jul 28, 2017, 2:24:44 PM7/28/17
to Gustavo Massaccesi, Vincent St-Amour, racket-dev
At Wed, 26 Jul 2017 15:52:28 -0300, Gustavo Massaccesi wrote:
> > Internally, Racket's _immediate_ compatibility layer over
> > operating-system facilities has been moved into its own library,
> > "rktio", so it can be used in future Racket implementations.
> > [...]
>
> Is it _immediate_ or _intermediate_ ?

It was meant to be "immediate", but "intermediate" seems clearer, and
I'm fine with that or just dropping the word.

> On Wed, Jul 26, 2017 at 3:08 PM, Vincent St-Amour
> <stam...@eecs.northwestern.edu> wrote:
> > Ok, so here's what I have so far. Comments welcome. In particular, could
> > someone double-check that my summary of the Win 10 Creators' update is
> > accurate?
> > [...]
> >
> > Note: Graphical Racket programs such as DrRacket are affected by a bug
> > in the Windows 10 Creators update which can lead to blue screens and
> > require reboots. We are aware of the issue, and have mitigated it in
> > DrRacket, which reduces the incidence of crashes. Microsoft has
> > diagnosed the issue and will release a fix in a future Windows update.
> > Additional details are available here:
> > https://github.com/racket/racket/issues/1671

That looks accurate to me.

Reply all
Reply to author
Forward
0 new messages