[Ann] Release of ReMobiyc

Dear all,

I’m delighted to announce that the first major version of re:mobidyc
(codename Thonon) has been released.
https://github.com/ReMobidyc/ReMobidyc

Re:mobidyc Thonon is based on Pharo 11 and its pre-built packages on
major platforms (m1/m2 mac, intel mac, windows and linux) are
available at the release page below.
https://github.com/ReMobidyc/ReMobidyc/releases/tag/Thonon

Best Regards,

Advertisement

This week (20/2023) on the Pharo Issue Tracker.

This week, we continued the work on Pharo12.

#Fixes

– Drop use of Paragraph from #drawOn: in ToggleWithSymbolMenuItemShortcut to fix menu item alignment #13764
https://github.com/pharo-project/pharo/pull/13764

– 13657-With-CleanBlocks-enabled-tests-fail-when-trying-to-Fuel-out-stack #13763
https://github.com/pharo-project/pharo/pull/13763

– Adjust icon and key text spacing in ToggleMenuItemMorph #13722
https://github.com/pharo-project/pharo/pull/13722

# Features

– add object to represent the Native Window #13566
https://github.com/pharo-project/pharo/pull/13566

– Add menu items ‘Indent’ and ‘Outdent’ to the menu built through #menuOn: in RubSmalltalkCodeMode #13714
https://github.com/pharo-project/pharo/pull/13714

# Compiler

– Remove Object bindingOf: and hasBindingOf: #13736
https://github.com/pharo-project/pharo/pull/13736
https://github.com/pharo-spec/Spec/pull/1392

– Compiler: remove #lookupVar:declare: #13737
https://github.com/pharo-project/pharo/pull/13737
https://github.com/pharo-spec/Spec/pull/1390

– 13723-Binding-for-variable-in-Playground-is-nil-after-assigning-a-number-to-it #13739
https://github.com/pharo-project/pharo/pull/13739

# Protocols

– Method announcements should use real protocols #13730
https://github.com/pharo-project/pharo/pull/13730

– Clean the way to get the selectors in a protocol #13759
https://github.com/pharo-project/pharo/pull/13759

– Inline protocol removal from ClassOrganization #13753
https://github.com/pharo-project/pharo/pull/13753

– Diver cleanings around protocols #13749
https://github.com/pharo-project/pharo/pull/13749

– Inline ClassOrganization>>#removeElement: in ClassDescription #13748
https://github.com/pharo-project/pharo/pull/13748

– Implement ClassDescription>>#protocolNameOfSelector: #13728
https://github.com/pharo-project/pharo/pull/13728

– Move #protocolOfSelector: to ClassDescription #13711
https://github.com/pharo-project/pharo/pull/13711

– Improve removal of protocols and add tests #13692
https://github.com/pharo-project/pharo/pull/13692

# Refactoring Engine

– Refactoring RBRefactoringWarning and RBRefactoringError #13367
https://github.com/pharo-project/pharo/pull/13367


# Cleanup

– Update 01-loadMetacello.st: MetacelloPharoCommonPlatform #13762
https://github.com/pharo-project/pharo/pull/13762

– update-dependencies #13754
https://github.com/pharo-project/pharo/pull/13754

– 10069-Review-NullTextStyler #13752
https://github.com/pharo-project/pharo/pull/13752

– 12444-cleanup-todo-from-testClassSideInitializeMethodNeedsToBeInClassInitializationProtocol #13750
https://github.com/pharo-project/pharo/pull/13750

– Cleanup-MetacelloPharoPlatform #13738
https://github.com/pharo-project/pharo/pull/13738
https://github.com/pharo-project/pharo/pull/13747
https://github.com/pharo-project/pharo/pull/13716

– Move-isObservableSlot #13745
https://github.com/pharo-project/pharo/pull/13745
https://github.com/pharo-spec/Spec/pull/1393

– Add class comments to mocks #13743
https://github.com/pharo-project/pharo/pull/13743

– Class-Deprecate-classComment #13744
https://github.com/pharo-project/pharo/pull/13744

– Cleanup TheManifestBuilder #13742
https://github.com/pharo-project/pharo/pull/13742

– finally remove AbstractTool #13715
https://github.com/pharo-project/pharo/pull/13715
https://github.com/pharo-spec/NewTools/pull/523

– Remove dead code in session manager #13729
https://github.com/pharo-project/pharo/pull/13729

– Fix deprecated call #13710
https://github.com/pharo-project/pharo/pull/13710

– extract return from ifNilifNotNil in ChangeSorterModel #516
https://github.com/pharo-spec/NewTools/pull/516

– Do not listen to method recategorization in MessageBrowser #524
https://github.com/pharo-spec/NewTools/pull/524

[Ann] Pharo 11 is released

Dear Pharo users and dynamic language lovers:

We have released Pharo version 11!

What is Pharo?

