unisonweb / unison

A friendly programming language from the future

Home Page:https://unison-lang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

M4 Release Notes (DRAFT)

pchiusano opened this issue · comments

Use this to draft release notes, following this template: #2342

  • Merge pull request #3203 from unisonweb/one-less-abt2
  • Merge pull request #3195 from unisonweb/22-07-05-local-ui-different-connections
  • Merge pull request #3113 from unisonweb/one-less-abt
  • Merge pull request #3201 from ceedubs/pre-release-windows
  • Merge pull request #3193 from unisonweb/unison-local-ui
  • Merge pull request #3172 from unisonweb/topic/prefer-local-names
  • Merge pull request #3198 from unisonweb/fix/3196
  • Merge pull request #3197 from ceedubs/windows-pre-release
  • Merge pull request #3187 from unisonweb/22-07-05-debug-timing-flag
  • Merge pull request #3180 from alvaroc1/master
  • Merge pull request #3181 from unisonweb/mergify/pchiusano/config-update
  • Merge pull request #3179 from unisonweb/topic/text-patterns
  • Merge pull request #3175 from unisonweb/better-push-create-error-message
  • Merge pull request #3178 from unisonweb/topic/text-patterns
  • Merge pull request #3173 from unisonweb/topic/text-patterns
  • Merge pull request #3168 from unisonweb/cp/windows-ci-caching
  • Merge pull request #3164 from unisonweb/22-06-28-push-conc
  • Merge pull request #3169 from unisonweb/cp/fix-bad-name-index-usage
  • Merge pull request #3167 from unisonweb/travis/fixed-transaction-retry-delay
  • Merge pull request #3158 from emilhotkowski/3137-add-exit-flag
  • Merge pull request #3153 from unisonweb/travis/pull-conc
  • Merge pull request #3155 from unisonweb/22-06-25-use-values-literal-in-elaborate-hashes
  • Merge pull request #3154 from unisonweb/22-06-25-values-literal
  • Merge pull request #3152 from unisonweb/22-06-24-fix-elaborate-bug
  • Merge pull request #3161 from unisonweb/fix/3159
  • Merge pull request #3135 from unisonweb/topic/do-syntax
  • Merge pull request #3149 from unisonweb/fix/3037
  • Merge pull request #3119 from unisonweb/cp/fix-old-migrations-table-creation
  • Merge pull request #3146 from unisonweb/work/arrays
  • Merge pull request #3142 from unisonweb/22-06-20-pull-progress
  • Merge pull request #3104 from unisonweb/work/arrays
  • Merge pull request #3126 from dfreeman/df/sha1
  • Merge pull request #3131 from unisonweb/cp/dont-add-headers-twice
  • Merge pull request #3039 from unisonweb/arya/ooo-sync
  • Merge pull request #3125 from unisonweb/travis/update-indices
  • Merge pull request #3114 from unisonweb/cp/transport-errors
  • Merge pull request #3115 from unisonweb/22-06-15-ooo-sync-chunked-pull
  • Merge pull request #3116 from unisonweb/arya/vanilla-haskeline
  • Merge pull request #3105 from unisonweb/hashing-package
  • Merge pull request #3102 from unisonweb/ooo-sync-smaller-pushes
  • Merge pull request #3076 from albertoefg/delete-old-namespace
  • Merge pull request #3093 from unisonweb/travis/bump-megaparsec
  • Merge pull request #3092 from unisonweb/cp/allow-apis-in-transcripts-merged
  • Merge pull request #3097 from unisonweb/ooo-sync-push-pull-progress
  • Merge pull request #3100 from unisonweb/topic/quiet-delete
  • Merge pull request #3099 from unisonweb/aryairani-patch-1
  • Merge pull request #3094 from unisonweb/less-rebuilds
  • Merge pull request #3091 from unisonweb/cp/wal-on-create
  • Merge pull request #3075 from plumenator/trunk
  • Merge pull request #3074 from plumenator/trunk
  • Merge pull request #3068 from unisonweb/topic/datebuiltins
  • Merge pull request #3063 from unisonweb/arya/Wno-type-defaults
  • Merge pull request #2992 from unisonweb/cp/version-command
  • Merge pull request #3061 from typechecker/cabal/add-packages-3060
  • Merge pull request #3064 from unisonweb/topic/sha-for-fuzzy-find
  • Merge pull request #3052 from unisonweb/topic/handle-input-timing
  • Merge pull request #3046 from unisonweb/noblurb
  • Merge pull request #3051 from unisonweb/topic/relation-speed
  • Merge pull request #2718 from unisonweb/21-12-04-use-unison-sqlite
  • Merge pull request #3047 from unisonweb/tweaks/readme
  • Merge pull request #3040 from unisonweb/cp/share-api-package
  • Merge pull request #3032 from unisonweb/cp/syncm-concrete
  • Merge pull request #3033 from Sgeo/patch-1
  • Merge pull request #3003 from unisonweb/topic/contained-ns
  • Merge pull request #3031 from unisonweb/fix/pop-serial
  • Merge pull request #3029 from iamevn/topic/getSomeBytes
  • Merge pull request #3022 from unisonweb/22-03-31-warning-free-ghci
  • Merge pull request #3025 from unisonweb/cp/monadunliftio
  • Merge pull request #3024 from unisonweb/fix/code-serial
  • Merge pull request #3023 from unisonweb/cp/lockfiles
  • Merge pull request #2994 from juhp/juhp-patch-1
  • Merge pull request #3019 from unisonweb/work/bytes-performance
  • Merge pull request #2974 from unisonweb/update-test-to-non-test
  • Merge pull request #3013 from unisonweb/cp/fix-transcript-errs
  • Merge pull request #3012 from unisonweb/fix/anf-renaming
  • Merge pull request #3014 from unisonweb/cp/hide-builtins-commands
  • Merge pull request #3009 from unisonweb/fix/relaxed-decompilation
  • Merge pull request #2996 from unisonweb/cp/input-reader
  • Merge pull request #2997 from unisonweb/cp/hidden-inputs
  • Merge pull request #2998 from unisonweb/fix/assorted
  • Merge pull request #2990 from unisonweb/topic/updateNoPatch
  • Merge pull request #2968 from unisonweb/remove-open-access-control-header
  • Merge pull request #2982 from unisonweb/cp/pretty-printer-package
  • Merge pull request #2977 from unisonweb/cp/disable-windows-release

