Skip to content

v1.3.0-rc.1 - Stability & Core LSP

Pre-release
Pre-release

Choose a tag to compare

@michaeldistel michaeldistel released this 19 Feb 15:43

Pre-release candidate for v1.3.0. Not for production use.

Changes since v1.2.5

Added

  • Rich hover tooltips for standard function blocks: parameter tables, behavior descriptions, usage examples (#22)
  • Advanced diagnostics and linting: missing semicolons, duplicate declarations, undefined variables, unused variables, type mismatches (#6)
  • Quick fixes for semantic diagnostics: insert semicolon, remove duplicate declaration, remove unused variable (#6)
  • Levenshtein-based fuzzy matching for "did you mean?" suggestions on undefined identifiers (#6)
  • Code formatting (Shift+Alt+F): keyword casing, indentation, operator spacing, VAR block alignment, trailing whitespace removal (#29)
  • Format Selection support for partial document formatting (#29)
  • Configurable formatting settings: keywordCase, insertSpacesAroundOperators, alignVarDeclarations, trimTrailingWhitespace, insertFinalNewline (#29)
  • Rename Symbol (F2): rename variables, functions, FBs, programs with IEC 61131-3 validation, comment awareness (#28)
  • Code actions and quick fixes: auto-insert missing END blocks, close unclosed strings, fix unmatched parentheses (#26)
  • Real-time diagnostics with Problems panel integration: unmatched blocks, unclosed strings, unmatched parentheses (#27)
  • AST parser rewrite with multi-line statement accumulator architecture (#41)
  • 366 unit tests (up from 44 in v1.2.5)

Fixed

  • Parser regex fails on multi-line variable declarations (#41)
  • Verbose console.log in definition provider polluting output

Changed

  • License changed from BUSL-1.1 to MIT (#78)
  • Updated all npm dependencies (TypeScript 4.9→5.9, webpack 5.99→5.105, node types 16→20) (#50)
  • Extracted getExtensionPath for testability (#44)
  • Removed legacy parser

Removed

  • Stale documentation, scripts, and branches