# Changelog

## v1.9.6

* Fix online PowerOn validation with same-directory local `#INCLUDE` files after companion include validation changes

## v1.9.5

* Delegate offline include validation to the shared Symitar library
* Fix validation diagnostics for errors in local `#INCLUDE` files
* Fail fast when Symitar hosts are unreachable
* Quiet Remote Sym auto-deploy and auto-validation success notifications
* Suppress noisy standalone include diagnostic logs

## v1.9.4

* Fix PowerOn syntax coloring and literal typing for dialog functions and `SYSSYMDIRECTORY`
* Fix FMPERFORM diagnostics for parent subrecord paths
* Improve FMPERFORM completions for parent subrecord paths

## v1.9.3

* Correct validation specfile variable (`@VALIDATE*`) data types in the analyzer
* Fix include-file diagnostics leaking onto the main file when an include path cannot be resolved
* Fix inline comments not being highlighted inside multi-line `FOR ... WITH` and `SORT` / `SELECT` clauses

## v1.9.2

* Add completions and hovers for the `NONACCTNAME` record
* Add single-click preview and double-click pinning for reports opened from the sidebar
* Fix duplicate entries in the Tasks panel for git diff and history views
* Fix rename symbol and reference counting across library consumers
* Fix reference CodeLens on non-declarations in spec files without a `DEFINE` section
* Fix false-positive `invalid mnemonic` diagnostics for `LOANAPP PERSON` and `NONACCTNAME` name fields
* Fix report viewer and subscription view activation states

## v1.9.1

* Fix type inference for predefined variables such as `@RGUSERCHR*` and `@RGANSTEXT`
* Correct SymConnect and MemberConnect spec variable data types in the analyzer
* Improve FMPERFORM parser recovery while typing incomplete `SET` statements

## v1.9.0

* Add analyzer-driven semantic highlighting for variables, records, fields, procedures, constants, and literals
* Add `N references` CodeLens above defined variables and procedures
* Add diagnostics for constant reassignment, expression validation, division by zero, dead branches, and non-exhaustive conditional paths
* Add `FOR EACH WITH` completions for unique keys and record fields
* Add FMPERFORM / TRANPERFORM `SET` field completions, hovers, and signature help
* Improve syntax highlighting for operators and literals in `FOR WITH` and `SORT` / `SELECT` clauses

## v1.8.0

* Add the Libum Semantic Analyzer for PowerOn 🚀
* Add `#INCLUDE` file diagnostic routing to parent specfiles
* Add `GETFIELD*`, `GETDATA*`, and `VALIDATEFIELDSET` function parameter completions
* Add new diagnostic settings: `fieldValidation`, `functionValidation`, `statementValidation`, and `syntaxErrors`
* Add parser-based diagnostics replacing regex-based validation (field, function, statement, and syntax error detection)
* Add undefined variable quick fix and DEFINE section completions
* Fix failure mode for SSH transfer permission changes
* Fix Plus subscription defaulting to active before validation
* Improve auto-completions with new trigger characters for function parameters

## v1.7.0

* Add native Reports (Preview) alternative to Print Control 🔥
* Add `LOAN RATECHANGE` and `CTR BRANCH` database records to language server
* Fix burst SSH worker requests stability issues
* Fix issue where HTTPS connector would falsely show connected
* Fix issue where native SSH deployments on all Symitar files weren't applying the correct SYM### group
* Improve varying connection statuses including `Permission Denied`

## v1.6.6

* Add support for `CHECKORDER` record to language server
* Add hovers for records & improve inline fields
* Fix issue where inputs were triggered incorrectly on PowerOn execution
* Fix issue where Fetch Report by Title was returning first result in Batch Summary
* Fix issue with record completions that were out of context
* Improve completions for multi-word records (e.g. `share name`)

## v1.6.5

* Add `powerondemand` snippet
* Add `New PowerOn File...` and `New PowerOn Demand File...` context commands
* Fix issue where Untitled documents couldn't use snippets
* Fix issue where Untitled documents threw various LSP errors
* Fix issue where VS Code would steal focus when updating webviews

## v1.6.4

* Add rename symbol for defined variables and procedures
* Add unique key (`for <record> with`) completions
* Cleanup functions, keywords, and variables camelCasing
* Fix misleading log messages for failed deployments
* Prevent trigger in general contexts
* Update PowerOn validate diagnostics to remain until file change

## v1.6.3

* Add a `useTabs` formatting option
* Add a `formatOnSave` formatting option
* Add retries for batch execution polling on HTTPs
* Add reconnect for dropped SSH clients for both connectors
* Add forced document newline on save (requirement for Quest)
* Add LSP support for Untitled documents with `poweron` as language
* Fix issue with `alignLogicalOperators` for nested parentheses
* Fix interactive PowerOn execution inputs for SSH and HTTPs connectors
* Update `expandParentheses` to use configured indentation

