Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: bzol/urbit

Tags

urbit-v1.10-rc1

Toggle urbit-v1.10-rc1's commit message
urbit-v1.10-rc1

Arvo 418 K
Vere 1.10

This is a minor release, with improved error handling, http2 support,
and a couple bug fixes.

Release Notes

- adds rigorous out-of-memory detection (bail:meme), by means of a
  floating guard page on the loom. previous bail:meme handling
  was limited and path dependent, so running out of memory could
  cause a variety of error messages and crashes.

- improves handling of bad network crypto, by means of a new error type
  (bail:evil). previous handling of packets encrypted wrongly or with
  stale keys was correct (dropped, not acknowledged or logged), but verbose
  (sivc-de-punt) and inefficient (the decryption jet punted to nock on any
  error or failure). packet event failure due to bad crypto is also tracked
  and printed separate from other failure reasons.

- enables http2 upgrade (via alpn) for browsers, improving web performance
  and reducing eventsource disconnects. requires https.

- fixes a bug in the binary upgrade system where the upgrade continued after
  failed event replay.

- fixes a couple runtime bugs that caused crashes or hangs in error handling
  or shutdown.

- bumps the maximum event log size to 500GB on aarch64 linux

- improves builds, with experimental openbsd compatibility, compdb integration.

Contributions:

Joe Bryan (41):
      vere: adds --no-dock to usage printf
      build: removes herb from top-level Makefile, shell.nix
      vere: fix -Y (should not be resolved)
      Merge pull request urbit#5825 from joemfb/jb/try-remote-pr
      Merge pull request urbit#5814 from urbit/m/4vpi
      Merge pull request urbit#5824 from urbit/jb/fix-remote-pr
      Merge pull request urbit#5829 from botter-nidnul/botter-nidnul_aarch64-mapsize
      Merge branch 'master' into next/vere
      Merge pull request urbit#5880 from midlyx-hatrys/compdb
      vere: skip disk cleanup if commit thread cannot be canceled
      vere: fix ctrl-c during replay
      vere: set exit code globally on fatal error
      vere: check exit code before upgrade/prepare-for, print failure msg
      u3: make output pointer optional in u3r_p()
      u3: correct u3m_soft() error result where +mook is unavailable
      u3: allocate emergency buffer on every road, free on bail for trace cells
      u3: adds (failing) test for bail:meme
      u3: check for road stack overflow on every nock %2 and %9
      u3: bump road heap offset before allocating cellblock
      u3: account for guard page in cellblock allocation conditional
      u3: removes/disables obsolete road stack overflow checks
      u3: failure to mprotect() the new guard page is fatal
      build: make bench is phony
      Revert "u3: check for road stack overflow on every nock %2 and %9"
      Merge pull request urbit#5882 from urbit/jb/guard-opt
      build: default to using guard page
      u3: check for overflow in interpreter if guard page not present
      vere: make uv_cancel return code check explicit
      Merge pull request urbit#5881 from urbit/peter/guard-page
      Merge pull request urbit#5883 from urbit/jb/exit-errors
      Merge pull request urbit#4727 from urbit/lf/http2-support
      jets: bail:evil in ae-siv decryption jets
      vere: drop bail:evil events without error notifications
      u3: %evil leaves no trace
      ames: track/log bad ciphertext crashes separately
      Merge pull request urbit#5709 from mikhail-diakov/openbsd-build
      Merge pull request urbit#5826 from urbit/jb/sivc-no-punt
      ci: reenable release mgmt
      Revert "ci: reenable release mgmt"
      ci: enable release version mgmt
      vere: bumps version

Liam Fitzgerald (6):
      vere: enable http2
      file-server: lowercase headers for http2
      vere: support safari by stripping forbidden HTTP2 headers
      vere: only strip headers if HTTP2
      Merge remote-tracking branch 'origin/release/next-vere' into lf/http2-support
      vere: address jb review

Midlyx Hatrys (1):
      vere: build: add ability to create compdb (for Clangd etc.)

Peter McEvoy (8):
      u3: place guard page between heap and stack
      u3: use pag_siz_i and pag_wiz_i where appropriate
      u3: replace u3m_bail() with u3m_signal() in u3e_fault()
      u3: initialize guard page in u3e_live()
      u3: initialize guard page in u3e_init()
      u3: restore missing `return 0` to u3e_fault()
      u3: control presence of guard page using macro
      u3: return 0 from u3e_fault() if guard page cannot be protected

botter-nidnul (1):
      vere: change mapsize to 500 GiB on AAarch64 Linux

dkmike (2):
      build: resurrect the openbsd build
      build: fix after rebase

fang (2):
      vere: print ip address in correct order
      vere: warn reader about endianness

urbit-os-v2.124

Toggle urbit-os-v2.124's commit message

Verified

This tag was signed with the committer’s verified signature.
Fang- fang
urbit-os-v2.124

- Fixes an issue where behn would fail to report the next timer to vere
  correctly, resulting in timers only firing once every ten minutes.
- Updates |rein to be additive instead of fully replacing existing
  configuration. Specifying a single agent to start will no longer stop
  other explicitly-started agents.
- Various QoL improvements to dojo.
- Updates DNS requests to go to ~deg instead of ~zod. The Foundation
  will take over DNS request handling.

Contributions:

David Farrell (5):
      dojo: have dojo check =dir exists before switching
      dojo: simplify dir not exist error message build
      dojo: setting eny/now/our shouldn't crash dojo
      dojo: say how to beat the %dy-edit-busy escape room
      dojo: remove unnecessary debug output

Joe Bryan (8):
      behn: adds (failing) tests
      behn: unconditionally clear runtime timer state on %wake
      behn: don't compare pending timers to now
      behn: refactor to use +abet pattern
      behn: emit %doze on any rescheduling of the next timer
      behn: cleans up comments
      Merge pull request urbit#5858 from urbit/jb/behn-fix2
      test: removes debugging comments from %behn unit tests