Pharo is a pure object-oriented programming language and a powerful environment focused on simplicity and immediate feedback.

  • Simple & powerful language: No constructors, no types declaration, no interfaces, no primitive types. Yet a powerful and elegant language with a full syntax fitting in one postcard! Pharo is objects and messages all the way down.
  • Live, immersive environment: Immediate feedback at any moment of your development: Developing, testing, debugging. Even in production environments, you will never be stuck in compiling and deploying steps again!
  • Amazing debugging experience: Pharo environment includes a debugger unlike anything you’ve seen before. It allows you to step through code, restart the execution of methods, create methods on the fly, and much more!
  • Pharo is yours: Pharo is made by an incredible community, with more than 100 contributors for the last revision of the platform and hundreds of people constantly contributing with frameworks and libraries.
  • Fully open-source: Pharo full stack is released under MIT License and available on GitHub

… more on the Pharo Features page.

In this iteration of Pharo, we continue working on our objectives of improvement, clean-up and modularization. Also, we included a number of usability and speed improvements. A complete list of changes and improvements is available in our Changelog

Some highlights of this amazing version:

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.

Development Effort

This new version is the result of 1412 Pull Requests integrated just in the Pharo repository. We have closed 972 issues and received contributions from more than 70 different contributors. We have also a lot of work in the separate projects that are included in each Pharo release:

Contributors

We always say Pharo is yours. It is yours because we made it for you, but most importantly because it is made by the invaluable contributions of our great community (yourself). A large community of people from all around the world contributed to Pharo 11.0 by making pull requests, reporting bugs, participating in discussion threads, providing feedback, and a lot of helpful tasks in all our community channels. Thank you all for your contributions.

The Pharo Team

Discover Pharo: https://pharo.org/features

Try Pharo: http://pharo.org/download

Learn Pharo: http://pharo.org/documentation

New VM for Pharo11

Hello,
  we have released a new version of the Pharo VM for Pharo 11. This VM is accessible right now from Zero-Conf, updating it in the Pharo Launcher or using the usual downloads (as described in pharo.org/download). Also, OBS packages are ready to be updated using your distribution package manager.

This is the new VM that will be stable for Pharo 11 release and Pharo 12 alpha, it is also compatible with Pharo 10 images but it is not the default for Pharo 10.

Changelog

* Testing scavenger tenuring by @PalumboN in https://github.com/pharo-project/pharo-vm/pull/588
* Deleting Pharo image from the VM repo by @jordanmontt in https://github.com/pharo-project/pharo-vm/pull/591
* Cleaning Up Third Party Libraries by @tesonep in https://github.com/pharo-project/pharo-vm/pull/581

**Full Changelog**: https://github.com/pharo-project/pharo-vm/compare/v10.0.4…v10.0.5

Thanks a lot, and any doubt please let us know.

Cheers, 

Pablo on behalf of the whole Pharo team.

Pablo Tesone.
tesonep@gmail.com

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

With some last fixes, Pharo11 now is ready for release, 

Pharo12 improvements continue, with a focus on Protocols/ClassOrganizer, Compiler, Code Completion
and CompiledMethodTrailer/sourcePointer simplifications.

For the later, these posts to the pharo-dev list have more details:

[Pharo12] Simplify CompiledMethod trailer: just support fixed sourcePointers
https://lists.pharo.org/empathy/thread/XBAX4TN2F2CBD6VCU4PCAB7KXKTOS5GU

[Pharo12] Simpler sourcePointer encoding
https://lists.pharo.org/empathy/thread/AZQ3JHTV22XNO5STSII62UJEVE3ANDFN

[Pharo12] commentSourcePointer and Metaclass
https://lists.pharo.org/empathy/thread/QBVM3DV4NDXETJUH7QVOZCZYGENFGLJB

# Pharo11

– 13526-Attempt-to-release-a-shared-cairo-font-face #13574
https://github.com/pharo-project/pharo/pull/13574

– Fix wrong double click #13577
https://github.com/pharo-project/pharo/pull/13577

– Fix/filter #13589
https://github.com/pharo-project/pharo/pull/13589

– Debugger fixes #13592
https://github.com/pharo-project/pharo/pull/13592

– Add new welcomebrowser #13623
https://github.com/pharo-project/pharo/pull/13623

– Make protocol classification a setting #13615
https://github.com/pharo-project/pharo/pull/13615

# Pharo112

## Clean Blocks

– Clean blocks for announcement #13590
https://github.com/pharo-project/pharo/pull/13590

## SystemOrganizer

– Make Smalltalk environnement return a RPackageOrganizer #13403
https://github.com/pharo-project/pharo/pull/13403

– Remove references to SystemOrganization #13632
https://github.com/pharo-project/pharo/pull/13632

– Deprecate SystemOrganization #13497
https://github.com/pharo-project/pharo/pull/13497

## Protocols / ClassOrganization

– Cleanup protocol announcements in ClassOrganization #13646
https://github.com/pharo-project/pharo/pull/13646

