[starlogo-users] Announcing StarLogo 2.1!

Eric Klopfer klopfer at MIT.EDU
Tue Jun 8 23:37:23 EDT 2004


Announcing the release of StarLogo 2.1

Hello StarLogo Users.

We are pleased to announce the much anticipated release of StarLogo 2.1.
This is mostly a maintenance release in which we have fixed some bugs,
greatly improved documentation, and added a few new features.  This is
likely to be the final release of StarLogo as you know it, as we are well
under way on an entirely new version (expect more information on this at the
end of the summer).

Below you will find detailed descriptions of the new features and bug fixes
since our last release.

You can download StarLogo from the new StarLogo web site at
http://education.mit.edu/starlogo.  Due to the rising price of oil affecting
our distribution costs we have had to double the cost of StarLogo, which is
free as always for non-commercial use ;-)

Enjoy!	
The StarLogo Team	
-----------------------------------------------------

New Features 
------------
* Added count-turtles-here-with, one-of-turtles-here-with,
list-of-turtles-here-with, count-turtles-at-with,
count-turtles-towards-with, one-of-turtles-at-with,
one-of-turtles-towards-with, list-of-turtles-at-with,
list-of-turtles-towards-with

* Added export-picture-patches, export-picture-turtles-and-patches,
export-picture-interface, export-picture-patches-name,
export-picture-turtles-and-patches-name, export-picture-interface-name

* Added pc-ahead-one-step, pc-ahead-one-patch. pc-ahead is the same as
pc-ahead-one-step. pc-ahead-one-patch is a new command that looks ahead at
least one patch to make sure that even if 'fd 1' wouldn't bring the turtle
to a new patch (remember that patches are 1.414 steps long on their
diagonal) pc-ahead-one-patch will look one patch ahead. 
  pc-ahead = pc-towards 0 1
  pc-ahead-one-step = pc-towards 0 1
  pc-ahead-one-patch = pc-at round dx round dy

* Added sum-of-list command

* Added splash screen when StarLogo starts up to mask the fact that Java
applications take a while to load. 

* Added Calibrate Graphics to automatically choose the fastest drawing on
your platform. Requires write access to your disk to save the calibration
data. Won't work for applets (there, we'll just make our best guess).

* Updated StarLogo applet HTML template to the latest code to get the Sun
JVM on all browsers.

* On Windows, press the Escape key to stop everything from running. On Macs,
use Command-.

* If a turtle's stack overflows, don't just silently stop running. Now we
show a dialog box that tells you where the stack overflow happened. 
This error occurs when you call a non-tail recursive function (or many
nested function calls) too often.

* Added support to plot wizard for plotting median, mode and standard
deviation of a variable (we used to only have number, average, min, max, and
average)

* Added support to plot wizard for plotting slider values.

* Plot line connectedness is now associated with each plot pen, not just
each plot.

* When using the Template feature, the initial dialog box should open in the
Templates directory.

* Internalization support all throughout StarLogo. Initial support for
Spanish (will be announced when ready). Projects are now saved in UTF-8
encoding to support proper translation of code pages between different
languages. (Old projects will be read in using the platform's native code
page and saved out with the new UTF-8 encoding).


Removed Features
-----------------
* switch-patches command (Use Calibrate Graphics instead)

* Java 1.1, 1.2, 1.3 support (We require Java 1.4.x. now)

* MacOS 9 support (We require Java 1.4.x now)



Bugs Fixed
-----------
* Rewrote entire command reference with improved examples, related commands,
and descriptions.

* Check if the user writes code with output where not all code paths through
the function exit via output. That is illegal. If one code path uses output,
all code paths must use output.

* Made the Help menu on non-MacOSX prettier.

* Properly detect and reject the use of stop and output from the command
center.

* If you cancel a polygon draw operation by clicking outside the StarLogo
patches, StarLogo will continue to run properly and not freeze up.

* Plot widgets are now the proper size when you drag out a rectangle on the
interface to create it.

* Histogram plots save more accurately in the project file. In the old way,
they used to load incorrectly.

* When you add or remove variables from turtles-own, patches-own or globals,
make sure that the plot dialog box knows about it.

* Fixed the math functions that determine what patch a turtle steps onto
when moving. Now a turtle can't get 'lost' where he's not really on any
patch.