Sidnym Ladrut (1):
      hood: fix issue w/ rein diff application

Yaseen (1):
      eyre: Modify landing title from "OS1" to "Urbit"

fang (16):
      clay: render syntax errors at end of file
      Merge pull request urbit#5811 from ynx0/patch-1
      Merge pull request urbit#5812 from urbit/m/eof-syntax-error
      Merge pull request urbit#5837 from dnmfarrell/dnmfarrell/arvo-dy-edit-press-bksp-to-abort
      Merge pull request urbit#5840 from dnmfarrell/dnmfarrell/arvo-dojo-check-dir-exists-before-switch
      Merge branch 'master' into next/arvo
      gall: exclude from traces
      Merge pull request urbit#5841 from dnmfarrell/dnmfarrell/arvo-dojo-dont-crash-set-beak
      Merge pull request urbit#5863 from sidnym-ladrut/sl/fix-rein-toggle-behaviori
      Merge pull request urbit#5868 from urbit/pkova/dns
      Merge branch 'master' into next/arvo
      Merge pull request urbit#5857 from urbit/jb/behn-fix1
      Merge pull request urbit#5855 from urbit/m/gall-quieter
      hood: re-patch |rein
      Revert "clay: render syntax errors at end of file"
      Revert "gall: exclude from traces"

pkova (1):
      dns: transfer ship.arvo.network domains from ~zod to ~deg

landscape-v1.1.6

Toggle landscape-v1.1.6's commit message
landscape-v1.1.6

This release will be pushed to the network as an over-the-air (OTA) update

Release Notes:

- Added the ability to paste app resource ids into search and get
  redirected correctly
- Added missing mark files to base-dev and garden
- Fixed issue where typing '%' into search caused an error

Contributions:

Matilde Park (3):
      grid: pasting shortcodes redirects to app page
      garden: add symbolic link to css.hoon
      base-dev: add css.hoon, switch others to symlink

Patrick O'Sullivan (18):
      landscape/grid: Prevent cen from breaking react router in grid's leap

groups-v1.1.0

Toggle groups-v1.1.0's commit message
groups-v1.1.0

This release will be pushed to the network as an over-the-air (OTA) update

Release Notes:

- Changed link rendering so that bare links appear inline and allowed
  to appear in blockquotes
- Added rich embeds after blockquotes containg links with embeds
- Fixed link rendering in notebooks
- Fixed overflow and sizing issues in collections display
- Fixed issue where some links would give an embed where there is none,
  and improved rendering time of large amounts of embeds
- Switched S3 calls to use signature v4
- Corrected window title for Messages and DMs
- Added `-webkit-optimize-contrast` to all images for better rendering
- Fixed issue where a post would remain editable after publishing
- Fixed issue where copying a ship's name had two sigs
- Fixed issue where editing your profile would fail initially
- Fixed issue where groups left soon after joining still linger around
- Fixed issue where we were incorrectly using Sets for writer permissions
- Fixed issue with depedencies and React 17

Contributions:

0x70b1a5 (1):
      Images should use -webkit-optimize-contrast.

André Fincato (9):
      groups: don't render plain URL
      groups: convert URL from graph-url to plain link
      groups: correctly display blockquote content in full
      groups: add graph-url block below plain URL block
      groups: avoid extra node in plain link URL
      groups: set font-size=1 to list block
      groups: fix blockquote to work also in notebook
      groups: wrap bare link in list-item in p node for better typography
      groups: fix linting errors

David Farrell (3):
      groups: set the right title for messages
      groups: fix no-case-declarations lint error
      groups: don't double sig the planet name on copy

dillon (1):
      groups: fix edit profile

rcrdlbl (9):
      removed false positive embeds
      fixes infinite loop in high-embed collections
      useEmbed logic moved up one level
      modified embed state to avoid race condition
      applied patch from @arthyn
      Merge branch 'next/groups' into groups/embed-fix
      placed async fallback one level up on RemoteContent and LinkBlockItem
      Merge branch 'next/groups' into groups/embed-fix
      passed oembed as prop

yung calibri (8):
      fix the long link layout issue
      Merge branch 'next/landscape' of https://github.com/urbit/urbit into next/landscape
      interface: fix centering in LinkBlockItem summary
      fixup! interface: fix centering in LinkBlockItem summary
      interface: fix LinkBlockItem border parameters
      interface: fix double border in LinkDetail
      interface: tweak LinkDetail flex distribution
      fixup! interface: tweak LinkDetail flex distribution

Hunter Miller (16):
      s3: adding v4 signatures for updated compatibility
      http-api: updating dist to be more compatible with node
      api: make same dist updates as http-api
      meta: fixing react version issue
      compat: updating indigo, and removing unused deps
      compat: updating to latest sigil-js for react
      compat: fixing react-codemirror2 deps
      groups: updating nvmrc
      groups: updating package lock
      interface: fixing react-codemirror2 dep
      meta: package bump:
      meta: version bump for new changes from next/landscape
      ops: fixing build
      md-editor: fixing background in darkmode
      graphcontent: blockquotes now correctly break paragraphs off
      rich-text: removing broken plugin, reverting react-md to 5.0.3 for compat
      groups: correcting package lock yet again

Liam Fitzgerald (3):
      interface: update ChannelPermissions to use arrays
      landscape: fix automatically watching group chats
      landscape: remove new group from group-view on leave