– Test ClassOrganization>>#hasProtocol: #13644
https://github.com/pharo-project/pharo/pull/13644

– ClassOrganization classification cleanings #13373
https://github.com/pharo-project/pharo/pull/13373

– Ensure #addSelector:withMethod: classifies methods #13635
https://github.com/pharo-project/pharo/pull/13635

– Reduce cyclomatic complexity of #classify:under: #13630
https://github.com/pharo-project/pharo/pull/13630

– Do not reclassify already classified method #13621
https://github.com/pharo-project/pharo/pull/13621

– Simplify classify:under: #13604
https://github.com/pharo-project/pharo/pull/13604

– Remove ClassOrganization>>#protocolNameOfElement:ifAbsent: #13605
https://github.com/pharo-project/pharo/pull/13605

– Improve #renameProtocolNamed:toBe: #13466
https://github.com/pharo-project/pharo/pull/13466

– Do not rely on #protocolNameOfElement: in Traits #13582
https://github.com/pharo-project/pharo/pull/13582

– Remove usage of #protocolNameOfElement:ifAbsent: in traits #13593
https://github.com/pharo-project/pharo/pull/13593

– Remove hack from ClassOrganization>>protocolNameOfElement: #13653
https://github.com/pharo-project/pharo/pull/13653

## Improvements

– rubric: doit actions on empty selection selects the current expression #13096
https://github.com/pharo-project/pharo/pull/13096

– Simplify code export #13624
https://github.com/pharo-project/pharo/pull/13624


## Code Completion

– Completion complete empty tokens #13638
https://github.com/pharo-project/pharo/pull/13638

– Autocompletion must replace from start of the word if case-insensitiv… #13548
https://github.com/pharo-project/pharo/pull/13548

– Code Completion: multiple fixes on replacements annoying bugs #13625
https://github.com/pharo-project/pharo/pull/13625

– Completion: prepare for empty token #13636
https://github.com/pharo-project/pharo/pull/13636

– Complete super message send #13637
https://github.com/pharo-project/pharo/pull/13637

## CompiledMethod trailer cleanup / sourcePointer

– HEInstaller should take the trailerSize into account #13627
https://github.com/pharo-project/pharo/pull/13627

– this PR introduces CompiledMethod>>#clearSourcePointer and #sourcePointer: #13578
https://github.com/pharo-project/pharo/pull/13578

– Deprecated CompiledMethodTrailer #13579
https://github.com/pharo-project/pharo/pull/13579

– skip some SourceFileArrayTest #13585
https://github.com/pharo-project/pharo/pull/13585

– Fix-SourceFileArrayTest for new encoding #13596
https://github.com/pharo-project/pharo/pull/13596

– #sourceCodeAt: should return nil in failure case #13586
https://github.com/pharo-project/pharo/pull/13586

– Simpler sourcePointer encoding #13583
https://github.com/pharo-project/pharo/pull/13583

– Set #trailerSize to 5 #13580
https://github.com/pharo-project/pharo/pull/13580

– CommentSourcePointer-move-methods-down #13640
https://github.com/pharo-project/pharo/pull/13640

– move commentSourcePointer from ClassDescription to Class #13643
https://github.com/pharo-project/pharo/pull/13643

– fix BehaviorTest>>#testInstSize #13648
https://github.com/pharo-project/pharo/pull/13648

– Faster #setSourcePointer: #13645
https://github.com/pharo-project/pharo/pull/13645


## Compiler

– Add compiler option to not optimise special sends #13569
https://github.com/pharo-project/pharo/pull/13569

– Compiler: do generation #13541
https://github.com/pharo-project/pharo/pull/13541

– Cleanup-optionInlineRepeat-is-default #13614
https://github.com/pharo-project/pharo/pull/13614

– MethodMapTest-use-Compiler #13620
https://github.com/pharo-project/pharo/pull/13620

– Compiler: get requestor #13606
https://github.com/pharo-project/pharo/pull/13606

– AST: add a scanner state #13557
https://github.com/pharo-project/pharo/pull/13557



## Cleanups / Tests

– Remove some dead code in ChangeSet #13622
https://github.com/pharo-project/pharo/pull/13622

– Add test on CompiledCode>>#equivalentTo: #13595
https://github.com/pharo-project/pharo/pull/13595

– extract return from ifTrue:ifFalse: expression #13603
https://github.com/pharo-project/pharo/pull/13603

– extract return from ifTrue:ifFalse: expression #13601
https://github.com/pharo-project/pharo/pull/13601

– use nested and: expression instead of ifTrueifFalse #13611
https://github.com/pharo-project/pharo/pull/13611

– extract return from ifTrue:ifFalse: expression #13609
https://github.com/pharo-project/pharo/pull/13609

[Ann] NeoNetworking

This package contains a small framework to set up TCP or UDP network servers/services. By subclassing and overwriting just a couple of methods you get a working server for a specific protocol.

