Releases: pharo-project/pharo
v13.1.0
What's Changed
- update new tools to v0.10.4 and spec to v2.0.3 by @estebanlm in #18313
- bump iceberg to v2.4.1 by @estebanlm in #18210
- Fix for #18225: Be robust against unintentionally sending #initialize to a Trait (Pharo 13) by @MarcusDenker in #18238
- [P13 Backport] Fix: Rubric error when jumping to previous word and string begins with separators by @Gabriel-Darbord in #18232
- [Pharo13] Adding validation of the hierarchy for all the slots by @tesonep in #18243
- Fix closing window shortcuts in combination with window groups by @guillep in #18116
- Fixing the Toplo Version by @tesonep in #18263
- [Pharo13] Update Roassal to new Released version by @tesonep in #18262
- Fix cursor on multiple OSWindows by @tinchodias in #18280
- Backport #18289 to P13: Fix Duplicate class refactoring by @jecisc in #18290
- rename examples and ClapHelp command by @demarey in #18312
Full Changelog: v13.0.0...v13.1.0
v13.0.0
What's Changed
- P13 use branch repository by @estebanlm in #16519
- add Open as external window option by @pavel-krivanek in #16511
- Add rule for Point x: x y: y -> x@y by @AngelHely in #16508
- Rename SqueakEpoch to Epoch by @jecisc in #16418
- update with latest changes from Pharo12 by @estebanlm in #16523
- New pass at removing SystemAnnouncer references by @jecisc in #16518
- Announcer: Return early if there isn't any subscriber by @tinchodias in #16336
- Change default value for setting #autoSetCanvasScaleFactor to true by @Rinzwind in #16529
- missing stroke paint method by @pavel-krivanek in #16531
- 5 test for rules by @AngelHely in #16524
- Change #shrinkTo: on FreeTypeCache to selectively remove entries rather than all of them by @Rinzwind in #16419
- Add Toplo world menu entry (part 2) by @tinchodias in #16478
- add tests for testDoWhileFalse: and testDoWhileTrue: by @pavel-krivanek in #16532
- Refactoring of the RefactoryChange manager by @balsa-sarenac in #16526
- Composite extract method refactoring by @balsa-sarenac in #16525
- ProcessorScheduler>>#activeProcess added no instrumentation pragma by @jordanmontt in #16551
- Pharo12: ProcessorScheduler>>#activeProcess added no instrumentation pragma by @jordanmontt in #16557
- remove interactionState: by @pavel-krivanek in #16559
- ExteranlAddress>>fromString: converts string to UTF-8 first by @pavel-krivanek in #16560
- Renaming DebugPointSideEffect into DebugPointMetaBehavior by @adri09070 in #16563
- Update CONTRIBUTING.md by @pavel-krivanek in #16575
- 16569-CI-Pharo13-code-with-halt-was-merged by @MarcusDenker in #16570
- prof stef lesson view did not understand has binding of by @pavel-krivanek in #16578
- add asAccessor by @pavel-krivanek in #16579
- fix precedence computation by @pavel-krivanek in #16581
- 16576-Problem-with-completion-in-the-tutorial by @MarcusDenker in #16582
- Taskbar option to close windows hidden behind other windows by @pavel-krivanek in #16552
- Make it easier to diagnose mock failures by printing message sends properly and storing the send history in the mock by @macta in #16555
- add ReOverridingExtentsionMethod rule by @pavel-krivanek in #16550
- Fixing reflectivity tests that can randomly fail because of unstable and unpredictable tests generating methods by @StevenCostiou in #16584
- Cleanup: TestCase class>>#lastRunMethodNamed: by @astares in #16588
- Cleanup: TestCase class>>#hasErrorTest, TestCase class>>#hasPassedTest and TestCase class>>#hasFailedTest by @astares in #16586
- Changed 'Transcript show:' construct to 'self trace' by @PosledniAmir in #16385
- Refactor: preconditions return array of preconditions by default by @balsa-sarenac in #16527
- Make ToggleMenuItemMorph use a FormSet for the submenu marker by @Rinzwind in #16510
- add rule to avoid that TestCase rely on Initialize by @AngelHely in #16513
- Fix testCodeCruftLeftInMethods by @jecisc in #16598
- Update roassal to v1.06d by @jecisc in #16595
- Fix
RBCompositeRefactoryChange>>#defineClass:
argument name by @badetitou in #16600 - Simplify Calypso packaging by @jecisc in #16602
- proposition refactoring -> Cleanup: 2 duplicated methods in FreeType by @AngelHely in #16583
- [Bug]: Date>>#addMonths: should Respect Offset by @seandenigris in #16603
- tests for rules from the General-Rules package by @AngelHely in #16474
- proposition rule for nil branch by @AngelHely in #16547
- Package "System-DependenciesTests" should be "System-Dependencies-Tests" by @astares in #16621
- Cleanup: AthensTransformTest>>transformClass should be in accessing by @astares in #16628
- [Enhancement] Add "copy class name" to extras menu in Calypse by @astares in #16635
- [Enhancement] Add a rule ReBaselineProperlyPackagedRule by @astares in #16630
- Simplify script pragma for FinderUI by @astares in #16623
- CommentTestCase should be moved to PharoDocComment-Tests by @astares in #16619
- Cleanup: CoverageCollectorTest should be in an own test package by @astares in #16613
- Introduce CompiledMethod>>#isInstanceSide by @astares in #16626
- [Enhancement] Add a rule ReBaselineWithProperSuperclassRule by @astares in #16633
- proposition for a potential new rule: useless ifTrue:ifFalse: by @AngelHely in #16638
- add ReStatementsAfterReturnConditionalRule by @AngelHely in #16640
- Enhancement: Provide a lint rule to check for a "super initialize" call in instance side #initialize methods by @astares in #16615
- Remove Gofer by @jecisc in #16606
- Issue 16430 - String>> asSymbol no protected against concurrent access (alternative solution) by @carolahp in #16565
- Fix lint in ReShouldSendSuperSetUpAsFirstMessage class>>#checksMethod (second PR) by @astares in #16643
- Reduce references to Undeclared global variable by @jecisc in #16642
- Cleanup: Remove deprecated announcement #SnapshotDone in SnapshotOperation>>#performSnapshot for Pharo 13 by @astares in #16657
- Cleanup: unnecessary class BlLoadProjectWorldMenu by @astares in #16655
- SourceFile>>#isOpen should use isNotNil by @astares in #16651
- Review ReClassNotCategorizedRuleTest>>#testRule by @astares in #16649
- Add missing RGGlobalVariable>>isInstanceVariable by @jecisc in #16644
- Sindarin/ScriptableDebugger should be listed as external project by @astares in #16653
- Fixed VirtualMachine 76 and 78 parameters by @jordanmontt in #16641
- Clean up in SDL_Texture and SDL_Renderer by @jecisc in #16601
- Improve ReBaselineProperlyPackagedRule and ReBaselineWithProperSuperclassRule and cover with tests by @astares in #16648
- Remove part of ReAsClassRule about #asClass by @jecisc in #16658
- Remove the package Deprecated12, introduce package Deprecated13 by @pavel-krivanek in #16538
- fixes #16610: Cleanup: simple typo in Crown class comment by @kderichs in #16666
- 15652-Check-and-add-test-for--CompiledCodenewFrom by @MarcusDenker in #16663
- 16608 cleanup crown initialize should call super initialize by @kderichs in #16676
- Update call to a deprecated class by @jecisc in #16671
- Debug points cleaning fixing by @StevenCostiou in #16670
- Deprecate RPackageSet by @jecisc in #16675
- Remove empty Manifests from baseline packages, synchronize on the tag… by @pavel-krivanek in #16537
- 16680-Zinc-uses-old-Announcers-API by @tesonep in #16681
- proposition for a potential new rule: use deny: instead of assert:equals:false by @AngelHely in #16668
- Make class abstract driver by @hernanmd in #16347
- Change #pharoI...
v12.0.0
What's Changed
autogenerated changelog is too long, even reduced... see the full changelog ;)
New Contributors
- @ivojawer made their first contribution in #13151
- @CarolinaMelendez made their first contribution in #13836
- @kevca87 made their first contribution in #13906
- @ItIsOHM made their first contribution in #14142
Full Changelog: v11.0.0...v12.0.0
v11.0.0
https://pharo.org/news/pharo11-released.html
Highlights
Tools
- Iceberg (the git client/VCS control tool) has received a lot of tweaks and fixes to work better with GitHub and other Git services.
- Our debugger now incorporates lots of tweaks and notably the capability of adding bindings in the context interaction model.
- The is a new implementation of rewrite tools and improved refactoring support.
- There is a new tool: The Document Browser, which presents Microdown (markdown compatible) documents placed on the web or locally.
- New Tools presented in Calypso (the System Browser) and additional extended Inspectors.
- All versions of NewTools, Spec, Roassal and Microdown have been updated with their respective bug fixes and improvements.
System
- Extended Full Blocks and Constant Clock closures support.
- Additional Inlining and optimizations
- Bug Fixes and Clean up.
- Ephemeron Finalization support.
Virtual machine
- Ephemerons Production Ready.
- Initial support for Single-Instruction Multiple-Data (SIMD).
- Third-Party Dependency Update (Newer versions, Graphic Libraries using Hardware Acceleration).
- Clean Ups: Remove lots of old code, notably old experiments, and dead code.
v10.0.0
v9.0.0
Pharo 9.0.0 release!
Lots of things... just look at this:
https://github.com/pharo-project/pharo-changelogs/blob/master/Pharo90ChangeLogs.md
v8.0.1
v9.0.0-dev
Marks the start of 9.0.0 development
v8.0.0
Pharo 8.0
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.
Highlights
- 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
All issues
More than 1500 fixes and enhancements were integrated into this release. For the complete list of changes see the Pharo GitHub repository.
Infrastructure changes
- 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
Git support (Iceberg)
- 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
Code management
- 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
Reflectivity
- more slots examples (
HistorySlot
…) - better slots integration
Reflectivity-Tools
refactoring
UI building framework (Spec)
- introduction of
Spec 2
(as preview)- better support of multiple backends (Morphic, Gtk…)
- simplified implementation
- better layouts
- easier testing
- applications management
Look & Feel
- the dark theme as default
- fonts corruption fixes
- more settings for production images
- copy windows title command
FFI and VM Interface
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
New projects
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/
Performance
- 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
Other
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...
Contributors
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.
Contributors for Pharo 8.0
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 Bergman, 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.
And many many more who contributed indirectly, by reporting bugs, participating in discussion threads, providing feedback, etc., etc., etc.
v7.0.5
Bugfix release (and final)
- #4282 Backport-Pharo7-trying-to-add-an-ivar-to-UndefinedObject-crashes-the-VM-4017
- #4739 Porting a new implementation of ZnBufferedReadWriteStream
- #4875 Recover lost changes does not apply changes in right order
- #4764 Change is ZnBuffered are breaking something :)
- #5077 Add byteAt: as alias to digitAt: to Integer in Pharo 7 to support forward compatibility with Pharo 8
- #5122 Backport - Fix nextVersion for cases where an entry with basename only exists in the directory
- #5075 Backport-5072-MCClassTraitDefinition-should-take-category-into-account-for-equality