Here's a summary of what's new in Version M4:

Unison-native code hosting on Unison Share

Create your account at https://share.unison-lang.org and then push your code like so:

.projects.corla> push.create aryairani.public.corla

Then head over to https://share.unison-lang.org to see your rendered code and docs!
You can still upload to Github by wrapping the git repository location in git(...), like:

.projects.corla> push.create git(git@github.com:aryairani/unison).corla

Self-contained namespaces

We've introduced the idea of self-contained namespaces to help keep things under control. Just fork the libraries you want into lib relative to the namespace you're working in, and the rest of the universe of code will stay out of your hair. Absolute paths are out.

New builtins

The base library has some new goodies. See <insert blog post link here> for an overview.

New syntax

And:

Loads of bugfixes, performance improvements, UI improvements.

Codebase Upgrade

For existing installations, Release M4 will perform an automated codebase upgrade. If prompted to upgrade, close any currently open copies of UCM, and then press Enter. Your existing codebase will be backed up automatically.

$ ucm
📋 I backed up your codebase to ~/.unison/v2/unison.sqlite3.1657826988
⚠️  Please close all other ucm processes and wait for the migration to complete before interacting with your codebase.
Press <enter> to start the migration once all other ucm processes are shutdown...

🔨 Migrating codebase to version 4...
🏗  1148 / ~1148 entities migrated. 🚧
Finished.
🛠  Cleaning up unreachable branches and causals...
🔨 Migrating codebase to version 5...
🕵️  Checking codebase integrity...
Checking Namespace Integrity...
Checking Causal Integrity...
Cleaning up...
🏁 Migration complete 🏁

Let us know in Slack if you encounter any trouble with this.

Fetching the latest base library

UCM will automatically download the base library for new installations, but you can also get it manually with:

.> pull unison.public.base.releases.M4 .base

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 Github full name):

» git shortlog -s --no-merges "release/M1m".."release/M2" | cut -f 2- | sort -f 

Alberto Flores
Alvaro Carrasco
Arya Irani
Chris Penner
Cody Allen
Dan Doel
Dan Freeman
Emil Hotkowski
iamevn
Jens Petersen
Karthik Ravikanti
Mitchell Rosen
Paul Chiusano
Phil de Joux
Rúnar Bjarnason
Sgeo
Simon Højberg
Travis Staton

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/M3..release/M4 | grep 'Merge pull request #' | cut -d' ' -f 5 | sed -e 's/^/* /'