[squeak-dev] Squeak 4.1 release candidate 2

karl ramberg karlramberg at gmail.com
Tue Apr 6 21:34:36 UTC 2010


On Mon, Apr 5, 2010 at 12:12 AM, Andreas Raab <andreas.raab at gmx.de> wrote:
> Folks -
>
> I've prepared rc2 for testing of the 4.1 release on Squeak.org:
>
>  http://ftp.squeak.org/trunk/4.1rc2/
>
> If you look at the release schedule [1] you'll notice that we're slipping a
> little (which I had expected). The new release candidate includes the
> following changes:
>
> * Condensed sources file. As previously mentioned, the new sources file is a
> strict superset of the 4.0 sources file and preserves version history
> between 4.1 and 4.0.
>
> * Welcome notice(s). Please review in particular the welcome screen. I've
> attached the welcome note below for review and improvement. If you see
> anything that hasn't been mentioned but should, please let me know. I've
> also revived two workspaces that I found useful in the past, one about some
> of the less common UI elements and one about how to work with Squeak.
>
> * An updated Windows VM (4.0.2) which fixes various issues with 4.0.1.
>
> (Ian, if you could build an updated installer I'd appreciate that)
>
> As it stands, we're currently missing updated Unix and Mac VMs (I know Ian
> has been working on it, so I'll ping him and John separately), we still
> don't have all tests green, and there are still a few open issues on Mantis
> [2].
>
> If you can offer any help on any of these issues, you're extremely welcome.
> I'm still hopeful that we can ship 4.1 with minimal delay but in order to do
> that we need to address the pending issues, in particular the failing tests.
>
> And of course, please keep testing. Load your packages, run them, make sure
> they work!
>
> Cheers,
>  - Andreas
>
> [1]http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-March/147166.html
> [2]http://bugs.squeak.org/view.php?id=7480
>
> =======================================================================
>
>        Welcome to Squeak - a free, open Smalltalk system.
>
> Squeak 4.1 combines the license change occuring in the 4.0 release with the
> development work that has been going on while the relicensing process took
> place. Here are the highlights of the changes that resulted in Squeak 4.1:
>
> User Interface
> --------------
> We have adapted the 'face lift' look originally developed for Newspeak. For
> those of us who like colored windows (quite a few as it turns out) you can
> switch between uniform and colored windows in the 'Extras' menu under
> 'Window Colors'.
>
> The new menu bar makes Squeak much easier to discover than before. The
> process of transitioning from the world menu is not complete yet, there are
> still items that can only be accessed from the world menu (i.e., by clicking
> on the desktop).
>
> The search field integrated in the menu bar allows for direct navigation to
> classes and methods - simply type in a partial class or method name and see
> what happens.
>
> A new set of inexpensive sub-pixel antialiased fonts derived from the DejaVu
> fonts ('Bitmap DejaVu' in the font chooser) has been added. True type font
> support has been upgraded to operate directly on files on disk without the
> need to load the entire file into memory.
>
> A new set of text editors has been added, allowing to decouple the Morphic
> and MVC implementations for improved modularity. Morphic has now regular
> blinking insertion point cursors instead of the (virtually invisible) static
> cursor previously.
>
> Compiler
> --------
> Squeak 4.1 includes the closure implementation from Cog as a prerequisite
> for full Cog adoption later. With this implementation Squeak finally has
> 'full' closures, allowing classic recursive examples like the following to
> work:
>
>        fac := [:n| n > 1 ifTrue:[n * (fac value: n-1)] ifFalse:[1]].
>        fac value: 5.
>
> Support for literal ByteArray syntax has been added. Byte arrays can now be
> written as #[1 2 3] instead of #(1 2 3) asByteArray  avoiding the need for
> conversion.
>
> Selectors including minus are now parsed correctly, for example 3 <- 4 is
> now parsed as (3) <- (4) instead of (3) < (-4). White space is no longer
> allowed after an unary minus to denote a negative number literal.
>
> Development
> -----------
> Syntax highlighting, based on Shout, is now included in all Squeak tools by
> default. For workspaces, it can be explicitly disabled in the window menu
> (entry 'syntax highlighting').
>
> Sources and changes files are no longer limited to 32MB max size.
> ExpandedSourceFileArray provides an implementation for source files of
> arbitrary length, based on the CompiledMethodTrailer changes.
>
> MessageTrace has been added, allowing senders and implementors to be viewed
> without opening new windows all the time.  It utilizes a new
> AlternatePluggableListMorphOfMany, which allows quick and easy customization
> of the list. A quick adoption of DependencyBrowser has been added allowing
> to browse dependencies between packages.
>
> Core Libraries
> --------------
> Sets can now store nil just as any other collection. The collection hierachy
> has been refactored to have both Set and Dictionary a subclass of
> HashedCollection instead of having Dictionary a subclass of Set. Squeak now
> uses a better distributed scaledIdentityHash for identity sets and
> dictionaries.
>
> StandardFilestream now performs read-buffering, dramatically speading up
> some operations like "Object compileAll" (2x improvement) as well as various
> other operations (scanning change lists etc).
>
> A new traits implementation has been added. The implementation is
> significantly smaller and simpler than the old version and can be unloaded
> and reloaded without loss of information (i.e., traits flattened during
> unload are restored during traits reloading).
>
> A new extensible number parser hierharchy has been introduced NumberParser
> and its subclasses provide support for parsing and building numbers from
> strings and streams.
>
> A new general cleanup protocol has been added. The cleanUp protocol takes an
> optional argument to indicate whether we're doing an aggressive cleanup
> (which involves deleting projects, change sets, and possibly other
> destructive actions) or a more gentle cleanup that's only supposed to clean
> out transient caches.
>
> SystemDictionary and SmalltalkImage have been refactored. Smalltalk is now
> an instance of SmalltalkImage, representing a facade for system-wide queries
> and actions. SmalltalkImage contains a global environment, an instance of
> SystemDictionary, which the environment used by classes. Thus,
> SmalltalkImage current == Smalltalk, Object environment == Smalltalk
> globals.
>
> Modularity
> ----------
> The following packages have been made reloadable: ReleaseBuilder,
> ScriptLoader, 311Deprecated, 39Deprecated, Universes, SMLoader, SMBase,
> Installer-Core, VersionNumberTests, VersionNumber, Services-Base,
> PreferenceBrowser, Nebraska, CollectionsTests, GraphicsTests, KernelTests,
> MorphicTests, MultilingualTests, NetworkTests, ToolsTests, TraitsTests,
> XML-Parser, Traits, SystemChangeNotification-Tests, FlexibleVocabularies,
> EToys, Protocols, Tests, SUnitGUI. To unload all of these, execute:
>
>        Smalltalk unloadAllKnownPackages.
>
>

just judging from this text:
lots of references to outside stuff here but i don't see any links to
more info about Newspeak, shout etc.

Karl



More information about the Squeak-dev mailing list