links to this page:
Squeak Versions
Swiki Page List
Squeak 4.5
4.5 Release Notes
Last updated at 4:54 pm UTC on 8 March 2014
Language enhancements:
Environments
Environments allows multiple classes with the same name to exist in the same image, with code referencing through its class' "environment".
Collections
New and improved sorting utilities for Arrays and OrderedCollections.
New FloatCollection inherits the convenient add:/remove: API of OrderedCollection, but using an internal FloatArray for better efficiency.
An all-new LRUCache implementation.
Promise is now a fully chainable object with decent error handling.
Compiler
Moved classifying and logging behavior out of Compiler (a responsibility of Behavior).
Numerics
Faster and better Random.
log/ln fixed for integers.
Dates and Times
New methods provide access to primitive 240 and 241, which can provide microsecond resolution timestamps on Cog VMs.
New convenience methods allow creating DateAndTimes relative to now (e.g., "5 minutes ago").
Parsing improvements.
Text, Graphics, Sound
Form>pixelValueAt: now makes use of the new primitivePixelValueAt:, avoiding the overhead of a full BitBlt.
Elimination of the dual hierarchy of NewParagraph & MultiNewParagraph etc and TextStopConditions and lots of Scanner improvements.
PaintBoxMorph re-engineering.
ADPCMCodec performance improvement.
IDE, Monticello and Trunk process improvements
Several MVC fixes allow debugging in MVC once again.
Smart-Splitters causes the bars between browser panes to automatically optimize their position.
Fixed color-selection from anywhere on the screen working again.
Improved command-line interface via Smalltalk run: [ :arg1 :arg2 | ... ].
squeakDebug.log report length is now settable.
MCReorganizationPreloader now resolves moves between arbitrary packages, independent of their order in the configuration.
mcz/snapshot/source.st now encoded in UTF8 instead of latin-1.
New pre-selection highlight feature for lists.
System space analysis now available in Help | About.
Message-traces can be pared more easily.
Configuration
Lots of improvements in the CI build/test slave.
Installer now documents externally-loadable packages as simple literal structures that can be merged via Installer>>#merge:.
MC ancestry history strings can now be stubbed for a smaller image and sustainable MC history.
History and Accounting Tools
A great new historical website by Bob Arning.
MC history and origin is now available for methods and class-definitions from browser menus.
A new amazing ObjectHistory makes it possible to efficiently track the born-on date of any object to a resolution of one minute.
Added "search history" to Package history browser.
Fixes and cleanups
Packages organized toward eliminating circular dependencies, and with proper concern for existing and future UI frameworks.
Updated uses of SmalltalkImage current to, simply, "Smalltalk."
Moving away from use of Utilities.
More preferences made pragma-based.
Compiler factorings and cleanups.
Diminished excessive usage of ReadWriteStream.
ProtoObject API balanced and minimal.
Application Upgrade Notes:
Default Float printing is now true to its internal representation. Apps must now use appropriate methods to format Floats rather than roundTo:.
($a to: $b) now returns 'ab' rather than #($a $b).
Remove OneCharacterSymbols optimization.
LRUCache instance migrations, if any. See post-scripts in Collections-ul.546, 547.
Rectangles with 0 area (e.g., lines) can now intersect.
MultiNewParagraph was removed. Applications should now use NewParagraph.