Date: 18 March 1983 11:52 am PST (Friday)
Sender: Schmidt.PA
Subject: Cedar 4.0 release (part 2 of 2)
From: Release Master
To: CedarUsers↑, CedarImplementors↑
cc: CedarCoordinators↑
Reply-To: Schmidt


System components
-------------------

The following is a complete list of the system components included in this release.  Details about the relationship of each component to the previous release and pointers to documentation and DF files appear in the "Summary of Release Components" section, below.  The components whose names are preceded by an asterisk can be ignored by the casual Cedar user.

*AlpineStubs		*New*		
*AlpineUser			*New*		
*AMEvents			*Changed*		Implementation in boot file
AMModel			*Changed*		Implementation in boot file
AMProcess			*New*		Implementation in boot file
AMTypes			*Changed*		Implementation in boot file
*BasicHeads			*Changed*		Implementation in boot file
BBV				*Changed*		Implementation in boot file
*BCD
Binder
*Booting			*New*		Implementation in boot file
BootTool			*New*		Implementation in boot file
BravoToTioga		*Changed*
*BTrees			
BugBane			*Changed*		Implementation in boot file
*CedarDB			*Withdrawn*	Replaced by Cypress
CedarReals						Implementation in boot file
CedarRoot			*Changed*		Implementation in boot file
CedarScanner		*New*		Implementation in boot file
CedarSnapshot		*Changed*		Implementation in boot file
Chat				*Changed*
*CIFSCommands		*Changed*
CIFS				*Changed*		Implementation in boot file
ClientFileTool		*Changed*
Clock				*Changed*
CoFork			*Changed*
*ColorPackage					Implementation in boot file
*Communication					Implementation in boot file
*CompatibilityPackage	*Changed*		Implementation in boot file
Compiler
Cypress			*New*
*D0Microcode
DateAndTime		*Changed*		Implementation in boot file
DebugTool			*New*
DFFiles			*Changed*
*DLionMicrocode
*DoradoMicrocode		*Changed*
FileTool			*Changed*		Implementation in boot file
FlushUnneededTempFiles	*Changed*
FootBall			*New*
Forms				*Changed*
*Germ			*Changed*		Separate boot file
GrapevineUser					Implementation in boot file
Graphics						Implementation in boot file
*IFSFile
IncludeChecker		*Changed*
*Inscript			*Changed*		Implementation in boot file
IO				*Changed*		Implementation in boot file
*Lister
ListsAndAtoms		*Changed*		Implementation in boot file
*Loader			*Changed*		Implementation in boot file
Lupine			*Changed*
Maintain			*Changed*
*MakeBoot			*Changed*
MCross			*Changed*
*MesaScanner		*Withdrawn*	Subsumed by CedarScanner
Modeller			*Changed*
NewStuff			*Changed*
OnlineMergeSort
Othello			*Changed*		Separate boot file
*Packager
PerfStats			*Changed*	
*PGS	
*PilotKernel			*Changed*		Implementation in boot file
*Pine				*Withdrawn*
PlotPackage			*Changed*
Poplar			*Changed*
Print				*Changed*
Pup				*Changed*		Implementation in boot file
*Pupwatch			*Changed*
Random
RedBlackTree		
RedBlackTreeRef		*Changed*
Reminder			*Changed*
Rigging						Implementation in boot file
*RPCRuntime		*Changed*		Implementation in boot file
SafeStorage			*Changed*		Implementation in boot file
SampleTool			*Changed*
Scaled			*New*
ScanZones			*New*
*Sequin
Set				*Changed*
SirPress			*Changed*
SpaceWatch			*New*
*SpecialTerminal		*Changed*		Implementation in boot file
Spell				*New*		Implementation in boot file
Spy				*Changed*
Squirrel			*Changed*
STP				*New*
STPServer			
Talker			*New*
Tank				*New*
*TerminalMultiplex		*Changed*		Implementation in boot file
Tioga				*Changed*		Implementation in boot file
TJaMGraphics		*Withdrawn*
TSetter			*Changed*
*TTYIO			*Changed*		Implementation in boot file
UECP				
Unique			*Changed*
*UserCredentials		*Changed*		Implementation in boot file
UserExec			*Changed*		Implementation in boot file
UserProfile			*New*		Implementation in boot file
*VersionMap		*Changed*		Implementation in boot file
*VersionMapBuilder	*Changed*	
Viewers			*Changed*		Implementation in boot file
ViewRec			*Changed*
VTables			*Changed*
Walnut			*Changed*
WalnutSend			*Withdrawn*	Subsumed by Walnut
Watch			*Changed*
Waterlily			*Changed*
*WorldVM			*Changed*		Implementation in boot file


Summary of Release Components
-------------------------------

