Skip to content

v1.15.1-alpha -- dotted unit names visible again to unit-usage (regression in 1.15.0); every index rebuilt on schema v23

Choose a tag to compare

@Alexl-git Alexl-git released this 18 Sep 01:04
· 1245 commits to main since this release

Patch release of drag-lint: dotted unit names (A.Lib, Vcl.Controls) are visible again to query unit-usage and the unused-unit-in-uses rule -- a regression shipped in v1.15.0-alpha (fdb05c9 ran the per-segment generic split before the verbatim lookup). Extractor 1.17.0 / schema v23 / resolver 1.4.0 are unchanged from v1.15.0-alpha.

Built from a clean worktree at 7821857 (build\pack-lint-release.ps1 -Version 1.15.1-alpha; Win64 + Win32 Release, ConvRulesEditor in the Win64 archive only).

REQUIRED: every index must be at schema v23. If you skipped v1.15.0-alpha, or any of your databases still carry schema v22, run drag-lint index --all --rebuild after installing -- a v23 engine REFUSES a v22 database (index schema v22 < v23) and there is no incremental path across the schema bump. An index built by v1.15.0-alpha needs no re-parse.

v1.15.1-alpha -- 2026-09-17

PATCH: fixes a regression shipped in 1.15.0 (dotted unit names invisible to
unit-usage / unused-unit-in-uses). Extractor 1.17.0 / schema v23 /
resolver 1.4.0 are UNCHANGED; an index built by 1.15.0 needs no re-parse.

Fixed

  • FindSymbolsByExactName tries the VERBATIM dotted name first: unit names are stored with their dots (A.Lib, Vcl.Controls), and the per-segment split from fdb05c9 (TList<T>.Add -> Add + qualified-name suffix) ran first and found nothing, so query unit-usage --unit A.Lib degraded to exports_known:false and unused-unit-in-uses reported zero for every dotted unit. The split now runs only when the verbatim lookup misses; pinned by run_generic_symbol_names.ps1 (D1, through unit-usage, which has no qualified-name fallback of its own).
  • glyph-vacuum (converter): FindCountProp matches dotted count props by
    their last segment (2df9601); length-prefixed bare bitmaps
    (TBitBtn.Glyph.Data) and raw SVG (TdxSmartGlyph) decode, and EMF
    requires the EMF signature -- 852+3 of 1016 ORM3 rows were undecoded
    (2343c0b); runtime_refs derived from the merged write set, the
    class-tree count fallback matches dotted names, the collection scan fires
    only at an end-of-line = {, gallery cards sorted by sha (6a2803f).

Changed

  • docs\GLYPH-CLASSES.md seeded from the first glyph-vacuum run on ORM3,
    re-measured after the SVG / length-prefix decoders, and the M2022 corpus
    added (d298ae1, 64a5d5d, 7df84bc).
  • glyph-vacuum fixtures for bare-BMP-at-offset-0 geometry and the
    Int32-equals-length collision fall-through (fd810e9).
  • autodoc: the CLI project's doc-comments regenerated after extractor 1.17.0
    (inherited fields, nested locals in facts) -- comment-only (1307e77).