What's New
Features and new behavior:
- New
list-fuzzy
/lsf
command allows you to quickly skim a project's namespaces usingfzf
, and list one upon selection. - New
branch.squash
command copies the current branch, but with a collapsed history. add
andupdate
are the same command now.- On name resolution failure, UCM now suggests similar names, (Thanks @xmbhasin!)
edit.namespace
now includes.
as its topfzf
suggestion.- We added tab-completion and
fzf
completion for file arguments. - Releases will include linux-arm64 builds going forward.
Experimental:
- Setting the
UNISON_USE_UPDATE_V2
environment variable enables a new workflow forupdate
, which puts you into a new branch to complete theupdate
, analogous to themerge
command. More details at #5710.
Speedups:
- Lots of work to improve ability handler optimizations.
- Faster
merge
startup.
Fixes:
- The scratch file watcher behaves more predictably.
upgrade
avoids ending up with__2
names in some cases- The transcript runner no longer bombs if
ucm
is open due to ports being in use. - Runtime panics can produce better error messages.
back
no longer fails due to navigating to a deleted branch.- Fixes a runtime issue involving nested lambdas
All PRs Since Last Release
- perf: fetch unique type guids from merge parents more efficiently by @mitchellwrosen in #5713
- bugfix: fix file watch buffering behavior by @mitchellwrosen in #5719
- Include root namespace as option in fzf namespace args by @ChrisPenner in #5727
- identify renames in merges by @mitchellwrosen in #5716
- Fix a problem with floating w/r/t some enclosed terms by @dolio in #5730
- tweak: amend file-watching logic to not toss events older than 1s by @mitchellwrosen in #5729
- make
add
an alias ofupdate
by @mitchellwrosen in #5705 - Support 'nicer' ways of writing affine handlers by @dolio in #5715
- add more terms/types fields to branch object by @mitchellwrosen in #5725
- Fix a bug in one of the new peephole optimizations by @dolio in #5731
- hide ucm output in jit tests by @aryairani in #5735
- windows 2019 -> 2022 by @ceedubs in #5732
- Implement
branch.squash
by @ChrisPenner in #5696 - Fix affine handler transcript by @dolio in #5743
- fix typo by @aryairani in #5739
- Fix a variable capture during optimization. by @dolio in #5744
- Relax a criterion for recognizing affine handlers by @dolio in #5745
- adjust slurp output on update branches by @mitchellwrosen in #5711
- add a dedicated tmate workflow by @aryairani in #5755
- try bumping racket version to 8.17 to fix CI errors in windows-2022 by @aryairani in #5748
- feat: make
upgrade
rename a__N
suffix by @mitchellwrosen in #5750 - Laxify code-server port binding by @ChrisPenner in #5754
- Improve optimizer to recognize more affine handlers by @dolio in #5753
- add a way to compare Tls sockets. by @stew in #5756
- Fix some variable capture potential in the optimizations by @dolio in #5757
- try replacing windows 2022 with 2025 by @aryairani in #5740
- a manual transcript for some public tests by @aryairani in #5752
- update unison racket lib if not already installed by @aryairani in #5760
- i guess new racket includes libb2 by @aryairani in #5761
- ors instead of ands by @aryairani in #5762
- overhaul
update
flow by @mitchellwrosen in #5710 - Make bpoke(Off) strict in its closure argument by @dolio in #5763
- Improve caught runtime panics in
tryEval
by @dolio in #5759 - Try to improve errors during reflection by @dolio in #5766
- add the arm runners everywhere by @aryairani in #5765
- update transcripts by @aryairani in #5771
- bugfix: make getProjectBranchRootCausal not fail if branch doesn't exist by @mitchellwrosen in #5770
- bugfix: use old branch ppe when rendering deleted things by @mitchellwrosen in #5767
- silence
load
output for programmatically-generatedupdate
file activity by @mitchellwrosen in #5768 - update failed
update
output by @mitchellwrosen in #5769 - add list-fuzzy / lsf command by @aryairani in #5773
- bugfix: make
back
not fail on deleted branch by @mitchellwrosen in #5772 - Revert change to trigger fzf on no-args ls by @ChrisPenner in #5758
- Add tab-completion and fzf completion for file arguments by @ChrisPenner in #5776
- Fix some variable naming problems with new optimizations by @dolio in #5778
- Error Messages: on name resolution failure, suggest similar names by @xmbhasin in #5522
- Small update to #5522 by @aryairani in #5779
Full Changelog: release/0.5.41...release/0.5.42