Note:  In the descriptions that follow, unless otherwise specified, the DF file or files for a component are located on [Indigo]<Cedar>Top>.  If the documentation file name is not a path, it is assumed to be accessible using the DF file name and BringOver, i.e.,

	BringOver /o DocFileName DFFileName

In general, documentation is stored on

	[Indigo]<Cedar>Documentation>ComponentName.press

but there are occasional exceptions.

AlpineStubs
------------------
DF file:  AlpineStubs.df
Documentation:  contact implementor
Implementor:  MBrown 

This new component contains client stubs for the public Alpine interfaces.

AlpineUser
------------------
DF file:  AlpineUser.df
Documentation:  contact implementor
Implementor:  MBrown 

This new component is for use by testers of the Alpine file server.  At present, Alpine is being used for storage of databases that have an independent backup mechanism; Walnut databases are an example.  Contact the implementor if you are interested in using Alpine.

AMEvents
----------
DF file:  AMEvents.df
Documentation:  None - consult implementor before using
Implementor:  Andrew Birrell 

Bug fixes, implementing remote calls, implementing outload-before-boot in
world-swap debugger..

AMModel
----------
DF file:  AMModel.df
Documentation:  (See AMModel.mesa) 
Implementor:  Rovner 

Bugfixes and recompilation.


AMProcess
------------------
DF file:  AMProcess.df
Documentation:  None - consult AMProcess.mesa or implementor
Implementor:  Andrew Birrell 

This package provide access at the level of the Cedar abstract machine to parallel
processes.  These may be processes in the current execution environment, or
processes in a world-swap- or tele- debuggee.  Processes may be stopped
("frozen") at arbitrary points in their execution, and frozen parts of processes
may be examined.  See the DebugTool for user interfaces to these facilities.

AMTypes
----------
DF file:  AMTypes.df
Documentation:  RTTypes.tioga, .press (NOT up to date yet) 
Implementor:  Rovner 

Major overhaul of the implementation to accommodate arms-length (i.e. worldswap and across the net) debugging using Cedar.

Major overhaul to the symbol table access stuff to facilitate bootstrapping (in preparation for future releases).

Overhaul of the symbol table caching algorithm to minimize VM fragmentation.

Various bug fixes and performance and feature enhancements to accommodate the interpreter.


BasicHeads
----------
DF file:  
   [Indigo]<Cedar>Heads>BasicHeadsCommon.df
   [Indigo]<Cedar>Heads>BasicHeadsDorado.df
   [Indigo]<Cedar>Heads>BasicHeadsD0.df
   [Indigo]<Cedar>Heads>BasicHeadsDLion.df

Documentation:  See interfaces
Implementor:  Taft 

The BasicHeads now export two new interfaces (both obtained via PilotInterfaces.df).  IntervalTimerFace provides the ability to wait for specific time intervals at a much higher resolution than is possible using condition variable timeouts or display refresh wakeups.  DisplayFaceExtras provides a way to change the display refresh rate (e.g., to 60 hz. for compatibility with video tape equipment).  Both these interfaces do useful things only on a Dorado; the Dolphin and Dandelion versions are dummy.

The Dorado BasicHeads can now operate multiple (up to 15) disk drives, including any mixture of T-80s and T-300s.


BBV
----
DF file:  BBV.df
Documentation:  BBV.doc
Implementor:  Atkinson 

The 'openr' and 'findr' commands have been incorporated into BBV.  BBV no longer has an icon by default (use the 'bbv' command to get it if desired).  Minor bugs have been fixed as well.


BCD
----
DF file:  BCD.df
Documentation:  contact implementor
Implementor:  Satterthwaite 

Unchanged from previous release.

Binder
------
DF file:  Binder.df
Documentation:  see Mesa 5.0 Reference Manual and Mesa User's Handbook
Implementor:  Satterthwaite 

Unchanged from previous release.

BootTool
------------------
DF file:  BootTool.df
Documentation:  Cedar Manual
Implementor:  Levin 

The Boot Tool enhances the functionality previously available through the
"Boot" button at the top right of the Cedar display.  It is invoked by
right-clicking "Boot" , which produces a viewer at the top of the right column. 
Left- and middle-clicking preserve most of the old behavior of the "Boot"
button.  The top menu in this viewer represents most of booting situations you
will need:
  Boot from specific logical volume
  "Boot Button" (i.e., boot physical volume; Dorado triple-boot without keys)
  Boot Alto emulator (from network)
  Boot BasicCedarDorado.boot (for implementors only)
The logical volume buttons may incorporate switches.  If you have a volume
named Gorp and you want the R, W, and Z switches to be used when booting
Gorp, include one of the following equivalent lines in your profile:
	GorpSwitches: RWZ
	Boot.GorpSwitches: RWZ
