Repository navigation
Tags
Tags
release: 1.0.17.0 -- fix ladder indentation of bodyless class declara… …tions Version bumped in both sources (YADF.Version.inc + build_all.bat); CHANGELOG [Unreleased] retitled [1.0.17.0] - 2026-09-10. Ships cc0e6c7: a class/interface declaration with no body ends at its own ';' and never reaches an 'end' -- `E = class(Exception);`, `T = class;`, `I = interface;`, `TC = class of T;`. ReindentByDepth pushed a stack level on `= class` / `= interface` and popped it only on ptEnd, so every bodyless declaration leaked a level and each following sibling was indented one step deeper. Reported against a unit whose nine sibling exception classes rendered as a nine-step ladder. Gates: suite 26/26, 84 goldens byte-identical + idempotent, 51 compile-gated, all four artifacts built clean and stamped 1.0.17.0 -- YADF.exe (Win64), YADFSetup.exe (Win64), YADFOT.bpl (Win32 AND Win64). PE machine type verified per artifact rather than inferred from the output path. KNOWN, UNCHANGED BY THIS RELEASE: the build is still not reproducible from a fresh clone -- YADF.dpr/YADFOT.dpk compile against ..\DelphiAST, a sibling working copy 3 commits ahead of its upstream (none pushed) with 2 uncommitted files. Tracked in .private/TODO.md; 1.0.17.0 inherits it. Also found while fixing this and deliberately NOT fixed: `constructor` / `record` used as a generic CONSTRAINT is read as a real routine/section keyword and closes the enclosing type section. Verified byte-identical on the pre-fix binary, so the ladder fix did not cause it -- the ladder had been masking it in the genericconstraints golden. Written up in .private/TODO.md. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
release: 1.0.16.0 -- join trailing routine directives onto the header… … line Version bumped in both sources (YADF.Version.inc + build_all.bat); CHANGELOG [Unreleased] retitled [1.0.16.0] - 2026-08-28. Ships 6769a53: a routine header's trailing directive clause (`overload`, `stdcall`, `virtual; abstract;`, `deprecated 'msg'`, `external ... name ...`) that the source split onto its own physical line after the header's terminating `;` is now pulled back onto the header, MaxLen permitting. JoinRoutineHeaders previously joined only the parameter-list portion and left such a clause dangling. Also re-syncs vendor/drag-lint/DRagLint.Lint.ReviewMarker.pas to its upstream (sha c2f8164f -> 344c6ec9). Doc-comments only -- the marker hashing logic is unchanged, so existing `dl:ok ...@xxxx` hashes are unaffected. Verified byte-identical to C:\Projects\Delphi-RAG-lint\src\lint\ before committing, which is what drag-lint's own drift test compares. Gates: suite 25/25, 83 goldens byte-identical + idempotent, 50 compile-gated, all four artifacts built clean and stamped 1.0.16.0. lint-all is 22 findings (0 errors) rather than the previous 0, entirely from drag-lint rule drift since 2026-08-21 -- 10 `review-marker-unused` hints on pre-existing dl:ok markers, 4 `unused-unit-in-uses`, 3 `doc-drift`, 5 info `duplicate-code`. NONE fall inside the lines this release adds (Layout.pas 2993-3408); the four Layout hits are at 760/1027/2411/3512. Cleanup is a separate follow-up, not a release blocker. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
YADF 1.0.15.0 Adds BreakLongExpressions (smart expression breakup, default ON) and BreakParamsOnePerLine (default off), the block-label lifecycle rework, and the build-identity banner. Fixes four idempotency defects, including the long-`for` split and grouped-parameter headers. Artifacts: YADF.exe (Win64), YADFSetup.exe (Win64), YADFOT.bpl (Win32 + Win64).
release: 1.0.14.0 -- uses-clause + Unsafe-casing fixes, docs extended… … to the whole codebase Fixed: - uses clauses no longer have their dots aligned into columns, and pre-existing padding is tightened rather than merely collapsed to one space. - An identifier named Unsafe keeps its casing. 'unsafe' is a directive, not a reserved word; the lexer reported it as a hard token kind so LowercaseKeywords rewrote it. Needs the one-word DelphiAST patch (upstream PR #346) when building from a stock checkout -- now documented in README under Building. Changed: - Self-documentation extended from the engine units to YADF.OptionsFrame and the YADFOT IDE wizard: 89 DocInsight blocks. The facts inside each drag-lint:auto BEGIN/END block are measured by drag-lint, not authored. - Sources reformatted by YADF itself with if-body splitting enabled. Suite: 22 scripts, 83 goldens (81 pre-existing byte-identical), 50 compile-gated, 84/84 round-trip. All four artifacts stamped 1.0.14.0 and built clean. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PreviousNext