changelog
Sep 06, 2024

UCM version 0.5.26

Rebecca Mark

New features

❣️ We introduced operator precedence rules to the langauge, (so you can use fewer parens when doing things like writing boolean expressions!)

📇 We added the namespace directive for prefixing terms and types:

namespace brevity.is.the.soul.of

type Wit = Wit Text

-- versus --

type brevity.is.the.soul.of.Wit = Wit Text

🔢 We added support for writing binary numeric literals with the 0b prefix: 0b101 == 5

🧟‍♂️ We revived debug.find.global and debug.names.global commands. (`find` and names are normally scoped to a project, this lets you search across all your projects.)

📋 Better organization of the scratch file on failed updates - so you’ll have an easier time resolving conflicts.

Major Fixes:

    • Improvements when running the merge command:
      • Fix for preserving type identities during merge.
      • Fix to LCA calculation that was misclassifying some fast-forward merges as regular merges.
  • Fixed an issue where out-of-date code would run after an update.

Minor Fixes & Improvements:

  • Fixed a kind-checking bug that didn’t treat ability sets as an ability
  • Uppercase identifiers in patterns are now treated as constructors.
  • Sub-namespaces starting with _ are now supported.
  • Various bug fixes for the transcript parser and LSP.
  • Fixed Unison Local launch issues on Windows.
  • Tweaked error messages for better clarity.

New Community Contributors

🐡 With gratitude to @puffnfresh for fixing the Windows UI load issue in #5288

💯 Thank you to @SimaDovakin for adding the binary number literal notation #5294

Share the news