The menu button will appear as Gorp/RWZ to remind you of the switches that
will be used.  (Implementors only:  the FileSwitches profile entry is still
interpreted by the "Basic" menu button.)

The second menu line contains two buttons, "Boot" (guarded) and "Reset", which
are used in conjunction with the remaining sections of the viewer.

The area of the viewer labelled "Booting Sources" has four (mutually exclusive)
buttons to select a particular class of booting:
  Volume - boots a logical volume
  File - boots a named file (not necessarily on the system volume)
  Microcode - boots a specific microcode emulator from the Ethernet
  PhysicalVolume - boots a physical volume (today, we have only one)
Following each button is a text viewer that displays an instance within a booting
class, e.g., for "Volume", the name of a logical volume.  The Boot Tool can
discover all possible logical and physical volumes available for booting, and can
find most "File" and "Microcode" instances.  To see all instances of a class that
the Boot Tool knows about, repeatedly left-click the class button.  You can alter
the "File" and "Microcode" sources simply by editing the appropriate text field,
but you should rarely have to do so.

Most of the booting classes accept booting switches.  The lower section labelled
"Booting Options" contains a place to supply switches.  Note that these switches
are NOT interpreted by the menu buttons on the first line (see above).
 
To initiate booting, select the desired class button and instance, then click the
"Boot" menu item.  If you get hopelessly confused, click "Reset" to return the tool
to its original state.  Alternatively, you can destroy the viewer and click the
"Boot" button at the top of the screen.

The Boot Tool will refuse to boot if you have unsaved viewers.

BravoToTioga
-------------
DF file:  BravoToTioga.df
Documentation:  See package catalog entry
Implementor:  Plass 

Fixed to accommodate changes to IO and UserExec, command line syntax embellished to accommodate "new ← old" form.

BTrees
------
DF file:  BTrees.df
Documentation:  contact implementor
Implementor:  Levin 

Unchanged from previous release.

BugBane
--------
DF file:  BugBane.df
Documentation:  BugBane.doc
Implementor:  Atkinson 

Mostly just bug fixes, especially dealing with multiple worlds.  All BugBane documentation is now in BugBane.doc.

Cedar Reals
-----------
DF file: CedarReals.df
Documentation:  MesaFloat60.press
Implementor: Stewart 

No changes from Cedar 3.5


CedarRoot
---------
DF file:  CedarRoot.df
Documentation:  None
Implementor:  Levin 

Bug fixes only.


CedarScanner
--------------
DF file:  CedarScanner.df
Documentation:  CedarScanner.mesa
Implementor:  Atkinson 

CedarScanner is a renamed version of MesaScanner.  The input is now from a closure, rather than just a procedure (additional user data is the difference).


CedarSnapshot
--------------
DF file:  CedarSnapshot.df
Documentation:  See comments in CedarSnapshot.mesa
Implementor:  Levin 

Bug fixes only.


Chat
----
DF file:  Chat.df
Documentation:  Chat.doc
Implementor:  Larry Stewart 

Differences from Cedar 3.5 Chat:
	
	Closing a chat viewer does not close an open connection.

	Typescript files now work.  The Typescript viewers implementation will eventually truncate the visible, scrollable contents of the viewer, but the log file is never truncated.

	After you select a host name and bug Login or Open, the input focus is moved to the end of the viewer.

Known bug:
	Do not create a checkpoint which includes an open chat window or a chat icon.  The code is holding on to a streamhandle for the log file.



CIFS, CIFSCommands
------------------
DF file:  same
Documentation:  CIFS.mesa
Implementor:  Gifford, Schroeder 

Recompiled only

ClientFileTool
--------------
DF file:  ClientFileTool.df
Documentation:  none
Implementor:  Andrew Birrell 

New release component.  This tool provides facilities in a world-swap debugger
for fetching files from the client world.  The interface should be obvious.


Clock
-----
DF file:  Clock.df
Documentation:  Clock.mesa
Implementor:  Atkinson 

No change.


CoFork
-------
DF file:  CoFork.df
Documentation:  CoFork.press
Implementor:  Sturgis 

Recompilation.


ColorPackage
-------------
DF file:  ColorPackage.df
Documentation:  See comments in ColorMap.mesa and ColorWorld.mesa
Implementor:  Maureen Stone

Unchanged

Communication
---------------
DF file:  Communication.df
Documentation:  Pilot Programmers' Guide and Pup package documentation
Implementor:  Birrell 

Unchanged from previous release.

CompatibilityPackage
--------------------
DF file:  CompatibilityPackage.df
Documentation:  None
Implementor:  Levin 

Directory enumeration is twice as fast.