https://github.com/svenvc/NeoNetworking

Enjoy

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

# Pharo 11

– Refactor block ensure during termination to allow override #13534
https://github.com/pharo-project/pharo/pull/13534

# Pharo 12

## Small Improvements

– Small cleanup #bitShift:, #<< and #<< #13523
https://github.com/pharo-project/pharo/pull/13523

– Clean info of MethodChangeRecord #13519
https://github.com/pharo-project/pharo/pull/13519

– remove some methods that are just copied from a superclass #13504
https://github.com/pharo-project/pharo/pull/13504

– Some RPackage cleanups #13505
https://github.com/pharo-project/pharo/pull/13505

– Adding inspector transmission node #510
https://github.com/pharo-spec/NewTools/pull/510

## Protocol

–  Use #protocolOfSelector: in CompiledMethod>>#category #13457
https://github.com/pharo-project/pharo/pull/13457

– Improve ClassDescription>>#addAndClassifySelector:withMethod:inProtocol: #13533
https://github.com/pharo-project/pharo/pull/13533

– Fix case were method is in a class but not in a protocol #13572
https://github.com/pharo-project/pharo/pull/13572

– Simplify ClassOrganization>>removeElement: and remove protocol if empty #13530
https://github.com/pharo-project/pharo/pull/13530

– Classify method before installing them #13539
https://github.com/pharo-project/pharo/pull/13539

– Make Protocol announcements use real protocols #13506
https://github.com/pharo-project/pharo/pull/13506

## AST 

– Style literal arrays #13502
https://github.com/pharo-project/pharo/pull/13502

– Do not hardcode stylers #13537
https://github.com/pharo-project/pharo/pull/13537

– AST: cleanup scanner #13562
https://github.com/pharo-project/pharo/pull/13562

– AST: kill multiple keyword token #13554
https://github.com/pharo-project/pharo/pull/13554

– AST: cleanup compiler API (and clients) #13520
https://github.com/pharo-project/pharo/pull/13520

– AST: cleanup extension methods from OpalCompiler #13514
https://github.com/pharo-project/pharo/pull/13514

## Compiler

– Compiler: doSemanticAnalysis yourself #13517
https://github.com/pharo-project/pharo/pull/13517

– add new test RBCodeSnippet class>>#badScanner with special scanner hacks #13553
https://github.com/pharo-project/pharo/pull/13553

– Add compiler option to not optimise special sends #13569
https://github.com/pharo-project/pharo/pull/13569

– Factorize some code in recompilation management #13551
https://github.com/pharo-project/pharo/pull/13551

– Scope: generalize target class #13540
https://github.com/pharo-project/pharo/pull/13540

– RBMethodMode: compiledMethod sould be a simple accessor #13525
https://github.com/pharo-project/pharo/pull/13525

– Detach compilationContext a little #13511
https://github.com/pharo-project/pharo/pull/13511

– Reduce usage of compilationContext from IR* Classes #13513
https://github.com/pharo-project/pharo/pull/13513

## CompiledMethod trailer cleanup

– Compiler: Cleanup trailer for the frontend #13575
https://github.com/pharo-project/pharo/pull/13575

– Compiler: Cleanup for trailer removal in IRByteCodeGenerator #13565
https://github.com/pharo-project/pharo/pull/13565

– Cleanup: do not reference CompiledMethodTrailer in ReflectiveMethod #13564
https://github.com/pharo-project/pharo/pull/13564

– Cleanup: Fuel does not need to use #copyWithTrailerBytes: #13560
https://github.com/pharo-project/pharo/pull/13560

– Cleanup-instanceCreationCompiledMethod #13559
https://github.com/pharo-project/pharo/pull/13559

– Do not use #trailer to read the sourcePointer #13558
https://github.com/pharo-project/pharo/pull/13558

– getSourceFromFile-return-nil #13556
https://github.com/pharo-project/pharo/pull/13556

– Cleanup: CompiledMethodTrailer should not create methods #13555
https://github.com/pharo-project/pharo/pull/13555

– CompiledMethodTrailer-Cleanup-even-more #13550
https://github.com/pharo-project/pharo/pull/13550

– CompiledMethodTrailer: more cleanup, do not use it for #endPC #13546
https://github.com/pharo-project/pharo/pull/13546

– CompiledMethodTrailer: remove #VarLengthSourcePointer support #13545
https://github.com/pharo-project/pharo/pull/13545

– CompiledMethodTrailer: use 4 bytes as sourcePointer #13527
https://github.com/pharo-project/pharo/pull/13527

– Cleanup-Tests-CompiledMethodTrailer #13528
https://github.com/pharo-project/pharo/pull/13528

– Cleanup-CompiledMethod-Source-Embedding #13522
https://github.com/pharo-project/pharo/pull/13522

– remove all unsused encodings from CompiledMethodTrailer. #13510
https://github.com/pharo-project/pharo/pull/13510

