Version 102:

102

 PRS:

 FUNCTIONALITY CHANGES

 - the help desk language level specific documentation has been
   integrated into drscheme.

 MINOR CHANGES AND BUG FIXES

 - added parents for these dialogs:

     Keybindings 
     Choose Language...
     Add Teachpack...
     Create Launcher -> "you must save before creating a launcher" message box
     "The thread has been killed" message box
     "Uncaught Error"
     Break, Break -> "do you want to kill it?" message box
     Click unbound id in DrScheme -> "nothing found for <id>" message box

 - Only the platform-specific dialogs are used in drscheme now, on
   all platforms. The preference has been removed from the dialog.

102d10:

 PRS:

  1461: Kill menu problems
  1460: Help Desk has empty preferences
  1459: search menu items work on empty search text
  1456: teachpacks don't add
  1455: project windows never leave `Windows' menu
  1428: setup -c deletes files for all platforms
  1424: long (list ...) displays don't display correctly
  1405: memory usage box should be read only
  1398: Downloading doc files requires restart
  1377: replacing by empty string loops
  1330: killing repl, then check-syntax hangs
  1144: match docs not setup right in Help Desk
   737: mred:preferences library too global
   599: mac: can't double click to open files while mred starts up
   406: bad error message for sixlib op

 FUNCTIONALITY CHANGES

 - the framework now imports a definition of the preferences
   file location. Use this to have a separate preferences file
   for each different application.

 - do not use 'drscheme:settings anymore to get the current
   language settings from drscheme. Now, use

      drscheme:language:settings-preferences-symbol

   (which is bound to the right symbol) instead.

 - setup plt's ``clean'' info.ss flag does not recur
   into subdirectories anymore.

 MINOR CHANGES AND BUG FIXES

 - Added Replace and Find again to edit menu
 
 - changed `h' shortcut to find and replace again. show keybindings
   has no shortcut anymore.

 * Moved the filename and (define ...) popups to the left, swapping with
   the Save button. (The popups in the middle of space look strange.)

 * Merged the Project menu with the File menu.

 * Changed the "Configure Language" menu item in the project window to
   "Choose Language", to match the menu item in the file window.

 * Add "..." to "Open Project" menu item.

 * Got rid of "Insert Lambda". It's not nearly useful enough to be
   worth all the bugs it creates. (Try inserting a lambda by itself and
   hit return --- nothing happens. Try (<lambda>) --- bad selection for
   the error message.)

 * Give windows for untitled files/projects unique names: "Untitled 1",
   "Untitled 2", etc.

 * Fix multiple adjacent separators in the project window's File and
   Edit menus.

 * Dropped the old "platform independent" file dialogs, and use
   get-file-list for projects.

 * Disabled "Keybindings" menu item when not applicable.