Compiler
--------
DF file:  Compiler.df
Documentation:  Cedar7T11.press 
Implementor:  Satterthwaite 

Unchanged from previous release.


Cypress
------------------
DF file:  Cypress.df
Documentation:  See implementor
Implementor:  Cattell 

Cypress replaces the CedarDB package of Cedar 3.5.2.  It incorporates major
interface changes, including a new more convenient scheme for properties and
the introduction of segments so that applications need no longer share a single
database.  The most significant change in this release is extensive performance
tuning, yielding improvements of a factor of 2 to 3 for the most common
operations.  Most of these operations now average under a millisecond.  Zip, zip. 
Documentation of the new system is a constant week away from completion, but
will now be receiving higher priority.

D0Microcode
------------
DF file:  D0Microcode.df
Documentation:  none
Implementor:  Fiala 

Unchanged from previous release.


DateAndTime
-------------
DF file:  DateAndTime.df
Documentation:  See comments in DateAndTime.mesa
Implementor:  Levin 

Unchanged from previous release.

DebugTool
------------------
DF file:  DebugTool.df
Documentation:  Not yet available.  Interim information is in
[Indigo]<CedarDocs>DebugTool.txt
Implementor:  Andrew Birrell 

This tool provides a user interface to the facilities for debugging parallel
processes.  It also provides global control when using Cedar to debug another
machine ("teledebugging") or to debug a suspended world on the same machine
("world-swap debugging").  Just give the command "DebugTool" to your
userExec to get a tool for debugging processes in your current Cedar execution
environment.  Say "DebugTool machineName" to teledebug some other machine
(this is available in your ordinary Cedar world, you don't need to be in a special
debugger world).  If you install a world-swap debugger, a DebugTool is
automatically created for looking at the outloaded debuggee.

DFFiles
-------
DF file:  DFFiles.DF
Documentation:  DFFilesRefMan.Press
Implementor:  Schmidt 

Large number of bugs fixed.  No longer uses the Exec and TTY interfaces.
Uses faster protocols for enumeration.

DLionMicrocode
---------------
DF file:  DLionMicrocode.df
Documentation:  See implementor
Implementor:  Sturgis 

Unchanged from previous release.

DoradoMicrocode
----------------
DF file:  DoradoMicrocode.df
Documentation:  [Indigo]<DoradoDocs>DoradoBooting.press; contact maintainer
Implementor:  Taft 

Changes in this version are required by the new BasicHeads for Cedar 4.0.


FileTool
--------
DF file:  FileTool.df
Documentation:  UserExec FileTool? or Introduction To Cedar
Implementor:  Stewart 

No changes from Cedar 3.5

FlushUnneededTempFiles
-------------------------
DF file:  FlushUnneededTempFiles.df
Documentation:  None
Implementor:  Levin 

Recompilation only.

Football
------------------
DF file:  Football.df
Documentation:  Football.doc
Implementor:  Maxwell 

New Entry.

Forms
------
DF file:  Forms.df
Documentation:  Internal
Implementor:  Horning 

There is now a business letter form and a slide making form.

Germ
-----
DF files:  GermDorado.df, GermD0.df
Documentation:  "Pilot User's Handbook"
Implementor:  Taft 

