# Changelog ## 0.8.9 - Added highlighting for the page-level `apis { }` block and its ` ` entries, along with container and entry completion snippets. - Added `api.` call completion listing every declared block with its method and path, and hover reporting a block's method, path, and request fields. - Taught the language server the `api="…"` binding attribute: it is no longer treated as unknown, and completion inside its quotes offers the page's block names. - Diagnostics for the removed `ssr { … }` / `client { … }` data blocks now name the `apis { }` replacement and land on the offending keyword instead of the start of the file. - Fixed `api.()` calls reporting a spurious "Cannot find name 'api'" error, and the implicit `any` that followed from it. - Restricted API hover to real `api.` references, so a local variable that merely shares a block's name keeps its own hover information. - `client state { }`, `runtime = "client"`, and the `client function` modifier are unaffected — only the `ssr { }` / `client { }` data-block form was removed. ## 0.8.8 - Added HTML tag and attribute completions inside WRN `view` blocks, while preserving WRNexus component completion priority and suppressing HTML suggestions outside markup regions. - Added HTML hover documentation, folding ranges, linked tag editing, and automatic closing tags. - Added Emmet expansion support for WRN documents and kept void elements from receiving closing tags. - Hardened completion and auto-close handling against quoted attribute values, replaced selections, stale asynchronous edits, and duplicate client-side suggestions. ## 0.8.3 - Rebuilt the embedded WRN compiler with the 0.8.3 SSR, computed-value, Async-scope, and typed loop-prop fixes. - Added compiler awareness for pruned and bundled browser hydration imports. - Aligned the extension version with the WRNexusJS 0.8.3 framework release. - Fixed repeated language-server crashes by producing a Node-executable bundle and containing diagnostics failures without disposing the language-client connection. - Fixed false missing/mismatched HTML tags from TypeScript generics, object payload types, comments, and code samples outside or inside WRN `view` blocks. - Fixed formatting of `
` examples, compact sibling markup, long text elements, and
  multiline tags so repeated formatting is idempotent.
- Fixed false boolean/string and literal-option diagnostics for dynamic component props such as
  `external='{item.external || false}'`.
- Kept component prop/event intelligence active while the shared language server is enabled.
- Suppressed unavailable TypeScript standard-library and unmapped virtual-document implementation
  diagnostics in packaged extension environments.
- Fixed false `unknown`/index-access diagnostics in valid dynamic event forwarding handlers that
  dispatch a payload by event type, preserving JavaScript semantics for omitted parameter types.
- Resolved TypeScript standard libraries from the active workspace so semantic diagnostics run
  consistently in the repository and extension development environment.

## 0.8.0

- Fixed excessive extension-host and language-server memory growth in large workspaces.
- Activate only when a WRN document is used and removed the unused unrestricted workspace watcher.
- Added bounded, ignored-directory-aware workspace indexing with a short-lived completion cache.
- Debounced TypeScript diagnostics during typing, bounded open-document state, and skipped compiler
  graph creation for WRN files larger than 1 MiB.

## 0.5.1

- Updated compiler-backed diagnostics for native array and object state values.
- Added support for unquoted component prop expressions such as `items={items}`,
  inline arrays, and inline objects.
- Added readable, idempotent formatting for native JSON state values and direct
  structured component props.
- Added extension release validation to prevent the bundled compiler from
  drifting behind the framework parser.

## 0.3.0

- Added language support for `runtime`, `hydrate`, `computed`, `effect`, `security`,
  `load server`, `load client`, and named `action` declarations.
- Added snippets and completion entries for execution boundaries, deferred hydration,
  derived state, effects, data loading, actions, and security metadata.
- Updated root-member diagnostics to understand prefixed blocks without reporting
  action names, HTTP methods, load targets, or realtime handler names as members.
- Rebuilt the bundled compiler from the shared 0.3 syntax package and added a
  reproducible TypeScript-based bundle script.
- Fixed multiline tag formatting so long inline-closing elements remain
  idempotent across repeated format-on-save passes.
- Aligned the extension version with the WRNexusJS 0.3.0 framework release.

## 0.2.14

- Added top-level ES module import highlighting, completion, snippets, formatting,
  and diagnostics support for `.wrn` files.
- Imported helpers can now be used in server-rendered component prop expressions.

## 0.2.13

- Added explicit prop and state types, local `types` blocks, and typed function
  parameter/return highlighting and completion snippets.
- Nested component diagnostics now resolve typed prop and state expressions.

## 0.2.12

- Added component-aware prop completions, hover tables, required-prop checks,
  type mismatch errors, and unknown/invalid-option warnings.

## 0.2.11

- Fixed `.wrn` files falling back to Plain Text when a legacy `wrn` file
  association is present.
- Fixed false root-declaration errors when files begin with `//` comments.
- Fixed false unclosed-string errors when `//` comments contain apostrophes or
  bracket characters.
- Added explicit default and first-line WRN language detection.
- Removed duplicate semantic-token providers and repaired diagnostics toggling.
- Enabled completions and definition navigation for untitled and remote WRN
  documents.
- Improved comment and folding language configuration and package validation.

## 0.2.2

- Added conditional `class:*` support.
- Improved multiline tag formatting.
- Fixed WRN diagnostics after compiler updates.
- Improved dynamic route parameter support.

## 0.2.1

- Prepared the extension manifest, branding, documentation, and PNG icon for the
  Visual Studio Marketplace.
- Added repeatable build, validation, packaging, and publishing instructions.
- Documented formatter setup and the extension's no-telemetry policy.

## 0.2.0

- Added native Format Document and format-on-save support for `.wrn` files.
- Added configurable formatter enablement through `wrnexus.format.enable`.

## 0.1.0

- Initial Marketplace package for WrNexus `.wrn` language support.
- Added syntax highlighting, grammar injections, snippets, completions, and compiler-backed diagnostics.