– CompiledMethod simplification: remove the last user of #copyWithSource: #13507
https://github.com/pharo-project/pharo/pull/13507

## Improve Tests

– Commit-Deprecation-Rewrites #13567
https://github.com/pharo-project/pharo/pull/13567

– Make shift tests more robust #13570
https://github.com/pharo-project/pharo/pull/13570

– Small cleanings in tests #13576
https://github.com/pharo-project/pharo/pull/13576

– Ensure ThreadedFFI tests terminate all launched processes #13538
https://github.com/pharo-project/pharo/pull/13538

– Make sure class parser tests clean the system #13536
https://github.com/pharo-project/pharo/pull/13536

– Reflectivity: make tests more reliable (and fix a bug) #13544
https://github.com/pharo-project/pharo/pull/13544

The week (16/2023) on the Pharo Issue Tracker

We merged ~60 PRs this week.

# Pharo 11

– Backport #13426: Make protocol of super method a priority in MethodClassifier #13432
https://github.com/pharo-project/pharo/pull/13432

– Use fixed spec version for Pharo 11 #13445
https://github.com/pharo-project/pharo/pull/13445

## GIT/Iceberg (for Pharo 12, too)

– 1279 merge menu should indicate the sense of the action #1680
https://github.com/pharo-vcs/iceberg/pull/1680

– Remove unused variable #1695
https://github.com/pharo-vcs/iceberg/pull/1695

– Fix for adding a SSH credential from UI raises an Error #1638
https://github.com/pharo-vcs/iceberg/pull/1638

– Use ED25519 keys as default instead of RSA to improve security and follow new GitHub standards #1649
https://github.com/pharo-vcs/iceberg/pull/1649

– [fix] prevent Iceberg window to crash when the registry is empty #1670
https://github.com/pharo-vcs/iceberg/pull/1670

– Fix for issue #11969 in pharo repository: Better description “packages unloaded packages #1672
https://github.com/pharo-vcs/iceberg/pull/1672

#Pharo 12

## Enhancements

– Completion menu: some love on the detail window #13473
https://github.com/pharo-project/pharo/pull/13473

– Use Pharo12 branch of Spec and NewTools #13460
https://github.com/pharo-project/pharo/pull/13460

– Fix random failure of Ombu in windows. #13448
https://github.com/pharo-project/pharo/pull/13448

– Make protocol of super method a priority in MethodClassifier #13426
https://github.com/pharo-project/pharo/pull/13426

– Cut dependency from CommandLine to UIManager #13431
https://github.com/pharo-project/pharo/pull/13431

– Fix typo introduced in merge #13446
https://github.com/pharo-project/pharo/pull/13446

– Added inspector extensions for RPackage #509
https://github.com/pharo-spec/NewTools/pull/509

## RPackage and SystemOrganizer

– Synch bug in RPackage removal #13496
https://github.com/pharo-project/pharo/pull/13496


## Protocol and Categories

– Keep pushing protocols usage #13443
https://github.com/pharo-project/pharo/pull/13443

– Add some tests on classifications of methods #13485
https://github.com/pharo-project/pharo/pull/13485

– Rename #removeMethodTag: into #removeProtocolIfEmpty: #13492
https://github.com/pharo-project/pharo/pull/13492

– Make #renameProtocolNamed:toBe: manage nils #13480
https://github.com/pharo-project/pharo/pull/13480

– Cleaning of #classify:inProtocolNamed: #13454
https://github.com/pharo-project/pharo/pull/13454

– Deprecate comment management of ClassOrganization #13464
https://github.com/pharo-project/pharo/pull/13464

– Remove ClassOrganization>>#silentlyRenameProtocolNamed:toBe: in favor of always announcing the rename #13458
https://github.com/pharo-project/pharo/pull/13458

– Improve ClassOrganization copy #13453
https://github.com/pharo-project/pharo/pull/13453

– Do not use #classComment #1376
https://github.com/pharo-spec/Spec/pull/1376

## Compiler: Syntax Hightlight

– SHRBTextStyler class>>#blueStyleTable distinguish some variables #13501
https://github.com/pharo-project/pharo/pull/13501

– Improve style for parenthesis, comments and syntax error #13491
https://github.com/pharo-project/pharo/pull/13491

– CodeSnippet: industrialize the testing of the styler #13490
https://github.com/pharo-project/pharo/pull/13490

– add SHRBStyleAttributionTest>>#testErrorStyle #13489
https://github.com/pharo-project/pharo/pull/13489

– Faulty code: improve highlight and icons #13486
https://github.com/pharo-project/pharo/pull/13486

– Fix bug in parenthesis highlight #13467
https://github.com/pharo-project/pharo/pull/13467

## Compiler: AST

– AST: starting visiting comments #13421
https://github.com/pharo-project/pharo/pull/13421

– Snippet: test more comments and fix some #13500
https://github.com/pharo-project/pharo/pull/13500

– Add support to deprecate globals #13348
https://github.com/pharo-project/pharo/pull/13348

