release/0.5.20
What's Changed
Fun stuff 🎉
- This release includes a beta version of the Unison just-in-time/native runtime. You can try it by using the new
run.native
command in place of therun
command. Let us know if you have any issues! - Ahead-of-time native compilation to produce a standalone executable is coming soon. If you're running Linux, you can try this today using
compile.native
; Mac and Windows support are next. - @kylegoetz added an implementation of UDP networking, and @etorreborre added an implementation of RSA signing and signature verification. We'll be adding this functionality to
base
soon!
Important deprecations, please read
- The
cd
command and theup
command have gone away for maintenance, as they are not yet fully compatible with projects. In the mean time- we've added
find-in <path> <expression>
to replacecd <path>
+find <expression>
+back
- and added
test <path>
to replacecd <path>
+test
+back
. - In an emergency where you know what you're doing, you can still use
deprecated.cd
, and then come let us know what happened on Discord.
- we've added
- We are starting to deprecate non-project code, and with this release, you can no longer push to the non-project code area on Share. Check out the https://www.unison-lang.org/docs/tooling/projects-library-migration/ for help on converting your non-projects to projects. You can still pull non-project code from Share, but that will be going away soon too, so get busy :)
Under-the-hood fixes
- @upendra1997 submitted a color scheme adjustment which was causing some text to appear invisible for some users.
- The
builtins.merge
andbuiltins.mergeio
commands (which most people don't use or need) also accept an optional destination path now. - The decompiler output now supports immutable arrays, and partially-applied built-in functions.
- We fixed an issue in the LSP involving auto-completion and punctuation.
- The pretty-printer now prefers
do <expr>
in some cases where it previously printed'(<expr>)
. The'
syntax is still accepted. - We fixed an issue with backtracking in
Pattern.many
,Pattern.or
, andPattern.replicate
. - We made a tweak to the name-resolution rules, which were impacting type-directed name resolution.
All PRs since last release
- Update language-server.markdown for helix 23.10 by @bbarker in #4792
- Update nix development docs by @tstat in #4793
- Disable hoogle in haskell-nix shell by @ceedubs in #4795
- Fix auto-completion's treatment of paths by @ChrisPenner in #4791
- figure out windows CI issue by @aryairani in #4797
- Prefer
do
instead of'
in pretty-printer by @pchiusano in #4796 - add a sentence distinguishing reusable workflows and composite actions by @aryairani in #4803
- move
stack
install to composite action by @aryairani in #4798 - build test and bench dependencies with "build dependencies" by @aryairani in #4799
- split off ormolu task by @aryairani in #4800
- Update cabal.project by @ceedubs in #4794
- Fix many pattern not backtracking by @dolio in #4790
- Fix up uses of typelinks in the jit by @dolio in #4810
- bugfix: tweak name priority for tdnr by @mitchellwrosen in #4808
- Add missing builtin links to unison/data and /boot by @dolio in #4814
- see if this fixes the haddocks workflow by @aryairani in #4812
- trying to fix
pre-release.yaml
by @aryairani in #4815 - clean up release workflows (no jit yet) by @aryairani in #4804
- fixup re haddocks which is weird and only gets tested on merge to trunk by @aryairani in #4816
- fix up refs for release builds by @aryairani in #4819
- accept
stack.yaml
dir as input to stack caching by @aryairani in #4820 - fix surprise invalid string by @aryairani in #4821
- Improve kind inference docs by @tstat in #4822
- A few jit nimbus related fixes/tweaks by @dolio in #4823
- Neglected to update ci.yaml for jit by @dolio in #4825
- Fix a bug in the jit's runtime code caching operation by @dolio in #4826
- move stack actions to dedicated repo by @aryairani in #4824
- haddocks workflow: git config needed before commit by @aryairani in #4827
- Update pre-release.yaml download to match upload by @aryairani in #4831
- Give a more informative error for miscellaneous try-eval by @dolio in #4832
- add github.ref to prerelease workflow name by @aryairani in #4833
- that did not work by @aryairani in #4834
- split TH parts of unison-cli into unison-cli-main by @aryairani in #4829
- Fix conversion from referent2to1 for Doc fuzzyfind results by @ChrisPenner in #4840
- hide
run.native
andcompile.native
until release by @aryairani in #4842 - Flesh out jit universal comparison by @dolio in #4841
- actually do jit release stuff by @aryairani in #4828
- tweaks for jit packaging by @aryairani in #4845
- Split corrected many pattern into two patterns by @dolio in #4846
- Fix an issue with rehashing and scratch files by @dolio in #4847
- Fix some inconsistencies in the time functions in the jit by @dolio in #4849
- add quotes around path to
ucm
by @aryairani in #4862 - try retrieving runtime tests from Share by @aryairani in #4857
- merge unison-cli:lib and unison-cli:lib:unison-cli-lib by @mitchellwrosen in #4860
- split off transcripts and interpreter tests to separate jobs by @aryairani in #4865
- bugfix: don't go looking for field names of a hash-only decl by @mitchellwrosen in #4818
- Some jit fixes for cloud tests by @dolio in #4864
- restore git user setup for transcripts test by @aryairani in #4866
- chore: remove repetitive words by @guqicun in #4867
- Updates for Share diffs feature by @ChrisPenner in #4870
- install linux libb2 on build or test by @aryairani in #4874
- Check the exit code during native evaluation by @dolio in #4869
- Upgrade jit share dependency to fix link validation by @dolio in #4876
- Adds the scheme-libs hash to the cache keys for jit binaries and jit runtime test results by @aryairani in #4889
- Decompile partially applied builtin functions by @dolio in #4888
- Deprecate pushing loose code from UCM by @ChrisPenner in #4890
- Add docker image to nix outputs by @ceedubs in #4891
- Use a socket to communicate with the jit runtime process by @dolio in #4887
- Try define-runtime-path for libb2 by @aryairani in #4892
- Allow decompilation of arrays by @dolio in #4895
- Fix duplicate definitions in jit when using scratch files by @dolio in #4897
- Tweak crypto ffi for better dependencies by @dolio in #4900
- try libb2-1 instead of libb2-dev by @aryairani in #4901
- deprecate
cd
,up
; addfind-in
by @aryairani in #4883 - re-merge #4883 by @aryairani in #4903
- transcripts
mergeio
cleanup by @aryairani in #4885 - add an optional destination path to
builtins.merge{,io}
by @aryairani in #4886 - Merge in 3 by @aryairani in #4905
- rename job in ci-test-jit.yaml by @aryairani in #4906
- Add Ed25519 to racket crypto.rkt by @jaredly in #4902
- Add history lines AFTER numbered arg and fzf expansion by @ChrisPenner in #4907
- Jit eror ci fixes by @aryairani in #4917
- Fix representation mismatches with jit
bug
messages by @dolio in #4916 - Add codeowners for github meta files by @ChrisPenner in #4919
- docs.to-tml: Add space between Paragraph elements by @hojberg in #4926
- Add LSP documentation for Emacs by @sellout in #4922
- check contributors.markdown on PRs by @aryairani in #4927
- Fixing Invisible text colour on popular themes by @upendra1997 in #4924
- Add an evaluate to updateMap by @dolio in #4929
- Use full length hashes for jit definition names by @dolio in #4918
- Kylegoetz udp by @kylegoetz in #4844
- Add contributor by @dolio in #4931
- Miscellaneous JIT fixes by @dolio in #4930
- escape slashes in branch name for share api call by @aryairani in #4937
- feat: add RSA builtin functions for signing (implemented in Haskell) by @etorreborre in #4932
- add migration to cd up to current project root by @mitchellwrosen in #4946
- feat: add optional argument to
test
command by @mitchellwrosen in #4944 - Add a
default
Nix package by @sellout in #4939 - A couple more miscellaneous JIT issues by @dolio in #4948
- make run.native visible by @mitchellwrosen in #4951
- update windows manual install link by @aryairani in #4954
- resolve any symlinks to ucm before computing paths by @aryairani in #4959
New Contributors
- @bbarker made their first contribution in #4792
- @guqicun made their first contribution in #4867
- @sellout made their first contribution in #4922
- @upendra1997 made their first contribution in #4924
- @etorreborre made their first contribution in #4932
Full Changelog: release/0.5.19...release/0.5.20