Tags: bzol/urbit
Tags
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
- 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
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
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
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
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
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
PreviousNext