Monthly Archives: October 2023

[Ann] New Virtual machine release 10.0.8

Hi all,

TL;DR; update your launcher VMs and your download scripts!

There is a new VM version: release 10.0.8 which fixes, among others, a performance regression that showed in some cases that overly relied on the interpreter.

See below the changes log, and for those interested, the fix for the performance issue is here: https://github.com/pharo-project/pharo-vm/pull/705

What’s Changed

  • Fixes #14768: File class>>primFileAttributes😷 answers corrupted result by @akgrant43 in #697
  • Fix/speed regression by @tesonep in #705

Full Changelogv10.0.7…v10.0.8

This week (42/2023) on the Pharo Issue Tracker

# Feature

– Adding debug test setup debug menu entry #14992
https://github.com/pharo-project/pharo/pull/14992

– Enhance System menu to browse image and VM folder #15043
https://github.com/pharo-project/pharo/pull/15043

– Enhance roassal with version v1.04b #14985 #15013
https://github.com/pharo-project/pharo/pull/15013

– Add a demo page for component list presenter #1462
https://github.com/pharo-spec/Spec/pull/1462

# Bugs

– Fix bug in the context interpreter for clean block #15055
https://github.com/pharo-project/pharo/pull/15055

– Fix #magnifyBy:smoothing: on AthensCairoSurfaceForm #14922
https://github.com/pharo-project/pharo/pull/14922

– 13652-Installing-a-breakpoint-in-the-message-browser-crashes #14991
https://github.com/pharo-project/pharo/pull/14991

– Slots: Do not update class while building it #15012
https://github.com/pharo-project/pharo/pull/15012

– Fix key combination sequence not printable instances #15027
https://github.com/pharo-project/pharo/pull/15027

