Skip to content

Releases: briar-systems/mach-lsp

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 03:44
7e0f907

mls links the mach 6.3.0 front end and std 9, and a diagnostic's code is now mach 6.3's dotted key for its kind (#396). Same asset set, CLI and options as 2.0.0.

The code values clients see changed. mach 6.3 renamed every diagnostic kind to a dotted key with no aliases, and mls sends that key as the LSP code, so unused-import is now import.unused. An editor setting, filter, suppression or other tooling keyed on a 2.0.0 code must be updated to the new key:

2.0.0 code 2.1.0 code
unused-import import.unused
deprecated decl.deprecated
doclint doc.lint
inexact-float-literal float.inexact
fwd-instances fwd.instances
debug-dropped debug.dropped
target-skipped target.skipped
native-fallback target.native_fallback
scalarize vector.scalarize
not-oblivious secret.not_oblivious
(new) expect.unfulfilled

The linked mach moves from v6.2.0 to v6.3.0, so this mls refuses a project whose [project].mach range excludes mach 6.3.0. [project].mach stays ^6. RELEASES.json names the mach each mls links, so an installer that reads it still finds 2.0.0 for mach 6.2.0.

Changed

  • chore(#396): the linked mach moves from v6.2.0 to v6.3.0 and std from v7.4.1 (^7.4) to v9.0.0 (^9.0), the std mach 6.3.0 builds with. CI and the release builds seed mach v6.3.0, and the README pin matches.
  • chore(#396): a diagnostic's code is its kind's dotted key, the key a profile's allow and a declaration's #[expect] select it by (mach#4065). The Unnecessary tag follows import.unused and the Deprecated tag decl.deprecated.

Issues resolved (1)

  • #396 adopt mach 6.3.0: dotted diagnostic keys and std 9

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 22:35
20f6bea

mls links the mach 6.2.0 front end, shows the unused-import warnings mach 6.1 raises, and sends every diagnostic's warning kind as its code (#391). Same asset set, CLI and options as 1.5.0.

The linked mach moves from v6.0.0 to v6.2.0. This mls refuses a project whose [project].mach range excludes mach 6.2.0, and it reports what mach 6.2 reports: a float literal that overflows or underflows its type and a secret pointer cast the byte-extent rule refuses are now errors, so a project that was clean under 1.5.0 can show errors under 2.0.0. [project].mach stays ^6. RELEASES.json names the mach each mls links, so an installer that reads it still finds 1.5.0 for mach 6.0.0.

Changed

  • Breaking: chore(#391): the linked mach moves from v6.0.0 to v6.2.0, and CI and the release builds seed mach v6.2.0. std stays at v7.4.1 (^7.4), which mach 6.2.0 builds with.
  • feat(#391): an unused symbol import in the project's own files shows as a warning, unused import `foo` , as mach 6.1 reports it (mach#4007). mls's own sixteen unused imports are removed.
  • feat(#391): every published diagnostic, per document or on mach.toml, carries its warning kind's name as code, the name a profile's allow list silences it by (mach#4030). unused-import carries the Unnecessary tag and deprecated the Deprecated tag, so an editor fades or strikes through the code. A diagnostic with no kind carries neither.
  • docs(#391): the README and the notes module say a root manifest without [project].mach is refused, as mach 6 does, rather than loaded with a warning.
  • test(#391): the unit tests are pruned from 99 to 55 under mach's test policy, and test-only helpers are #[testing].

Issues resolved (1)

  • #391 adopt mach 6: link the mach 6 front end, identifier tests, std 9

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 15:30
27cfc75

mls moves to mach 6.0.0, whose tests are test <identifier>, and shows a test by that identifier (#387). Same asset set, CLI and options as 1.4.3.

The linked mach moves from v5.12.0 to v6.0.0. This mls refuses a project whose [project].mach range excludes mach 6, and building mls from source needs mach 6 ([project].mach moves from ^5.9 to ^6). That breaks mach 5 projects, and it ships as a minor version by this project's practice: mls versions its own protocol, CLI, options and asset contract, and a compiler requirement change has been a minor bump before (^5.3 to ^5.9 and mach v5.9.0 to v5.10.0 in 1.4.0). RELEASES.json names the mach each mls links, so an installer that reads it still finds 1.4.3 for a mach 5 project.

Changed

  • feat(#387): the linked mach moves from v5.12.0 to v6.0.0 and [project].mach from ^5.9 to ^6. std moves from v7.4.0 to v7.4.1, inside the existing ^7.4 range, which mach 6.0.0 requires.
  • feat(#387): a test is named by its identifier. Document symbols, the call hierarchy and selection ranges show test <identifier> by the identifier where they showed its label, and semantic tokens classify the identifier as a function, matching its document symbol kind.
  • feat(#387): a manifest without [project].mach is refused by mach 6 rather than loaded with a warning, and the complaint on mach.toml says so.
  • chore(#385): the mls artifact's entry moves from src/main.mach to src/bin/main.mach, as artifact entries sit across the family (briar-systems/.github#107). The binary keeps its name and its place at out/<target>/<profile>/bin/mls, so the release archives and the editor extensions that start it are unchanged.

Issues resolved (2)

  • #385 chore: artifact entries under src/lib and src/bin
  • #387 adopt mach 6: test identifiers in document symbols

v1.4.3

Choose a tag to compare

@github-actions github-actions released this 25 Sep 18:32
17c5c31

Issues resolved (2)

  • #380 chore: move to mach 5.12.0, which brings std 7
  • #379 fix: name and literal readers use span, which now covers a grouped expression's parens

v1.4.2

Choose a tag to compare

@github-actions github-actions released this 23 Sep 05:31
d4b7919

The linked mach moves to v5.11.0 (std stays at v6.1.0), which brings union analysis: a file of a non-default artifact is analysed in that artifact, so an embed of another artifact's output resolves (#371). A use that names no module no longer blanks the rest of the buffer (#304). Same asset set, CLI and options as 1.4.1.

Fixed

  • fix(#371): a file of a non-default artifact is analysed in that artifact, so an embed of {artifact.<id>.out} that its need requires, through a glob or by name, is no longer refused with "names an artifact this artifact does not require". The server loads the union of every artifact's closure rather than the default artifact's alone, and an output no artifact requires is still refused.
  • chore(#373): a use that names no module costs only the names it would have bound (#304). mach 5.10.0 ended a module's load at such a use, so a rebuilt snapshot of the buffer holding it answered nothing past it: completion, definition and every other snapshot feature were empty until the use was fixed (briar-systems/mach#3722).
  • chore(#373): a selection range through a parenthesized group has a step for the group, (p.x + p.y), and the step outside it covers the opening parenthesis, where it began inside it before (briar-systems/mach#3720).

Changed

  • chore(#373): the linked mach moves from v5.10.0 to v5.11.0. std stays at v6.1.0 (^6.1), which mach 5.11.0 builds with. The analysis entry now takes the root set beside the request, and the server passes the primary artifact's closure, which is what it analysed before. [project].mach stays ^5.9.

Issues resolved (3)

  • #304 fix: a use that names no module silences every isolated answer for the buffer
  • #371 Error prompt issue when use 'embed' importing file, But code is fine
  • #373 chore: move to mach 5.11.0 and ship the union-analysis fixes

v1.4.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 05:24
924dace
mls 1.4.1

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 04:32
75888b4
mls 1.4.0

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 22:17
fd2886f
mls 1.3.0

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 19 Sep 19:23
000ed93
mls 1.2.2

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 17:25
44b0892
mls 1.2.1