tag:github.com,2008:https://github.com/OrangeToque/racket/releases Tags from racket 2014-11-04T14:52:36Z tag:github.com,2008:Repository/28166794/v6.1.1 2014-11-04T14:52:36Z Racket v6.1.1 <p>Racket v6.1.1</p> <p>* The MAC OS X YOSEMITE compatibility problems are fixed. We <br /> bundled a patched Pango text-drawing library with Racket.</p> <p>* The WINDOWS [32-bit] releases fixes the window-update crashes. <br /> We bundled a patched Cairo drawing library with Racket.</p> <p>* TYPED RACKET closes two safety holes in the exception system. <br /> The revised type system restricts `raise' to send only <br /> instances of the `exn' structure type and flat data to <br /> handlers. It also checks exception handlers properly. <br /> NOTE: Previously well-typed programs may fail to typecheck.</p> <p>* TYPED RACKET'S typed regions support casts and predicates.</p> <p>* 2HTDP/IMAGE'S notion of equality ignores an image's baseline.</p> <p>* The PACKAGE MANAGER supports a binary library installation mode, <br /> which allows users to install packages without source or documentation. <br /> Use the `--binary-lib' option with `raco pkg install'.</p> <p>* The new DRRACKET-TOOL-LIB package factors out parts of DrRacket's <br /> IDE so that they can be reused with other editors, such as Emacs.</p> <p>* The COMPILER'S use-before-defined analysis has been repaired for <br /> certain forms of nested `letrec', some `let' forms, and some <br /> uses of `set!' or `with-continuation-mark'.</p> <p>* The COMPILER performs additional bytecode optimizations. <br /> Thanks to Gustavo Massaccesi.</p> <p>* The CML library comes with a new `replace-evt' event constructor. <br /> Thanks to Jan Dvořák.</p> <p>* REDEX'S benchmark suite comes with a description of the benchmark <br /> programs.</p> <p>* REDEX'S metafunctions can be typeset using the "large left brace" <br /> notation for conditionals.</p> <p>* The CONTRACT library comes with an improved `contract-stronger?'. <br /> Its error messages note that the contract itself might be wrong.</p> <p>* The GUI library is DPI-aware on Windows.</p> <p>* The OPENSSL library supports Server Name Indication for servers. <br /> Thanks to Jay Kominek.</p> <p>* The SYNTAX/PARSE library allows the definition of new pattern <br /> forms via pattern expanders, similar to match expanders. <br /> Thanks to Alex Knauth.</p> <p>* OpenGL on Linux no longer depends on libgtkgl, and core profiles <br /> are supported (see `set-legacy?').</p> <p>* The TEACHING LANGUAGES' unit test framework supports <br /> `check-satisfied', a construct for checking whether a result <br /> satisfies a predicate, e.g.: (check-satisfied (sort l) sorted?)</p> rmculpepper tag:github.com,2008:Repository/28166794/v6.1 2014-08-02T17:51:28Z Racket v6.1 <p>Racket v6.1</p> <p>The MAJOR INNOVATION concerns local recursive variable definitions. <br />Instead of initializing variables with an `undefined' value, Racket <br />raises an exception when such a variable is used before its definition. <br />(Thanks to Claire Alvis for adapting Dybvig's "Fixing Letrec" work.)</p> <p>Since programs are rarely intended to produce #&lt;undefined&gt;, raising an <br />exception provides early and improved feedback. Module-level variables <br />have always triggered such an exception when used too early, and this <br />change finally gives local bindings --- including class fields --- the <br />same meaning.</p> <p>This change is backwards-incompatible with prior releases of Racket. <br />Aside from exposing a few bugs, the change will mainly affect programs <br />that include</p> <p>(define undefined (letrec ([x x]) x))</p> <p>to obtain the #&lt;undefined&gt; value. In its stead, Racket provides the same <br />value via the `racket/undefined' library (which was introduced in the <br />previous release). Programmers are encouraged to use it in place of the <br />pattern above to obtain the "undefined" value.</p> <p>The release also includes the following SMALL CHANGES:</p> <p>* PLUMBERS generalize the flush-on-exit capability of primitive output <br /> ports to enable arbitrary flushing actions and to give programmers <br /> control over the timing of flushes (i.e., a composable `atexit'). New <br /> functions include `current-plumber', `plumber-add-flush!', and <br /> `plumber-flush-all'.</p> <p>* CONTRACTS: the contract system's random testing facility has been <br /> strengthened so that it can easily find simple mistakes in contracted <br /> data structure implementations (e.g. an accidental reverse of a <br /> conditional in a heap invariant check).</p> <p>* REDEX: the semantics of mis-match patterns (variables followed by _!_) <br /> inside ellipses has changed in a backwards-incompatible way. This <br /> change simplifies the patterns' semantics and increases the usefulness <br /> of these patterns.</p> <p>* TEACHING LANGUAGES: `check-random' is an addition to the preferred <br /> unit testing framework in the teaching languages. It enables the <br /> testing of students' functions that use random-number <br /> generation. (Thanks to David Van Horn (UMaryland) for proposing this <br /> idea.)</p> <p>* Upgraded and normalized versions of GRAPHICS LIBRARIES and <br /> dependencies (Pango, Cairo, GLib, etc.) that are bundled with Racket <br /> on Windows and Mac OS X. For example, FreeType support is consistently <br /> enabled.</p> <p>* TYPED RACKET: its standard library includes contracted exports from <br /> the Racket standard library, such as the formatting combinators of <br /> `racket/format'. It also supports Racket's asynchronous channels; see <br /> the `typed/racket/async-channel' library.</p> <p>* SSL: The openssl library supports forward secrecy via DHE and ECDHE <br /> cipher suites (thanks to Edward Lee) and Server Name Indication <br /> (thanks to Jay Kominek).</p> <p>* The `mzlib/class100' library has been REMOVED. Use `racket/class' <br /> instead.</p> rmculpepper tag:github.com,2008:Repository/28166794/v6.0.1 2014-05-08T20:13:40Z Racket v6.0.1 <p>Racket v6.0.1</p> <p>* A new `racket/undefined` library exports `undefined` as the value <br /> currently produced by</p> <p> (letrec ([x x]) x)</p> <p> This library anticipates a future where that expression will raise <br /> an exception. The `racket/undefined` library will continue to offer <br /> the `undefined` value as a bridge between versions and as a last <br /> resort.</p> <p>* The drawing and GUI libraries provide improved support for <br /> high-resolution bitmaps and their use on Retina displays. For <br /> example, `read-bitmap` includes a `#:try-<a class="user-mention notranslate" href="https://github.com/2x">@2x</a>?` option to trigger <br /> substitutions through the usual "<a class="user-mention notranslate" href="https://github.com/2x">@2x</a>" naming convention.</p> <p>* Check Syntax cooperates with Typed Racket to show arrows and other <br /> Check Syntax highlighting even when there is a type error.</p> <p>* Functions provided via contract-out that have first-order contracts <br /> perform better.</p> <p>* The contract boundary between typed/untyped modules is much less <br /> expensive. Typed Racket now avoids generating contracts for places <br /> where contracts failures cannot happen.</p> <p>* Occurrence typing now works better with when/unless. Example:</p> <p> (let ((x (read))) <br /> (unless (number? x) (error 'bad-input)) <br /> (add1 x))</p> <p>* Types in Typed Racket are now pretty-printed.</p> <p>* Function types can now be written in prefix style, which is now <br /> preferred and is used for printing. Infix function types are still <br /> accepted for backwards compatibility.</p> <p>* A new `-&gt;*' type constructor is used for writing types for functions <br /> with optional and keyword arguments. The notation is similar to the <br /> matching contract combinator.</p> <p>* Typed Racket forms do not have a `:' suffix by default now. For <br /> example, the `struct' form replaces `struct:'. The suffixed versions <br /> are all provided for backwards compatibility.</p> <p>* Typed Racket now has preliminary support for classes and <br /> objects. However, it is still experimental and the APIs are subject <br /> to change.</p> <p>* Type aliases in Typed Racket now support recursion and mutual <br /> recursion. For example, `(define-type (MyList X) (U Null (Pair X <br /> (MyList X))))' is now a valid type alias.</p> <p>* Plot correctly renders intersecting 3D graphs and non-grid-aligned <br /> 3D rectangles.</p> <p>* Elements in plots output in PDF/PS format have the same relative <br /> scale as in other formats. In particular, it is not necessary to <br /> adjust `plot-font-size` to make PDF plots look the same as PNG.</p> rmculpepper tag:github.com,2008:Repository/28166794/v6.0 2014-02-26T22:18:28Z Racket v6.0 <p>Racket v6.0</p> <p>Racket 6.0 has a new package system, including a catalog of <br />hundreds of already-available packages. Please visit</p> <p> <a href="http://pkgs.racket-lang.org/">http://pkgs.racket-lang.org/</a></p> <p>for an overview of the packages.</p> <p>Racket versions 5.3.4 through 5.3.6 included "beta" versions of the <br />package system. Racket version 6.0 incorporates many improvements <br />suggested by preliminary experiences in those versions:</p> <p> * A package is treated as a single collection by default, so it is <br /> even easier to use a GitHub repository as a package. Get started <br /> quickly: <br /> <a href="http://docs.racket-lang.org/pkg/getting-started.html">http://docs.racket-lang.org/pkg/getting-started.html</a></p> <p> * DrRacket includes a new package manager GUI, available via the <br /> File|Package Manager ... menu item. The GUI is also available <br /> as a stand-alone program via the "gui-pkg-manager" package.</p> <p> * The main Racket distribution has been separated into about 200 <br /> packages. The Racket installer combines the core system with <br /> bundled versions of these packages.</p> <p> Alternatively, you may now install a Minimal Racket distribution <br /> --- which is about 1/10 the size of the main distribution --- and <br /> add only those packages that you need.</p> <p> * Package installation supports pre-built packages that include <br /> compiled byte code and rendered documentation, meaning packages can <br /> be installed quickly when built versions are available. All <br /> packages in the main distribution are available in pre-built form.</p> <p>The recent 5.92 and 5.93 releases served as release candidates for 6.0, <br />and 6.0 includes a few additional repairs related to the package <br />system.</p> <p>Further improvements to the package system are in the works, notably <br />including package documentation on the package-catalog web site.</p> <p>COMPATIBILITY NOTE: PLaneT, the previous Racket package system, will <br />remain in place for the foreseeable future, but we expect all package <br />work to shift to the new system.</p> <p>Beyond the package system, this release brings a number of other <br />changes:</p> <p> * Racket's HTML documentation has a new and improved look, thanks to <br /> Matthew Butterick.</p> <p> * The documentation includes a style guide, "How to Program Racket" <br /> <a href="http://docs.racket-lang.org/style/">http://docs.racket-lang.org/style/</a></p> <p> * Racket's JIT compiler supports the ARM architecture.</p> <p> * Racket supports the Mac's Retina display mode.</p> <p> * The performance of the Typed Racket compiler improved by 50% on <br /> some typed programs; e.g., see <a href="http://bit.ly/1d0Ye4z">http://bit.ly/1d0Ye4z</a></p> <p> * The profiler provides a new mode that uses the errortrace library <br /> to produce fine-grained profiles.</p> <p> * A new contract profiler reports how much time programs spend <br /> checking contracts, and which contracts are most expensive.</p> <p> * The math/flonum library exports fast 105-bit precision operations.</p> <p> * Check Syntax handles generated identifiers, especially those <br /> introduced by struct (e.g. field selectors) and Redex (e.g., e_1, <br /> e_2)</p> <p> * 2htdp/batch-io includes functions for dealing with html/xml in <br /> files and web sites as X-expressions plus conveniences for <br /> web-based graph traversals.</p> <p> * The `gen:set' generic interface extends set operations to work on <br /> user-defined types that implement set methods, as well as on other <br /> set-like built-in types, such as lists.</p> <p> * Picts support conversion to SVG format.</p> <p> * Under unix, Racket provides desktop entries (.desktop files) for <br /> its graphical executables.</p> rmculpepper tag:github.com,2008:Repository/28166794/v5.93 2014-01-31T23:23:45Z Racket v5.93 <p>Racket v5.93</p> <p>Version 5.93 repairs a few problems with the recent v5.92 release (in <br />preparation for a v6.0 release):</p> <p> * fixed a low-level concurrency problem with the GUI library for Mac <br /> OS X, which especially affected 32-bit builds;</p> <p> * fixed GRacket-based launchers (such as `drracket`) in a Unix-style <br /> installation;</p> <p> * expanded the list of recognized OpenSSL library versions;</p> <p> * fixed small CSS problems and inconsistencies (relative to v5.3.6) in <br /> the new Scribble style as used by the Racket documentation; and</p> <p> * added the version number back to the "racket" directory within the <br /> source distribution bundle.</p> rmculpepper tag:github.com,2008:Repository/28166794/v5.92 2014-01-25T16:56:08Z Racket v5.92 <p>Racket v5.92</p> <p>Racket 5.92 has a new package system, including a catalog of <br />hundreds of already-available packages. Please visit</p> <p> <a href="http://pkgs.racket-lang.org/">http://pkgs.racket-lang.org/</a></p> <p>for an overview of the packages.</p> <p>Recent releases included the "beta" versions of the package system. <br />Racket version 5.92 incorporates many improvements suggested by these <br />preliminary experiences:</p> <p> * A package is treated as a single collection by default, so it is <br /> even easier to use a Github repository as a package. Get started <br /> quickly: <br /> <a href="http://docs.racket-lang.org/pkg/getting-started.html">http://docs.racket-lang.org/pkg/getting-started.html</a></p> <p> * DrRacket includes a new package manager GUI, available via the <br /> File|Package Manager ... menu item. The GUI is also available <br /> as a stand-alone program via the "gui-pkg-manager" package.</p> <p> * The main Racket distribution has been separated into about 200 <br /> packages. The Racket installer combines the core system with <br /> bundled versions of these packages.</p> <p> Alternatively, you may now install a Minimal Racket distribution <br /> --- which is about 1/10 the size of the main distribution --- and <br /> add only those packages that you need.</p> <p> * Package installation supports pre-built packages that include <br /> compiled byte code and rendered documentation, meaning packages can <br /> be installed quickly when built versions are available. All <br /> packages in the main distribution are available in pre-built form.</p> <p>Further improvements are in the works, notably including package <br />documentation on the package-catalog web site.</p> <p>COMPATIBILITY NOTE: PLaneT, the previous Racket package system, will <br />remain in place for the foreseeable future, but we expect all package <br />work to shift to the new system.</p> <p>Beyond the package system, this release brings a number of other <br />changes:</p> <p> * Racket's HTML documentation has a new and improved look, thanks to <br /> Matthew Butterick.</p> <p> * The documentation includes a style guide, "How to Program Racket" <br /> <a href="http://docs.racket-lang.org/style/">http://docs.racket-lang.org/style/</a></p> <p> * Racket's JIT compiler supports the ARM architecture.</p> <p> * Racket supports the Mac's Retina display mode.</p> <p> * The performance of the Typed Racket compiler improved by 50% on <br /> some typed programs; e.g., see <a href="http://bit.ly/1d0Ye4z">http://bit.ly/1d0Ye4z</a></p> <p> * The profiler provides a new mode that uses the errortrace library <br /> to produce fine-grained profiles.</p> <p> * A new contract profiler reports how much time programs spend <br /> checking contracts, and which contracts are most expensive.</p> <p> * The math/flonum library exports fast 105-bit precision operations.</p> <p> * Check Syntax handles generated identifiers, especially those <br /> introduced by struct (e.g. field selectors) and Redex (e.g., e_1, <br /> e_2)</p> <p> * 2htdp/batch-io includes functions for dealing with html/xml in <br /> files and web sites as X-expressions plus conveniences for <br /> web-based graph traversals.</p> <p> * The `gen:set' generic interface extends set operations to work on <br /> user-defined types that implement set methods, as well as on other <br /> set-like built-in types, such as lists.</p> <p> * Picts support conversion to SVG format.</p> <p> * Under unix, Racket provides desktop entries (.desktop files) for <br /> its graphical executables.</p> rmculpepper tag:github.com,2008:Repository/28166794/v5.3.6 2013-08-10T12:47:15Z Racket v5.3.6 <p>Racket v5.3.6</p> <p>Racket v5.3.6 is a bug-fix release. It eliminates errors from v5.3.5 <br />that people have found over the summer.</p> elibarzilay tag:github.com,2008:Repository/28166794/v5.3.5 2013-06-18T11:00:31Z Racket v5.3.5 <p>Racket v5.3.5</p> <p>This is a special-purpose release to match the arrival of "Realm of <br />Racket" in bookstores. Racket v.5.3.5 adds a single `realm' <br />collection to the v5.3.4 release. The new collection contains the <br />source code that readers of Realm may wish to use for experiments.</p> elibarzilay tag:github.com,2008:Repository/28166794/v5.3.4 2013-05-08T16:21:58Z Racket v5.3.4 <p>Racket v5.3.4</p> <p>* Extflonums (80-bit floating-point numbers) are supported on some <br /> x86/x86_64 platforms -- including Windows, and including platforms <br /> where Racket is compiled to use SSE instructions for flonum <br /> arithmetic. Thanks to Michael Filonenko.</p> <p>* OS X: DrRacket and all of the other apps are now signed with an <br /> official key.</p> <p>* Tally Maze: a new game based an enumeration of 2d mazes.</p> <p>* The Optimization Coach, a DrRacket plugin, has been moved from the <br /> Racket distribution to the Racket package repository. Install it <br /> with: raco pkg install optimization-coach</p> <p>* Redex: `define-union-language' now merges productions when <br /> languages define the same nonterminals. Thanks to William Bowman.</p> <p>* The `srfi/19' library is now compatible with the date structure <br /> type exported by `racket/base'.</p> elibarzilay tag:github.com,2008:Repository/28166794/v5.3.3 2013-02-15T20:38:09Z Racket v5.3.3 <p>Racket v5.3.3</p> <p>This is a bug-fix release to address a flaw in DrRacket v5.3.2 <br />concerning interactions between the contour window and the syntax <br />coloring.</p> elibarzilay