Skip to content

Releases: unisonweb/unison

Development Build

08 Jun 17:29
fabb266
Compare
Choose a tag to compare
Development Build Pre-release
Pre-release

Commits

M2 release (Mac)

03 Jun 20:20
Compare
Choose a tag to compare
M2 release (Mac) Pre-release
Pre-release

M2 release (Linux)

03 Jun 20:24
Compare
Choose a tag to compare
M2 release (Linux) Pre-release
Pre-release

release/M1m

22 May 10:30
1146d3e
Compare
Choose a tag to compare
release/M1m Pre-release
Pre-release

A hotfix for pull performance issues; and a few other nice fixes. 😬

pull/merge performance improvements:

  • short-circuit when merging into empty namespace. #1528
  • LCA-based three-way merge. #1545
  • queue-copy sync algorithm. #1548, #1565
  • FileCodebase cache. #1549
  • fixed one source of unnecessarily high memory usage during pull. #1561

UCM changes:

  • dependencies and dependents command now produce numbered arg output (#1543, thanks @pt2121)
  • add merge.squash command which discards intermediate history when merging. #1465

Bug fixes:

  • fix for no-op pulls incorrectly setting the root namespace to the pulled namespace. #1501
  • fix slowness issue when viewing terms that reference Term.Link (e.g. unison docs). #1493
  • fix for calls to io.IO.throw. #1572
  • added debug.push-exhaustive and debug.pull-exhaustive. #1570

Improved messages:

  • fix typo in delete.link docs (#1499, thanks @virusdave)
  • improve codebase init tip (#1498, thanks @pt2121)
  • add a warning message when the root namespace is changed unexpectedly. #1503
  • tweak delete.{term,type}-replacement help text (#1511, thanks @atacratic)
  • repeat the user-provided path back in -codebase <X> init tip (#1529)
  • improve pull-request.create help example (#1555, thanks @ceedubs)
  • print ucm version in welcome message (#1558, thanks @ceedubs)
  • flip merge history to not be upside down. #1557

release/M1l

27 Apr 12:50
7448713
Compare
Choose a tag to compare
release/M1l Pre-release
Pre-release

A hotfix for ucm. So hot!

Fixes:

  • the .unisonConfig parser was rejecting keys starting with underscores (#1469)
  • the typechecker was assigning the wrong type to {Nat,Int}.complement (#1466, thanks @atacratic!)

release/M1k

25 Apr 13:48
5edab66
Compare
Choose a tag to compare
release/M1k Pre-release
Pre-release

A quick bugfix for new M1j installs that also slurped up two other recent PRs. 😬

New features:

  • Some more bitwise operations on Int/Nat (#1456, thanks @stew!)

Fixes:

  • correct the suggested url for pulling base (#1463)
  • copy.patch src dest was actually moving dest to src (#1458)

release/M1j

21 Apr 20:29
02dc4f5
Compare
Choose a tag to compare
release/M1j Pre-release
Pre-release

Thanks to @pete-ts, @noahhaasis, @stew, and @atacratic for their contributions to this release!

New features:

  • delete.term-replacement and delete.type-replacement commands (#1360)
  • create.author command (#1400)
  • dependents, dependencies, debug.file commands (#1401)
  • suffix-based name resolution for view/display (#1241)
  • six new operations: ##Int.shiftLeft, ##Int.shiftRight, ##Int.pow, ##Nat.shiftLeft, ##Nat.shiftRight, ##Nat.pow (#1427)
  • support for default metadata in .unisonConfig (#1432)

Changed behavior:

  • builtins.merge no longer includes the contents of IOSource.hs; use builtins.mergeio to get everything (#1411)

Fixes for:

  • a crash in the auto-completion for push (#1374)
  • a bug that caused update to produce too many updates (#1382)
  • reduce the amount of git output belched out by push/pull (#1387)
  • putSymbol growing hidden variable names with each reproduction (#1389)
  • unnamed transitive dependencies were not being included on push (#1317)
  • transcripts now show the output of a failing stanza, even if it was hidden (#1345)
  • a bug in decompiling Bytes values (#1428)
  • pretty-printing non-ascii chars (#1437)
  • many message & formatting improvements (#1372, #1403, #1405, #1407, #1424, #1425, #1440)
  • pull importing more than necessary of the remote repo (#1439)

Speed improvements:

  • ucm starts up a bit faster (#1411)
  • new caching for git operations (#1439)

release/M1i

12 Mar 21:08
a9ebca8
Compare
Choose a tag to compare
release/M1i Pre-release
Pre-release

Thanks (in no particular order) to @pete-ts, @mitchellwrosen, @bontaq, @atacratic, @anovstrup, @pt2121, @anchpop, @Dandandan, @moses-alexander, for your contributions to this release!

New features:

  • new pull-request.create and pull-request.load commands to support PR workflows (#1328, #1197, #1209)
  • new alias.many command lets you copy multiple definitions' relative names at once to a destination namespace. (#1236)
  • new back command to jump to the namespace you last cded from. (#1294)
  • add :hide:all option for unison and ucm fences in transcripts (#1167)
    allow

Changed behavior:

  • changed case/of syntax to match/with (#1214)
  • link and unlink argument order has flipped from link <metadata> <definition> to link <def1> [<def2> ...] <metadata> (#1208, #1127)
  • add LambdaCase style cases syntax to replace x -> case x of (#1192)
  • improve argument support for alias.type/alias.term/replace.type/replace.term (#1334)

Fixes:

  • fix issue where a command that makes changes all over the namespace creates many history entries instead of one consolidated one (#1225, #1333), reverting #1085 for better or worse 😬
  • remove term names from evaluation output in Docs (#1307)
  • fix accidental deletion of history for empty namespaces (#1337)
  • fix a pair of bugs that created and then couldn't cope with a loop in the namespace history (#1279)
  • some obvious speed fixes for push and pull (#1281, #1302)
  • allow add/update to create aliases without a big fuss (#1254)
  • don't cry about previously known constructors (#1352)
  • error messages and output message improvements (#1122, #1163, #1164, #1170, #1187, #1222, #1223, #1227, #1331 )
  • pretty-printing fixes (#1159, #1171, #1180, #1278)
  • fix a runtime bug that was causing issues with large lists (#1183)
  • unique type hashes are chosen with a deterministic seed when running transcripts, for deterministic transcript output (#1237)

release/M1h

20 Jan 14:36
5040c20
Compare
Choose a tag to compare
release/M1h Pre-release
Pre-release

Thanks (in no particular order) to @atacratic, @TomasMikula, @mitchellwrosen, @pt2121, @noahhaasis, @alvaroc1, @int-index, @matthewess, @anovstrup, and @pete-ts, for your contributions to this release!

New features:

  • Native Nat.toFloat (#1012)
  • add bug : a -> b and todo : a -> b builtins, which print their arguments and terminate (#881)
    (todo calls will probably show up in the todo ucm output in not too long)
  • Combined delete command (#1036) (no longer need to distinguish between terms and types)
  • show branch diff after delete (#1068)
  • add load command to manually load a .u file into ucm (#1099)
  • added pretty-printer support for Doc literals (#994)
  • added diff.namespace command which prints the diff between two namespaces (#1064).
    the new diff output is also used now by relevant existing commands.
  • the codebases that result from running a unison transcript are now only saved if the -save-codebase flag is passed to the transcript command. (#1155)

Changed behavior:

  • handle e with h syntax (#1159) instead of current handle h in e.
    fun fact: your existing code automatically reflects this syntax change 🎉
  • read .unisonConfig from the directory that the codebase is in (i.e. your home dir) (#1031)

Fixes:

  • Fixed pretty-printing of Char when it is part of a pattern (#1008)
  • Hopefully more rebust debouncing logic for file events (#1019)
  • Update propagation algorithm fixes (#996)
  • Rendering cleanup in names output (#1002)
  • Fixed term printer for delayed bindings (#1007)
  • fixed hashing issue for some effectful functions (#1020)
  • suppress welcome message when using ucm run (#1057)
  • add POSIX compilant ctrl-c handling (#912)
  • better typechecking message when .u file contains multiple definitions with the same name (#1077)
  • fix delete tab completion wasn't including types (#1076)
  • speed up todo output if there is nothing to do (#1088)
  • fix issue with cleaning up emptied branches (#1090)
  • clear cached typechecked file on parsing/typechecking error (#1138)
  • fix crash when current dir contains broken symlinks (#1144)

M1g

26 Nov 16:55
3d9e482
Compare
Choose a tag to compare
M1g Pre-release
Pre-release
  • Fix regression around pushing to new git repos, (sorry! #971)
  • Parsing and pretty-printing now use shortest unique suffix to identify definitions (#963) — you can use Nat instead of .base.Nat when you only have one Nat!
  • Renamed resolve.term and resolve.type command to replace.term and replace.type (#988)
  • Some compiler cleanup (thanks @TomasMikula! #941)