Skip to content

v1.31.3-alpha

Choose a tag to compare

@Alexl-git Alexl-git released this 16 Oct 21:32
· 204 commits to main since this release

Fixed

  • Fix all in unit did nothing when the project had a member under a registry LIBRARY root
    (e.g. ArrayHelper.pas).
    The multi-project rename's freshness check counted that .dproj
    member as missing from the owner's index, so the owner was permanently stale and --apply
    dropped every rename (75 in the report), ending with "no fixable findings". The check now
    considers only members the project owns (ProjectOwnedMembers). The CLI summary now says
    autofix: nothing written -- N rename(s) dropped: <reason> and appends , N rename(s) not written when some were written and some were not.
  • IDE plugin: Fix all shows the wait cursor while it runs and refuses a second fix. The job
    queue marks fix jobs Busy; the Structure form hooks the cursor and answers a second Fix all
    with a refusal (RefusedWhileFixRuns) instead of queueing a conflicting write.
  • type-name-prefix: an exception class whose direct ancestor is exception-named is no longer
    told to use T.
    EKeyViolation = class(EDatabaseError) is accepted, and Fix all no longer
    renames it to TEKeyViolation (AncestorNamedLikeException). Name heuristic only; the
    library-index hop is planned for 1.31.4-alpha.
  • Naming autofix no longer half-applies a rename against a stale index. Since const-casing
    renames word by word (glyActive -> GLY_ACTIVE), a stale use site that the position guard
    skipped left the declaration renamed and the use not, so the unit no longer compiled. A rename
    that changes more than letter case is now all or nothing: one skipped site drops the whole
    rename, and it is counted as skipped (stale index), as the multi-project path already did.

Extractor unchanged (1.21.1): no reindex needed.

Release battery: 693 pass / 0 fail. Win64 + Win32 zips attached. Extractor unchanged (1.21.1): no reindex needed.