Releases: unisonweb/unison
Releases · unisonweb/unison
Development Build (unboxed-arithmetic)
Commits
- a85132c: Standardize optimization flags (Chris Penner) #5424
- ea2586b: fix #5441 - malformed Unison examples in source code (Kyle Goetz) #5442
- b9dbf49: add some merge progress output messages (Mitchell Dalvi Rosen) #5443
- e4d7193: ⅄ trunk → 24-10-31-merge-feedback (Mitchell Dalvi Rosen) #5443
- f1ba835: switch to console regions for merge progress output (Mitchell Dalvi Rosen) #5443
- 2c11caa: move delete.namespace implementation into its own module (Mitchell Dalvi Rosen) #5452
- 1355300: Remove unnecessary allocations of unboxed type tags (Chris Penner) #5449,#5447,#5431
- 78cbe72: add failing transcript (Mitchell Dalvi Rosen) #5452
- 2775b58: Unify
@keyword{…}
constructs in Doc parser (Greg Pfeil) #5450 - 5ee4794: in
delete.namespace
, don't worry about endangered definitions inlib
itself (Mitchell Dalvi Rosen) #5452 - e05237e: Fix stackchecks (Chris Penner) #5449,#5447,#5431
- 77757dd: Actually calculate inlining info for builtins (Dan Doel) #5454
- d4ea9a2: Fix stack debugging (Chris Penner) #5449,#5447,#5431
- a8e18d8: Remove ANF.inline (Chris Penner) #5457
- 4b9e75f: Merge latest trunk (Chris Penner) #5449,#5447,#5431
Development Build (trunk)
release/0.5.28
What's Changed
New:
- Apple Silicon builds now available for mac; changed release file naming scheme for all platforms
edit
now adds definitions to the current fold,edit.new
will create a new fold like before
Fixed/Improved:
fzf
sorts current project's branches to the bottom for easy access- Transcript parser improvements
- Runtime performance improvements
- Pretty-printing fixes
- Fix variable capture bug during pattern matching #5420
Coming soon:
- "mergetool" support
All PRs Since Last Release
- repeat certain CI tests if transcripts/source files change by @aryairani in #5386
- Fix source locations in transcript parser by @sellout in #5387
- Remove unused
unpack
andUnpack
from runtime by @ChrisPenner in #5389 - Pin CI to a release version of @unison/runtime-tests by @dolio in #5391
- Update Ormolu version in reformatting workflow by @sellout in #5396
- transcripts: Don’t trim spaces from Unison blocks by @sellout in #5393
- bump racket to 8.14 in CI by @aryairani in #5388
- mac arm builds by @aryairani in #5390
- Cache Pure Top Level Definitions on startup by @ChrisPenner in #5379
- bugfix:
namespace
+ top leveluse
parse error by @mitchellwrosen in #5403 - Use CommonMark-compatible info strings everywhere by @sellout in #5401
- feat: render merge conflicts preferring Alice's names by @mitchellwrosen in #5408
- Some tweaks related to caching top level values. by @dolio in #5405
- Make hash of cacheable code the same as if it were uncached by @dolio in #5409
- Unified unboxed/boxed stacks in interpreter by @ChrisPenner in #5397
- feat: implement edit variant that adds to current fold by @mitchellwrosen in #5404
- Fix variable capture issue during scope flattening by @dolio in #5420
- Fix interpreter segfault by @ChrisPenner in #5423
- Fix bug 5433 by @mitchellwrosen in #5434
- Add ANF and MCode serialization property tests by @ChrisPenner in #5414
- Decouple JIT builtins from interpreter wrappers by @dolio in #5416
- Perform some optimizations during interpreter code generation by @dolio in #5432
- FZF: sort current project's branches to the bottom by @ChrisPenner in #5437
- feat: mergetool support by @mitchellwrosen in #5411
- Bump macos github actions runners from deprecated macos-12 to macos-13 by @ChrisPenner in #5439
- Enable top-level value caching in jit by @dolio in #5438
- fix #5441 - malformed Unison examples in source code by @kylegoetz in #5442
- add some merge progress output messages by @mitchellwrosen in #5443
- Standardize optimization flags by @ChrisPenner in #5424
- Unify
@keyword{…}
constructs in Doc parser by @sellout in #5450
Full Changelog: release/0.5.27...release/0.5.28
Development Build (unboxed-arithmetic-debug)
Development Build (stack-assertions)
Commits
- 54f86ce: add RelativeToFold to file location (Mitchell Rosen) #5404
- 515f76b: automatically run ormolu (mitchellwrosen) #5404
- fd3f5d7: move handleShowDefinition into its own module (Mitchell Rosen) #5404
- 8850d25: rename writeSource to prependSource (Mitchell Rosen) #5404
- 0267829: implement edit2 command (Mitchell Rosen) #5404
- 3b51cb8: add transcript (Mitchell Rosen) #5404
- 51e2c94: ⅄ trunk → 24-10-09-edit-add-to-fold (Mitchell Rosen) #5404
- d3eb42f: swap back edit ordering of terms and types (Mitchell Rosen) #5404
- 2b93b7b: rerun help.md transcript (Mitchell Rosen) #5404
- 4e35221: ⅄ trunk → 24-10-09-edit-add-to-fold (Mitchell Dalvi Rosen) #5404
- 31dad59: rename edit -> edit.new, edit2 -> edit (Mitchell Dalvi Rosen) #5404
- 7cdf99a: re-run round trip test transcript (Mitchell Dalvi Rosen) #5404
- 237b37b: Add array bounds checks (Chris Penner)
- 95c1fe7: Ensure ALL primitive array access goes through bounds checks (Chris Penner) #5423
- 412d7d1: Use actual Int size rather than hard-coding 8 bytes. (Chris Penner) #5423
- 99c8211: Add more callstacks (Chris Penner)
- 666d389: Fix bad augSeg math (Chris Penner) #5423
- 54fb6fd: Fix deprecated array size checks (Chris Penner) #5423
- 63ff912: segfault <-> stack-assertions (Chris Penner)
Development Build (fix-segfault)
Development Build (cloud)
Commits
- a9181c8: Undo merging in Dan's changes for now (Chris Penner) #5397
- abb00f0: WIP checkpoint (Chris Penner) #5397
- c1baca7: Stack2 checkpoint (Chris Penner) #5397
- 131cfca: rewrite argOnto (Chris Penner) #5397
- a335238: Done rewriting the Mem class (Chris Penner) #5397
- 2f4bc90: Checkpoint (Chris Penner) #5397
- 1a6ed98: Stack2 building (Chris Penner) #5397
- 9176bd9: Finish up Stack rewrites (Chris Penner) #5397
- 01c966d: Compiling MCode2 (Chris Penner) #5397
- 1a94d28: Finish rewriting Foreign.Function2 (Chris Penner) #5397
- 1db1a80: WIP (Chris Penner) #5397
- 3edd502: Checkpoint (Chris Penner) #5397
- 14a16a7: Remove Mem from Args (Chris Penner) #5397
- d197c9f: Rewrite K stack references (Chris Penner) #5397
- e997bf9: Machine2 checkpoint (Chris Penner) #5397
- 430193e: Simplify argument counting in MCode and Lam's (Chris Penner) #5397
- d7296f9: Checkpoint (Chris Penner) #5397
- a647e94: Checkpoint (Chris Penner) #5397
- 94e0199: Spin off ANF2 (Chris Penner) #5397
- 4791c0b: Checkpoint (Chris Penner) #5397
- b756283: Checkpoint (Chris Penner) #5397
- ad4ec96: Checkpoint (Chris Penner) #5397
- 1440e6d: Checkpoint (Chris Penner) #5397
- d1451d4: Checkpoint (Chris Penner) #5397
- db9914a: Rewrite ANF CapV (Chris Penner) #5397
- 19b3f25: Checkpoint (Chris Penner) #5397
- 5fdda75: Undo ANF serialization changes (Chris Penner) #5397
- 0cac8eb: Write back-compatible ANF serialization (Chris Penner) #5397
- 19c7af8: Propagate v2 (Chris Penner) #5397
- 1ab1c07: Upgrade ANF.Value serialization (Chris Penner) #5397
- 4094935: Implement universalEq/universalCompare while maintaining back compat (Chris Penner) #5397
- 0932367: Rewrite a bunch of primops (Chris Penner) #5397
- 9cd3bad: Fix pre-evaluation (Chris Penner) #5397
- 310323b: Checkpoint (Chris Penner) #5397
- ecd33bd: Rewrite DataC conversions (Chris Penner) #5397
- a5d1f41: Machine2 compiling (Chris Penner) #5397
- ab33553: Re-merge modules (Chris Penner) #5397
- d6d2a2e: Rename all 2 module imports (Chris Penner) #5397
- f84e09e: Fix up MCode serialization (Chris Penner) #5397
- d1c9766: Compiling with new lockstep stacks (Chris Penner) #5397
- 193eb6f: Debugging stack issues (Chris Penner) #5397
- 36782e3: Merge trunk (Chris Penner) #5397
- 54f86ce: add RelativeToFold to file location (Mitchell Rosen) #5404
- 515f76b: automatically run ormolu (mitchellwrosen) #5404
- 5ff663c: Merge trunk and Comb refactors (Chris Penner) #5397
- fd3f5d7: move handleShowDefinition into its own module (Mitchell Rosen) #5404
- 8850d25: rename writeSource to prependSource (Mitchell Rosen) #5404
- 0267829: implement edit2 command (Mitchell Rosen) #5404
- 3b51cb8: add transcript (Mitchell Rosen) #5404
- 51e2c94: ⅄ trunk → 24-10-09-edit-add-to-fold (Mitchell Rosen) #5404
- d3eb42f: swap back edit ordering of terms and types (Mitchell Rosen) #5404
- 2b93b7b: rerun help.md transcript (Mitchell Rosen) #5404
- 4b428f6: Re-merge latest trunk (Chris Penner) #5397
- 58d8bf4: Fix restoreFrame (Chris Penner) #5397
- fc027cc: Fix usage of wrong stack args due to poor naming (Chris Penner) #5397
- ddf6a00: Cleanup (Chris Penner) #5397
- 94dd3fd: Remove 'poke', nobody should be using that. (Chris Penner) #5397
- ccacda0: Ensure we zero the boxed stack when poking unboxed values (Chris Penner) #5397
- 9a4c3c9: Push tags onto stack last for debug text (Chris Penner) #5397
- 62b4a78: Flip poke positions in exec Instrs (Chris Penner) #5397
- a3a129e: More flipping upokes (Chris Penner) #5397
- 8791f1b: automatically run ormolu (ChrisPenner) #5397
- 5b0e0fc: Fix up stack conventions in TryForce (Chris Penner) #5397
- 8e7e4e0: Remove support for v3 ANF deserialization (Chris Penner) #5397
- a470616: Add missing bump in seq pattern match (Chris Penner) #5397
- 88374a8: Remove all Debug calls (Chris Penner) #5397
- b13f159: Mark serialization cleanup (Chris Penner) #5397
- 7802d95: Print errors from integration tests (Chris Penner) #5397
- 584bb40: Remove unnecessary litArg call (Chris Penner) #5397
- a78e986: Fix bad arg serialization (Chris Penner) #5397
- 4d2c0e7: Unify some logic on ensure/augSeg (Chris Penner) #5397
- 4e35221: ⅄ trunk → 24-10-09-edit-add-to-fold (Mitchell Dalvi Rosen) #5404
- 31dad59: rename edit -> edit.new, edit2 -> edit (Mitchell Dalvi Rosen) #5404
- 7cdf99a: re-run round trip test transcript (Mitchell Dalvi Rosen) #5404
- 73f269e: Add test case (Dan Doel) #5420
- e18c304: Expose a better API for simultaneous ABTN renaming (Dan Doel) #5420
- 59eaddd: Fix variable capture bug during context flattening (Dan Doel) #5420
- ca48c9c: automatically run ormolu (dolio) #5420
- 95c1fe7: Ensure ALL primitive array access goes through bounds checks (Chris Penner) #5423
- 412d7d1: Use actual Int size rather than hard-coding 8 bytes. (Chris Penner) #5423
- 666d389: Fix bad augSeg math (Chris Penner) #5423
- e28a16f: Fix deprecated array size checks (Chris Penner) #5423
Development Build (lockstep-stack)
Commits
- a9181c8: Undo merging in Dan's changes for now (Chris Penner) #5397
- abb00f0: WIP checkpoint (Chris Penner) #5397
- c1baca7: Stack2 checkpoint (Chris Penner) #5397
- 131cfca: rewrite argOnto (Chris Penner) #5397
- a335238: Done rewriting the Mem class (Chris Penner) #5397
- 2f4bc90: Checkpoint (Chris Penner) #5397
- 1a6ed98: Stack2 building (Chris Penner) #5397
- 9176bd9: Finish up Stack rewrites (Chris Penner) #5397
- 01c966d: Compiling MCode2 (Chris Penner) #5397
- 1a94d28: Finish rewriting Foreign.Function2 (Chris Penner) #5397
- 1db1a80: WIP (Chris Penner) #5397
- 3edd502: Checkpoint (Chris Penner) #5397
- 14a16a7: Remove Mem from Args (Chris Penner) #5397
- d197c9f: Rewrite K stack references (Chris Penner) #5397
- e997bf9: Machine2 checkpoint (Chris Penner) #5397
- 430193e: Simplify argument counting in MCode and Lam's (Chris Penner) #5397
- d7296f9: Checkpoint (Chris Penner) #5397
- a647e94: Checkpoint (Chris Penner) #5397
- 94e0199: Spin off ANF2 (Chris Penner) #5397
- 4791c0b: Checkpoint (Chris Penner) #5397
- b756283: Checkpoint (Chris Penner) #5397
- ad4ec96: Checkpoint (Chris Penner) #5397
- 1440e6d: Checkpoint (Chris Penner) #5397
- d1451d4: Checkpoint (Chris Penner) #5397
- db9914a: Rewrite ANF CapV (Chris Penner) #5397
- 19b3f25: Checkpoint (Chris Penner) #5397
- 5fdda75: Undo ANF serialization changes (Chris Penner) #5397
- 0cac8eb: Write back-compatible ANF serialization (Chris Penner) #5397
- 19c7af8: Propagate v2 (Chris Penner) #5397
- 1ab1c07: Upgrade ANF.Value serialization (Chris Penner) #5397
- 4094935: Implement universalEq/universalCompare while maintaining back compat (Chris Penner) #5397
- 0932367: Rewrite a bunch of primops (Chris Penner) #5397
- 9cd3bad: Fix pre-evaluation (Chris Penner) #5397
- 310323b: Checkpoint (Chris Penner) #5397
- ecd33bd: Rewrite DataC conversions (Chris Penner) #5397
- a5d1f41: Machine2 compiling (Chris Penner) #5397
- ab33553: Re-merge modules (Chris Penner) #5397
- d6d2a2e: Rename all 2 module imports (Chris Penner) #5397
- f84e09e: Fix up MCode serialization (Chris Penner) #5397
- d1c9766: Compiling with new lockstep stacks (Chris Penner) #5397
- 193eb6f: Debugging stack issues (Chris Penner) #5397
- 36782e3: Merge trunk (Chris Penner) #5397
- 5ff663c: Merge trunk and Comb refactors (Chris Penner) #5397
- 4b428f6: Re-merge latest trunk (Chris Penner) #5397
- 58d8bf4: Fix restoreFrame (Chris Penner) #5397
- fc027cc: Fix usage of wrong stack args due to poor naming (Chris Penner) #5397
- ddf6a00: Cleanup (Chris Penner) #5397
- 94dd3fd: Remove 'poke', nobody should be using that. (Chris Penner) #5397
- ccacda0: Ensure we zero the boxed stack when poking unboxed values (Chris Penner) #5397
- 9a4c3c9: Push tags onto stack last for debug text (Chris Penner) #5397
- 62b4a78: Flip poke positions in exec Instrs (Chris Penner) #5397
- a3a129e: More flipping upokes (Chris Penner) #5397
- 8791f1b: automatically run ormolu (ChrisPenner) #5397
- 5b0e0fc: Fix up stack conventions in TryForce (Chris Penner) #5397
- 8e7e4e0: Remove support for v3 ANF deserialization (Chris Penner) #5397
- a470616: Add missing bump in seq pattern match (Chris Penner) #5397
- 88374a8: Remove all Debug calls (Chris Penner) #5397
- b13f159: Mark serialization cleanup (Chris Penner) #5397
- 7802d95: Print errors from integration tests (Chris Penner) #5397
- 584bb40: Remove unnecessary litArg call (Chris Penner) #5397
- a78e986: Fix bad arg serialization (Chris Penner) #5397
release/0.5.27
What's Changed
- Numerous bugfixes in the JIT runtime
- Numerous speedups in the standard runtime
- Numerous fixes to name resolution and printing logic
- Fixes to parenthesizing and line-wrapping expressions involving operators (#5384)
- Fix for a regression in handling empty code blocks in doc blocks
- Experimental
text.find
command to search for strings (examples)
All PRs Since Last Release
- Various fixes that enable running cloud on the JIT by @dolio in #5333
- Inline code for function calls in interpreter by @ChrisPenner in #5330
- bugfix: fix name resolution logic bug related to indirect dependencies by @mitchellwrosen in #5343
- bugfix: pretty printer should prefer direct dependencies by @mitchellwrosen in #5338
- Topic/jit optimize by @dolio in #5348
- fix bindNames performance by building namespace+locals names only once by @mitchellwrosen in #5345
- Some JIT tweaks for improved general performance by @dolio in #5355
- Handle empty code blocks in
Doc2
by @sellout in #5352 - bugfix: tweak suffixify by hash logic by @mitchellwrosen in #5360
- tweak: don't truncate long names in some output messages by @mitchellwrosen in #5364
- Search your codebase for text or numeric literals by @pchiusano in #5362
- JIT compiled code profiling, and sqrt by @dolio in #5366
- Statically resolve literal types at code-gen by @ChrisPenner in #5373
- bugfix: fix suffixification of indirect dependencies by @mitchellwrosen in #5375
- Create some unit tests for Doc syntax by @sellout in #5376
- bugfix: fix tdnr + name resolution bug by @mitchellwrosen in #5370
- Two fixes for the infix application term printer by @runarorama in #5384
- bugfix: name capture bug by @mitchellwrosen in #5382
Full Changelog: release/0.5.26...release/0.5.27
release/0.5.26
What's Changed
Major fixes:
- Fix for preserving type identities during
merge
. - Fix to LCA calculation that was misclassifying some fast-forward merges as regular merges.
- Fix an issue where
run
afterupdate
would mysteriously run out-of-date code.
New features:
- Add operator precedence rules
- Add
namespace
directive #5285. - Binary numeric literals (e.g.
0b101 == 5
), though all numeric literals still render as decimal on viewing/editing.. - Revive the
debug.find.global
anddebug.names.global
commands.
Minor fixes:
- Organize the scratch file better on incomplete update.
- Fix kind-checking bug that didn't treat ability sets as an ability.
- In patterns, identifiers starting with upper case are now treated as constructors instead of variables.
- Change name resolution rules so that the suffix of a name in the file no longer shadows an exact match in the codebase.
- Support subnamespaces that start with
_
. - Fix more bugs in transcript parser.
- Bugfix for unused binding detection in LSP.
- Tweak some error messages.
- Fix a configuration bug that prevented Unison Local from launching on Windows.
- Improve transcript runner output.
All Changes Since Last Release
- Don't limit max line length on .u scratch files by @ceedubs in #5242
- Ensure transcript parser consumes entire stanzas by @sellout in #5251
- Update scheme-libs Readme.md & add .gitignore by @neduard in #5238
- Add FromJSON for Display Object for definition search by @ChrisPenner in #5254
- [bugfix] permit empty matches by @tstat in #5256
- Revive debug.find.global and debug.names.global by @ChrisPenner in #5258
- tweak output messages by @aryairani in #5262
- Fix unused-binding-detection in case patterns by @ChrisPenner in #5265
- move /nix to /mnt/nix on Linux workflow by @aryairani in #5264
- feat/bugfix: on failed update, put dependents below definitions that were in file before running update by @mitchellwrosen in #5250
doc2
is a parser in lexer’s clothing by @sellout in #5187- Add transcripts for some already-fixed issues by @sellout in #5252
- feat/refactor: 3-way diff API by @mitchellwrosen in #5257
- Definition Diffs: Only emit annotation changes for hash changes by @ChrisPenner in #5269
- clear latestTypecheckedFile on
update
by @aryairani in #5270 - Fix non-deterministic sorting of rows in transcripts by @ChrisPenner in #5275
- feat/refactor: add merge api by @mitchellwrosen in #5259
- merge API tweaks by @mitchellwrosen in #5277
- feat: namespace directive by @mitchellwrosen in #5285
- Change handling of “blank” identifiers by @sellout in #5282
- Fix UI on Windows by @puffnfresh in #5288
- Support pattern matching on empty types by @sellout in #5298
- Turn a possible “impossible” into a parse failure by @sellout in #5297
- Fix dev-ui-install.sh by @sellout in #5291
- Add infix operator precedence rules by @runarorama in #5273
- Kill Configurator by @ChrisPenner in #5299
- Term name resolution change by @mitchellwrosen in #5296
- bugfix: don't prefer the unison file for name suffixes by @mitchellwrosen in #5276
- Numbers binary notation by @SimaDovakin in #5294
- Add a transcript to show that #4711 has been fixed by @sellout in #5292
- bugfix: not-found or ambiguous constructor treated as var by @mitchellwrosen in #5303
- Remove Sync22 by @ChrisPenner in #5014
- bugfix: fix suffixification logic in update by @mitchellwrosen in #5311
- Split off
unison-runtime
package by @ChrisPenner in #5308 - caught a few more unused packages by @aryairani in #5318
- temporarily disable failing Nix workflow by @aryairani in #5316
- temporarily disable Nix development cache workflow by @aryairani in #5319
- always print
df
output in nix workflow by @aryairani in #5314 - bugfix: make the term parser consider
lower.Upper
a constructor by @mitchellwrosen in #5321 - Fixes #5293: Generate IsAbility constraint for ability sets by @tstat in #5300
- Improve transcript runner output by @sellout in #5290
- bugfix: fix suffixification logic in upgrade by @mitchellwrosen in #5324
- bugfix: fix lca query by @mitchellwrosen in #5327
- bugfix: reuse unique type guids on merge conflicts by @mitchellwrosen in #5332
New Contributors
- @puffnfresh made their first contribution in #5288
- @SimaDovakin made their first contribution in #5294
Full Changelog: release/0.5.25...release/0.5.26