– [WIP] Preserve tree expansion state when (un)checking a class in the method visibility tree (fixes #14559) #14969
https://github.com/pharo-project/pharo/pull/14969

– Turn off Error hander on #computeFullBounds for a while to find a bug #15048
https://github.com/pharo-project/pharo/pull/15048

# Fluid Class Def

– Migrate class parser tests to fluid #15052
https://github.com/pharo-project/pharo/pull/15052

– Add tests on Fluid class parser and fix bugs #14984
https://github.com/pharo-project/pharo/pull/14984

– 13315-Fluid-Check-skipped-tests-ChangeSetClassChangesTest #14993
https://github.com/pharo-project/pharo/pull/14993

– Improve new chunk importer #15046
https://github.com/pharo-project/pharo/pull/15046

– Remove usage of old class definition syntax #15053
https://github.com/pharo-project/pharo/pull/15053

# RPackage

– RPackage: Remove #toCategoryName: and clean #14995
https://github.com/pharo-project/pharo/pull/14995

– RPackage: Remove users of ClassRecatogrized #14997
https://github.com/pharo-project/pharo/pull/14997

– RPackage: Change root tag name #15004
https://github.com/pharo-project/pharo/pull/15004

– RPackage: Fix bug in package tag removals #15018
https://github.com/pharo-project/pharo/pull/15018

– Metacello: Simplify repository creation #15026
https://github.com/pharo-project/pharo/pull/15026

– Metacello: Further simplify repository creation #15050
https://github.com/pharo-project/pharo/pull/15050

– SpChangeSorterPresenter shouldnt use ClassRecategorized #601
https://github.com/pharo-spec/NewTools/pull/601

# CI / Bootstrap

– Initialize CaseInsensitiveOrder in the bootstrap #15014
https://github.com/pharo-project/pharo/pull/15014

– Remove the use of categories in bootstrap class definition #15047
https://github.com/pharo-project/pharo/pull/15047

– Bootstrap: Use Hermes V3 #15022
https://github.com/pharo-project/pharo/pull/15022

# CI / Full image load

– Morphic-load-no-rehash #14988
https://github.com/pharo-project/pharo/pull/14988

– Remove BaselineOfIDE obsolete management #14990
https://github.com/pharo-project/pharo/pull/14990

– Clean rules baslines and packaging #14999
https://github.com/pharo-project/pharo/pull/14999

– Rework baseline of refactorings #15001
https://github.com/pharo-project/pharo/pull/15001

– Baselines: No need to nuke RBRefactoryChangeManager #15021
https://github.com/pharo-project/pharo/pull/15021

# CI

– Fix Jenkins file uploading stage #14996
https://github.com/pharo-project/pharo/pull/14996


# Tests

– Improve disabling of Epicea in tests #15032
https://github.com/pharo-project/pharo/pull/15032

– ChangeSetClassChangesTest should clean the system #15031
https://github.com/pharo-project/pharo/pull/15031

– RBTransformationsTest>>#testAddProtocolTransform should clean after execution #15029
https://github.com/pharo-project/pharo/pull/15029

– Clean system after ClyBrowserToolValidityTest #15030
https://github.com/pharo-project/pharo/pull/15030

– Cleanup: adjust the release test for sent but not implemented selectors #15035
https://github.com/pharo-project/pharo/pull/15035

# Cleanup

– Fix depreciation in Dependency analyzer #15051
https://github.com/pharo-project/pharo/pull/15051

– Reduce UIManager references in Presenters + use new API #14575
https://github.com/pharo-project/pharo/pull/14575

– Replace EditorFindReplaceDialogWindow with SpRubFindReplaceService #15058
https://github.com/pharo-project/pharo/pull/15058

– Enh notification center #1455
https://github.com/pharo-spec/Spec/pull/1455

# Trivial Cleanup

– extract return stmt from ifNil:ifNotNil: #15007
https://github.com/pharo-project/pharo/pull/15007

– Cleanup: small category glitch in #RBParseTreeSearcherTest #15037
https://github.com/pharo-project/pharo/pull/15037

– Cleanup: small cleanup in RBDumpVisitorTest #15039
https://github.com/pharo-project/pharo/pull/15039

– Cleanup: fix some small issues in Announcement package #15041
https://github.com/pharo-project/pharo/pull/15041

– 15008-Tests-in-RBEOFTokenTest-should-be-in-tests-category-not-test #15065
https://github.com/pharo-project/pharo/pull/15065

– There was a missing return in a description accessor #1465
https://github.com/pharo-spec/Spec/pull/1465

This week (40/2023) on the Pharo Issue Tracker

# Fixes

– Fix intersection of dictionaries #14812
https://github.com/pharo-project/pharo/pull/14812

– Fix announcements during class creation #14816
https://github.com/pharo-project/pharo/pull/14816

– Prevent SystemDictionary key to be something else than symbols #14813
https://github.com/pharo-project/pharo/pull/14813

– Kernel: Fix CompiledMethod>>#propertyAt:ifPresent: #14823
https://github.com/pharo-project/pharo/pull/14823

– Allow defining methods from class pane again #14824
https://github.com/pharo-project/pharo/pull/14824

– 14864-Recompiling-a-method-when-a-tool-looks-at-it-DNU-name-is-nil #14865
https://github.com/pharo-project/pharo/pull/14865

– speedup-runtimeUndeclaredRead #14873
https://github.com/pharo-project/pharo/pull/14873

– Fix Deprecation for methods that use #runtimeUndeclaredRead #14872
https://github.com/pharo-project/pharo/pull/14872

# Features

– There is #workDatesDo:, but no #workDates #14820
https://github.com/pharo-project/pharo/pull/14820

# Graphics

– Factor out methods for allocating and drawing the cache canvas from HandMorph onto FormCanvas #14890
https://github.com/pharo-project/pharo/pull/14890

– Factor out methods for saving and restoring patches from HandMorph onto Canvas #14841
https://github.com/pharo-project/pharo/pull/14841

– Remove some unused methods from the Canvas hierarchy #14855
https://github.com/pharo-project/pharo/pull/14855

– Defer change list update to avoid a race condition #14853
https://github.com/pharo-project/pharo/pull/14853

# Package cleanup

– Remove usage of #category: in trait tests #14877
https://github.com/pharo-project/pharo/pull/14877

– RPackage: Simplify tests and fix bug in package removal #14875
https://github.com/pharo-project/pharo/pull/14875

– RPackage: Introduce UndefinedPackageTag #14876
https://github.com/pharo-project/pharo/pull/14876

– RPackage: Revert #packageName #14825
https://github.com/pharo-project/pharo/pull/14825

– Monticello: Simplify classRemoved: #14857
https://github.com/pharo-project/pharo/pull/14857

– RPackage: remove private import method #14879
https://github.com/pharo-project/pharo/pull/14879

– Change set should not depend on ClassRecategorized #14880
https://github.com/pharo-project/pharo/pull/14880

– RPackage: ClassRepackaged announcement should know the package tags #14881
https://github.com/pharo-project/pharo/pull/14881

– RPackage: New step at cleaning tests #14883
https://github.com/pharo-project/pharo/pull/14883

# Refactoring Engine

– Refactor: reusing transformations where possible #14862
https://github.com/pharo-project/pharo/pull/14862

– Refactoring: Get away from class definition #14852
https://github.com/pharo-project/pharo/pull/14852

– Refactoring: Remove controllers #14828
https://github.com/pharo-project/pharo/pull/14828

– fixes #14715: RBNamespace >> classNamed: should convert strings to symbols #14831
https://github.com/pharo-project/pharo/pull/14831

– [Refactoring engine] 2023 09 26 enh remove instance variable2 #14790
https://github.com/pharo-project/pharo/pull/14790

– Refactoring engine: Cleaning up #14834
https://github.com/pharo-project/pharo/pull/14834

# Documentation 

– Adding a #reflection: pragma on reflective methods #14821
https://github.com/pharo-project/pharo/pull/14821

– Bootstrap: Add logs to early steps of the bootstrap #14861
https://github.com/pharo-project/pharo/pull/14861

# Tools

– Debugger protocol cleaning #590
https://github.com/pharo-spec/NewTools/pull/590

– Debugger class side cleaning #594
https://github.com/pharo-spec/NewTools/pull/594

– Scrolling to selection when selecting path to the receiver class in the meta browser (Fix for the meta browser in the inspector) #597
https://github.com/pharo-spec/NewTools/pull/597

– StVersionBrowserPresenter : no need to use #instanceSideParentName (which is Ring1 specific) #596
https://github.com/pharo-spec/NewTools/pull/596

– fix #testStackTablePackagesLabels: use correct DoIt selector #595
https://github.com/pharo-spec/NewTools/pull/595

– Fix for issue #592 self for number in inspector #593
https://github.com/pharo-spec/NewTools/pull/593

– Removing deprecated debugger command (StShowFullStackCommand) #591
https://github.com/pharo-spec/NewTools/pull/591

# Cleanup

– fix a isForWorkspace: send #1459
https://github.com/pharo-spec/Spec/pull/1459

– Move #isTraitDefinition to Pharo from Tonel #14889
https://github.com/pharo-project/pharo/pull/14889

– 10094-SourceFileArraychangeRecordsFordo-is-Ring1-specific #14866
https://github.com/pharo-project/pharo/pull/14866

– EDDebuggingAPI: use #changeRecordsFor: #14870
https://github.com/pharo-project/pharo/pull/14870

– Ring-Cleanup-isMetaSide #14856
https://github.com/pharo-project/pharo/pull/14856

– 10-02-Deprecation-Cleanup #14847
https://github.com/pharo-project/pharo/pull/14847

– Refactor message send: subclass of Message #14829
https://github.com/pharo-project/pharo/pull/14829

– Refactor Pragma: subclass of Message #14835
https://github.com/pharo-project/pharo/pull/14835

– Reflectivity cleaning and comments #14892
https://github.com/pharo-project/pharo/pull/14892

 This week (41/2023) on the Pharo Issue Tracker

# Pharo 11

– Fix unsubscriptions of WeakSubscriptions #14951
https://github.com/pharo-project/pharo/pull/14951

– [P11 Backport] Unsubscribe announcements from finalization registry #14938
https://github.com/pharo-project/pharo/pull/14938

# Fixes

– Fix versioning error handling already versioned file names #14851
https://github.com/pharo-project/pharo/pull/14851

– Calypso: Show protocol edition bar only in edition #14885
https://github.com/pharo-project/pharo/pull/14885

– Ensure filesystem code is initialized before opening source files (fixes #14850) #14907
https://github.com/pharo-project/pharo/pull/14907

– Improving precision in humanReadableByteSizeString #14900
https://github.com/pharo-project/pharo/pull/14900

– Allow formatting only part of a method or playground (fixes #14618) #14909
https://github.com/pharo-project/pharo/pull/14909

– Unsubscribe announcements from finalization registry #14937
https://github.com/pharo-project/pharo/pull/14937

– Fix index out of range during Calypso editor tab updates #14942
https://github.com/pharo-project/pharo/pull/14942

– 10644 fixes process terminate #11310
https://github.com/pharo-project/pharo/pull/11310

– 14934-When-prompted-to-create-a-class-the-definition-information-are-ignored #14954
https://github.com/pharo-project/pharo/pull/14954

– Fix ‘span’ in BalloonEngine not being as wide as the ‘destForm’ #14926
https://github.com/pharo-project/pharo/pull/14926

# Undeclared Handling

– Deprecate Dictionary #removeUnreferencedKeys #14975
https://github.com/pharo-project/pharo/pull/14975

– Optimize Dictionary>>unreferencedKeys #14908
https://github.com/pharo-project/pharo/pull/14908

– reduce the amount of calls to #cleanOutUndeclared during full image load #14936
https://github.com/pharo-project/pharo/pull/14936


# Packages

– Clean test on repackaging #14911
https://github.com/pharo-project/pharo/pull/14911

– Simplify ClassAdded #14953
https://github.com/pharo-project/pharo/pull/14953

– Remove MCWorkingCopy>>#merge: #14955
https://github.com/pharo-project/pharo/pull/14955

– RPackage: Remove categories from class removal announcement #14946
https://github.com/pharo-project/pharo/pull/14946

– Update DoItChunk to manage new package API #14924
https://github.com/pharo-project/pharo/pull/14924

– Fix failing tests on RPackage #14927
https://github.com/pharo-project/pharo/pull/14927

– RPackage: Finish to clean the package/tag import logic #14797
https://github.com/pharo-project/pharo/pull/14797

– RPackage: #moveClass:toTag: can be simpler if the package do not change #14882
https://github.com/pharo-project/pharo/pull/14882

– Reduce once more the usage of the category API #14952
https://github.com/pharo-project/pharo/pull/14952

– Epicea: Remove most references to categories #14893
https://github.com/pharo-project/pharo/pull/14893

– Monticello: Repackage classes and methods #14887
https://github.com/pharo-project/pharo/pull/14887

# Refactoring

– Continue to migrate RBCondition to RBNewAbstractCondition subclasses #14940
https://github.com/pharo-project/pharo/pull/14940

– 2023 10 07 remove shared var driver #14921
https://github.com/pharo-project/pharo/pull/14921

– Behavior>>bindingOf: is different from RBClass >> bindingOf: #14919
https://github.com/pharo-project/pharo/pull/14919

– Refactorings: Update all code relying on categories to use package/tag instead #14860
https://github.com/pharo-project/pharo/pull/14860

– RPackage: New step at cleaning tests #14883
https://github.com/pharo-project/pharo/pull/14883

# Fluid Class Defs

– Do not rely on old class definition in code importer #14878
https://github.com/pharo-project/pharo/pull/14878

– Simplify shared pools creation #14949
https://github.com/pharo-project/pharo/pull/14949

– Merge FluidClassBuilder and ShiftClassBuilder #14902
https://github.com/pharo-project/pharo/pull/14902

– 11629-Finish-FluidClassBuilderTesttestBuildSimplePoint2 #14894
https://github.com/pharo-project/pharo/pull/14894

# Full Image Load / Bootstrap

– Cleanup: BaselineOfIDE loading RPackage-Tests in the postload #14981
https://github.com/pharo-project/pharo/pull/14981

– No need to remove empty protocols after loading morphic #14943
https://github.com/pharo-project/pharo/pull/14943

– Remove-recompile-Morphic-baseline #14977
https://github.com/pharo-project/pharo/pull/14977

– Small cleanup of ImageCleaner: #helpPackages #14974
https://github.com/pharo-project/pharo/pull/14974

– Some cleanup of #cleanUp* code #14910
https://github.com/pharo-project/pharo/pull/14910

– unify-cleanup-empty-protocols #14948
https://github.com/pharo-project/pharo/pull/14948

– Add missing methods to ring for Hermes #14971
https://github.com/pharo-project/pharo/pull/14971

# Tests

– reduce-ASTCache-reset #14976
https://github.com/pharo-project/pharo/pull/14976

– Cleanup-methodsWithUnboundGlobals #14933
https://github.com/pharo-project/pharo/pull/14933

– 14644-We-need-test-for-thoroughWhichSelectorsReferTo #14898
https://github.com/pharo-project/pharo/pull/14898

# Debugger 

– adding a command to the debugger stack toolbar, which opens a popover to quickly activate/unactivate debugger extensions #598
https://github.com/pharo-spec/NewTools/pull/598

– Simplify debugger test code #599
https://github.com/pharo-spec/NewTools/pull/599

# Cleanup

– 14917-Add-comment-to-whichSelectorsReferTo #14966
https://github.com/pharo-project/pharo/pull/14966

– Factor out methods for allocating and drawing the cache canvas from HandMorph onto FormCanvas #14890
https://github.com/pharo-project/pharo/pull/14890

– Reflectivity cleaning and comments #14892
https://github.com/pharo-project/pharo/pull/14892

– 14848-BasicDatePrinter-class–default-should-define-a-default-subclass-instead-of-returning-an-arbitrary-subclass #14896
https://github.com/pharo-project/pharo/pull/14896

– 10066-Cleanup-deprecated-method-in-Trait #14899
https://github.com/pharo-project/pharo/pull/14899

– remove code duplication with Array>>#asTraitComposition #14903
https://github.com/pharo-project/pharo/pull/14903

– Add back #keyword in Pragma for compatibility #14897
https://github.com/pharo-project/pharo/pull/14897

– Move #isTraitDefinition to Pharo from Tonel #14889
https://github.com/pharo-project/pharo/pull/14889

– deprecate #isMetaSide in Ring #14959
https://github.com/pharo-project/pharo/pull/14959

– remove some methods that are duplicated in the hierarchy #14960
https://github.com/pharo-project/pharo/pull/14960

Testimony…

Just wanted to share with the community a nice testimony we got after the weekly list of commits

I don’t look in depth every week – but gosh there are always some great items in the list when you do look. Its all the little details that make you smile – removing old usages etc. This is how you fix a big system bit by bit – its very inspirational and a good example for the day jobs as well. Thanks everyone… people do appreciate it.

Tim

Bloc SVG




baseUrl := 'https://raw.githubusercontent.com/ant-design/ant-design-icons/%40ant-design/icons-svg%404.0.0/packages/icons-svg/svg/twotone/'.
files := 'account-book.svg
alert.svg
api.svg
appstore.svg
audio.svg
bank.svg
bell.svg
book.svg
box-plot.svg
bug.svg
build.svg
bulb.svg
calculator.svg
calendar.svg
camera.svg
car.svg
carry-out.svg
check-circle.svg
check-square.svg
ci-circle.svg
ci.svg
clock-circle.svg
close-circle.svg
close-square.svg
cloud.svg
code.svg
compass.svg
contacts.svg
container.svg
control.svg
copy.svg
copyright-circle.svg
copyright.svg
credit-card.svg
crown.svg
customer-service.svg
dashboard.svg
database.svg
delete.svg
diff.svg
dislike.svg
dollar-circle.svg
dollar.svg
down-circle.svg
down-square.svg
edit.svg
environment.svg
euro-circle.svg
euro.svg
exclamation-circle.svg
experiment.svg
eye-invisible.svg
eye.svg
file-add.svg
file-excel.svg
file-exclamation.svg
file-image.svg
file-markdown.svg
file-pdf.svg
file-ppt.svg
file-text.svg
file-unknown.svg
file-word.svg
file-zip.svg
file.svg
filter.svg
fire.svg
flag.svg
folder-add.svg
folder-open.svg' lines.

space := BlSpace new.
space root layout: BlFlowLayout horizontal.
elements := files collect: [ :eachName |
	| e |
	e := BlSvgConverter convertFromURL: (baseUrl, eachName).
	e size: 64 asPoint.
	space root addChild: e ].
space show