## v1.6.2

* Add `alignLogicalOperators` to vertically align operators
* Add `expandParentheses` to place `(` and `)` on their own line
* Add `spaceAroundOperatorsExclude` to ignore for certain contexts
* Fix issue where SETUP division was doublespacing right side `=`
* Fix issue where commented inline keywords were breaking the formatter
* Simplify `spaceAroundEquals` to `spaceAroundOperators`

## v1.6.0

* Add PowerOn Formatter (Experimental)
* Fix issue with Division and Do/End colorizers
* Fix issue where invalid User/Password on HTTPs validate wasn't captured
* Fix issue where PROCEDURE snippet was malformed

## v1.5.11

* Fix issue where document references use Remote Sym first
* Fix issue where #INCLUDE files weren't being replaced for Offline Validation

## v1.5.10

* Fix issue where #INCLUDES were spawning new SFTP channels
* Fix issue where validation diagnostics weren't updated for HTTPS
* Fix issue where divisions & system variables were tokenized in comments/strings

## v1.5.9

* Add verbose client connector debug logs
* Fix issue where Remote Syms would deploy on implicit save with commands
* Fix issue where invalid PowerOns would appear to install successfully

## v1.5.7

* Syntax highlighting hotfixes

## v1.5.6

* Add function parameter descriptions
* Add completions to function parameter enumerations
* Add return types to function hovers
* Fix issue where PowerOn tokens in strings/comments would break divisions
* Improve syntax highlighting, hovers, and tokenization

## v1.5.5

* Fix issue where snippets weren't included in completions

## v1.5.4

* Add new command `Clone Sym Directory`
* Add new command `Compare with another Sym`

## v1.5.3

* Fix issue where Windows wasn't removing Remote Syms properly
* Increase frequency for Remote Sym download progress logs

## v1.5.2

* Add support for SFTP to Remote Sym (WSL no longer required)
* Add update command for Remote Sym

## v1.5.1

* Patch CSP for Webviews

## v1.5.0

* Add dynamic download commands for Remote Sym workspaces
* Add file association setting for language flexibility
* Improve error handling across extension
* Lazy-loading for SSH workers to prevent AIX user lockout
* Move to `@libum-llc/symitar` library for SSH and HTTPS connectors
* Various performance improvements & refactorization

## v1.4.9

* Add reset for force disconnect on every Symitar action
* Add support for custom #INCLUDE paths
* Add #INCLUDE file for deployments during validation
* Fix #INCLUDE deploy clobbering

## v1.4.8

* Add a setting for force disconnection after 'n' hours
* Add custom .PRO and .DEF completions for #INCLUDE files
* Fix document references for #INCLUDE files in subdirectories
* Move define variable diagnostics to Free version

## v1.4.7

* Add remote script execution timeout and PID cleanup
* Fix issue where validation from #INCLUDE file appears in primary PowerOn
* Fix issue with terminated batch reports for HTTPs connector
* Skip diagnostics check for directories that don't exist

## v1.4.6

* Add new file diff check between local directory and Sym
* Fix autocomplete issue with `THEN` keyword
* Fix Symitar command error handling

## v1.4.5

* Fix definition links for #INCLUDE files and procedures
* Fix subfolder file deployments

## v1.4.4

* Increase SSH fetch report timeout to max 60 mins

## v1.4.3

* Fix pattern issue with FMPerform

## v1.4.2

* Add a new snippet for `PROCEDURE`
* Update order of snippets in autocompletions to be first

## v1.4.1

* Fix autocomplete issue with `ELSE` keyword
* Fix issue with warning expiration pattern
* Prevent autocomplete from rendering on initial spaces

## v1.4.0

* Add auto-selection for PowerOn file type on deploy & install
* Add remote file listing for downloads
* Add batch report cache for in-editor viewer
* Fix issue where problems wouldn't clear on document close
* Fix validation diagnostics w/tab indentation

## v1.3.0

* Add notifications for batch completions
* Add multi-output support for batch execution on HTTPs
* Fix regression for multi-directory deployments

## v1.2.1

* Cleanup DO and END highlighting
* Fix unnecessary UNTIL term in snippets

## v1.2.0

* Add DO and END block matching
* Add DO and END semantic depth coloring
* Add configuration for batch reports (output, editor, or viewer)
* Fix status bar not properly reflecting state
* Update fetching batch reports for SSH connections

## v1.1.0

* Add cosmetic changes to subscriptions UI
* Update successful sign-in page

## v1.0.2

* Updated webviews & subscription messaging

## v1.0.1

* Fixed script path issue from restructure

## v1.0.0

* Official release 🎉
* Add subscription UI to side bar
* Remove preferred case from defined variables & procedures
* Switch to PowerOn Pro activity bar


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.libum.io/poweron-pro/changelog.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
