[racket-dev] drafting the v5.1 release announcement

From: Jon Rafkind (rafkind at cs.utah.edu)
Date: Wed Feb 9 16:28:53 EST 2011

Here are some items I pulled from the commit log

Robby:
823b6629aae7a1c668c2dffb2d89a16fc4a5889c
    add an extra check to make sure drracket is more likely to startup
when things go wrong in strange ways
      Please merge to the 5.1 release branch
ce4bf97bde32032b0663c623d8ef1f2158a96fae
    monitor the font size preference in order to redo the one-line size
computation for the search bar
      closes PR 11687
0411cddba53914a33af88d720fd4d05634aac016
    added set/c and made sets print as set, seteq, or seteqv
      closes PR 11454
670d58d134eaf2dc5ed6ef4ea60f53d66321acda
    added un/cache-image, a function that enables/disables the drawing
cache in 2htdp/image images
b77847904e4d05a731ca331c7d84e3532c980521
    adjust the way the () colorer status thingy draws
2f009ca529fcbe4ebe496379a5403cbcf1a0cd14
    changed the way equal<%> and snip% interact. Specifically:
   
     - snip% now implements equal<%>
       its equal-to? delegates to other-equal-to?.
   
     - snip%'s other-equal-to and equal-hash-code and
       equal-secondary-hash-code all just amount to using eq?. The
       setup is here just to make snip% be the one that declares
       that it implements equal<%> so that various snips can adjust
       other-equal-to? (and the hash code methods)
   
     - image-snip% no longer implements equal<%>
       (but it extends snip% and it overrides other-equal-to?
        and the hash-code methods to do what they always did)
4917d2af4a680de5380f0b82ef13f82d216d7d76
    added freeze to 2htdp/image
d1fe2766559133ba3913c5aef1f3f72c1a8be758
    adjust the bug report form so that hitting return does not submit
the bug report
      as mentioned in PR 11551
0542d3ca7084579b1c209ee52e52edcc59a6ad53
    added support for saving bug reports (for ease of offline submission)
    also cleaned up a bunch of little things in the bug report
implementation:
     - the abort had race conditions
     - formatted the collections a little bit better (hopefully)
     - broke the implementation up into multiple files
     - fixed broken interaction with drracket (the drracket frame mixin
is now being used properly)
18dacad6c825e4fb18b37f1eae259d6c73419fc6
    a first attempt at a rewording of the blame error messages to admit
the possibility that the contract was wrong and also to claim that
fixing the blamed module or the contract is all that is required
   
    note that two test cases are failing, but only because they depend
on the wording of the error messages; once that is set, I'll fix them.
a63bbf82abb4b43b59d67ce9383c21b3ad1074ee
    added current-trace-results

Matthew:
dfa36afa894ecc4a9626ecbe1ba36e4ff1f00a77
    change `floating-point-bytes->real' to always produce a flonum
ff0a591b7beaadf68053b1f0beba2595a442aef0
    change FFI `_float' to coerce to Racket double-precision flonum
3ef32d915ba6d07e5191aa980ba0a936e1970462
    make inexacts `eqv?' only when precision is the same
     plus some other small fixes
b5bc288f676a81129ea93aaffeaebefa18831879
    Windows: fix `path-list-string->path-list' to throw away quotes
     --- which seems to be what the command shell does with quotes in
     PATH, at least; Microsoft isn't in the habit of documenting this
     sort of thing
fb406390b7dbb44f8811d2ff07f058019c026715
    fix readline port to obey port protocol & use interaction port handler
     --- in particular, it no longer blocks on a read request; the
         call to the readline library now uses a separate thread,
         so that the input port can return an event
069a7c2b4871477bf35a120b33ff5d7358e23a7c
    add `current-get-interaction-input-port' and adjust `racket/gui'
     so that GUI events are dispatched while a REPL is blocked on input
b112fd76df4305b178a7e761fe0d29214a37c518
    add `reparent' to `subwindow<%>'
98822cf1f989efd7c22f5d9587a65aeee29f26c0
    adjust `racket/gui' and dependencies to survive a locked preference file
     - adds a `#:timeout-lock-there' argument to `get-preference'
     - fixes preference looup in `racket/gui'
     - make preference names consistently use `GRacket' and consistently
       fall back on `MrEd' names
     - fix Emacs-style undo mode while we're at it
d8e123753c40fadc6d51513cf1fa5e4eca614bc8
    gtk: enable input-method (e.g., Chinese) support
79cd92859c9f6227abfd2a97ca0f3aa209d2c6eb
    disable user-specific setup on `make install' by default
     and add a `--enable-userspecific' flag for `configure'
d6fc7da7501ff636ebf13639def6909aaa4feb47
    add `refresh-now' to `canvas%'
     --- this method doesn't have to be built in, but it
         encapsulates a common and not-too-obvious pattern
13ddab969b7a071f3b0a532a19f579cdf6e2cb9a
    enable ptherads by default for OpenBSD
55693e090f5f9686b286e69f1181565895194846
    add `port-try-file-lock?' and `port-file-unlock'