– Compiler: expose the AST #13487
https://github.com/pharo-project/pharo/pull/13487

## Compiler

– Snippets: rename (and negate) isMethod to isScripting #13499
https://github.com/pharo-project/pharo/pull/13499

– Vocabulary: propose “script” in compiler #13301
https://github.com/pharo-project/pharo/pull/13301

– OpalCompiler: permit clients to use receiver: after context: as (a noop) #13498
https://github.com/pharo-project/pharo/pull/13498

– Introduce annotations #13449
https://github.com/pharo-project/pharo/pull/13449

– Use Compiler not #copyWithTrailerBytes #13488
https://github.com/pharo-project/pharo/pull/13488

– Directly update source pointer without creating an additional compiled method #13484
https://github.com/pharo-project/pharo/pull/13484

– remove-embeddSourceInTrailer #13481
https://github.com/pharo-project/pharo/pull/13481

– Compiler: remove #optionEmbeddSources #13479
https://github.com/pharo-project/pharo/pull/13479

– Compiler: explicit the need of requestor scope #13472
https://github.com/pharo-project/pharo/pull/13472

– Kill VariableNotDeclared #13471
https://github.com/pharo-project/pharo/pull/13471

– Factorize UndeclaredVariableErrors #13470
https://github.com/pharo-project/pharo/pull/13470

– Debug can recompile doit and uninstalled method #13469
https://github.com/pharo-project/pharo/pull/13469

– Cleanup OpalCompiler & CompilationContext #13423
https://github.com/pharo-project/pharo/pull/13423

– Compiler: simplify DoIt #13398
https://github.com/pharo-project/pharo/pull/13398

– faulty code: test runtimeSyntaxError #13422
https://github.com/pharo-project/pharo/pull/13422

– Rubric editors (thus calypso) execute doit actions in faulty mode #13450
https://github.com/pharo-project/pharo/pull/13450

– Debugger: can handle new exceptions UndeclaredVariableRead&UndeclaredVariableWrite #508
https://github.com/pharo-spec/NewTools/pull/508

– StTestDebuggerProvider class>>#compileMissingClassContextBuilder use permitUndeclared: #506
https://github.com/pharo-spec/NewTools/pull/506

– add missing SpCodeScriptingInteractionModel>>#needRequestorScope #1378
https://github.com/pharo-spec/Spec/pull/1378

– Spec2-Code: declare ‘playground’-related capabilities as a compiler requestor #1377
https://github.com/pharo-spec/Spec/pull/1377

## Cleanups

– Refactoring BlockClosureTest >> testCannotReturn #13459
https://github.com/pharo-project/pharo/pull/13459

## Trivial

– use {} instead of Array with:with: #13483
https://github.com/pharo-project/pharo/pull/13483

– use nested and expression #13475
https://github.com/pharo-project/pharo/pull/13475

– use and expression instead of ifTrueifFalse #13477
https://github.com/pharo-project/pharo/pull/13477

– use and expression instead of ifTrueifFalse #13463
https://github.com/pharo-project/pharo/pull/13463

– Use {} instead of “Array with:” for some usages #13461
https://github.com/pharo-project/pharo/pull/13461

This week (15/2023) on the Pharo Issue Tracker.

We merged ~ 80 PRs, closing 33 issues.

Pharo 11

Release is getting closer…

Pharo12

Cleanups continue. The image is now ~5MB smaller due to the protocol cleanup and code removal.

Fixes

Bootrap

CI / Tests

Compiler: ASTCache

Compiler: CompiledMethods

Compiler

ClassOrganizer/Protocol Cleanup

Simple Cleanups

This week (14/2023) on the Pharo Issue Tracker. 

#This week (14/2023) on the Pharo Issue Tracker. 

We merged around 100 Pull Reuests this week (Pharo11 and Pharo12)

To see the state of not yet merged PRs easier, we added a GitHub Board

https://github.com/orgs/pharo-project/projects/34

To see what is happing in Pharo11 and Pharo12, we are staring to check if Kanban style boards can help

Pharo11: https://github.com/orgs/pharo-project/projects/35
Pharo12: https://github.com/orgs/pharo-project/projects/38

#Pharo 11

## Epemerons

– Move weak dictionaries to new finalization #13212
https://github.com/pharo-project/pharo/pull/13212

## Fixes
– Update find sdl2 #13031
https://github.com/pharo-project/pharo/pull/13031

– Playground not able to evaluate simple #timesRepeat: #13321
https://github.com/pharo-project/pharo/pull/13321

– Handle Cmd/Ctrl + right arrow during completion. #13217
https://github.com/pharo-project/pharo/pull/13217

– Added new text selection for pharo #13231
https://github.com/pharo-project/pharo/pull/13231

– Fast table should not manage keydown as keystroke #13214
https://github.com/pharo-project/pharo/pull/13214

