Releases: urbit/urbit
411k-6
%base hash (check with +vat %base): 0v3.o67ps.cq1fl.tk52p.jj2dg.d11ug.rlfum.9kpgl.2f08g.eluvl.1lu71
Today ~sarlev-sarsen discovered that some ships were showing their Azimuth ethereum block as being far in the future. This was caused by an Infura incident that briefly routed all HTTP requests to the Optimism blockchain instead of the Ethereum blockchain (https://status.infura.io/incidents/g9vzrcm5cv20). Most ships regrettably listen to Ethereum through an Infura node operated by Tlon, but this incident only lasted 10 minutes so not every ship was hit.
411k-6 fixes the issue for all affected ships.
This release is on ~zod and is propagating across the network.
What's Changed
- eth-watcher: rewind last block by @yosoyubik in #7129
Full Changelog: 411k-5...411k-6
410k-rc3
%base hash (check with +vats %base, =verb %.y): 0v1h.uvkp6.s8rfr.72una.v9saj.n3eck.bfioe.iv4q5.t220o.5opp7.rhni9
Description
During pre-release testing of 410k-rc2 a few issues were discovered:
- Double boot protection had a bug affecting old ships and another one for ships who were migrated to directed messaging.
- The directed messaging driver would be unnecessarily conservative in using direct routes.
- The manual migration for directed messaging was not performing enough sanity checks for the peer before executing the migration.
For testing guide, see the release notes for 410k-rc1.
What's Changed
- eyre: improve test ergonomics slightly by @Fang- in #7081
- mesa: update /~/boot endpoint to support |mesa peers by @yosoyubik in #7107
- azimuth-rpc: remove team check on-watch by @yosoyubik in #7101
- eyre: explicit 401 instead of implicit downgrade by @Fang- in #7076
- mesa: test migration before sending %ahoy $plea by @yosoyubik in #7108
- ames: fix ping-bone detection in %boot scry by @pkova in #7110
Full Changelog: 410k-rc2...410k-rc3
410k-rc2
%base hash (check with +vat %base, =verb %.y): 0vp.694fn.28f63.t8kk4.f7r4k.qnfkq.ud5dp.vl28c.ph3ab.qg3of.3slrm
Description
During pre-release testing of 410k-rc1 some issues were discovered:
- Cancelling remote scry threads with backspace was unreliable at best.
- The
%shutgroup encrypted remote scry namespace was not working. - Migrating ships to directed messaging was not possible in all cases.
- The runtime could exit ungracefully with a crash on ctrl+d when cleaning up DM driver timer handles.
- The DM driver would leak memory because of an unbounded remote scry cache and an unlimited pending interest table lifetime.
This release candidate fixes all of these issues. We also added stateless Urwasm to the 410 release.
For testing guide, see the release notes for 410k-rc1.
What's Changed
- Urwasm by @quodss in #7095
- dojo: stop thread after backspace cancel by @yosoyubik in #7105
Full Changelog: 410k-rc1...410k-rc2
410k-rc1
%base hash (check with +vats %base, =verb %.y): 0v5.tra5n.0ka63.jcmhd.0m1mg.m2trb.c3s7o.m42bk.tkape.gv8ff.or75d
Description
410 is a major release with the following highlighted features:
- Directed messaging, aimed at improving the reliability especially speed of Ames networking.
- Double boot protection, aimed at fixing one of the most common failure scenarios of operating a ship.
- Essential desks, preventing the most common upgrade failure scenario.
- Lagoon, native matrix math for Urbit.
- HTTP streaming, exposing the scry namespace to the web with caching in the runtime.
- Memory usage statistics in arvo, aimed primarily at helping hosting providers monitor their ships.
Breaking changes
There are very few breaking changes in 410, most applications will be compatible with no changes.
- The http scry url format has changed. Note that this does not affect scrying through
js-http-api:
old: https://dinleb-rambep.arvo.network/_~_/cx/===/sys/kelvin
new: https://dinleb-rambep.arvo.network/_~_/===/cx/sys/kelvin
- The infamous
|hihas a little known optional argument that allows you to send a message with your hi. This message is now of type atom instead of a tape. One byproduct of this is you can send a very large|hito other ships, not recommended unless you're on directed messaging. - Certain generators and threads have been namespaced, such as
+keysbecoming+jael/keys. The most commonly used generators such as+vatsremain unchanged.
Release candidate testing guide
This is a release candidate, do the following on important ships at your own risk
Download the appropriate vere binary for your platform:
curl -O https://bootstrap.urbit.org/vere/edge/v3.2-bc9a063d06/vere-v3.2-bc9a063d06-linux-aarch64
curl -O https://bootstrap.urbit.org/vere/edge/v3.2-bc9a063d06/vere-v3.2-bc9a063d06-linux-x86_64
curl -O https://bootstrap.urbit.org/vere/edge/v3.2-bc9a063d06/vere-v3.2-bc9a063d06-macos-aarch64
curl -O https://bootstrap.urbit.org/vere/edge/v3.2-bc9a063d06/vere-v3.2-bc9a063d06-macos-x86_64Use the binary to boot from a pill if you want a fakeship:
curl -O https://bootstrap.urbit.org/pills/410k-rc1.pill
chmod +x ./vere-v3.2-b825a6c30b-linux-x86_64
./vere-v3.2-b825a6c30b-linux-x86_64 -F zod -B 410k-rc1.pillOr download the update from ~marnec-dozzod-marzod if you're on a real ship
|ota ~marnec-dozzod-marzod
:: wait until downloaded
|bump
Directed messaging testing guide
410k-rc1 includes directed messaging, but it is not turned on by default yet. Initially, directed messaging has to be manually enabled on a peer by peer basis. Note that at the current time only the very sparsely populated galaxy ~sud can route directed messaging packets, which means that indirect galaxy routes will not work if you are under another galaxy. This is mainly a problem if the IP of a ship changes or if they're behind a NAT. Watch this space, we will migrate many more galaxies soon.
To migrate a peer to directed messaging, run the following command
|ahoy <the-ship>, =dry %.n
After that is successful, you can try sending a big |hi:
|hi <the-ship> (bex (bex 27))
If you want to switch back to using old ames you can do the following:
|rege <the-ship>, =dry %.n
You can migrate and test out directed messaging on the real network with ~dirmes-dozzod-dozsud.
What's Changed
- zuse: add blake3 by @lukechampine in #6802
- Nathan/crc32 by @nathanlever in #6997
- Add error message testing arm by @sigilante in #6908
- Create userspace utility libraries. by @sigilante in #6999
- Refactor /gen and /ted in %base; improve +help by @sigilante in #7017
- Add Easter egg at the Dojo prompt. by @sigilante in #6960
- Create /lib/math. by @sigilante in #7000
- eyre & scry endpoints for double boot protection, and rift to keyfile by @ripperi in #7005
- Merge master back to develop after 411k-3 by @pkova in #7036
- lull: do not validate %thread-done in the +strand monad by @pkova in #7035
- clay: respect the gang system by @pkova in #7038
- Fixing comment in test.hoon by @IzaacMammadov in #7039
- hoon: faster implementation of tuple indexing by @belisarius222 in #7034
- Add a Dojo help message on start. by @sigilante in #7031
- Add -new-app thread to build from repo /desk by @sigilante in #7026
- hoon: generalize +trim by @Fang- in #6887
-new-appbranch and directory by @quodss in #7046- Add txt/tang mark conversion by @sigilante in #7045
- Merge develop into next/kelvin/410 by @pkova in #7050
- eyre: use a-co:co not +format-ud-as-integer by @midden-fabler in #7053
- dill: implement %mass & %meme memory reports by @tinnus-napbus in #7037
- base: add egg-any mark by @midden-fabler in #7055
- Merge develop to next/kelvin/410 by @pkova in #7060
- eyre: add scry endpoint for http streaming by @midden-fabler in #7033
- dbug: fix debug authentication redirect for comet identities by @pkova in #7059
- gall: delete agent blocked moves on |nuke by @pkova in #7063
- mesa: misc. bugfixes by @yosoyubik in #7064
- Merge develop to next/kelvin/410 by @pkova in #7066
- Lagoon IEEE 754 floats by @sigilante in #6971
- UIP-0109: Essential Desks by @ripperi in #6862
- clay: fix error flopping by @midden-fabler in #7052
- hoon: expand =| through ^* to enable constant-folding by @joemfb in #6981
- autoprop: update for 411 by @Fang- in #7077
- eyre: don't %grow if duct not initialized yet by @Fang- in #7078
- clay: don't set zest %live unless zuse compat by @tinnus-napbus in #7075
- eyre: ensure initial channel response has a body by @Fang- in #7080
- dns: improve automatic dns configuration by @tinnus-napbus in #7074
- mesa: refactor and QoL improvements by @yosoyubik in #7042
- 410 by @pkova in #7091
- arvo: kelvin 410 by @joemfb in #6962
- [WIP] mesa: add Directed Messaging protocol by @yosoyubik in #6932
- hoon: adds new atom ops by @joemfb in #6961
- lull: adds $plot by @joemfb in #6963
- zuse: add chacha by @joemfb in #6978
- 410k-1 (misc fixes) by @yosoyubik in #7093
- gen: add |gall-lave to delete stale bitt.yoke by @yosoyubik in #6822
- fix shar:ed jet mismatch, add luck:ed, scad:ed, scap:ed, scas:ed, sign-raw:ed, sign-octs-raw:ed by @newxiphiness in #7094
- 401k-2 (misc. fixes) by @yosoyubik in #7096
- chore: remove redundant words in comment by @crystalstall in #7098
- eyre: separate session timeout for guest and auth by @Fang- in #7102
- eyre: don't drop session expiry timer by @Fang- in #7103
- mesa: misc fixes by @yosoyubik in #7099
New Contributors
- @nathanlever made their first contribution in #6997
- @ripperi made their first contribution in #7005
- @IzaacMammadov made their first contribution in #7039
- @newxiphiness made their first contribution in #7094
- @crystalstall made their first contribution in #7098
Full Changelog: 411k-5...410k-rc1
411k-5
%base hash (check with +vat %base): 0v18.s0keg.k75ag.suu88.ljdqm.br2t9.5f2cp.7l7i6.kvpi4.02bm8.kg9p5
Description
This release fixes three issues:
- The fine / eauth fix from 411k-4 caused performance degradation on some ships because of unnecessary allocations.
- The same fix had the potential to break galaxy lane caching in cases where the galaxies would restart the runtime.
- It was impossible to create a working pill for 411k-4 because of a Gall bug that a recent version of %groups uncovered.
We also include the egg-any mark that is needed for backing up and restoring ship state.
What's Changed
Full Changelog: 411k-4...411k-5
411k-4
%base hash (check with +vat %base): 0v1c.ssksn.igk95.cdp90.cgb71.8hn0b.48ukq.n17va.srq75.tank7.5o04k
Description
This week some longstanding flakiness with eauth was finally tracked down. The issue presented itself as some users hanging for minutes after pressing "Approve" on the eauth login screen. The problem was always transient and fixed itself after doing |hi with the counterparty ship.
The root cause of the problem was improper route management in Ames. In essence we were not timing out direct routes when using the fine remote scry protocol which caused the eauth flow to respond to a potentially stale IP address. This release contains #7082 to fix the issue.
The release also fixes an issue with the -dns-address flow which prevented self-hosted users from requesting a ship.arvo.network domain.
What's Changed
- ames: expire routes on a timer by @yosoyubik in #7082
- dbug: fix debug authentication redirect for comet identities by @pkova in #7059
Full Changelog: 411k-3...411k-4
411k-3
%base hash (check with +vat %base): 0v15.a5bh7.k4g2m.cla3q.9ko3q.29psk.a81d2.3h8uq.rt7ua.qahqt.j4c48
Description
A few days ago we discovered that the root cause of eAuth being flaky was remote scries failing if the ships had not communicated through Ames before. The bug was caused by incorrect permissions in the Ames %forward-lane scry endpoint. This release contains #7028 to fix the problem.
What's Changed
- ames: assume ok when handling next pending-vane-ack by @yosoyubik in #6998
- sail: Fix 'input' not being recognized as a self-closing tag by @wispem-wantex in #7011
- ci: update cachix, maybe fix ci by @pkova in #7023
- test-nock9-axis-cell by @quodss in #7022
- ames: really scry jael for sponsors when peer is alien by @pkova in #7028
- eyre: tweak time-related eauth numbers by @Fang- in #7027
Full Changelog: 411k-2...411k-3
411k-2
%base hash (check with +vat %base): 0v1r.efrfe.6djlo.6k6g1.dlq1d.qdmgo.8nd0k.dbbhu.0oiji.rehs5.35dpv
Description
411k-2 is a minor release to fix a congestion control issue that most commonly happens when Gall applications send a list of %facts in the initial subscription response instead of one large %fact. #6991 fixes this issue.
The release also adds the +commit-event generator to help with marooned ship recovery. This generator takes a path and creates a clay commit event from the path that can be written to unix with .event/jam +commit-event /path/to/clay/file. This event then gets saved to unix into <your-ship>/.urb/put/event.jam and can be injected to a misbehaving ship with <the-ship>/.run -I event.jam.
What's Changed
- pkg: include all relevant verb files in base-dev by @Fang- in #6992
- ames: do not clog live peers by @pkova in #6991
- gen: add +commit-event by @yosoyubik in #6977
- gen: commit %info instead of %into by @pkova in #7003
- ping: do not ping if we are a galaxy by @pkova in #7007
Full Changelog: 411k-1...411k-2
411k-1
%base hash (check with +vat %base): 0v1v.7d11h.3r3uv.nf5q5.dmn7e.oh2k5.laq86.hpq3c.qdh77.dqicb.k6s76
Description
411-1 is an intermediate release with bugfixes and features that didn't quite make it to 411.
The highlights of this release include:
- The verb+ log viewer in the debug dashboard (#6959).
- A bugfix for a problem where publishers of popular desks would take hours to run |commit.
- A bugfix for scenarios where Gall agents would receive a breach update before Gall the vane.
- Type shadows for commonly used types that used to print extremely large outputs in nest-fails.
- Ames and Gall bugfixes for "ignoring message on closing bone" spam.
This is not a kelvin release and therefore includes no breaking changes.
What's Changed
- clay: do not return false conversion gate from build-cast by @pkova in #6898
- drum: prevent Dojo crash with M-c on certain characters by @silnem2 in #6889
- test thread: now prints errors/failures in red instead of gray by @wispem-wantex in #6896
- Replace %garden with %landscape within
+vathint by @youfoundron in #6907 - gall: respond to /whey scries (for |mass) by @Fang- in #6911
- eyre: dynamic responses for empty cache entries by @Fang- in #6909
- eyre, dbug: eyre response cache visibility by @Fang- in #6913
- eyre: respect host from Forwarded header, if set by @Fang- in #6914
- eyre: update eauth endpoint timestamp less eagerly by @Fang- in #6915
- tests: make /ted/test compile again by @Fang- in #6917
- ci: red checkmark if any thread fails to build by @pkova in #6918
- dojo: allow assignation of faces prefixed with 'dir' by @silnem2 in #6905
- eyre: do not store localhost as eauth-url by @pkova in #6929
- vats: fix vats and make faster by @tinnus-napbus in #6939
- gen: |cp add recursive copy by @midden-fabler in #6935
- clay: respect %rein for desks without a bill by @joemfb in #6934
- vats: fix desk order by @tinnus-napbus in #6946
- gall: don't ack %leave for non-running agents by @yosoyubik in #6953
- gen: prevent re-creating existing moons in |moon by @Fang- in #6957
- spider: support speaking raw nouns by @Fang- in #6943
- ames, gall: fix "nacked-leave" logic by @yosoyubik in #6954
- verb+: detailed logging affordances by @Fang- in #6959
- ames: fix bug in dead flow consolidation toggle by @pkova in #6956
- base: %test agent - add desk to argument by @midden-fabler in #6955
- ci: catch khan errors in ci by @pkova in #6967
- base: %test arg -> test or [desk test] by @midden-fabler in #6964
- ames, gall: more sane clog handling by @pkova in #6970
- ames: remove spurious print by @pkova in #6973
- ames: fix spurious %10 in ++stay by @pkova in #6974
- ames: do not got:by in +check-clog by @pkova in #6975
- jael: notify gall the vane before notifying gall agents by @pkova in #6980
- hoon, lull: add pretty-printer type shadows by @ashelkovnykov in #6755
- lull: use $+ on types in +rand by @ryjm in #6979
- ames: fix old state migrations by @yosoyubik in #6976
New Contributors
- @wispem-wantex made their first contribution in #6896
- @youfoundron made their first contribution in #6907
Full Changelog: 411k...411k-1
411k-1-rc3
Description
During pre-release testing of 411k-1-rc2 it was discovered that Jael was delivering subscription updates to Gall the vane and individual Gall agents in an undefined order. This means that apps such as %phoenix that immediately poke a ship when hearing it breach would often never receive the poke-ack. This release candidate contains #6980 to fix the issue.
What's Changed
Full Changelog: 411k-1-rc2...411k-1-rc3