My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
ActionsInPharoOneDotOne  
The list of actions performed in Pharo 1.1
Updated Jul 19, 2010 by adrian.l...@gmail.com

Dear Pharo Users,

You may not have followed the development of Pharo closely but there has been a huge effort undertaken since Pharo 1.0, so we take this opportunity to review some of the most important the actions taken.

Bugs


We closed: xxx bug entries. A lot of bug fixes in many different areas of the system have been addressed. You can find the details on our issue tracker: http://code.google.com/p/pharo/issues/list

Community


Pharo 1.1 is a product of our community. We thank all of you that have spent the time making Pharo better, either directly contributing to the system or helping us make the right decisions.

Settings a New Preference Framework


Setting is a new Preference framework that supports modularity. No need to have a global Preference class anymore nor having Preference hardcoded everywhere. Settings lets you define advanced preferences without tying all the system to one class. Old preferences have been evaluated and migrated when necessary. Thanks Alain Plantec for this cool work.

New Menu World


Menu item are now declared and not hardcoded. They are defined using the new Settings Framework

Compiler fixes and improvement


Selectors including minus are now parsed correctly (@@lukas@@). The parser was improve to reject some ill-defined expressions such as '#1' returning 1.

Etoy Removal


We continued to clean the system.

Collections


Core Libraries The collection hierachy has been refactored to have both Set and Dictionary a subclass of HashedCollection instead of having Dictionary a subclass of Set. Pharo 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). This change was taken from Squeak.

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. This change was taken from Squeak.

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.

Traits


Trait implementation got cleaned. Several algorithms implemented to support an old browser have been removed.

Morphic Speed up


Graphics


Reading PNG images has been significantly sped up for some common cases. The improvements are in 50-200x range and heavily affect interactive uses of such files.

Exceptions


OutOfMemory has been added as a standard exception being signaled when an allocation fails, replacing the previous signaling of the low space semaphore. Improved #ensure: performance avoiding remote context manipulation (via #tempAt:put:) in the default case. This change was taken from Squeak.

SUnit


TestCase assert: show now only take booleans.

CompilerMethodFormat


We adopted the changes of Igor Stasenko to have a cleaner implementation of compiled method meta information.

Traits


This change removes the required/provided selectors computation code that was in the Traits package for historical reasons. This removes 17 classes with about 240 methods from PharoCore. I re-packaged the removed code and put it on SqueakSource: www.squeaksource.com/Requires.html

Native host menu support for Mac


Performance


Better Identity hashing, encoding conversions, collection changes, rendering speedups (e.g., through inlining a lot of common morph extensions and using Strike fonts by default)


Sign in to add a comment
Powered by Google Project Hosting