[racket-dev] drafting the v5.1 release announcement
2011/2/9 Jon Rafkind <rafkind at cs.utah.edu>:
> 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
* raco now supports an experimental "demodularizer" that collapses a
module's dependencies into a new module comprising the whole program.
This currently provides no performance improvement, but will be the
basis for providing cross-module optimization and dead-code
elimination. It is currently useful, however, for static analysis of
whole Racket programs.
>
> 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
These were removed by a different commit.
>
> 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
>
> _________________________________________________
> For list-related administrative tasks:
> http://lists.racket-lang.org/listinfo/dev
>
--
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay
"The glory of God is Intelligence" - D&C 93