NewTools and Spec merge
====================

https://github.com/pharo-project/pharo/pull/7510
        
v0.4.5  
        - StInspector and StDebugegr now uses a paginator to better show miller 
collumns.
        - Some minor bugfixes
        - Activated CI

NewTools v0.4.4
        - new tool SystemReporter (thanks Stef)
        - some changes on debugger inspector ui, looking to make things more 
pleasant.
        - fixes pharo-spec/NewTools#120
        - fixes pharo-spec/NewTools#113
        - fixes #6940
        - fixes #7456
        - fixes #7453
        - fixes #7451

Spec2 v0.7.5
        - SpFilterWithListPresenter was renamed to SpFilteringListPresenter.
        - lists and trees now use displayIcon: to answer an icon instead icons:.
        - new presenters SpPaginatorPresenter and SpMillerPaginatorPresenter.
        - Add decoration attributes to SpStringTableColumn
        - several fixes to SpMillerColumnPresenter.
        - fixes pharo-spec/Spec#952
        - fixes pharo-spec/Spec#940
        - fixes pharo-spec/Spec#954
        - fixes pharo-spec/Spec#929
        - fixes pharo-spec/Spec#871
        - ... and several other bugfixes

Breakpoints
===========

Some fixes related to styling.

Merge-MetaLinkStyler #7596
        https://github.com/pharo-project/pharo/pull/7596
                
535-Variable-Breakpoints-Wrong-Icon-in-gutter #7551
        https://github.com/pharo-project/pharo/pull/7551


First Class Variables
=====================

6001-isTemp-might-fail-on-Pharo-AST #7586
        
This PR intruduces UnresolvedVariable. When the AST is created by the parser, 
it sets all Variables to this kind.

This allows us to
        - get a meaningful answer to all is*Variable checks: false (as it is 
not eg. a temp yet)
        - visitor works correctly and falls back to #visitVariable node no need 
for any ifs
        - nice errror messages if you try to generate code

https://github.com/pharo-project/pharo/pull/7586


Read-Only Literals
==================

isReadOnlyLiteral-Float-Integer #7553
        Float and Integers are now read-only if they are referened from the 
code and not immediate
        https://github.com/pharo-project/pharo/pull/7553
        
7592-add-beRecursivelyReadOnlyObject #7593      

We have beReadOnlyObject, but often it makes sense to set an Object recursively 
read-only.
One example we see with literal arrays: right now we just make the outer array 
read-only, but 
we should recurse into it and make all the content read-only, too.

Based on the RecursiveWriteBarrier package by khinsen, with small improvements:

        - after we merged #7590 , we do not need the exception handler anymore
        - instead of using instVarNamed:, we should use #instanceVariables and 
          then the reflective read/write API of the first class variable objects
https://github.com/pharo-project/pharo/pull/7593


7589-isReadOnlyObject-and-beReadOnlyObject-are-not-consistent-wrt-immediate-objects
 #7590

        1 isReadOnlyObject returns true, but calling #beReadOnlyObject raises 
an error.
        #isReadOnlyObject has an explicit check for this case in the fallback 
code, we should 
        add the same to #beReadOnlyObject.
        https://github.com/pharo-project/pharo/pull/7590

7591-We-have-isImmediateClass-add-isImmediateObject #7594
        https://github.com/pharo-project/pharo/pull/7594

Variables-use-pushLiteral #7597
        For both MetaLinks and Slots we added code in the past to not use 
pushLiteral: directly.

        The idea was that this would be needed for read-only litereals.

        But the implementation of read-only literals is now that only literals 
are compiled read-only,
        we can use the literal frame to e.g. reference Variables or MetaLinks 
without any problem.
        https://github.com/pharo-project/pharo/pull/7597
        
                
Fluid Class Definition
=======================

ChangeGreaterThanIntoGreaterGreaterForFluidClass #7606
        https://github.com/pharo-project/pharo/pull/7606
        