Patrick O'Sullivan (21):
      npm: add preSig func to npm lib
      npm: fix HarkBody type def for time
      grid: Show provider nicknames next to actual ship name in leap search
      grid: leap: search only for ship names, not display names
      Merge pull request urbit#5719 from urbit/po/fix-leap-ship-autocomplete
      npm: fix issue caused by set var in groups/lib.ts
      groups: bump api version
      Merge branch 'master' into next/npm
      Merge pull request urbit#5736 from urbit/po/fix-for-iswriters-func
      Merge pull request urbit#5739 from dnmfarrell/dnmfarrell.1434.joining-group-planet-two-sigs
      Merge pull request urbit#5737 from urbit/po/fix-for-iswriters-func-in-groups
      groups: fix link to DM from participants list
      Merge pull request urbit#5758 from urbit/po/fix-dm-from-participant-list
      groups: add submitted state for notebook form
      Merge pull request urbit#5759 from urbit/po/fix-add-submitted-state-for-notebook-form
      landscape/grid: Prevent cen from breaking react router in grid's leap
      Fix webpack, build dependency issues
      groups: fix issue with chanel perms caused by use of Set()
      groups: fix issue where URL would be shown along with image in chat
      groups: add webp to list of image types to check links for in chat
      Merge pull request urbit#5850 from urbit/po/groups-dont-show-url-with-images

urbit-os-v2.124-rc1

Toggle urbit-os-v2.124-rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
Fang- fang
urbit-os-v2.124-rc1

Release notes:

- Fixes an issue where behn would fail to report the next timer to vere
  correctly, resulting in timers only firing once every ten minutes.
- Updates |rein to be additive instead of fully replacing existing
  configuration. Specifying a single agent to start will no longer stop
  other explicitly-started agents.
- Various QoL improvements to dojo.
- Updates DNS requests to go to ~deg instead of ~zod. The Foundation
  will take over DNS request handling.

Contributions:

David Farrell (5):
      dojo: have dojo check =dir exists before switching
      dojo: simplify dir not exist error message build
      dojo: setting eny/now/our shouldn't crash dojo
      dojo: say how to beat the %dy-edit-busy escape room
      dojo: remove unnecessary debug output

Joe Bryan (8):
      behn: adds (failing) tests
      behn: unconditionally clear runtime timer state on %wake
      behn: don't compare pending timers to now
      behn: refactor to use +abet pattern
      behn: emit %doze on any rescheduling of the next timer
      behn: cleans up comments
      Merge pull request urbit#5858 from urbit/jb/behn-fix2
      test: removes debugging comments from %behn unit tests

Sidnym Ladrut (1):
      hood: fix issue w/ rein diff application

Yaseen (1):
      eyre: Modify landing title from "OS1" to "Urbit"

fang (16):
      clay: render syntax errors at end of file
      Merge pull request urbit#5811 from ynx0/patch-1
      Merge pull request urbit#5812 from urbit/m/eof-syntax-error
      Merge pull request urbit#5837 from dnmfarrell/dnmfarrell/arvo-dy-edit-press-bksp-to-abort
      Merge pull request urbit#5840 from dnmfarrell/dnmfarrell/arvo-dojo-check-dir-exists-before-switch
      Merge branch 'master' into next/arvo
      gall: exclude from traces
      Merge pull request urbit#5841 from dnmfarrell/dnmfarrell/arvo-dojo-dont-crash-set-beak
      Merge pull request urbit#5863 from sidnym-ladrut/sl/fix-rein-toggle-behaviori
      Merge pull request urbit#5868 from urbit/pkova/dns
      Merge branch 'master' into next/arvo
      Merge pull request urbit#5857 from urbit/jb/behn-fix1
      Merge pull request urbit#5855 from urbit/m/gall-quieter
      hood: re-patch |rein
      Revert "clay: render syntax errors at end of file"
      Revert "gall: exclude from traces"

pkova (1):
      dns: transfer ship.arvo.network domains from ~zod to ~deg

urbit-os-v2.123

Toggle urbit-os-v2.123's commit message
urbit-os-v2.123

This is a release of the base Urbit OS, which takes us to Lull kelvin
version 329 and Zuse kelvin version 418.  Highlights include:

- There is a new vane called Khan, for running threads from either
  inside Urbit or from Unix
- Clay
  - Clay allows you to tombstone old files, reclaiming memory
  - Clay's namespace has been further implemented, so that you can now
    mount, build files on, and run code from past revisions and foreign
    desks.
  - Ford's build cache has been overhauled to share builds between desks
  - Clay no longer stores %delta blobs.  Its object store is now pages.
  - Clay no longer has an ankh cache.
- Comets are now able to communicate with each other
- There is a new system for recording commit messages called "story"
- Aqua has been revived and improved
- The trie data structure `axal` has been extended with several new
  operations and renamed to use the `+of` core

Other changes:

- New command +vat displays information about an individual desk
- The roller now recognizes oversized batches and reduces their size so
  they will be accepted by common ethereum nodes
- `-naive-csv` has been added to summarize information about L2 batches
  on chain in a CSV format
- Spider's child threads have been revived
- The longstanding "dangling-bone" issue is fixed
- A longstanding memory leak in the compiler has been fixed, and
  structural sharing has been improved
- A bug has been fixed in `+uno:by` when called with an empty map
- `;<` now uses a hygienic expansion, so that it doesn't shadow `$` when
  looping
- There is now a `$+` rune for adding type "names" to improve printing
  types
- Ring signatures in lib/ring have been revived
- Some fixes to the LSP support
- Getting up to date with azimuth is now significantly faster
- Various other fixes and improvements

Breaking changes:

There are very few actually breaking changes in this release.  We
sampled about 30 apps from the network, and only two required any
changes beyond updating the sys.kelvin.

- This reduces the Lull kelvin to 329 and the Zuse kelvin to 418.  This
  means every app needs to release a new version that at a minimum
  changes sys.kelvin to reflect the new kelvin.  Any changes which are
  made to deal with other breaking changes should be made in the same
  commit if possible.

- Prior to this release, you could assume that any file referred to by
  Clay was available to be read.  Now, it may have been tombstoned,
  unless it's at the head of the desk.

- Clay's blob type has been removed, so anything that refers to it
  should use the page instead.  This is mostly internal to Clay, so apps
  are unlikely to be affected.

