Releases: unisonweb/unison
release/0.5.12
What's Changed
- new
io.test.allcommand runs all the IO tests in your namespace - new
renamecommand, is the same asmove namespace.dependenciesnow ignoreslib. You cancdintoliband run it there if you are curious about the state of your libraries.- auto-completion improvements for many project commands
- several bugfixes
All PRs since last release
- io.test.all by @ChrisPenner in #4507
- make
namespace.dependenciesignorelibby @mitchellwrosen in #4509 - Partial implementation for native execution/compilation via a standalone executable by @dolio in #4511
- Better project-branch completion for many project commands by @ChrisPenner in #4513
- add
renameas an alias formoveby @aryairani in #4523 - don't
isTest-check entiredeepTermsonview/editby @ChrisPenner in #4520 - bugtweak: force result of
synthesizeForceearlier by @mitchellwrosen in #4530 - update the name of the pre-release build by @aryairani in #4508
- bugfix: make
runable to run things that don't return builtins by @mitchellwrosen in #4533 - fix "branch already exists" error message to show project, too by @mitchellwrosen in #4505
- Fix bug in
Bytes.fromBase16when chunks have an odd size by @runarorama in #4529
Full Changelog: release/0.5.11...release/0.5.12
release/0.5.11
What's changed:
- New
movecommand will move existing namespaces, terms, and types, all at once. - Several fixes to
upgrade, pretty-printing, docs parsing, and type-directed name resolution. - A fix related to displaying docs in Unison Local.
- We've switched to a less weird version numbering scheme (0.5.11 instead of M5k)
All PRs since last release:
- verify 'stack ghci' startup on mac at least by @aryairani in #4455
- Add a new Pattern.captureAs builtin by @stew in #4452
- Allow layout blocks within Doc transclusion by @pchiusano in #4458
- Change urls to use
/docsinstead of/learnby @pchiusano in #4459 - bugfix: tweak upgrade to ignore aliases of old things by @mitchellwrosen in #4471
- Add
movecommand that moves existing namespaces,terms, and types by @tstat in #4477 - Use minimal suffix that's distinct from local var names by @ChrisPenner in #4481
- switch generic-monoid to semigroups (the two overlapping packages) by @aryairani in #4457
- bugfix: make
upgradenot require a latest-touched file (default to "scratch.u") by @mitchellwrosen in #4479 - provide some deps for the nix linker by @tstat in #4464
- Return evaluation errors rather than just silencing them. by @ChrisPenner in #4433
- Don't typecheck dependents of unchanged defns in upgrade by @tstat in #4486
- Unison Local - Search for docs by exact name, not suffix by @ChrisPenner in #4485
- bugfix: make upgrade not over-suffixify in certain cases by @mitchellwrosen in #4500
- Bugfix: Prefer shallow lib depth in TDNR by @tstat in #4502
- update UpdateIncompleteConstructorSet message by @aryairani in #4503
- use semver for ucm by @aryairani in #4504
Full Changelog: release/M5j...release/0.5.11
release/M5j
What's changed:
- We fixed a bug where saving a scratch file with watch expressions could cause UCM to crash with a SQL error. #4454
- Updates are faster when nothing new needs to be typechecked.
All PRs since last release:
- in update, don't bother typechecking again if we haven't changed the unison file by @mitchellwrosen in #4446
- Unique type churn transcript: add case of revert by @ceedubs in #4447
- update transcripts due to out-of-order merges by @aryairani in #4451
- bugfix: update no longer tries to put non-test watches into the namespace by @mitchellwrosen in #4454
- PackageImports to workaround
stack ghcifailure by @aryairani in #4453
Full Changelog: release/M5i...release/M5j
release/M5i
This release fixes some bugs related to the new update process. Upgrading is recommended!
All changes since last release:
- Update release-steps.md by @aryairani in #4390
- Force push to avoid keeping tons of old docs by @ChrisPenner in #4396
- Fix spacing in
create.authorhelp by @pchiusano in #4401 - add some more info than just calling
fromJustby @aryairani in #4404 - Improve kind error messages by @tstat in #4398
- Add build-tools only devShell that doesn't depend on haskell.nix by @tstat in #4394
- Nix flake: set default app to haskell-nix unison-cli app by @ceedubs in #4412
- Fix bug in scratch file updates by @tstat in #4414
- fix for test watches in
updateby @aryairani in #4413 - Fix name resolution bug in the parser by @tstat in #4419
- Add support for the
controlsattribute in Video by @hojberg in #4431 - fix unsigned int error in update by @aryairani in #4434
- Add entity validation on pull. by @ChrisPenner in #4377
- don't use
deepTermMetadatafortestby @aryairani in #4428 - Fix suffixification bug #4424 by @tstat in #4437
Full Changelog: release/M5h...release/M5i
release/M5h
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
updateand then use themergecommand 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.lookupfunction 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
pullexplanation 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
updateby @aryairani in #4374 - Bump haskell.nix dependency by @tstat in #4376
- feat: add
upgradecommand by @mitchellwrosen in #4386 - update
updateinfo 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
release/M5g
What's Changed
- Warn on invalid awk version by @ChrisPenner in #4291
- Use gawk if installed by @ChrisPenner in #4292
- add haskell-language-server-wrapper symlink by @mitchellwrosen in #4298
- try to set a custom workflow name on release by @aryairani in #4289
- [jit] Add setCurrentDirectory, renameDirectory, isDirectory, systemTime, systemTimeMicroseconds, isSeekable, and handlePosition by @jaredly in #4296
- Port Name lookups to Postgres by @ChrisPenner in #4265
- refactor: eliminate duplicate ShortHash type by @mitchellwrosen in #4299
- Add extra help line for delete command by @sixfourtwelve in #4302
- Add @sixfourtwelve to the contribution list by @sixfourtwelve in #4307
- Relax hash-mismatch errors if the remote head is what we wanted by @ChrisPenner in #4309
- Add logic to flip welcome hint message by @sixfourtwelve in #4304
- Prefer triple backtick syntax during doc source printing, even for old docs by @pchiusano in #4312
- Add tip for existing branches by @sixfourtwelve in #4308
- Endpoint exposing chosen project, branch and working path by @chuwy in #4285
- Make
pull.without-historywork for Share project branches by @ChrisPenner in #4301 - Add windows stack build retry on pre-release by @ChrisPenner in #4313
- refactor: one reference type by @mitchellwrosen in #4310
- Add fuzzy-finder for project switching by @ChrisPenner in #4317
- Modify intermediate code/value format to be less Haskell-runtime specific by @dolio in #4311
- Fix compile error in benchmarks by @pchiusano in #4323
- Allow multiple ignored bindings in a block by @pchiusano in #4324
- Fixes to suffix-based name resolution when local file names shadow codebase names by @pchiusano in #4325
- Add new combinator for getting ALL the dependencies of a decl. by @ChrisPenner in #4322
- refactor: replace runEitherTransaction with more ergonomic runTransactionWithRollback by @mitchellwrosen in #4327
- Add missing dependency crawling for MCode by @dolio in #4326
New Contributors
- @sixfourtwelve made their first contribution in #4302
Full Changelog: release/M5f...release/M5g
release/M5f
What's Changed
- bump haskell.nix to support new lsp by @tstat in #4275
- Don't completely crash mid-update on missing metadata by @ChrisPenner in #4281
- Clear temp entity tables on login by @ChrisPenner in #4286
- Implement verified hashing for racket backend, with assorted changes by @dolio in #4287
- feat: allow pulling /releases/latest by @mitchellwrosen in #4288
Full Changelog: release/M5e...release/M5f
release/M5e
What's Changed
- cloud jit: implement createTempDirectory removeDirectory createDirectory renameFile isFileOpen ready by @jaredly in #4276
Full Changelog: release/M5d...release/M5e
release/M5d
What's Changed
- Remove Share paths from release flow by @ChrisPenner in #4248
- Add autocomplete for
uiby @ChrisPenner in #4249 - remove cache.iog.io by @aryairani in #4251
- Add github action to populate nix development cache by @tstat in #4244
- Change runtime term link representation to allow code validation by @dolio in #4255
- Add -y when calling into racket by @dolio in #4264
- Bump LSP lib versions by @ChrisPenner in #4262
- Project UI support by @ChrisPenner in #4246
- Provide mechanism for hashing BranchFormatFull by @ChrisPenner in #4261
- Adds APIs for listing project and branch names in Unison Local by @ChrisPenner in #4250
- fixes #4239, pretty printing for single arg infix op terms no longer displays "error" by @kylegoetz in #4260
- Only run ormolu formatter on trunk by @ChrisPenner in #4270
- disable nix-dev-cache temporarily by @aryairani in #4271
- Round tripping code now yields same hash after reparsing in all known cases by @pchiusano in #4267
- Fix bug where constructors would incorrectly print with a prefix by @pchiusano in #4274
Full Changelog: release/M5c...release/M5d
release/M5c
What's Changed
- tests: Add simple test cases for Text.indexOf and Bytes.indexOf by @lexi-lambda in #4195
- Check if credentials have expired in
ensureAuthenticatedWithCodeserverby @tstat in #3986 - Add FLOR INCI INCN LOGB and LOGF to the jit by @jaredly in #4196
- Fix various issues with structural find and replace by @pchiusano in #4197
- refactor: delete unnecessary typecheck file variant by @mitchellwrosen in #4140
- Allow
single backticksfor inline monospaced text in docs by @pchiusano in #4206 - fix package.yaml paths ignore thing in network-uri-orphans-sqlite by @mitchellwrosen in #4211
- refactor: make Codebase.typeLookupForDependencies add type lookup for builtins itself by @mitchellwrosen in #4142
- Fix name shadowing / capture issue in pretty-printer by @pchiusano in #4213
- refactor: one less typecheck helper by @mitchellwrosen in #4147
- Add conflict warnings to LSP by @ChrisPenner in #4215
- Generalize
causalHashAtPathcombinators for use in Share by @ChrisPenner in #4216 - Type signature hint Code Lens by @ChrisPenner in #3799
- add docs/nix.md with some info re. cachix by @aryairani in #4210
- refactor: add export list to parser module by @mitchellwrosen in #4148
- feature: fix unique type churn by @mitchellwrosen in #4209
- Adapt cabal build to lts-20.26 by @jneira in #4203
- Numerous pretty-printer fixes and enhancements by @pchiusano in #4217
- Add jit primops MAXF MINF MULF MULI NEGI NTOF POWF POWI POWN SUBI SGNI by @jaredly in #4219
- Implement value reflection in scheme by @dolio in #4218
- Ensure
TVarvalues can be compared for equality by @dfreeman in #4224 - Include constructors in labeled deps of decls rendering docs by @ChrisPenner in #4225
- Fix performance problems with
branch.deleteby @tstat in #4229 - switch
hereFiletoFileEmbedwhen running sql files so we don't need weird symlinks by @aryairani in #4231 - Add Lazy.nvim installation notes by @chuwy in #4234
- Improve error message for missing result of block by @runarorama in #4235
- Refresh transcripts for missing results by @runarorama in #4237
- Add RNDF SQRT TANH TANF TZRO POPC to the jit by @jaredly in #4220
- Update unison cachix public key by @ceedubs in #4240
- Term declarations should not allow hashes in the term name (typesig or term definition) by @kylegoetz in #4247
New Contributors
- @chuwy made their first contribution in #4234
- @kylegoetz made their first contribution in #4247
Full Changelog: release/M5b...release/M5c