release/M2j
Our last release was M2i. Here's a summary of what's new since then:
- Doc rendering now crops long docs! Thanks @hojberg
- Performance improvements from the Unison team - @mitchellwrosen @aryairani and @ChrisPenner
- Fix for base download on initialization -You're the best @ChrisPenner
- Experimental work on standalone byte code files - @dolio 🧠
- ... aaand more! See the full list of PRs merged below.
Fetching the latest base library
.> pull https://github.com/unisonweb/base:.releases._M2j .base_m2j
You can then (optionally) delete.namespace
any old versions of base you have laying around. This will complain if you're still referencing definitions from the old version of base.
If you have definitions that depend on old definitions, you can find that out by doing:
.mycode> todo .base_m2j.patch
If you do have things todo, applying the patch to your namespace will replace the old versions with the new. We recommend forking a copy of your namespace before doing this:
.> fork mycode mycode2
.mycode2> patch .base_m2j.patch
.mycode2> todo .base_m2j.patch
Assuming that reports "Nothing to do", you can delete.namespace mycode
and then delete.namespace
your old version of base. If you encounter any trouble, stop by the Slack in #alphatesting and we can help.
Known issues
- This release adds experimental support for self-contained bytecode files (these are precompiled files that are small and package a main function and its minimal dependencies for execution with low startup times), however we learned the initial approach doesn’t work on platforms with ASLR (address space layout randomization) such as MacOS. We’re going to be redoing this in a more robust way for a later release.
What's coming in future releases?
- More work on standalone bytecode files for running compiled Unison programs outside of UCM.
- Changes to the PR and Update process!
- A new docs site based on the same doc renderer used on https://share.unison-lang.org.
- More work on Unison's distributed programming API.
- and a bunch more...
Check out https://github.com/unisonweb/unison/issues?q=is%3Aissue+is%3Aopen+label:P1 to follow current high priority issues being worked on.
Acknowledgements
Thanks to everyone who helped with this release, either by writing code or docs or submitting bug reports. For unisonweb/unison, here's all the folks with commits in this release (alphabetically by first name):
» git shortlog -s --no-merges "release/M1m".."release/M2" | cut -f 2- | sort -f
Arya Irani
Chris Penner
Dan Doel
Mitchell Rosen
Rebecca Mark
Rúnar Bjarnason
Simon Højberg
Also see the contributors for unisonweb.org and contributors for unisonweb/codebase-ui
A number of people contributed to the Unison base library. You can view author information for any definition using the links
command:
.> links base.List.filter Author
1. base.metadata.authors.pete_ts : Author
Tip: Try using `display 1` to display the first result or `view 1` to view its source.
PRs merged since last release
git log --oneline release/M2i..release/M2j | grep 'Merge pull request #'
- #2460 from unisonweb/topic/refactor-type-mentions-index
- #2468 from unisonweb/21-10-05-project-relation
- #2466 from unisonweb/topic/fix2244
- #2462 from unisonweb/21-10-05-unify-types
- #2446 from unisonweb/topic/standalone-binaries
- #2448 from unisonweb/topic/letbreak
- #2459 from unisonweb/gitTagVersionUpdate
- #2456 from unisonweb/use-nanoid-for-server-token
- #2458 from unisonweb/dont-diff-in-add
- #2457 from unisonweb/release-notes-updates