- The trie (`axal`) operations have changed, so any apps which used it
  should be modified to reflect the new interface.

- The type of the `dome` returned from a Clay `%cv` read or scry has
  been altered to remove the ankh cache.

Further details:

Khan is a new vane which has two purposes:

- To provide a request/response interface to running threads
- To allow the runtime to trigger running a thread and receiving the
  response, giving a cleaner option for controlling your ship from Unix.

Prior to this release, running a thread required interacting directly
with the spider app, through a complex sequence of poke, watch,
poke-ack, watch-ack, fact, and kick.  This replaces that with a simple
request/response pattern.  To run a thread, use a move like:

    [%k %fard %base %hi %noun !>(`~zod)]

Once it completes, you will receive a move like:

    [%k %arow %& %noun !>("hi ~zod successful")]

(Note the `-hi` thread happens to produce a tape, but a thread can
produce anything).

A later release will add runtime support so that these can be triggered
from Unix as well.

Clay is primarily made up of files and commits.  Each filepath
in a commit has a pointer to a file.  A "tombstone" is when that file
does not exist in our object store, so the pointer has no target -- it's
just a marker saying "the data that was here is gone". This saves
the memory that the file would have taken.

Clay has no way to remove commits or any other metadata, but it does
have a way to remove files.  However, since files may be referred to by
multiple commits, this must be handled with care.

The paradigm is that each commit has a set of configurable rules
("norms") determining whether to preserve the files it points to, or
whether they're candidates for tombstoning.

Note that these norms governs future actions, but you can't infer from
the norms whether or not you actually have a blob; you must check that
directly.  If the norms says a file can be deleted, it may not actually
be deleted if the norms for another commit require it to be preserved.
Similarly, if a file has already been tombstoned, setting the norm to
require it to be preserved can't resurrect it.

In addition to the per-commit norms, each desk has a "default norm",
which applies to any commits which have not been given specific norms,
including new commits.

Finally, we always guarantee that the head of each local desk has no
tombstones.  Any operation which would violate this will crash.

The norms are specified as a trie of paths to loobeans, where "yes"
means to keep the file.  These are interpeted as a set of overlapping
rules.  For example:

    =|  =norm:clay
    =.  norm  (~(put of norm) / %&)
    =.  norm  (~(put of norm) /app/js %|)
    =.  norm  (~(put of norm) /app/js/special %&)
    norm

This means "keep everything under /, except don't keep anything under
/app/js, but if it's in /app/js/special, then keep it anyway".  The most
specific rule applies.

This gives the following interface changes:

If you try to scry for a tombstoned file with %x, that will crash, just
as if the file didn't exist or was on a foreign desk that we don't have
cached.

%z works correctly on commits with tombstoned files, since the tombstone
contains the hash.

If you %warp for a tombstoned file with %x, it will not respond, same as
if the file was on a foreign desk that it couldn't contact.

We recommend being conservative in tombstoning files, especially at
first.  In particular, until everyone has received this release, ships
on the previous version won't be able to ingest tombstones from ships on
the new release.  For this reason, we recommend don't yet recommend
tombstoning anything on galaxies, stars, or ships which distribute apps.

If you do want to tombstone files, these are the most common commands:

- `|norm ~ship %desk /path %|`.  Modify the default norm for the that
  ship/desk to include/exlude the given path.  This is the primary way
  we expect to tombstone files.

- `|pick` runs the current norms, tombstoning everything it can.  This
  does not happen automatically.

- `+norms`.  Print default norms for all desks.

- `|tomb /=base/5/path/to/file`.  Sets the minimum norms required to
  remove that file.  Add `, =dry &` to see what it's going to do before
  it does.  Note that it sets the norms for commits individually;
  sometimes it's simpler to set the default norm for the entire desk.

These are additional fundamental commands:

- `|pass [%c %tomb %norm ~ship %desk (~(put de *norm:clay) / %|)`. Set
  the default norm for the given desk.  This example norm represents
  "tombstone everything".

- `|pass [%c %tomb %worn ~ship %desk 0vtako *norm:clay]`.  Set the norm
  for a specific commit.

- `|pass [%c %tomb %seek ~ship %desk ud+5]`.  Downloads the blobs
  associated with a specific foreign desk revision.  For use when you
  have tombstoned parts of a foreign desk that you now want to re-fetch.

- For emergency use only: `|pass [%c %tomb %all ~]`.  Tombstone
  everything possible.  Does not change norms.

This introduces the first version of an optional system for commit
messages in Clay.  They are stored in a `.story` file on each desk,
which stores a map of commit hashes to commit messages.

These are the primary commands.  All of them accept an optional `=desk
%desk` argument and some have other optional arguments.

- `|story-init` creates a blank story file

- `|story-write 'title' 'content'` writes the commit message to the
  current desk for the current version

- `|story-remove ud+5` removes the commit message from the given
  revision.

- `+story-read` prints a summary of the commits messages, in recency
  order.

In case of a merge where two different commit messages are stored for
the same commit, both will be preserved.

We have a trie data structure called `axal`, which has been greatly
expanded in this release.  It now contains the following operations in
the +of core:

- `get`: retrieve the item at a path
- `fit`: retrieve the item at the longest prefix match for a path
- `has`: check whether a path has an item
- `put`: put an item at a path
- `del`: delete the item at a path
- `lop`: delete all items under a path
- `dip`: descend to a path
- `tap`: serialize to a list
- `tar`: serialize to a map from path to items
- `gas`: put several items from a list

Contributions:
DaneBettis (2):
      vere: add %nara %hela hints, add a hoon test module for hints
      changes in response to code review

Joe Bryan (3):
      hoon: updates %mcgl with an hygienic expansion
      hoon: plug type leak in vase literals by properly burping %hint
      hoon: preserve structural sharing by testing subject/product equality in +burp

John Franklin (2):
      vat: add +vat, a single-desk version of +vats
      show-vat: change output formatting to match +vats

Jōshin (59):
      khan: vane skeleton
      khan: basic +call, types
      khan: %done task
      khan: closer to starting threads
      khan: wip fyrd
      khan: wip threads v0
      khan: cleanup
      khan: accepts thread arguments with marks
      khan: functionally done
      khan: del in %kick
      khan: cleanup
      khan: strip inner faces from +bear
      khan: PR feedback, wip tests
      khan: +bear allows a full +beak
      test: khan test cleanup
      spider: blank lines
      khan: add %fard/%arow for in-arvo threads
      test: rewrite khan start-args unit test
      test: wip full-run test
      khan: docs, lift arg vase into (unit)
      khan: parameterized types, nested implementation
      khan: cleanup, namespace
      test: full run, happy path
      test: %khan full run, %fyrd
      test: remaining %fard failures
      test: refactor, strip out inner %fard call
      test: %fyrd fail case
      test: cleanup
      test: cleanup
      test: missing mark cases, further cleanup
      test: tlv
      khan: name $cast type
      khan: move =/ down
      arvo: introduces $crag
      test: fix
      khan: cleanup
      khan: randomize tids
      test: fix failure introduced by random tids
      khan: alignment
      khan: better wire production
      khan: structural slap, not general slam
      khan: initial state version is %0
      khan: %fard/%arow use $cage, not $vase
      khan: update docs
      test: 1162
      arvo: remove redundant *
      khan: use +en-beam / +de-beam, wide form
      khan: separate arms by blank comments
      khan: handle multiple %fards in one event
      khan: don't reset tic
      test: confirm different tids on same eny
      arvo: $card is not a cask
      arvo: remove $crag, promote $page
      khan: docs
      khan: saner tic rollover, remove our
      hoon: fix comment whitespace
      lull, zuse: cool
      khan: minor whitespace cleanup
      arvo: $card is (cask)

Liam Fitzgerald (5):
      eyre: include mark of fact in channel json
      eyre: address mark review, update pill
      zuse: add ++ns:dejs:format
      clay: break out ford memory usage in more detail
      clay: be careful with subject in ford results

Philip Monk (75):
      clay: Add support for representing tombstones
      clay: refactor +wake
      ted: remove unused -azimuth-tracker
      helm: add poke to helm to allow self-breaching moons
      clay: use XX for things that really need to change
      clay: align comments
      clay: add basic %tomb
      clay: prefer life
      clay: add upgrade to %11
      hoon: fix +uno:by when map is null
      clay: require non-dead files at head of remote
      clay: extend %tomb to delete all unneeded blobs
      clay: style
      clay: bump kelvin, refactor
      clay: unify all trie implementations
      clay: address review comments
      clay: add norm state, remove mark from %delta blobs
      clay: add gc routines
      clay: make +pick fast
      clay: trying to find %dead bug
      clay: address review comments
      arvo: revert axal to use $
      clay: add norm to +pick cache
      clay: allow to set norm for past revision
      clay: add %tako scry
      clay; fix overly cautios tombstoning
      clay: add |tomb
      clay: add |norm
      clay: don't download unneeded blobs
      clay: seek wip
      clay: convert all blobs to pages
      clay: use old requests for now when backfilling
      clay: address review comments
      clay: wip
      arvo: rename +de to +of
      clay: cleanup
      clay: remove ankh
      clay: enable mounting revisions of desks
      clay: collapse version 12 into 11
      clay: new ford cache
      clay: remove +build-leak
      clay: remove -k arms
      clay: rename ford-cache->flow
      clay: add sprig cache
      clay: rename poor->mist
      clay: reduce printfs
      clay: add dependencies to stack on sprig hit
      clay: address review comments
      clay: add %sweep scry to verify refcounts
      clay: comment
      clay: add |pick
      clay: fix |pick
      hoon: in molds, unify result with input
      clay: tweak |mass output
      clay: validate files in separate roads
      clay: only maintain mime cache if mounted
      kiln: use %only-that for vats merges
      helm: emit moon-breach in new event
      eth-watcher: fix upgrade
      tests: fix various
      various: make all files build correctly
      arvo: reduce priority of lifecycle printfs
      clay: fix stack while building directories
      clay: re-export page to not break apps
      clay: tweaks from walkthrough
      clay: fixes
      clay: don't require head of foreign desks
      clay: fetch entire latest foreign commit
      clay: progress download when receiving tombstone
      clay: make trim clear ford cache
      clay: add tomb scry
      clay: don't add lobe to wire to avoid flow leak
      ames: fix comet communication with breached ship
      clay: add logging commands
      clay: update tests

Ted Blackman (2):
      ames: |ames-prod to reset congestion control
      ames: pop the next packet, not the first packet again

Yaseen (43):
      clay: add new `%s` scry which gives the `tako` for a given beak
      story: add generator `+story-list`
      story: add generator `|story-add`
      story: add generator `|story-remove`
      story: rename generator `|story-add` to `|story-set`
      story: let |story-set take a case and make it optional
      story: add generator |story-init
      story: amend |story-set to use the tako from appropriate desk
      clay: implement `%base-tako` scry under the `%s` care
      story: make `|story-init` use new types and make overwriting optional
      story: update `|story-set` to use new types
      story: make `|story-list` use new types
      story: add generator `+story-log`
      story: misc changes
      story: update `|story-remove` to use new types
      story: misc changes
      story: make `+story-log` use arms from lib
      story: cleanup
      story: fix to-text arms
      story: misc changes
      story: generators improvements
      story: fix |story-remove and allow it to remove a specific prose
      story: make desk an optional param in story-list
      story: shorten recur statement in +story-log
      story: |story-set: better error message on missing desk
      story: add generator help text
      clay: add scry for case existence check
      story: make |story-{set,remove} use $cash instead of $case
      story: check for storyfile existence and use case from beak where appl.
      story: fix generator bugs
      story: generators: add check for invalid case
      story: generators: fix case scry
      story: generators: add desk existence everywhere
      story: fix scry path in |story-set
      story: generators: fix case check
      story: fix output formatting in `+story-log`
      clay: fix bug in fuse
      story: rename generators
      review: align end comments
      review: symlink base-dev files into arvo
      story: allow `|story-write` to also accept a lone title
      story: enforce 80 cols, fix formatting, update comments
      story: marginal output formatting improvement to `+story-list`

drbeefsupreme (37):
      naive: l2 csv thread initial commit: timestamps
      naive: L2 csv thread refactor filters
      squash! naive: L2 csv thread refactor filters
      naive: L2 csv transaction receipts
      naive: L2 tx csv gas price request
      naive: L2 csv swap lists to maps
      naive: l2 csv first data collation
      naive: l2 csv add roller address to collated data
      naive: l2 csv - names for address, hash, blocknum
      squash! naive: l2 csv - names for address, hash, blocknum
      squash! squash! naive: l2 csv - names for address, hash, blocknum
      naive: l2 csv get naive effects
      naive: l2 csv all relevant data in one map
      naive: l2 csv flatten data into list of tx
      naive: l2 csv export csv file
      naive: l2 csv refactoring for readability
      squash! naive: l2 csv refactoring for readability
      naive: l2 csv add ^sein:title field
      naive: l2 csv change gasUsed to effectiveGasPrice
      naive: l2 csv add @da to saved file
      naive: l2 csv factor out %eth-get-timestamps
      naive: l2 csv factor out %eth-get-tx-receipts
      naive: l2 csv more informative printfs & comments
      squash! naive: l2 csv more informative printfs & comments
      squash! squash! naive: l2 csv more informative printfs & comments
      spider: fix child threads
      squash! squash! squash! naive: l2 csv more informative printfs & comments
      spider: mv %thread-done %thread-fail to base-dev
      squash! spider: mv %thread-done %thread-fail to base-dev
      naive: l2 csv style changes
      naive: l2 csv error handling for child threads
      naive: remove name collision for block
      naive: l2 csv remove wip comment
      naive: l2 csv correct tx-data initialization
      naive: l2 csv remove space from line >80 char
      naive: l2 csv more comment spacing
      naive: l2 csv remove scag on logs for testing

fang (18):
      hoon: hook up $+ for shorthand type rendering
      spider: factor spider-arg type out into interface
      ph: remove deprecated migration testing threads
      pill: use %pill mark, not %boot-pill
      aqua: cache results of booting ships from pill
      aqua: use cache for fake ships only
      aqua: fix most tests
      azimuth: allow configuring of the refresh rate
      aqua: support injecting arbitrary tasks
      aqua: increase azimuth refresh rate for real ships
      aqua: cache real ships as well
      aqua: stub out azimuth snapshot in pills
      aqua: remove todo list note
      ph: clarify comment in moon test
      aqua: support using real moons
      aqua: disable cache loading for real ships for now
      hoon: make manual shorthand type printing prettier
      aqua: revert erroneously committed changes

lukechampine (5):
      ames: don't enqueue blobs sent to unknown comets
      ames: fix comet self-attestation handling
      ames: add sendkeys-packet
      tests: add message flow tests for comets
      ames: add resend timer for attestation requests

pkova (2):
      eth-watcher: implement optional to-block parameter
      eth-watcher: remove obsolete zoom-margin handling

ryjm (3):
      %home -> %base
      arvo: language-server desk support
      fix typo and beak

yosoyubik (26):
      roller: fix wrong ship quota
      roller: add support for forced transactions
      roller-rpc: make force field optional
      roller: keep force flag in sending transactions
      roller: check for existence in resend nonce
      roller: include signing address in sending txs
      roller: bug fix in looking for sending diff
      roller: add batch-trimming functionality
      roller: make output less loud
      roller: fix parsing nonces with dot separator
      ames: fix dangling-bone error
      ames: fix cached state in larval upgrade
      ames: address review
      ames: don't drop events with old wires
      ames: fix emit of parsing old wire log
      ames: remove sigwut
      ames: use +trace to print logs
      ames: remove unused ames-to-ames %plea logic
      azimuth: revert azimuth change in 60cc44e
      ames: hardcode rift for comets in state upgrade
      azimuth: use %kick poke to restart subscriptions
      eth-watcher: discard future pend-logs in watchdog
      ames: fix 4-to-5 state migration
      azimuth: restart %eth-watcher if not running
      ames: start drainage timer if regressed from adult
      ames: indent

~datnut-pollen (1):
      naive: l2 csv apply ~wicdev's style suggestions

~nallux-dozryl (1):
      Fix comment indent for abs:si

urbit-v1.9

Toggle urbit-v1.9's commit message
urbit-v1.9

Arvo 418 K
Vere 1.9

This release decrements the Zuse Kelvin version, so everyone MUST
upgrade their binary to this version before the corresponding OTA can be
applied.

Release notes:

- Adds a command to `urbit` to update the binary.  In future, when a new
  binary is ready, simply run `urbit next <pier>` to get the update.
  After install, restart with `<pier>/.run`.

- Copies of the binary are now managed inside the pier, for newly booted
  ships, or upgrades installed via `next`.  Such piers can be restarted
  with `<pier>/.run` (or `<pier>\.run.exe` on windows), without
  additional arguments.  Run `urbit dock <pier>` to include the binary
  in a pre-existing pier.

- Merges the `urbit-worker` binary back into `urbit`.  The interprocess
  boundary still exists, so there will be two `urbit` processes started
  for each ship, but these are now the same binary.  Old commands such
  as `urbit-worker meld <pier>` are now available as `urbit meld <pier>`.

- Adds support for long-form command-line arguments.  Run `urbit` to see
  them all.

- Adds `--http-port` and `--https-port` arguments, allowing you to
  choose which ports to use for Eyre.

- Adds Conn driver, which allows Unix processes to communicate with
  Urbit via a Unix socket.  The primary handler will be the Khan vane,
  to be introduced in Urbit OS 418K.

- Fixes issue on Windows where multiple ships couldn't run at the same
  time.

- Adds hints to print the current stack trace

- Disables page tracking on inner roads

- Improves path sanitization

Contributions:

Claudia Richoux (1):
      adding check to fix

DaneBettis (4):
      vere: add %near and %hela tracing hints
      vere: add %nara %hela hints, add a hoon test module for hints
      vere: add hela and nara hints
      changes in response to code review

Joe Bryan (60):
      u3: fix compilation of dynamic hints in tail position
      u3: fix snapshot corruption by preemptively dirtying the loom
      u3: refines snapshot system docs
      jets: plug leak in (slaw %p ...)
      vere: refactors urbit-worker argument parsing
      vere: removes urbit-worker
      vere: adds lmdb/disk info to cmd
      vere: removes all reference to urbit-worker
      vere: opens event log to aquire pier lock in all stateful utilities
      vere: removes obsolete windows binary extension handling
      vere: temporarily disables ctrl-c on windows
      vere: refactors http request socket stealing
      vere: adds runtime status endpoint (reflecting current spinner state)
      vere: restores ctrl-c on windows, fixes latent handle precision bug
      vere: refactors serf i/o initialization
      vere: stubs out --next upgrade flag
      vere: factors out generic curl get from pill download
      vere: implements check for next version
      jets: plug leak in (slaw %p ...)
      vere: support restarting with implicit pier (at $pier/.run)
      vere: fixes up get next version
      vere: adds support for configurable release channels
      vere: implements upgrade
      vere: refactor _king_get_vere()
      vere: link binary on boot
      vere: compat: polyfill link() on windows
      vere: compat: link binary at $pier/.run.exe on windows
      vere: copy argv[0] before calling dirname()
      vere: temporarily "vendors" whereami lib
      vere: get binary self-path with whereami lib
      vere: copy binary instead of link on boot
      vere: backs out overly zealous path canonicalization assertions
      vere: plugs leak, notes TODOs
      vere: adds `mass` as synonym for `grab` subcommand
      vere: switches upgrade to subcommand (`next` instead of `--next`)
      vere: only define actively used architecture strings
      vere: implements --no-dock to disable binary copying/linking
      vere: implements `prep` (for upgrade) subcommand
      vere: supports subcommands via `$pier/.run cmd`
      vere: retries read/write errors when copying binaries
      vere: refactors binary download, prevents overwriting existing binaries
      vere: hack around linux crash on libuv cleanup
      vere: corrects base url for binary download
      nix: vere is always built for a pace
      vere: refactors macros for binary alias ($pier/.run)
      vere: refactors binary copy on boot to use hardcoded pace
      vere: address review comments for upgrade functions
      vere: refactors getting next version string
      vere: improves error handling in binary download
      vere: adds -a/--arch option to next subcommand
      vere: adds dock subcommand for copying binary into pier
      vere: adds vere/fetch-vere subcommand for downloading a binary
      vere: fixes function comments in main.c
      vere: bumps version to 1.9-rc4
      vere: trim trailing whitespace from pace file
      vere: fixes -X scry/export (broken in previous refactoring)
      vere: trim trailing whitespace from pace file
      vere: create $pier/.bin/pace automatically
      vere: disable printfs on failed requests to $version/next
      vere: bumps version to 1.9-rc6

J�shin (211):
      khan: io driver skeleton
      khan: listening on socket
      http: check return of snprintf
      khan: unlink socket on close
      khan: assert name
      khan: TODO, init pipe after unlink
      khan: sequence number before socket open
      khan: no uv_connect_t, spacing
      khan: thoughts in conn_cb
      khan: thinking intensifies
      khan: use u3_Host.dir_c consistently
      khan: open socket on %born completion
      khan: error handling
      khan: wip driver implementation
      khan: fix pointer reference
      khan: refactor, fix memory issues
      khan: close on uv_read_start failure
      khan: wip use u3_moat instead of raw uv_pipe_t
      khan: minor formatting cleanup
      khan: use u3_moor
      khan: do not unlink / close unless live
      khan: remove ioctl include
      khan: cue, remove obsolete read_cb
      khan: sending requests to vane
      khan: send as %fyrd
      khan: constant first
      khan: log on unlink on exit
      khan: close stream on EOF
      khan: skeleton for effect parsing
      khan: full round trip achieved
      khan: no we don't
      khan: send errors over socket
      khan: comment
      khan: u3z in _khan_ef_handle
      khan: remove %set-config stub
      khan: store connection number on u3_shan
      khan: special case removing chan at list head
      khan: bail on unknown effects
      khan: bail properly
      newt: decode no longer crashes on bad length
      khan: code review input
      khan: fix typo
      vere: alphabetize in u3_opts
      vere: add undocumented -h option
      vere: extract u3_reck_lily
      khan: try to send %socket-done on close
      khan: just %done
      khan: strip out sequence numbers
      khan: before i forget
      Revert "vere: add undocumented -h option"
      khan: print stack traces, some cleanup
      vere: alphabetize getopt short options
      khan: noop on windows
      auto: comment style
      khan: unwrap jar, switch on i.jar
      newt: change framing to tag byte + 32-bit length
      test: fix newt tests
      khan: wip naive scry implementation
      khan: trivial style cleanup
      khan: wip scries, moves, request ids
      vere: typo in lord.c peek docs
      khan: poke destructuring now case-independent
      khan: flip request-id order, add request list
      khan: cleanup, request-ids in kick_f
      khan: fix ci
      khan: reformat %peek, report %fyrd errors, misc
      khan: _khan_read_wire takes tag, rename fn
      khan: redo error logic
      newt: remove fprintf
      khan: assert
      khan: include %avow in response
      khan: urth namespace stub
      khan: remove TODO, clean up docs
      khan: remove _khan_close_socket
      khan: document %peek overlay
      khan: always open socket, make %fyrd conditional
      khan: naming scheme for _khan_init_sock
      khan: fix comment
      khan: comment formatting
      khan: comment fixes
      vere: export u3v_lily
      test: we stopped futureproofing at some point
      khan: comment changes
      khan: better noun refcounting, errors
      khan: only plan %done if vane is present
      vere: fix u3v_lily bounds checking
      vere: reorder u3v functions
      test: fix make output, add boot tests
      test: return 0
      vere: use u3r_safe_word instead of u3r_word_fit
      nix,vere: move ivory def to its own source file
      test: cleanup
      vere: schnorr jets
      vere: remove headers from configure script
      vere: change include file name in compat
      vere: reading comprehension :(
      khan: rid is any-sized atom
      khan: stub out new commands
      khan: implement %ovum
      khan: -> conn
      conn: van_o -> kan_o
      conn: comment
      conn: comment
      conn: some peel/urth functionality
      conn: various fixes and cleanups
      conn: merge lines
      conn: comments
      build: arm64 architecture
      conn: don't send roc
      unix: asserting wrappers around unix fs calls
      vere: replace fs calls with asserting counterparts
      vere: extra fs calls
      main: canonicalize paths from command line
      unix: whitespace cleanup
      unix: comment format
      noun: noop, C 'types' being what they are...
      vere: move lockfile from unix to disk
      unix: escape overloaded paths
      unix: bugfixes
      compat: mingw realpath
      unix: use (sane %ta) out of arvo
      main: simplify _main_repath
      unix: don't require that string is non-empty
      unix: remove extra layer of conditional
      vere: rename u3_unix_{safe,cane}
      unix: reformat comments
      vere: remove walk, move save to unix
      vere: remove 'new' from header comments
      unix: code review feedback
      unix: c3_
      unix: use $ for types
      unix: hard-code %put base directory
      unix: reorder checks
      main: repath scry path
      unix: test cases
      unix: fix compile warning
      unix: cane before root removal
      main: support files in cwd
      main: repath cleanup
      unix: fix regression in _unix_scan_mount_point
      unix: comment with suggestions for future
      unix: knot mapping that is not a valid @ta
      noun: go ahead and enforce that invariant (urbit#5579)
      conn: describe +fyrd interface to %khan
      conn: comment format
      jets: mark schnorr jets non-perfect
      jets: remove sosi/sove testing flags
      vere: mv ivory header out of ur
      conn: add port request
      conn: extract %peel response
      conn: produce command line arguments
      vere: remove log lines
      conn: peel: /help, /mass stub, /vars stub
      vere: remove unused declarations from vere.h
      conn: cleanup peel response
      vere: comments around fs wrappers and unix.c
      conn: provides ames metrics
      conn: cleanup docs, document %peel
      conn: more docs cleanup, describe %ovum updates
      conn: u3i_chub in ames stats
      conn: remove unused inn_u
      conn: remove cram
      Revert "conn: produce command line arguments"
      vere: ivory.h u3 header convention
      conn: fix break style
      vere: per-block indentation
      conn: remove args from help list
      conn: hopefully clarify bail termination
      conn: peel is (unit), not (unit (unit))
      conn: don't send %work
      newt: use 0x0 instead of 0x9
      conn: alignment
      Revert "conn: provides ames metrics"
      vere: s/info/slog/
      vere: implement noun-style info in conn %vars
      conn: read http / https ports from pier
      conn: typo
      ames: comment
      conn: indentation
      conn: basic http server info
      vere: resolve /vars type
      test: move _test_lily into noun_tests
      vere: u3_pier_info (and use in conn)
      conn: document /info type
      vere: sort motes
      vere: remove unused and wrong mote
      vere: prune wrong motes
      conn: update header comment
      vere: info measurements as $mass
      vere: disk info
      vere: lord info
      vere: guarantee unique concatenated names
      vere: drivers in driver link-order
      conn: refcounts
      conn: use %bail instead of %fail
      vere: add http/s port flags
      http: abort increment/bind loop on manual port
      vere: long-only opt for http/s port
      http: print port in error message
      conn: don't u3z(u3_none)
      conn: futureproof comment
      vere: remove short flags from header comment
      disk: %read info
      conn: add %peel /who
      conn: condense _conn_moor_poke
      conn: send errors on bail
      repo: fix ent build on mingw
      conn: extract _conn_make_cran()
      conn: clean up whitespace
      conn: windows
      conn: add --no-conn option

Liam Fitzgerald (1):
      vere: update event injection for four letter vanes

Peter McEvoy (8):
      u3: comment u3a_* macros
      u3: re-add accidentally-removed openssl header file
      u3: add header guards to header files in pkg/urbit/include
      u3: disable page tracking on inner roads (urbit#5477)
      vere: use hex literal for database size passed to u3_lmdb_init()
      u3: document page tracking subtleties when taking snapshot
      u3: unify interpreter opcode information using X macro
      u3: comment use of X macro in interpreter

Philip Monk (6):
      vere: bump kelvin to 329/418
      vere: add low water mark debug printf
      conn: remove printf
      vere: correctly measure .urb/put path
      vere: bump version to 1.9-rc1
      vere: bump version to 1.9-rc3

fang (4):
      vere: support long-form command line arguments
      jets: cache hmac hashing gate
      vere: do not use mainnet-proxy for galaxy booting
      u3: improve %bout time printing

urbit-v1.9-rc6

Toggle urbit-v1.9-rc6's commit message
vere: bumps version to 1.9-rc6

urbit-v1.9-rc5

Toggle urbit-v1.9-rc5's commit message
vere: bumps version to 1.9-rc5

urbit-rc-v1.9-rc4

Toggle urbit-rc-v1.9-rc4's commit message
vere: bumps version to 1.9-rc4