– Socket error handling can get in a loop #13228
https://github.com/pharo-project/pharo/pull/13228

– SDL2 on MacOS required to postpone focus #12946
https://github.com/pharo-project/pharo/pull/12946

– KeyboardKey class>>#initializeKeyFromCharacterCompatibilityTable maps 3 characters incorrectly #13211
https://github.com/pharo-project/pharo/pull/13211

– Fix selection of multiword #13218
https://github.com/pharo-project/pharo/pull/13218

– Fix the UI of the spotter by outlining the input field. Fix pharo/#10993 #421
https://github.com/pharo-spec/NewTools/pull/421

– Fix DNU trimBoth on non-strings #1372
https://github.com/pharo-spec/Spec/pull/1372

## Cleanups
– StFilterFuzzy>>#applyFilterWithQuery send missing #takeFirst: #13242
https://github.com/pharo-project/pharo/pull/13242

– 12165-ReAbstractRule-mentions-missing-help-in-class-comment #13252
https://github.com/pharo-project/pharo/pull/13252

– Replace allProtocols by protocols #1373
https://github.com/pharo-spec/Spec/pull/1373

– SpCodePresenter>>#evaluate source code is string #1371
https://github.com/pharo-spec/Spec/pull/1371

## Speed
– do not compute message sends dependencies in browser dependencies tool #13268
https://github.com/pharo-project/pharo/pull/13268

#Pharo12

– Weekly P11 sync in P12 #13253
https://github.com/pharo-project/pharo/pull/13253

## Fixes
– 4969-Epicea-Reverting-a-class-remove-looses-class-comment #13332
https://github.com/pharo-project/pharo/pull/13332

– hotfix ClassTest>>#testCommentSourcePointer #13281
https://github.com/pharo-project/pharo/pull/13281

– Fix #13246 class comments can get lost when commiting code #13276
https://github.com/pharo-project/pharo/pull/13276

– Finder: Ignoring combinations selector for collections #13226
https://github.com/pharo-project/pharo/pull/13226

## Compiler

– Faulty Code: compiler honor failBlock #13261
https://github.com/pharo-project/pharo/pull/13261

– Faulty code: improve error block node #13264
https://github.com/pharo-project/pharo/pull/13264

– RBNotice: add isSyntaxError and make it easier to sort them #13344
https://github.com/pharo-project/pharo/pull/13344

– Faulty code: forbid read of undeclared variables #13238
https://github.com/pharo-project/pharo/pull/13238

– Faulty code: don’t permit undeclared by default #13286
https://github.com/pharo-project/pharo/pull/13286

– Compiler simplify OCSemanticScope #13303
https://github.com/pharo-project/pharo/pull/13303

– Faulty parser: better faulty literal (byte) arrays #13300
https://github.com/pharo-project/pharo/pull/13300

– Some compiler cleanup #13302
https://github.com/pharo-project/pharo/pull/13302

– Faulty code: make undeclared write resumable with the right value #13297
https://github.com/pharo-project/pharo/pull/13297

– Faulty code: add permitUndeclared #13280
https://github.com/pharo-project/pharo/pull/13280

– Faulty code: move code reparator to RBNotice #13277
https://github.com/pharo-project/pharo/pull/13277

– Snippets: split badExpressions into 3 methods #13263
https://github.com/pharo-project/pharo/pull/13263

– Faulty code: various undeclared cleanups #13248
https://github.com/pharo-project/pharo/pull/13248

– Faulty code: inspect notice #13243
https://github.com/pharo-project/pharo/pull/13243

– Cleanup some compiler clients #13235
https://github.com/pharo-project/pharo/pull/13235

– Faulty code: forbid write to undeclared variables #13201
https://github.com/pharo-project/pharo/pull/13201

– Faulty code snippet: test evaluation #13223
https://github.com/pharo-project/pharo/pull/13223

– Compiler: replace parseForRequestor by checkNotice #13222
https://github.com/pharo-project/pharo/pull/13222

## SystemOrganizer Cleanup

– Remove the need to give a SystemOrganizer to SystemDictionary #13314
https://github.com/pharo-project/pharo/pull/13314

– Remove SystemOrganisation global #13306
https://github.com/pharo-project/pharo/pull/13306

– Remove references to SystemOrganization #13271
https://github.com/pharo-project/pharo/pull/13271

– Remove references to SystemOrganizer #13259
https://github.com/pharo-project/pharo/pull/13259

– Make RPackageOrganizer polymorphic with SystemOrganizer #13258
https://github.com/pharo-project/pharo/pull/13258

– RPackageOrganizer should not call system organizer global but keep a reference #13245
https://github.com/pharo-project/pharo/pull/13245

– Rename SystemOrganizer “elements” into “Behavior” #13206
https://github.com/pharo-project/pharo/pull/13206

##Protocol vs Category

– Protocol: Rename “category” into protocol in rules #13203
https://github.com/pharo-project/pharo/pull/13203

