What's new:
Simplified update
process
See the #4374 for more details. TL;DR:
Given your already type-checked scratch file, UCM attempts to substitute the new definitions everywhere the old were referenced in your namespace and other definitions, propagating recursively.
- If successful, you are done!
- If unsuccessful, UCM will load the dependent definitions into the scratch file for you to edit until they typecheck.
Library upgrade
command
See #4386 for more details. TL;DR:
With both an <old>
and <new>
version of a library installed under lib.<old>
and lib.<new>
respectively, the upgrade <old> <new>
command will attempt to replace any usages in your project of definitions from <old>
with definitions from <new>
with the same names.
- If successful,
<old>
is removed fromlib
, and you are done! - If unsuccessful, UCM will switch you to a new temporary branch (without
<old>
), and load the dependent definitions into the scratch file for you to edit until they typecheck. - When you finish the migration, you can
update
and then use themerge
command to merge the temporary branch into your original branch.
Kind checking
We have kind checking now!
Various improvements to
- Error messages
- Pretty-printing and code round-trips
- Request timeout fixes for Share
All changes since last release:
- refactor: add generic-lens to prelude, export orphan IsLabel instance by @mitchellwrosen in #4332
- Restructure decompilation by @dolio in #4336
- Add new BranchV3 type by @mitchellwrosen in #4333
- Add Term Hash Validation by @ChrisPenner in #4329
- Add kind inference by @tstat in #4331
- add expectDeclNumConstructors by @mitchellwrosen in #4341
- JIT: Added
Code.lookup
function and various supporting code changes by @dolio in #4339 - quick fix for delete.type #4315 for next steps by @sixfourtwelve in #4342
- Fill out more scheme builtins by @dolio in #4355
- improve rendering of uncaught exceptions by @mitchellwrosen in #4358
- Fix kind inference context bug by @tstat in #4366
- Delay kind defaulting by @tstat in #4359
- Assorted pretty-printing round trip fixes by @pchiusano in #4368
- Implement Murmurhash in racket by @jaredly in #4365
- Fix parser issue caused by virtual semicolons being emitted inside parens by @pchiusano in #4369
- Scheme builtin optimization and associated tweaks by @dolio in #4371
- Add missing spaces to
pull
explanation by @JohanWinther in #4361 - Align client timeouts with server-side timeouts by @ChrisPenner in #4364
- Add @lexi-lambda to contributors by @pchiusano in #4379
- Add @SystemFw to contributors by @SystemFw in #4380
- print/parse
update
by @aryairani in #4374 - Bump haskell.nix dependency by @tstat in #4376
- feat: add
upgrade
command by @mitchellwrosen in #4386 - update
update
info messages by @aryairani in #4387 - make findCtorNames return an Output instead of error by @aryairani in #4388
New Contributors
- @JohanWinther made their first contribution in #4361
Full Changelog: release/M5g...release/M5h