Product
Changelog
Every meaningful update to LegacyLint — new features, security work, and platform changes.
VB6 support grows to 47 rules
- 31 new VB6 rules: the maintainability layer (long procedures, large modules, deep nesting, magic numbers, global state) that powers the quality score and debt trend for VB6 code
- Real-bug detectors: a body that falls through into its own error handler, EOF loops that never MoveNext, collections mutated mid-For Each, IIf's both-branches evaluation, App.Path joined without a separator
- Resource hygiene: recordsets, connections and files opened but never closed, BeginTrans without commit or rollback, hardcoded file numbers, ReDim Preserve inside loops
- Every rule ships with rationale, false-positive notes and a remediation example in the catalog
Visual Basic 6 analysis
- The scanner now analyzes .bas, .cls, .frm and .ctl files alongside your Pascal sources in a single run
- VB6-aware parsing: designer headers are ignored, line continuations folded, comments and string literals never trigger code patterns
- Findings share the same dashboard, fingerprints, baselines, quality score and PR comments as Delphi
- Free Pascal and Lazarus support: dialect-aware analysis for .pas, .pp and .lpr files with FPC mode directives
Debt insights, architecture view & custom rules
- Technical-debt delta panel on the dashboard: what got better and worse between the latest two scans
- Architecture view: unit dependency graph with cycle detection for Object Pascal projects
- Upgrade-readiness report: how far a codebase is from a clean modern-Delphi migration
- Custom regex rules via --rules-file, and autofix suggestions in SARIF output
- Stable content-based fingerprints and a CI ratchet: builds fail only on new findings, never on the debt you inherited
Comment findings on your pull requests
- New GitHub Action (on the GitHub Marketplace) posts inline annotations and a single summary comment on every pull request
- Azure DevOps pipeline support with inline PR thread comments and a summary
- Configurable report scope (changed lines or all) and fail-on gating by severity
- New --format github CLI output for GitHub Actions annotations
Sign-in & reliability improvements
- A stale "remember this device" no longer blocks multi-factor sign-in
- Project pages recover gracefully from transient render errors instead of showing a raw error
- Static assets refresh reliably in the browser after each deployment
- Clearer inline validation on the sign-in and password-reset forms
Dashboard & layout polish
- Sort and filter the issues table on scan results
- Open full rule details in an inline dialog straight from the issues list
- Refined marketing-page layout so the footer always sits neatly at the bottom
Privacy, Terms & account security
- Published Privacy Policy, Terms of Service, and Data Processing Agreement pages
- Signup now requires explicit consent to the Terms and Privacy Policy
- More accurate sign-in location alerts — far fewer false "new device" notifications
- More reliable sign-in sessions that survive service deployments
Security and reliability release
- Password reset flow with one-time short-lived tokens
- Suspicious-login alerts and lockout escalation emails
- Structured admin audit events across billing/user/API-key actions
- Tenant export and account deletion automation
Operations and launch hardening
- Preflight configuration checks in admin dashboard
- Project soft-delete with restore window
- CI security gates for secrets and container vulnerabilities
Navigation and layout polish
- Refreshed top-level navigation across marketing and app shells
- Consistent docs sidebar with back-navigation on nested pages
Variable-scoped API keys
- API keys now bind to CI variables with per-project and per-environment scope
- Rotation and revocation workflows surfaced in the dashboard
CLI distribution updates
- Switched CLI downloads to zip archives with checksum verification
- Improved install scripts for Windows and Linux runners
Focused CLI platform support
- Retired the macOS CLI build while we focus on Windows and Linux CI runners
CLI release pipeline
- Dedicated publish pipeline for the AOT-compiled CLI
- Versioned artifacts served from dl.legacylint.com
Major product flow refresh
- Rebuilt onboarding, project creation, and first-scan flows
- Improved empty states and inline guidance across the dashboard
Expanded rule catalog and dialog fixes
- New analysis rule added to the Delphi catalog
- Corrected modal lifecycle issues on project and rule dialogs
Enterprise tier
- Custom-seat Enterprise plan with SLAs and priority support
- Contact-sales workflow wired into pricing and dashboard
Rule policies and suppression governance
- Per-project rule policies with severity overrides and suppressions
- Database migration for policy storage and audit trail
Stripe billing integration
- End-to-end Stripe checkout, customer portal, and webhook handling
- Subscription lifecycle synced to tenant state
Pricing tiers finalized
- Solo, Team, and Enterprise plans published on the pricing page
- 14-day free trial with no credit card required
First production deployment
- Self-hosted CLI release pipeline wired into Azure DevOps
- Initial production deployment of API, Web, and Worker services
Tenant billing and documentation portal
- Per-tenant billing surface with invoices and payment methods
- Public documentation portal covering installation, CLI, CI, and FAQ
Quality-trend charts on scan history
- Time-series charts for quality score, issue counts, and severity mix
- Per-commit deltas surfaced on the project overview
End-to-end scan flow
- CLI upload, server-side ingest, and dashboard rendering wired end-to-end
- Scan detail pages with file, rule, and severity breakdowns
Real authentication
- Replaced development stub with JWT + API-key dual authentication
- Cookie-based login for the Blazor dashboard
User management and API keys
- User invitation, role assignment, and per-tenant membership
- API-key issuance for CLI and CI usage
Multi-tenant Blazor dashboard
- MudBlazor-based dashboard shell with tenant-scoped routing
- Project list, project detail, and settings pages
Initial project setup
- Aspire-orchestrated solution with API, Web, CLI, Engine, and Worker projects
- First Delphi rules and NaiveDelphiParser landed in the engine