The Dorado Germ is rebuilt with current components (for the first time in 20 months), and fixes a timeout bug that was the cause of frequent 922 errors when loading Othello from the MesaNetExec.  It is important that you install the new Germ on your disk (using Othello's Germ Fetch command) and re-boot CoPilot and Client volumes, even if you have already converted to 4.0 or aren't planning to convert for a while.  This is because a mismatch between the net-bootable Germ and the one on your disk may result in great confusion when you run Othello from the MesaNetExec.


GrapevineUser
--------------
DF file:  GrapevineUser.df
Documentation:  [Indigo]<Grapevine>Docs>Grapevine.press and Interface.press
Implementor:  Birrell 

Unchanged from previous release.

Graphics
--------
DF file:  Graphics.df
Documentation:  see comments in Graphics.mesa
Implementor:  Wyatt 

Unchanged from previous release.


IFSFile
------
DF file:  IFSFile.df
Documentation:  contact implementor
Implementor:  Levin 

Unchanged from previous release.

IncludeChecker
---------------
DF file:  IncludeChecker.df
Documentation:  (SDD documentation)
Implementor:  Rovner 

Recompilation.


Inscript
-------
DF file:  Inscript.df
Documentation: InscriptImplAppendix.memo; InscriptImplementation.memo, .press
Implementor:  Maureen Stone, Dan Swinehart

Recompiled part of implementation only


IO, FileIO
----------------------
DF file:  IO
Documentation:  IO.mesa OR [Indigo]<Cedar>Documentation>IO.press, FileIO.mesa OR [Indigo]<Cedar>Documentation>FileIO.press.
Implementor:  Teitelman, MBrown 

The section of IO dealing with parsing the input stream, i.e. GetRope, GetToken, GetRefAny, etc. has been completely reworked. A guide to how to convert from IO 3.5 to IO 4.0 is included at the end of IO.mesa. Conversion should be straightforward. The Cedar Scanner is now used by GetInt, GetReal, GetRefAny etc., so that expressions like 1.0E-04, etc. now read correctly. A new procedure GetCedarToken is available. Some procedures have been renamed or withdrawn. 

One problem however is that GetLine was accidentally left out of IO. It can be constructed using GetSequence, but the default behaviour of GetSequence is to read up to the CR and leave the CR in the buffer to be read by the next caller. Thus to implement the old GetLine one would have to call GetSequence and then do a GetChar to discard the CR.  A version of GetLine that does this is provided as IOExtras.GetLine. 

*r, *t have been deimplemented as PF star procs. Use the corresponding \ character.
*n means NewLine, i.e. if executed immediately following a CR is a NOP, otherwise outputs a CR. *l, which changes looks, is now a nop if the corresponding stream does not implement looks, rather than raising an error as it used. When an unimplemented * or % code is encountered, before raising the not implemented signal, pf will see if the backing stream implements this operation. This allows the user to put other streams, e.g. dribble streams, buffered streams, in front of the stream that implements a particular code. 


Lister
-----
DF file:  Lister.df
Documentation:  Lister.txt
Implementor:  Satterthwaite 

Unchanged from previous release.

ListsAndAtoms
--------------
DF file:  ListsAndAtoms
Documentation:  See comments in Atom.mesa, List.mesa, RefTab.mesa
Implementor:  Teitelman 

No changes.


Loader
------
DF file:  Loader.df
Documentation:  See Loader.mesa
Implementor:  Paul Rovner 

Recompilation.


Lupine
-------
DF file:  Lupine.df
Documentation:  LupineUsersGuide.press
Implementor:  Bruce Nelson (meanwhile, Andrew Birrell) 

Unchanged from previous release.

Maintain
---------
DF file:  Maintain.df
Documentation:  Introduction to Cedar, [Indigo]<Grapevine>Docs>Interface.press.
Implementor:  Andrew Birrell 

Now supports database enquiries with pattern matching on the name.  For
example, the "Type Summary" button for group "Cedar*.pa" will give you a
summary of the groups CedarImplementors↑.pa, CedarUsers↑.pa, etc.  The "Type
Pattern" button just gives you the names that match the pattern.  Type Pattern
for group *.pa will tell you the names of all groups in the PA registry.  Similarly
for individuals.  The pattern matching is slow and expensive in terms of server
cycles - please use it sparingly.


MakeBoot
---------
DF file:  MakeBoot.df
Documentation:  MakeBoot.press
Implementor:  Levin 

Unchanged from previous release.

MCross
-------
DF file:  MCross.df
Documentation:  MCross.doc
Implementor:  Rovner 

Recompilation.


Modeller
--------
DF file:  Modeller.DF
Documentation:  ModelRefMan.Press and see Satterthwaite or Schmidt
Implementor:  Satterthwaite 

Bug fixes and tweaking of the user interface.  Some internal reorganization.


NewStuff
------------------
DF file:  NewStuff.df
Documentation:  [Indigo]<Cedar>Documentation>NewStuff.tioga
Implementor:  Warren Teitelman 

New Features:
A facility for generating a log of all of the files that you save during a session is automatically enabled when NewStuffImpl is loaded, unless you have an entry in your user profile of the form CreateChangesLog: FALSE. This log is kept on the file Changes.Log which is created when it is first needed. Each time you save a file, the date, file name, and changes log entry that was inserted in your file via the facility Updating Changes Log discussed above,  if there is such an entry, is added to this log.

Whenever a Tioga document is searched via the Find, Word, or Def menu buttons, the target of the search is saved. If the target for this particular search, i.e. the current selection, is either empty (a point selection), or consists of a single character, then the previous target is used instead. This enables searching for Foo, deleting it, and then searching for the next Foo by simply clicking the menu button again. It also enables searching for a particular target, changing the input focus in order to type something somewhere else, for example, to obtain a new viewer and load it with a particular file, and then searching again without having to reselect the target.

CTRL-Next has been changed so as not to delete any fields remaining in the template that do not have default values specified, since this would cause an error when the expression was interpreted. This will allow you to use ctrl-E to obtain a template for an object with a large number of fields, most of which are defaulted, type ctrl-NEXT to eliminate all of the defaulted fields, and then fill in the fields that remain.

The viewers package allows you to load an existing viewer with a file while requesting that the current contents of the viewer be made iconic. This is accomplished by selecting the name of the file, and then right clicking get. NewStuff extends this feature to allow you to select an icon, and then right-click get in a viewer. This causes the icon to be opened in place of the viewer, and the viewer to be made iconic, i.e. the two are swapped. Similarly, selecting an icon and then middle clicking get will open the icon just below the viewer, and left clicking get will cause the icon to replace the viewer.  

OnlineMergeSort
----------------
DF file:  OnlineMergeSort.df
Documentation:  see comments in interfaces
Implementor:  MBrown 

unchanged

Othello
-------
DF file:  [Indigo]<Cedar>Othello>Othello.df
Documentation:  Introduction to Cedar; Pilot User's Handbook
Implementor:  Taft 

The Dorado version can now deal with hardware configurations that include multiple Trident disks, including T-300s.

Packager
--------
DF file:  Packager.df
Documentation:  Pilot User's Handbook
Implementor:  Levin 

unchanged

PerfStats
------------------
DF file:  PerfStats.df
Documentation:  see comments in PerfStats.mesa
Implementor:  MBrown 

Bug fixes only

PGS
----
DF file:  [Indigo]<Cedar>PGS>PGS.df
Documentation:  contact implementor
Implementor:  Satterthwaite 

unchanged


PilotKernel
----------
DF file:  PilotInterfaces.df, [Indigo]<Cedar>Pilot>PilotKernel.df and
UtilityPilotKernel.df
Documentation:  Pilot Programmer's Manual
Implementor:  Levin 

Performance enhancements; no functional changes


PlotPackage
-----------
DF file:  PlotPackage.df
Documentation:  (see interfaces)
Implementor:  Rovner 

Recompilation.


Poplar
------
DF file:  Poplar.DF
Documentation:  Poplar.Press, EASPL.Press
Implementor:  Schmidt 

Recompilation only.


Print
-----
DF file:  Print.df
Documentation:    Print.doc
Implementor:  Plass 

Changed to use default exec for feedback when printing the current selection.

Known problems: Don't try to use Print while TSetter is sending something to the printer.


PriorityQueue
-------------
DF file:  PriorityQueue.df
Documentation:  PriorityQueue.mesa
Implementor:  Atkinson 

Unchanged.

Pup
----
DF file:  Pup.df (most public interfaces are in Communication.df)
Documentation:  [Ivy]<Mesa>*Pup.press
Implementor:  Andrew Birrell 

Unchanged from previous release.

Pupwatch
---------
DF file:  Pupwatch.df
Documentation:  [Indigo]<Grapevine>Pupwatch>Pupwatch.press
Implementor:  Andrew Birrell 

DF file:  [Indigo]<Cedar>Top>Pupwatch.df
Documentation:  [Indigo]<Grapevine>Docs>Pupwatch.press
Implementor:  Andrew Birrell 

Now understands more of the RPC protocol;  Destroy now works.


Random
-------
DF file:  Random.df
Documentation:  Random.doc, Random.press
Implementor:  MBrown 

Unchanged

RedBlackTree
-------------
DF file:  RedBlackTree.df
Documentation:  OrderedSymbolTable.press
Implementor:  MBrown 

Unchanged

RedBlackTreeRef
------------------
DF file:  [indigo]<Cedar>Top>RedBlackTreeRef.df
Documentation:  see comments in OrderedSymbolTableRef.mesa
Implementor:  MBrown 

Bug fixes only

Reminder
---------
DF file:  Reminder.df
Documentation:  (See Reminder.mesa)
Implementor:  Rovner 

Recompilation only.


Rigging
-------
DF file:  Rigging.df
Documentation:  Rope.tioga
Implementor:  Atkinson 

Unchanged.

RPC Runtime
-------------
DF file:  RPCRuntime.df
Documentation:  LupineUsersGuide.press
Implementor:  Birrell 

Minor bug fixes


SafeStorage
-----------
DF file:  SafeStorage.df
Documentation:  See [Indigo]<Cedar>Documentation>SafeStorage.press and SafeStoragePrimer.press 
Implementor:  Rovner 

Internal overhaul for performance improvement.  New instrumentation machinery for use by wizards.


SampleTool
-----------
DF file:  [Indigo]<Precedar>Documentation>SampleTool.df
Documentation:  Self-documenting, with additonal comments in the Cedar Examples.
Implementor:  McGregor 

Recompilation.

Scaled
----------
DF file:  [Indigo]<Cedar>Top>Scaled.df
Documentation:  None
Implementor:  Michael Plass 

New.

ScanZones
----------
DF file:  ScanZones.df
Documentation:  This program is a performance analysis tool that is used by implementors for analyzing the utilization of storage acquired by NEW.  See comments in ScanZones.mesa 
Implementor:  Rovner 

Many small enhancements and new features.


Sequin
------
DF file:  Sequin.df
Documentation:  contact implementor
Implementor:  Levin 

Unchanged.

Set
---
DF file:  Set.df
Documentation:  Set.doc
Implementor:  Rovner 

Recompilation only.


SirPress
-------
DF file:  SirPress.df
Documentation:    see comments in SirPress.mesa, PressPrinter.mesa
Implementor:  Plass 

Minor bug fixes.

SpaceWatch
------------------
DF file:  [Indigo]<Cedar>Top>SpaceWatch.df
Documentation:  contact implementor
Implementor:  Maxwell 

New entry.  (formerly part of Spy.df)

SpecialTerminal
---------------
DF file:  SpecialTerminal.df
Documentation:  See implementor
Implementor:  Levin 

Unchanged.

Spell, Generator
------------------
DF file:  Spell.df
Documentation:  Spell.mesa or  [Indigo]<Cedar>Documentation>Spell.press
Implementor:  Warren Teitelman 

Bug fixes.

Spy
---
DF file:  Spy.df
Documentation:  Spy.doc
Implementor:  John Maxwell 

Some bug fixes.  
Improved format for the output.


Squirrel
------------------
DF file:  Squirrel.df
Documentation:  See implementor
Implementor:  Cattell, Donahue 

No major changes have been made to Squirrel for this release; it is included in
the release to provide support for Walnut and Hickory.  (This support
dependency will be removed in the next release; Squirrel will provide only
application-independent database tools).

STP
------------------
DF file:  STP.DF
Documentation:  none
Implementor:  Schmidt 

This release contains two versions of the STP interface.  The Rubicon version is called "STP.Bcd" and contained in CompatibilityPackage.DF; a newer version is called "UnsafeSTP.Bcd" and is contained in STP.DF.  The UnsafeSTP version will replace the old rubicon version in the 4.1 release.  This new version speaks a new protocol that speeds long enumeration by as much as a factor of 5.  It also uses LONG POINTERS instead of POINTERS, reducing MDS needs.  To use it in 4.0, you must include the implementation module UnsafeSTPs.Bcd in your config and call UnsafeSTP instead of calling STP.  See me for more details.

STPServer
---------
DF file:  STPServer.DF
Documentation:  see package catalog
Implementor:  Schmidt 

Unchanged from previous release.


Talker
------------------
DF file:  Talker.df
Documentation:  See [Indigo]<Cedar>Documentation>Talker.doc.
Implementor:  Paul Rovner 

Talker is a simple tool for typescript-style communication between 2 or more Cedar users.  It is included in the automatic bringover and in the prerun line of the standard user.profile.  Talker registers a "Talk" command with the UserExec.

Tank
------------------
DF file:  Tank.df
Documentation:  Click "Help" in tank viewer's menu.
Implementor:  Maxwell 

New Entry.

TerminalMultiplex
------------------
DF file:  TerminalMultiplex.df
Documentation:  See comments in TerminalMultiplex.mesa
Implementor:  Levin 

Unchanged.

Tioga
------------------
DF file:  Tioga.df
Documentation:  TiogaDoc.Tioga and TiogaDoc.press
Implementor:  TiogaImplementors↑ 

Changes are mostly bug fixes and performance tuning.

TIP
------------------
DF file:  TIP.df
Documentation:  [Indigo]<Cedar>Documentation>TIP.documentation and TIP.syntax
Implementor:  McGregor 

Recompilation only.

TSetter
------
DF file:  TSetter.df
Documentation:  TSetterDoc.Tioga, [Indigo]<Cedar>TSetter>TSViewer.mesa
Implementor:  Plass 

A couple of user interface changes: the viewer no longer hides any of its buttons, and the Copies field is reset to 1 when the tool goes idle instead of at the end of each file.


TTY, ViewerIO
------------------
DF file:  TTYIO.df
Documentation:  see comments in ViewerIO.mesa
Implementor:  Warren Teitelman 

New procedure, CreateMessageWindowStream, which creates a stream that dumps characters to the message window whenever a flush is performed.

UECP
-----
DF file:  UECP.df
Documentation:  None
Implementor:  Gifford, Stewart 

Unchanged.

Unique
-------
DF file:  Unique.Df
Documentation:  Unique.Doc
Implementor:  Schmidt 

Recompilation only.


UserCredentials
--------------
DF file:  UserCredentials.df
Documentation:  See comments in UserCredentials.mesa
Implementor:  Levin 

There is a new LoginOption, "alwaysPrompt", that forces Login to ask the user to
login.  See details in the interface.

UserExec
--------
DF file:  UserExec.Df
Documentation:  [Indigo]<Cedar>Documentation>UserExec.tioga for description of user interface, UserExec.mesa for description of program interface. 
Implementor:  Warren Teitelman 

Many new features in user interface. Changes and new features to the program interface. See UserExec.changes accessible through UserExec.df 


UserProfile
------------------
DF file:  UserProfile.df
Documentation:  See UserProfile.mesa or [Indigo]<CedarDocs>Manual>UserProfile.press, UserProfile.doc or [Indigo]<CedarDocs>Manual>UserProfile.doc.press
Implementor:  Warren Teitelman 

No changes to UserProfile.mesa. Various changes to UserProfile.doc corresponding to new profile entries for various packages, or entries that have been withdrawn.

VersionMap
-----------
DF file:  VersionMap.df
Documentation:  VersionMap.mesa
Implementor:  Atkinson 

No change.


VersionMapBuilder
------------------
DF file:  VersionMapBuilder.df
Documentation:  See implementor.
Implementor:  Atkinson 

Numerous changes to support faster/better version map creation.  The 'openr' and 'findr' commands are no longer supported by this package (they have been moved to BBV).


Viewers
------------------
DF file:  Viewers.df
Documentation:  ViewerDoc.tioga and ViewerDoc.press
Implementor:  McGregor 

Large numbers of bugs have been fixed.  The ViewerEvents interface has been extended to include filters for particular Viewers as well as Viewer classes.  A new interface, ViewerLocks, is exported to support client locking of the Viewer data structures for read and write operations.  John Maxwell's Desktop features have replaced the old "Fly" facility.


ViewRec
------------------
DF file:  ViewRec.df
Documentation:  ViewRec.doc
Implementor:  Spreitzer 

   The ability to invoke some functions with keystrokes has been added.
Specifically, shifted and unshifted SPARE2 go to the previous and
next fields, CR does the obvious thing, and CTRL-CR invokes the
procedures whose argument has been edited.

   Facilities have been added for Clients to register their own ways of
dealing with certain TYPEs or individual fields.

VTables
--------
DF file:  VTables.df
Documentation:  VTables.mesa
Implementor:  Atkinson 

No change.


Walnut
-------
DF file:  Walnut.df
Documentation:  HowToUseWalnut.tioga, .press
Implementor:  Willie-Sue Haugeland 

To get the documentation, do
bringover /o /a HowToUseWalnut.tioga Walnut.df

The internals of Walnut have been substantially simplified.  The database schema has been changed; if you attempt to use a database constructed with the previous schema, Walnut will inform you that you must scavenge.

There are unbound imports in this version of Walnut (these have to do with talking to Alpine; do not worry). 

WalnutSend no longer has its own df file; instead, get it from:
bringover /o /a WalnutSend.bcd Walnut.df
The first time WalnutSend is run, it will get its icon file from <Cedar>Walnut>.

BEFORE converting from Cedar 3.5.2 to Cedar 4.0, you need to:
Rename Walnut.DBLog ← DB.walnutlog  -- name of walnut's log file has changed

Make sure you save Walnut.DBLog before erasing your disk!!


Major changes (see the documentation for full details):

 DBText mode for displaying messages has disappeared.

 The Walnut control window icon raises its flag when there is new mail; there is a button in the Active message set displayer for retrieving new mail.

 WalnutSenders always display a new form after delivery, and save the last successfully sent message, which is recovered by clicking PrevMsg.  Blue-clicking Send will destroy the sender after delivery.  Senders have their own icon.  While a send is in progress, the caption on the sender changes to "Sending...".
 
  The menu items for MsgSet displayers have changed.
  
Bugs/Non-Features:
 If you have typed Walnut, and it does the automatic scavenge to rebuild its database, the icons do not get set up properly; you'll get acorns instead.  Subsequent calls of Walnut will have the correct icons.  During this automatic scavenge, do not display any message sets; wait until Walnut 4.0.1 is printed in the control window.

Watch
------
DF file:  Watch.df
Documentation:  none
Implementor:  Andrew Birrell 

Watch now gives more details on VM usage.  To see them, use Red-Shift on the Sample button.  The defaults for GC interval and the sample interval have been changed (to 16000 words and 2 seconds).


Waterlily
---------
DF file:  Waterlily.df
Documentation:  via the "?" facility in the UserExec.
Implementor:  Kolling 

The identifying number pair at the start of each line in the difference file is now file number/position number instead of file number/line number.

Some minor changes have been made to the non-default behavior to make compares of many files easier (see the /o and /p switches documentation).


WorldVM
---------
DF file:  WorldVM.df
Documentation:  None - consult implementor before using
Implementor:  Andrew Birrell 

Minor bug fixes




Unless otherwise indicated above, questions about changes in individual
components should be addressed to their implementors.


The Release Master