A large international community of developers is working hard to prepare new revolutionary changes for the Pharo platform like the headless VM with support of various new displaying backends, superb debugging experience and seamless integration with the operating system. We are pleased to introduce the new stable Pharo 8.0 release that will allow you to taste the first fruits of their efforts. This release is focused on performance improvements, bug fixes and system cleanups. More than 1500 pull-requests were integrated into the base system, which does not include the heroic work on the new virtual machine, UI framework and other tools.
- mature 64-bit VM for Windows
- alternative headless VM (preview)
- a virtual machine without integrated support of GUI
- the user interface is managed by Pharo code directly which brings more flexibility (command-line argument
--interactive
expected to start the IDE window) - full backwards compatibility with the old windows management
- threaded FFI with callbacks support
- better system performance
- many more tests (UI, FFI, ...) and testable documentation via executable comments. Each commit is validated by 64617 tests.
- the new generation of Spec UI building framework (preview)
- new tests management tool called DrTests (preview)
- new code completion engine
More than 1500 fixes and enhancements were integrated into this release. For the complete list of changes see the Pharo GitHub repository.
- system performance testing on the CI Infrastructure changes
- all VM sources managed by Git Infrastructure changes
- intensive VM testing Infrastructure changes
- bootstrap process documentation improved
- enhanced projects and repositories management.
- improved merging
- more exposed settings
- faster loading and comparison for projects with big packages.
- closer integration with
Calypso
- fixes in Tonel format support
- new code completion engine
Calypso
(system browser)- suggestions for class definitions
- more refactorings
- safer deprecation
- better pool dictionaries support in
Dependency analyzer
- cursors, shared pools and variables inspectors
Enlumineur
(preview) - new code formatter- better syntax highlighter performance
- branch coloring support in
Hiedra
- more slots examples (
HistorySlot
…) - better slots integration
Reflectivity-Tools
refactoring
- introduction of
Spec 2
(as preview)- better support of multiple backends (Morphic, Gtk…)
- simplified implementation
- better layouts
- easier testing
- applications management
- the dark theme as default
- fonts corruption fixes
- more settings for production images
- copy windows title command
UFFI
- better support of literals
- more types implemented
- supports of ThreadedFFI backend
OSWindow
- improved events and windows management
- world rendering in different backends
- more capable backends setting
File Attributes Plugin
- new file systems properties interface
DrTests
(preview) - tests management tool with plugins supportClap
- Command line argument parserBeacon
- logging engineSUnit-Visitor
- standardized way to visit test suitesSpec 2
(preview) - UI building framework with multiple backendsCommander 2
(preview) - advanced command pattern implementation and documentation http://books.pharo.org/booklet-Commander/
- faster Collections implementation
- speed-up of system queries and sources access
- faster Spotter searches
- better class building performance
- SSD friendly read-write streams
- faster
Athens
, examples improvements
Ring
(language meta-model)- standalone environment models
- better support of undefined entities
- browseable using Calypso
- more executable comments
- read-only image mode
- WeakIdentitySet
- the old editor removal
- pre-debugger improvements
Opal
compiler cleanups and enhancements- cleanups:
- flags
- package dependencies
- baselines
- access to globals (system dictionary,
ActiveWorld
…) Spotter
package structureGlamour
/GT
dependencies- methods categorization
- unused variables
- better mails sending support
- more consistent collections API
- more thread-safe system
- themes switching fixes
- memory leaks fixes
Fast Table
- fixes, better sorting support
- variable height rows
- better TelePharo support
- better Gemstone compatibility
- more class comments
- ...and many more small fixes and improvements...
We always say Pharo is yours. Is yours because we made it for you, but most important because it is made by the invaluable contributions of our great community (yourself).
More than seventy people directly contributed to Pharo 8.0:
Thank you all for your contribution.
Serge Stinckwich, Myroslava Romaniuk, Hilaire Fernandes, Alexandre Bergel, David Bajger, Sean DeNigris, Theodore Moen, Dayne Guerra Calle, Juraj Kubelka, Max Leske, Santiago Jose Dandois, Alistair Grant, Sabine Mana, Chia Yu, Stephan Eggermont, Milton Mamani, Pavel Krivanek, Ben Coman, Marcus Denker, Pierre Misse, Christophe Demarey, Allex Oliveira, Andreina Cota, Theo Rogliano, Clément Dutriez, Quentin Ducasse, Cyril Ferlicot, Cameron Bierwagen, Marek Niepieklo, Clotilde Toullec, Esteban Lorenzano, Vincent Blondeau, Danil Osipchuk, Eiichiro Ito, Noury Bouraqadi, Oleksandr Zaytsev, Jason Riggs, Alain Plantec, Kasper Osterbye, Leonardo Cecchi, Chi Huynh, Santiago Bragagnolo, Antonio Pierro, Pablo Tesone, Tim Mackinnon, Wesley Duerksen, Wilfred Hughes, John Brant, Evelyn Cusi Lopez, Manuel Leuenberger, Thomas Dupriez, Norbert Hartl, Gabriel Omar Cotelli, Carlo Teixeira, Guille Polito, Torsten Bergmann, Damien Pollet, Holger Hans Peter Freyther, Julio Ripoll, Carolina Hernandez Phillips, Julien Delplanque, Hugo Lasnier, James Foster, Will Hensel, Erik Stel, Sven Van Caekenberghe, Martín Dias, Tomohiro Oda, Konrad Hinsen, Sébastien Roccaserra, Stéphane Ducasse, Denis Kudriashov, Ellis Harris, Steven Costiou, Jan Bliznicenko, Eliot Miranda, Nicolas Cellier, Clément Béra.
And many many more who contributed indirectly, by reporting bugs, participating in discussion threads, providing feedback, etc., etc., etc.