Squeak 6.1
Squeak 6.1 "Vanessa"
Announcement: As the Squeak ecosystem approaches its anniversary, we are thrilled to unveil the latest evolution of the system: Squeak 6.1.
These notes are specifically designed for internal viewing within Squeak to take advantage of interactive demonstrations. While the browser-based SqueakJS allows for quick access, it possesses certain limitations. For the definitive experience, we recommend downloading the full Squeak installation.
[Download Squeak] | [Try SqueakJS in Browser]
🚀 Release Overview
This update represents a massive leap forward. Since the previous release four years ago, the development team has integrated a staggering amount of work:
| Metric | Quantity |
|---|---|
| Patches Merged | |
| Method Modifications |
Key Highlights
- New Tree Browser: A modernized way to navigate categories and classes using updated hierarchical morphs.
- The Return of Objectland: The "Worlds of Squeak" are back, providing a vibrant gallery of Squeak's capabilities.
- Kernel Infrastructure: Critical updates to process scheduling, unwinding, simulation, and class reshaping.
- Tooling Enhancements: Refined interfaces for debugging, profiling, version control, and inspection.
🛠 Detailed Improvements
🎨 GUI Frameworks: Morphic
(Updated through Morphic-ct.2218 / MorphicTests-ct.97)
🌳 Tree Morph Overhaul
The tree system has received a significant upgrade to improve both aesthetics and usability:
- Navigation: Enhanced color schemes and refined keyboard/mouse shortcuts.
- Filtering:
- Implemented a "type-to-filter" system (similar to lists) that highlights search terms.
- Users can now isolate single columns using the
[TAB]key. - New Filter Modes: Choose between searching the current selection, visible nodes, or the entire tree.
- Search: Added recursive "find" and "find next" functionality via
[CMD] + [F]and[CMD] + [G]. - Interactivity: Nodes now automatically expand after a one-second hover during drag-and-drop operations.
- Performance: General stability and speed boosts for rendering, event handling, and layouting.
🌍 World & Window Management
- Drag-and-Drop: You can now drop
class references,method/system categories, orexplorer/inspector fieldsdirectly into the world to spawn them in a new widget. - Customization: New preferences allow users to tweak drag thresholds and double-click timing.
- Docking Bar: A new menu option allows for the collapsing of windows.
- Workspace: Finding the workspace is now more intuitive; if the window is collapsed, it will automatically expand upon selection.
✍️ Text Editors & API
- Visuals: Links are now underlined during hover, improving the experience of clicking and selecting text.
- Smart Quotes: When wrapping text in single or double quotes, the system now
manuallyautomatically handles the escaping and unescaping of nested quotes. - Morphic API:
- Morphs can now ignore specific halo events.
- Balloon text can be defined via a
blockrather than a simple selector.
- Menu Logic:
- New tools for creating item groups and shifting action targets.
- The
#addListmethod now recognizes backslashes (\) as line breaks in help tuples.
"Example of the new #addList behavior"
#addList: #('First Line\Second Line' 'Help text here')
🐞 Debugging & UI Stability
- Debug Menus: Added shortcuts for the time-profiler on buttons and improved access to tree/list contents. "Debug action" and "browse action" commands are now more robust.
- Preferences:
Morphic openAsToolnow correctly respects the "Open Tools Attached to Mouse Cursor" setting. - High-DPI Support: Significant visual improvements for:
- Scroll panes, sliders, and buttons.
- Multi-selection lists, trees, and menus.
- The scratch pad and keyboard exerciser.
- Bug Fixes:
Swallowed user eventsduring code profiling.Incorrect yellow-button menu triggerson lists and buttons.Memory leaksassociated with collapsed windows and UI theme application.macOS Singleton Warning: Fixed the error occurring when using external devices or CLI arguments.Incorrect renderingof polygons, transform morphs, and animated GIFs.
⚙️ Core Logic & Performance
- Stability: Improved backward compatibility when loading morphs from disk.
- Text Handling: Fixed issues with text container construction and the conversion of paragraphs into texts.
- Logic: Fixed "browse senders" for
nil,true, andfalse. - Workspace: Improved access to workspace bindings during
accept-itoperations and strengthened editor history.
🌟 MorphicExtras
(Updated through MorphicExtras-ct.360)
The most exciting addition here is the rebirth of Objectland. This is a complete reconstruction of the "Worlds of Squeak" (originally from 2003). It serves as a vivid, interactive gallery showcasing the diverse power of the Squeak environment.
- Classic Returns: The legendary Etoys race car example is back.
- New Content: Several fresh examples have been added to demonstrate modern capabilities.
After 18 years of spot... [Content ends here]