7319b539f0fcef27637a507367e64bfce1808931
    win64: initial CGC build
cc82d3728525b5bac3f2cb91d249d5404a7a3bd0
    Scribble Latex image support (missed an earlier commit)
421519994d42ccd5a731e6b0b914ddf283988318
    make SSL listeners events
aa7c4b53d9c2962536b3a37bb244600d7216289e
    add `codeblock' to Scribble

Matthias:
814a847323262813cd2382a020aaa152089b1501
    made to-draw/on-draw in big-bang mandatory; Closes PR 11663

Blake:
4676662e4b25f2c43433289433932523bd5c00aa
    moved demodularizer from github to collects and added it to raco

Mike:
fa854f62fc22a81cbb3aa0efa1997ade18c9e7c3
    Add vector signatures, and `vector-of' to the HtDP signature syntax.

Vincent:
4ac36fd59bc35cb0d60cb050cfaae21d213064c8
    Added the new single-precision float function to TR.
ac76d963b0e4b70c17753b22833c630f3d71cd1b
    Enable single-precision floats by default.
46f086282d7302e7e015109c9f945a92350e384c
    Bytes are a sequence of the new Byte type.
d4c93cc12e6df893ba2e782f0e0ea5529738315a
    TR's numeric tower is now built from unions of non-overlapping base
types.
   
    A lot of the work that was done by special-casing number types can
now be
    done by TR's handling of unions. This makes it easier to add more
numeric
    types to the tower and should make writing down types for numeric
    primitives much less error-prone.
   
    In addition, this commit adds several numeric types that will help get
    tighter bounds on integer arithmetic, such as Index types. They will
have
    to be integrated to the base environment before they can be useful.

Casey:
f7fd6ee68996564d73ed71055182c4c425c240d1
    Changes the term generator to produce shorter sequences
   
    It now uses the (local) size bound instead of the (global) attempt
count.

Kevin:
b88ff8983710da79e8f4b2fc05748b08fc5e92cd
    racket/draw gradient support

Eli:
40610643bfc705dd014090ca9e3a0567b38a9567
    Make `take' less forceful -- so now (take 0 (error "foo")) returns '()
    instead of throwing an error.
9e302a7106f5cbfe3e08c2d6ae17775ce70ac8f6
    Rename `sequence' library to `stream', move from `racket/base' to
`racket'.

Jay:
d6d9f3ef8cbd8f6cd65e7e5d20e76fd69b01d968
    Adding dynamic/c and coerce/c

Stevie:
a04b8d989936e64e29d2ae123da39159c2cdf2e6
    Change instanceof/c to allow more contracts.
   
    Now instanceof/c no longer checks explicitly for a class/c contract, so
    or/c or and/c of class/c contracts succeed.
92775c5e4ee55986da9fec18a171c59b8fb4f64f
    Add instanceof.
   
    The instanceof contract combinator takes a class contract.  The
resulting
    contract protects objects using the external field and method contracts
    in the class contract.
0c4658f718ad9a4d5b857c06785650247316d705
    Conversion of -> to impersonators.



On 02/09/2011 01:37 PM, Matthew Flatt wrote:
> Let's get the ball rolling on the release announcement. Here are draft
> bullets for the drawing and GUI libraries:
>
>  * The `racket/draw' library --- which implements the drawing half the
>    GUI toolkit --- is a new implementation built on top of the Cairo
>    drawing library and the Pango text-rendering library.
>
>    The `racket/draw' library can be used independent of the
>    `racket/gui/base' library and without a graphics display (e.g.,
>    without an X11 connection).
>
>    The new library has one small incompatibility with the old GUI
>    toolbox: 'xor drawing is no longer supported. The new library has
>    many additional features: rotation and general affine
>    transformations, PDF and SVG drawing contexts, gradients, and
>    alpha-channel bitmaps.
>
>  * The `racket/gui/base' library is a new implementation built on top
>    of Win32 under Windows, Cocoa (instead of Carbon) under Mac OS X,
>    and Gtk (instead of Xt) under Unix/X.
>
>    Unix/X users will see the biggest difference with this change.
>    DrRacket and all Racket GUI programs take on the desktop theme for
>    menus, buttons, and other GUI widgets.
>
>    The GRacket executable is no longer strictly necessary for running
>    GUI programs, because the `racket/gui/base' library can be used from
>    Racket. To the degree that a platform distinguishes GUI and console
>    applications, however, the GRacket executable still offers some
>    additional GUI-specific functionality (e.g., single-instance
>    support).
>
>    The new library includes small incompatibilities with the old GUI
>    toolbox: the `send-event', `current-ps-afm-file-paths', and
>    `current-ps-cmap-file-paths' functions have been removed. The
>    `racket/gui/base' library re-exports `racket/draw', so it includes
>    the same drawing functionality as before (except for 'xor drawing).
>
> _________________________________________________
>   For list-related administrative tasks:
>   http://lists.racket-lang.org/listinfo/dev



Posted on the dev mailing list.