102d9:

  NEW DIRECTORY: plt/collects/defaults
 
  be sure to get the new directory with:

       cvs update -d plt/collects/defaults
  
  or DrScheme will fail to start up.

  WARNINGS: 
    - this release breaks the stepper.
    - the "create launcher" menu item is 
      not yet fully functional, so use at your
      own risk.

 PRS: 1424, 1437

 FUNCTIONALITY CHANGES

 - drscheme-jr now supports teachpacks 
   (those that don't use GUIs, like htdp/dir.ss)

 - the graphics library (sometimes known as sixlib) no longer 
   accepts any scaling arguments. 

 - drscheme:rep:process-text/zodiac and
   drscheme:rep:process-text/no-zodiac
   are now called drscheme:load-handler:process-text/zodiac and
   drscheme:load-handler:process-text/no-zodiac.

 - Windows and unix launchers can now be run from any directory.
   They do not need to be saved in a particular place (this has been
   true for some time, but it is officially true now.).

 - the debug full scheme languages now allow loading of files
   that contain graphics.

 - the framework's preferences system now requires you to
   set the marshall/unmarshalling functions (if any) before
   setting the default preference.

 - drscheme now supports site-specific default preferences.
   To use, create a file prefs.ss in the defaults collection
   that is a copy of the preferences file that you want to 
   be the defaults. Then, if the user-specific preferences file
   doesn't exist (or the preferences in it are from an old version),
   the contents of the prefs.ss file in the defaults collection is
   used as the preferences.

 - drscheme now wraps uses with-handlers so that if a tool 
   signals an error when it is loaded or invoked, it just
   puts a window with the error message and continues, instead
   of keeping drscheme from starting up.

 - the .plt installer no longer automatically deletes compiled
   files when installing a .plt file. 

 - setup-plt now uses the 'clean flag in info.ss to determine
   the files to be deleted when --clean-ing a collection. It
   defaults to the files in the "compiled" sub-collection of a
   collection.

 - setup-plt no longer automatically runs --clean when installing
   a .plt file.

 MINOR CHANGES AND BUG FIXES

 - the searching dialog now has two-line find and replace editors.

 - #! is treated like a comment when executing the defintions window,
   if it is the first two characters in the definitions window.

 - constructing the project manager's "collection projects" menu
   was adding something like a 25% overhead to drscheme's startup,
   so that menu is gone (I doubt anyone really used it anyway...)

 - rarely used save menu items relegated to sub-menu.

 - wrap text is now a checkable item that is checked when the editor
   is wrapped.
   
 - drscheme-jr now has a doc.txt file that explains its implementation.
   The implementation was factored so that DrScheme's new launchers
   can re-use drscheme-jr's implementation. So, if you change
   drscheme-jr, be aware that you might affecting these launchers.

102d8

 PRS: 1358, 1344, 1341, 1329, 1322, 1242 (docs not yet built), 1235 

 FUNCTIONALITY CHANGES

 - added a "keymap" menu to the edit menu (shortcut: k)
   that opens a window where you can see all of the key
   bindings' names and short cuts, and you can choose one
   to invoke.

 - framework:
   - added canonicalize-keybinding-string
   - added aug-keymap%, aug-keymap<%>
   - editor:basic now sets it's keymap to an
     aug-keymap<%> during initialization.

 MINOR CHANGES AND BUG FIXES

  - added a "Kill" menu item that kills all computation and reclaims
    all resources from the program that drscheme is executing.
    This is useful for multi-threaded apps that get out of hand.

  - improved the look of the "(define" (now "(define ...)") and
    filename buttons on the left in drscheme's toolbar

  - if ``#!'' appears at the beginning of the first line in the definitions
    window, the first line is treated as a comment during execution
    (this is only a change for the non-debug language levels -- the
    teaching and debug language levels all already did this)

  - meta-control-d, meta-control-u, meta-shift-control-d, meta-shift-control-u
    keybindings all restored.


102d7

  - drscheme now has a little button on the bar that lets you hop
    around between definitions in the program. It is approximate in
    that it doesn't really know every detail about the lexical
    structure of scheme, but it should still be quite useful. 

102d6

 PRS: 1341

 FUN INFO

 - DrScheme's rep class now exports a method with this type:
 
   ((((-> void) -> void) -> void) -> void)
       4        3        2        1

 believe it or not. It is used to evaluate user expressions in the
 repl. Arrow 1 sets up the repl (watch cursor and stuff) and then
 calls arrow 2, which should loop, once for each expression (say in
 the definitions window), calling arrow 3. Arrow 2 then calls arrow 3
 with arrow 4. Arrow 3 does a little before/after setup to get
 breaking right and calls arrow 4 to actually evaluate each
 expression. 

 FUNCTIONALITY CHANGES

 - the framework's info frame mixins no longer require frame:editor<%> 
   as an input. Also, they are moved lower in the hierarchy of the
   instantiated mixin classes in the framework. This affects all of the
   frame:XX% classes.

 - project manager windows now have a repl.
   The repl shows the values returned by loading each of the files
   in the project.

 tools:

   - ensure-interactions-shown is now ensure-rep-shown
   - do-many-buffer-evals is now do-many-text-evals

 teachpacks:

   - interactions window now shows the names of the teachpacks that
     were installed at last execute.
   - teachpack names are not in the area with the execute button, instead
     they are now shown in the language menu.
   - it is now an error to add the same teachpack twice.

 - GRAPHICAL_DEBUG is no longer supported. It was always wierd, becuase
   it changed the semantics of require-library in a way that was
   mostly the same, and keeping drscheme in the consistent
   intersection of the two semantics was getting painful (not to
   mention confusing...)

 MINOR CHANGES AND BUG FIXES

 - repl errors that are in some loaded file have little clickable
   icons that open the file and show the error's source location in
   the file. Icon suggestions welcome. To test them out, just replace
   file.gif in the icons collection.

 - common file dialog keyboard navigation improved (typing letters now
   may go backwards now -- before it only went fowards)

 - common file dialogs are now resizable.

 - common file dialogs now sort in case insensitive mode always
  (typing letters doesn't make much sense otherwise)

 - lucky search now sets the focus to the html viewing canvas instead
   of leaving the focus on the search text-field.

102d5

 PRS: 1334

 FUNCTIONALITY CHANGES

 - THE FILE FORMAT FOR PROJECT FILES HAS CHANGED

   to update your old project files to the new format, use emacs or
   something to insert a ' at the front of the file. Then open and
   save the project in drscheme.

 - project files are now `load'able. That is, if you have the right
   language settings, you can do 
   
           mzscheme -qmvr myproj.proj

   and have the same effect as clicking execute on the project
   window. For mred, you will need to do something like this:

           mred -qmvr myproj.proj -e "(yield (make-semaphore 0))"

   so that mred doesn't quit automatically.

 MINOR CHANGES AND BUG FIXES

 - typeset now uses scheme-mode editors for red boxes.

 - Help Desk now has a "feeling lucky" option ala google (menu
   shortcut: l). It goes directly to the first item that would have
   been found in a regular search.

 - Clicking on an error message link in drscheme now uses the "feeling
   lucky" style search in help desk.

102d4

 minor bug fixes

102d3

 PRS: 1235

 FUNCTIONALITY CHANGES

 - drscheme now allows multiple teachpacks.

 - added typeset-size to typeset utilities. Used to control the size
   of the rendered text.

 - clever-file-format now symetrically changes the file's format to
   'standard. It used to rever the file format to 'text when there
   were no more images in it. Now, it also changes back to non-'text
   when images (and other non-string-snips) are added back.

 MINOR CHANGES AND BUG FIXES

 - clicking on the name in the topleft of the drscheme frame opens a
   little window with the full path.

 - check syntax now shows its syntax errors in a separate window.
   (PR 1235)

102d2

 PRS: 1297, 1306, 1171

 FUNCTIONALITY CHANGES

 - the framework's gui-utils:get-snips/chars-from-buffer is now
   gui-utils:get-snips/chars-from-text

 - zodiac now supports graphical expressions. If a snip implements
   zodiac's expand<%> interface, zodiac calls a method of the snip to
   expand it. Docs updated but not built.

 - the teaching languages now come with:

     make-posn, posn-x, posn-y, and posn?

   by default (no library required).

 - added typeset tool. To get, there are two new directories:

   plt/collects/typeset
   plt/collects/drscheme/tools/typeset

   be sure to check those out. Search for Typeset in help desk for
   more info.

 - teaching levels print exact numbers whose denominators are evenly
   disivible by 2 and 5 as decimals.

 - teaching levels treat input decimals as exact numbers.

 MINOR CHANGES AND BUG FIXES

 - fixed a bug (PR 1297, steck submission) in a call to message-box
   from the get-file dialog but was unable to repdoduce the bug. Paul,
   can you see if the bug has gone away? Thanks.

 - changed the new version "welcome to drs" window back to something
   much like the one in previous versions.

 - drscheme should now print with a fixed-width font.

 - in the main help-desk window, space does pgdn and backspace does
   pgup, ala netscape. Also, typing return or enter while the cursor
   is on a link follows the link.

102d1

 PRS: 1274, 1280, 1264, 1260, 1239, 1225, 1220, 1268, 1209, 1208,
      1196, 1180, 1096, 1088, 1043, 771, 752, 846

 FUNCTIONALITY CHANGES

 - New project manager. The manual is not yet available, so
   you will have to play with the Project menu yourself. I hope that
   things are self-explanatory. There is no REPL support. Any repl
   support that comes will be part of the debugger.

   *** WARNING: NEW DIRECTORY ***

   To get it, run these simple commands:

    % cd PLTHOME/collects/drscheme
    % cvs update -r exp -d

 - added class/d macro. It's syntax is like that for a unit, but it
   defines a class. Roughly:

   (class/d
    super-expresion
    init-args
    ((public var ...)
     (override var ...)
     (inherit var ...)
     (rename (var var) ...))
 
     definitions-and-expressions ...)

 - the drscheme:get/extend:extend-* functions no longer haver %s at
   the end of their names.

 MINOR CHANGES AND BUG FIXES

 - bug report form cleaned up.

 - improved the welcome window (merged with about box)


Version 101:

General
-------

 - The teaching libraries are now called teachpacks. See the teachpack
   release notes for more information.

 - DrScheme's languages have changed (again). The langauges are now:

   - Beginning Student
   - Intermediate Student
   - Advanced Student
   - Full Scheme, which contains:
     - Graphical Full Scheme (with and without debugging), and
     - Textual Full Scheme (with and without debugging)

 - Help Desk now supports bug report submissions. Please use it in
   favor of the web based form. To submit a bug, follow the "Sumbit a
   Bug" link near the bottom of Help Desk's front page

 - On European keyboards, the backslash character
   may not work properly in DrScheme.  If you 
   experience this problem, comment out this line:

        (map-meta "\\" "remove-space")

   in PLTHOME/collects/framework/keymap.ss.

 - For tools, invoke-library is now called invoke-teachpack.

 - Renamed two files in the graphics collection:
    graphic.ss is now graphics.ss
    graphics.ss is now graphicss.ss

 - DrScheme's print menu now inserts the time, date and filename in the
   header of the file to be printed.

 - comment/uncomment is improved. Now, it blindly adds a semicolon to the 
   front of each line (and doesn't add extra semicolons on following lines)
   and aways removes one semicolon (if present) from the front of each line.

 - Parenthesis highlighting now turns unmatched parens red
   in addition to turning matched parenthesis regions grey.
   Also (now that the caret flashes) if the caret is between two
   parens, both before and after parens will be highlighted,
   not just the ones before.
   
   Thus, every time the cursor is next to an uncommented
   paren, the programmer sees some feedback about the paren.

Version 100:

General
-------

 - DrScheme's languages have changed. The new languages are:

    - Beginner
    - Intermediate
    - Advanced
    - MzScheme
    - MrEd

   The first three languages are essentially the same as in version
   53, except that graphics primitives have been removed. (Instead,
   domain-specific graphics commands can be loaded as libraries.) The
   turtles remain in the advanced language.

   The MzScheme and MrEd languages match exactly the languages
   provided by the MzScheme and MrEd executables.

 - A simple algebraic stepper, dubbed The Foot, is now available.  The
   Foot permits users to construct a source-level evaluation trace for
   programs written in the Beginner language. It will be expanded in
   future releases.

 - DrScheme's Help Desk provides online help for DrScheme, its
   languages, and its libraries.

 - Graphics functions were removed from the teaching languages
   (Beginner, Intermediate, and Advanced), except Turtles in
   Advanced. To use graphics functions, you must select a library (and
   the teaching libraries are not yet updated).

 - The old viewport-based graphics library can be loaded into the MrEd
   Debug language via (require-library "graphic.ss" "graphics").

 - I/O within DrScheme is substantially improved.

 - The library and tool interfaces for extended DrScheme have
   changed.


Version 53:

General
-------

 - view menu items now have accelerators

 - (<= exp) isn't allowed in beginner. (same for <, >, and >=)

 - print primitive is now setup correctly to print based on the language level

 - paren-matching in semi-colon comments is disabled

 - info panel "running" message is now aligned correctly 
 
 - The check synatax and analyze buttons are now disabled during evaluation

 - library directory now starts in "MZLIB_COLLECTS_DIR/../../lib"
   which is our best approximation to "PLTHOME/lib"
 
 - elevator library can now select more than one floor at a time


Version 52:

General
-------

- The words "running" or "not running" at the bottom of the
  DrScheme frame indicate whether or not work is happening in the 
  user's program. 

- a "Windows" menu has been added which keeps track of the currently
  open drscheme windows.

- the source locations for "load"ed files now match the numbers 
  in the bottom of the drscheme window.

- the thread that evaluations (including execution) take place on is
  the same as the eventspace's main thread, unless the evaluation
  thread is killed. In that case, the eventspace's main thread is
  re-generated, but the execution thread does not.

- The REPL implementation has been cleaned up.

- the turtles window does not survive across executions anymore

- the Quasi-R4RS language level has been renamed to R4RS+

DrScheme Tools/Libraries
------------------------

- new methods on rep:edit%: report-exception-error accepts an exception and
  prints the error message in the console.

- send-scheme is outdated. Use run-in-evaluation-thread instead

- the drscheme:tool^ signature has changed. A new subunit, "basis" has
  been aded and the process-finish struct is now in that subunit. So,
  drscheme:language:process-finish? becomes
  drscheme:basis:process-finish?, etc.
  
  The process-finish structure no longer has a boolean indicating sucess. 
  Instead, an exception is raised.


- the settings for the language have been re-aranged
  - there are two new parameters, exported from the basis
    subunit of drscheme:export^, current-setting and current-vocabulary
    - current-vocabulary contains the vocabulary that zodiac uses to
      perform macro expansion
    - current-setting is bound to a setting struct, which encapsulates
      all of the information about the language level
  - the process-*/zodiac and process-*/no-zodiac proceudres
    are no longer methods and their arguments have changed


Version 51:

General 
-------
- fixed error message for "eq?" and "cons" at beginner level.

- check syntax does not work with an unitialized repl when:
  the source contains define-macro. (won't be fixed in the release)

- eval no longer loops forever in mred vocabulary 

- searching keybindings have changed. There are four distinct actions:
   action1: move keyboard focus to the searching window, opening it if necessary, 
            or if already there search forward
   action2: move keyboard focus to the searching window, opening it if necessary, 
            or if already there search backward.
   action3: search again, in the same direction
   action4: move the focus between the main window, searching window and replacment window
   action5: hide the searching window

The actions are mapped to different keys, based on the platform. 

On unix:
 action1 => control-s, meta-%
 action2 => control-r
 action3 => f3
 action4 => control-i
 action5 => control-g

On the macintosh:
  action1 => command-f
  action2 => command-r
  action3 => command-g
  action4 => command-o
  action5 => command-.

On windows:
 action1 => control-f
 action2 => control-r
 action3 => f3, control-g
 action4 => control-i
 action5 => escape

- turned off the file name printouts on splash screen

  evaluate: 
  (wx:write-resource "mred" "splashMessages" 1 (wx:find-path 'setup-file))
  to turn them back on.

- fixed a bug that caused error messages to be displayed in message
  boxes more often than neccessary. (as opposed to printing in the
  repl)

- parenthesis matching is improved

- The empty list is now called "empty" instead of "null" with the
  constructor style printer.

- The analyze button puts up a dialog saying "please wait, loading",
  now.

- the fonts dialog now shows previews of the selected fonts. You
  still need to restart to see the changes, unfortunately.

DrScheme Tools/Libraries
------------------------

- tools must now import wx names explicitly, as a new first import.

- the parameters interface has changed. Instead getting and setting
  the class, the tool programmer must register a function that
  accepts a class and returns a class. See the manual for more
  details.

- process/zodiac-finish has been renamed to process-finish
