Skip to content

Releases: unisonweb/unison

Development Build (trunk)

08 Feb 16:02
90c33b6

Choose a tag to compare

Pre-release

Commits

  • 898e163: Delete pr-description.md (Brandon Elam Barker) #6168

release/1.1.0

28 Jan 23:22
4ff37ee

Choose a tag to compare

What's Changed

Features:

  • The dependents command now work on constructors and ability requests. (#6115)
  • Support for "Edit Definition" and "Open on Share" in the Unison Language VS Code extension v1.5.0. (#6129, #6105)
  • Adds new builtins for Argon2id password hashing. (#6094, thanks @bbarker!)
  • Adds MCP tools for history, reflog, and share-project-info (for authenticated project lookups). (#6103, #6118, also @bbarker)
  • More FFI work (#6131).

Fixed:

  • Bytes decoding and comparisons are much faster.
  • run now allows unquoted numbers as arguments; sorry.
  • branch.diff now accepts numbered args and branch hashes.
  • run now gives a nicer message if the program name is ambiguous.(#6111)
  • update no longer leaves deleted constructors in the underlying namespace of an update branch.
  • cases now parses correctly in Doc eval blocks.
  • The MCP server to avoid the use of oneOf in JSON Schema, which was defined in 2014 and will surely be supported by coding agents any moment now.
  • A certain kind of infinite loop no longer occurs in the runtime. (#5889)
  • Fixed a backwards subtyping check in pattern type checking. (thanks to @lJoublanc for reporting!)
  • Fixed a typo in the reflog .(showing alias.type as alias.term)
  • Fixed a pattern-matching bug around duplicate binding names .(thanks to @jcwilk, @etorreborre, and @gvolpe for reporting!)

ucm 1.1.0 updates the codebase version (not backwards-compatible) in order to support syncing of history comments.

All PRs Since Last Release

Full Changelog: release/1.0.2...release/1.1.0

release/1.0.2

05 Jan 21:46
23b831f

Choose a tag to compare

What's Changed

  • New diff.update command highlights changes in the scratch file. (#6080; thanks @bbarker!)
  • MCP improvements. (#6081, #6082; thanks @kn0ll!)
  • Fixed a parsing error involving multi-line match scrutinees. (#6078)
  • Fixed text.find which was not finding numbers that appeared in patterns. (#6073)

All PRs Since Previous Release:

  • Fix MCP: Successful responses contain duplicate outputs by @kn0ll in #6082
  • Adding MCP commands: "rename", "move", "moveTo", "delete", "delete.namespace" by @kn0ll in #6081
  • format trunk with ormolu 0.7.2.0 by @github-actions[bot] in #6084
  • fix parsing certain multiline match / indentation cases by @aryairani in #6078
  • let text.find detect numbers in patterns by @aryairani in #6079
  • update transcripts by @aryairani in #6085
  • [Draft] Add diff.update to show preview of changes before running update by @bbarker in #6080

New Contributors

Full Changelog: release/1.0.1...release/1.0.2

release/1.0.1

21 Dec 21:43
ee18126

Choose a tag to compare

What's Changed

Faster:

  • big speed-up to type-checking in certain common situations. #6053 (thanks @bbarker for reporting)
  • faster JSON generation #6058

Features:

  • new moveTo command collects definitions from different places into a single target namespace. #6054
  • new rename command lets you rename a definition with a long path without having to type the long path twice. #6054
  • new watch and unwatch commands let you monitor multiple locations for scratch file changes. #6063
  • find no longer searches transitive deps by default. #6065
  • support single-quotes when parsing args in ucm. #6072
  • more readable errors for dataBranch failures. #6068
  • add 16-bit and 32-bit FFI types. #6060
  • allow passing pinned arrays to DLL imported functions. #6067

Fewer bugs:

  • ucm now prints definitions within definitions in a more predictable order. #6039
  • show library upgrades as automatic changes (de-emphasized in diffs). #6020
  • correctly pretty-print "symboly" binders with surrounding parens. #6030
  • don't disable paged output after a file event. #6045
  • avoid giving an under-application error for 0 arguments. #6042

All PRs Since Last Release

New Contributors

Full Changelog: release/1.0.0...release/1.0.1

release/1.0.0

25 Nov 18:38
29e1d3a

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: release/0.5.50...release/1.0.0

release/0.5.50

10 Nov 21:28
6e59c0a

Choose a tag to compare

What's New

ucm 0.5.50 has lots of updates and new features (and is also a 1.0 release candidate)!

workflow improvements

  • new branch.diff command for comparing branches, also with difftool support via UCM_DIFFTOOL variable with fallback to the UCM_MERGETOOL variable
  • new comment command to add comments to your branch's change history
  • upgrade command can now take more than one lib pair simultaneously
  • status line indicates 🧩 when you are piecing together an incomplete update, delete, upgrade, or merge
    • in this mode, definitions removed from your scratch file will be removed from final result once you successfully update, which is different than usual, but necessary for making certain kinds of changes
    • update or cancel will complete or cancel the update; the merge.commit command has gone away.
  • fixes to to the run command
    • run will stop you from running a program in your scratch file that would result in running stale code due to needing to update first
    • multi-word ucm args can be passed to run by putting them in "double quotes"
    • avoid numbered args expansion with run by putting quotes around the numbers also
  • updated project naming rules: 1+ characters in the set {ascii letter, digit, -, _}.
  • add mv and rm command aliases

core language and runtime improvements

  • parser, type-checker, code printer, and runtime fixes
  • code serialization speedup
  • new support for zstd compression/decompression (thanks @regiskuckaertz)

editor support improvements

  • LSP file outline support and error highlighting improvements
  • vim syntax highlighting improvements (thanks @avysk)

MCP improvements

  • new MCP tools allow an agent to use the test, update, and run commands
  • implemented a fix for the typecheck command for agents (e.g. codex) that don't support the latest json schema version

All PRs Since Last Release

New Contributors

Full Changelog: release/0.5.49...release/0.5.50

release/0.5.49

24 Sep 22:20
d85de68

Choose a tag to compare

What's Changed

  • Setting the UNISON_DEBUG variable with TIMING now displays runtimes for individual tests when using test.

  • Setting the UNISON_DEBUG variable with TESTS now displays names for individual tests when using test.

  • A new murmur hash primitive which doesn't tumble in type info. It's much faster than the existing one, but good chance of collisions when you're mixing hashes from values of different types, so choose appropriately.

  • Everything from the stealth release of 0.5.48:

    New Features ✨ 🦄 🌈 ⭐

    Fixes

    • We updated project naming rules to match Unison Share; sorry not sorry!
      Project names may now consist of ASCII letters, digits, and hyphens; between 2–40 characters.

    Fiddling

    • Namespaces in ls output now end in . instead of /
    • There are a few new command aliases:
      • lib.install can be run as install.lib or just install
      • lib.upgrade can be run as upgrade.lib or just upgrade
    • namespace.dependencies command has been removed in favor of todo.

All PRs Since Last Release

Full Changelog: release/0.5.48...release/0.5.49

release/0.5.48

18 Sep 04:19
2824fce

Choose a tag to compare

What's Changed

New Features ✨ 🦄 🌈 ⭐

Fixes

  • We updated project naming rules to match Unison Share; sorry not sorry!
    Project names may now consist of ASCII letters, digits, and hyphens; between 2–40 characters.

Fiddling

  • Namespaces in ls output now end in . instead of /
  • There are a few new command aliases:
    • lib.install can be run as install.lib or just install
    • lib.upgrade can be run as upgrade.lib or just upgrade
  • namespace.dependencies command has been removed in favor of todo.

All PRs Since Last Release

Full Changelog: release/0.5.47...release/0.5.48

release/0.5.47

30 Aug 07:09
e1b98c8

Choose a tag to compare

What's Changed

  • Faster update, diff, and merge.
  • Support a few more TLS operations.

All PRs Since Last Update

Full Changelog: release/0.5.46...release/0.5.47

release/0.5.46

26 Aug 15:23
dbeea4d

Choose a tag to compare

What's Changed

  • An important fix to code deserialization for arrays and maps
  • Several type checking fixes
  • Several new builtins (pinned byte arrays, little-endian reads)

All PRs Since Last Release

Full Changelog: release/0.5.45...release/0.5.46