changelog
Nov 13, 2025

Unison 0.5.50

Rebecca Mark

🧰 Workflow improvements

    • New branch.diff command (with UCM_DIFFTOOL support!)
      • Supports diff previews between two branches and their shared ancestor. Configuration is similar to our merge-tool support.
    • upgrade command supports multiple libraries at once
      • Example: upgrade old1 new1 old2 new2
    • Status line indicates 🧩 when piecing together an incomplete update, delete, upgrade, or merge
      • Definitions removed from your scratch file will be removed from final result once you successfully update
    • 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 supported with "double quotes"
      • Avoid numbered args expansion by putting quotes around the numbers
    • Preliminary support for adding comments to your branch's change history with the new comment command. Help your coworkers (or your future self) with an annotation!
      • Comments are visible with the history command and will be included in the Unison Share UI in a future release.

⚙️ Runtime and core language

  • Parser, type-checker, and runtime fixes
  • Faster code serialization
  • New zstd compression/decompression

💻 Tooling and editor support

  • MCP agents can now test, update, and run Unison code.
  • Better LSP outline + error highlighting
  • Better vim syntax highlighting

🏆 Shoutouts

📢 Share the news