7602-preparing-fluid-syntax-changes #7603
        https://github.com/pharo-project/pharo/pull/7603
        
7598-SpPresenter-class-does-not-display-instanceVariableNames- #7601
        https://github.com/pharo-project/pharo/pull/7601
        
Small cleanups in FluidClassBuilder package #7577
        https://github.com/pharo-project/pharo/pull/7577
 
Cleanup FluidClassBuilder-Tests package #7579
        https://github.com/pharo-project/pharo/pull/7579
        
 
Graphics
=========
Add support for mesh gradients to Athens #7546
        https://github.com/pharo-project/pharo/pull/7546
 
Fix crashes and memory leaks in OSSDL2AthensRenderer #7543
         https://github.com/pharo-project/pharo/pull/7543
 
 
 
Fixes 
=====

DNU in RubCurrentLineBarDecorator for #compose #7552
                https://github.com/pharo-project/pharo/pull/7552
                
7582-New-Release-of-Microdown--v105 #7583
        https://github.com/pharo-project/pharo/pull/7583
        
isClean-using-CleanBlockChecker #7540
        #isClean was implemented using abstractBytecodeMessagesDo: which is 
slow due to trapping MessageNotUnderstood 
        and creating messages for every bytecode.

        This PR adds a dedicated CleanBlockChecker that checks for the 
bytecodes and stops scanning as soon as it 
        determines a block to not be clean.

        In addition, we move the testIsClean from OCClosureTest to 
BlockClosureTest and remove the example code 
        from #isClean (the test now has that).
        https://github.com/pharo-project/pharo/pull/7540

 
Cleanup for Fonts
==================
FontProviderAbstract should be renamed to AbstractFontProvider #7609
        https://github.com/pharo-project/pharo/pull/7609
        
FontFamilyMemberAbstract should be renamed to AbstractFontFamilyMember #7611
        https://github.com/pharo-project/pharo/pull/7611
        
FontFamilyAbstract should be renamed to AbstractFontFamily #7605
        https://github.com/pharo-project/pharo/pull/7605
        
Cleanup FreeTypeCache #7561
        https://github.com/pharo-project/pharo/pull/7561
        
Cleanup FreeTypeCacheLinkedList #7565
        https://github.com/pharo-project/pharo/pull/7565
        
Remove unnecessary comment in FreeTypeCacheConstants #7563
        https://github.com/pharo-project/pharo/pull/7563
        
Small cleanup in FontFamilyAbstract #7567
                https://github.com/pharo-project/pharo/pull/7567
                
Cleanup FreeTypeGlyphRenderer #7559
        https://github.com/pharo-project/pharo/pull/7559
        
Cleanup FreeTypeSubPixelAntiAliasedGlyphRenderer #7557
        https://github.com/pharo-project/pharo/pull/7557
        
Small cleanup in FreeTypeFontProvider #7548
        https://github.com/pharo-project/pharo/pull/7548
        
Cleanup Fonts-Abstract package #7555
        https://github.com/pharo-project/pharo/pull/7555
        
        
Misc Small Cleanups
=============

Cleanup ExternalType>>#cleanupUnusedTypes #7569
        https://github.com/pharo-project/pharo/pull/7569
        
Simplify Form>>#bitsSize #7571
        https://github.com/pharo-project/pharo/pull/7571
        
Cleanup Flashback-Decompiler-Tests package #7581
        https://github.com/pharo-project/pharo/pull/7581

Simplify Socket>>#dataAvailable #7573
        https://github.com/pharo-project/pharo/pull/7573
        
Use ifNil: in BitBlt>>#fillColor: #7575
        https://github.com/pharo-project/pharo/pull/7575

Move SystemAnnouncement extensions from Calypso #7538
        Calypso introduced nice methods for SystemAnnouncement like 
affectsMethod: , affectsClass:. 
        They can be reused by other tools to analyze system changes. And 
therefore they should be packaged 
        together with Announcement classes.
        https://github.com/pharo-project/pharo/pull/7538

Reply via email to