– Rename some “category” into protocol in code export #13190
https://github.com/pharo-project/pharo/pull/13190

– Remove usage of Protocol>>#canBeRemoved #13311
https://github.com/pharo-project/pharo/pull/13311

– Remove nullProtocolName #13333
https://github.com/pharo-project/pharo/pull/13333

– Use Protocol>>#unclassified instead of #defaultName #13331
https://github.com/pharo-project/pharo/pull/13331

– Remove class AllProtocol #13289
https://github.com/pharo-project/pharo/pull/13289

– Remove ClassOrganization>>allProtocol #13275
https://github.com/pharo-project/pharo/pull/13275

– hotfix: add missing return in ClassOrganization>>#ensureProtocol: #13278
https://github.com/pharo-project/pharo/pull/13278

– Protocols: Allow to compile a method with a real protocol #13247
https://github.com/pharo-project/pharo/pull/13247

– Rename #methodsInProtocolNamed: into #methodSelectorsInProtocol: #13257
https://github.com/pharo-project/pharo/pull/13257

– Remove ClassOrganization>>allProtocolNames #13256
https://github.com/pharo-project/pharo/pull/13256

– Inline protocol organizer #13187
https://github.com/pharo-project/pharo/pull/13187

– ProtocolOrganizer: Inline more behavior into ClassOrganization #13234
https://github.com/pharo-project/pharo/pull/13234

## Refactoring Engine

– [Refactoring] push down method in some classes driver #13175
https://github.com/pharo-project/pharo/pull/13175

– Refactor: insert new class refactoring #13216
https://github.com/pharo-project/pharo/pull/13216

– 13215-RB-RBRefactoringChangeTesttestPerformChangeMetaclass #13221
https://github.com/pharo-project/pharo/pull/13221

## CI / Bootstrap
– Skip windows broken tests #13308
https://github.com/pharo-project/pharo/pull/13308

– Remove PBOldExtendedBootstrap #13290
https://github.com/pharo-project/pharo/pull/13290

– Bootstrap: allow to authetificate github requests during the bootstrap #13279
https://github.com/pharo-project/pharo/pull/13279

– Declare global variables Display, World and ActiveWorld #13236
https://github.com/pharo-project/pharo/pull/13236

## Small Cleanups

– unskip #testPerformChangeClass #13213
https://github.com/pharo-project/pharo/pull/13213

– Remove some unecessary not from the kernel #13197
https://github.com/pharo-project/pharo/pull/13197

– Faulty code: fix syntax error on empty closers #13262
https://github.com/pharo-project/pharo/pull/13262

– SettingBrowser class>>viewAllSettings has no senders and is broken #13288
https://github.com/pharo-project/pharo/pull/13288

– Restore comment of MockForCompilation #13293
https://github.com/pharo-project/pharo/pull/13293

– remove Deprecated11 #13291
https://github.com/pharo-project/pharo/pull/13291

– Fix some deprecated sends #13287
https://github.com/pharo-project/pharo/pull/13287

– Remove dependency of Collections-Abstract/Sequenceable over Random-Core #13294
https://github.com/pharo-project/pharo/pull/13294

– Extract SourceFileArrayTest to System-Sources-Tests #13307
https://github.com/pharo-project/pharo/pull/13307

– Do not disable system announcements during rpackage tests #13298
https://github.com/pharo-project/pharo/pull/13298

– Clean ChangeSetClassChangesTest #13317
https://github.com/pharo-project/pharo/pull/13317

– Remove deprecated modelwants steps in in p12 #13325
https://github.com/pharo-project/pharo/pull/13325

– Finish to cut ‘Tests’ package #13338
https://github.com/pharo-project/pharo/pull/13338

– Cleanup small cleanups in baseline of base libraries package #13327
https://github.com/pharo-project/pharo/pull/13327

– Deprecate OneShotArmed / doOnlyOnce: mechanism in ProtoObject (P12) #13320
https://github.com/pharo-project/pharo/pull/13320

– Cleanup: Move as “Arrayed” tagged test classes from generic “Collections-Tests” package to specific “Collections-Native-Tests” package #13336
https://github.com/pharo-project/pharo/pull/13336

– Fix and load SystemCommands tests #13340
https://github.com/pharo-project/pharo/pull/13340

– Remove general help package from the repo #13339
https://github.com/pharo-project/pharo/pull/13339

– extract return and use and: expression. add some tests #13343
https://github.com/pharo-project/pharo/pull/13343

– deprecate classesThatImplementAllOf: method. fix: #12832 #13266
https://github.com/pharo-project/pharo/pull/13266

– PositionableStream>>nextChunkText is dead code #13232
https://github.com/pharo-project/pharo/pull/13232

– This commit simplifies some conditionals using isEmpty followed by an #ifTrue:[ifFalse:] #13200
https://github.com/pharo-project/pharo/pull/13200

– Move runarray to collections support #13140
https://github.com/pharo-project/pharo/pull/13140