* Fixed painting with turtles. Now turtles are only created when the
painting is 'committed' (usually releasing the mouse button; for polygon,
when the polygon is closed).

* Updated FAQ.

* sdev-of-turtles-with now returns the standard deviation. It used to return
the variance.

* Made it harder to move an interface widget (button, slider, monitor, text
box) when you click and drag on it. This should help those mouse-dextrously
challenged people.

* Rewrote printing support to work properly on all platforms. Can print the
command center, interface, info and output windows.

* When you edit the turtles-own, patches-own or globals lists in your
project, we now make sure that any values that had been assigned into these
variables are preserved across the re-compile.

* Pause StarLogo when editing a shape.

* Fixed tail recursion detection in the StarLogo compiler. Should be
completely accurate now for tail calls to the current procedure. (StarLogo
does not optimize tail calls to different procedures).

* Using the paint tools to erase a patch with a turtle on it now redraws the
patch properly.

* Fixed misspellings in the Control Center's print dialog box.

* StarLogo window now exports to PNG, rather than GIF. No more "too many
colors to export as GIF" errors.

* Removed red outline on rotated shape in the Shape Editor window.

* Added tooltips to the Shape Editor window.

* Properly handle the case when a turtle being asked to do something by
another turtle is asked to die. Dead turtles no longer run code after they
die. For example,

  ask-turtle 0 [ask-turtle 1 ask-turtle 2 [kill 1 fd 10] fd 10] fd 10]
Turtle 1 dies, and only turtle 0 moves fd 10. After turtle 1 dies, the
process that is running ask-turtle 2 is stopped, therefore killing the
process that turtle #2 is running so it will never proceed past the kill 1
to its own fd 10. Since turtle 1 is dead, he can't run fd 10. That leaves
turtle 0 to run his own fd 10. 

* If you stop StarLogo from running, any grabbed turtles are released.

* If you ask a dead turtle to do something, nothing should happen.

* If a turtle dies while asking another turtle to do something, stop the ask
process.

* If you pop a button, any grabbed turtles will no longer remain grabbed
forever.

* If you try to set any variable of a dead turtle, just skip it.

* Turtle monitors are better at reading and displaying variables of turtles
who are in the middle of dying.

* Fixed deadlock problems in the turtle and patch monitors.

* Fixed off-by-1 bug when loading images into StarLogo. All pictures were
loaded one pixel to the left.

* If you try to define a run procedure (or kind or parent), pop up an error
message because that's illegal.

* StarLogo now accepts file paths in Windows UNC format (e.g.
\\server\directory)

* When StarLogo starts up on Windows, the Control Center has the text focus
and is now on top of the StarLogo window.

* All dialog boxes show OK and Cancel in the proper order depending on
platform.

* If you had a file with a dot in the name (on PCs), StarLogo would change
the suffix to .slogo. Now it adds the .slogo suffix instead.

* Completely rewrote the paint tools implementation. The pencil tool should
appear to be much smoother now. Also supports Undo.

* Font menu on MacOSX scrolls properly now (requires Java 1.4.1).

* Don't allow an empty text widget to be created.

* random-gaussian now produces random numbers with a mean around 0. It used
to be below 0.

* Drawing StarLogo speed on MacOS X is now much much faster than before.

* When listed in the Windows/Plot menu, plot widgets now have their plot-id
prepended to them.

* The compile progress bar is much prettier now.

* Sliders cannot be called run. Detect this and pop up and error dialog box.

* Plots can now have some pens plot 'connected points' and other pens plot
separate points.

* StarLogo projects are now saved in the UTF-8 string format. This enables
projects to contain non-ASCII characters (such as those from character sets
outside the USA) and load properly into StarLogo running in any language.

* Histograms now auto-scale their axes by default now.

* Plot widgets will now draw even when their associated plot windows are not
yet visible.

* Widget drawing bugs due to clipping errors have been eliminated on MacOS
X.

* who-min-of-turtles and who-max-of-turtles are now properly treated as
reporters by the compiler.

* StarLogo does not compile anything until you try to run a button or
command center item. If compilation fails, however, if what you try to run
in the command center compiles successfully, it will still run. If
compilation fails, no buttons will run.

* If a turtle leaps forward less than a single patch, he will move properly
as long as there is no other turtle on the patch. Previously, the turtle
would not move at all.




More information about the starlogo-users mailing list