Skip to content

Releases: unisonweb/unison

Development Build (trunk)

09 Jan 02:11
0a7a9b0

Choose a tag to compare

Pre-release

Commits

  • 8d49610: disallow duplicate binders (Mitchell Dalvi Rosen) #6090
  • 7078813: destructuring binds too (Mitchell Dalvi Rosen) #6090
  • cc1ad8d: automatically run ormolu (mitchellwrosen) #6090

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

release/0.5.45

08 Aug 03:12
7867a49

Choose a tag to compare

What's Changed

  • New ucm transcript.in-place shell sub-command which modifies the codebase. (normally ucm transcript creates a new codebase.)
  • New lib.install.local command allows you to install a different local project or branch as a dependency in your current project. A snapshot is installed; it won't automatically be updated over time.
  • You can set the environment variable UNISON_MIGRATION=auto to not prompt on startup before doing a migration. Nice for scripts.
  • Improved thread fairness in the Unison runtime.
  • Transcripts can omit the project/branch from the prompt. If omitted, it will just continue to be set as it would in UCM. (See #5826 for details)
  • Fixed a bug that was preventing code loading.
  • Improved an error message when an ability variable can't be solved.
  • Added an MCP server into UCM itself via the ucm mcp command. See https://github.com/unisonweb/unison/blob/trunk/docs/mcp.md for details.

All PRs Since Last Release

Full Changelog: release/0.5.44...release/0.5.45