⛅ Coming soon: create Unison Cloud clusters in minutes on your own infrastructure. Learn more
changelog
Jun 28, 2024

Unison version 0.5.23 is out!

Rebecca Mark

This release includes some treats for everyday Unison users, like new syntax for forcing delayed computations, and a few fixes to the merge command. Check it out!

Everyday-impact changes

❣️ Unison supports an additional syntax for forcing delayed computations. foo() is equivalent to !foo. You can write either syntax but foo() is preferred by the UCM when displaying things.

✅ The todo UCM command will tell you when you leave todo "implement me" around in your code. It also prints out name conflicts, if you end up with foo#abc and foo#123 in your codebase, it'll tell you about that.

Fixes and quality of life improvements

🐜 The merge command received several bug fixes. If you experienced constructors being deleted or unnamed dependencies (hashes in your codebase) occurring after a merge, this release should help.

🦺 Fixed a situation where the typechecker missed catching a disallowed ability. If an enclosing function does not permit a generic ability, you shouldn’t be able to call a function with an arbitrary ability inside of it!

🔄 Fixed an issue where long ability lists in signatures created a round-trip printer bug. Some of us really took it to heart that Abilities compose. :sweat_smile:

Deprecations and less common situations

🪡 Patches are now hidden from ls as part of their continuing deprecation. (What are patches, you ask? Shh… don’t worry about it.)

💤 Fixed a bug for sleeping with a large Nat value. You can write that Rip Van Winkle simulator program now.

🪶 The team squashed some docs roundtrip bugs when header elements, # Like this , were included in tables and callouts.

Share the news: