Skip to content

Latest commit

 

History

History
138 lines (88 loc) · 4.17 KB

File metadata and controls

138 lines (88 loc) · 4.17 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[3.6.0] - 2026-02-15

Fixes

  • Fix a regression with hover formatting

New Features

  • Unreferenced label warning can be suppressed with underscore prefix

(universal version will skip this update)

[3.5.0] - 2026-01-11

Fixes

  • Fix an issue with error checking of macro arguments

New Features

  • Go to references on an ENT will find the corresponding EXT labels
  • Hovering on an ENT label will show all the modules where it is used

(universal version will skip this update)

[3.4.0] - 2025-09-28

New Features

  • Unreferenced label warnings with accompanying fine grained settings
  • Disk image server handles tracks generated by MAME (flux tracks)
  • The macro argument count ]0 is better handled (Merlin 16 and above)

[3.3.0] - 2025-02-17

Fixes

  • Docstring is shown when hovering on a macro reference
  • Conditionals are handled more efficiently and accurately

New Features

  • Macro expansions resolve IF and DO in many cases
  • Unused macro definitions are identified
  • Deferred evaluations in a macro definition are identified

New Behaviors

  • Duplicate labels in a macro are allowed, but a warning is given at EOM
  • Conditional macro definitions are handled differently
    • they are always discouraged by a warning, see the a2kit::lang::merlin docstring

[3.2.1] - 2025-01-09

Fixes

  • Update bundled language server to version 3.5.1
    • fixes label substitution errors in disassembly

(universal version will skip this patch)

[3.2.0] - 2024-11-17

Fixes

  • Fix some issues in disassembly workflows

New Features

  • Disassembly: data sections can be converted back to code
  • Guard against excessive workspace scans
    • maximum directory count and recursion depth
    • passes over build, node_modules, and target directories

[3.1.2] - 2024-09-29

Fixes

  • Repair lower case completions logic, takes effect if:
    • completions.lowerCase==true && flag.caseSensitive=="ignore"

[3.1.1] - 2024-09-15

Replace bundled darwin-arm64 server with the correct version.

This patch will be skipped over by all other platforms.

[3.1.0] - 2024-09-15

New Features

  • Hovering on an EXT label shows the ENT label's docstring
  • Go to... commands behave more correctly
    • Using Go to declarations on a reference to an EXT goes to the EXT
    • Using Go to definitions on a reference to an EXT goes to the ENT
    • Using Go to... from any node is valid, e.g., if we start on a definition and ask for definitions the references are returned. This is the usual VS Code behavior.
  • Rename Symbol finds primary workspace symbols
  • Additional workspace checks

[3.0.1] - 2024-09-08

Fixes

  • Searching for workspace symbols (ENT labels)
  • Correct a bug in rename symbol (still scoped to doc + includes, however)
  • Correct a bug in address hovers
  • Formatting preserves blank lines

[3.0.0] - 2024-08-24

New Features

  • Language server is native rust code
  • Expanded language diagnostics
    • conditional assembly and folds are handled
    • better handling of 16 bit syntax
    • checks illegal forward references
    • others
  • Disk image support is bundled, no need for external a2kit installation
  • Better disassembly, finds various data patterns, user can set MX
  • Spot assembler to convert code sections to data sections as part of disassembly effort
  • Includes with the same name are resolved by partially matching ProDOS and local paths

Breaking Changes

  • Platform support works differently
    • Out of the box support for Linux-x64, Mac-x64, Mac-aarch64, and Windows-x64, everything needed is bundled.
    • Universal version requires an external a2kit installation, not only for disk images, but for all services.
  • Include file search works differently
    • If the workspace contains two files with the same name, the best partial match to the ProDOS path is selected.
    • If there are multiple equally good matches an error is flagged and the include is not analyzed.