github unisonweb/unison release/0.5.50

10 hours ago

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

Don't miss a new unison release

NewReleases is sending notifications on new releases.