Releases: urbit/urbit
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
+vat
hint 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
411k-1-rc2
Description
During pre-release testing of 411k-1-rc1 we discovered that doing commits on ships publishing popular desks could take hours. The cause for this was found to be excessive %clog
checking in Ames. This release candidate contains #6970 to fix the problem. Note that this bug pre-existed 411k-1-rc1.
What's Changed
- 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
Full Changelog: 411k-1-rc1...411k-1-rc2
411k-1-rc1
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
+vat
hint 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
- Merge master to develop after 411k release by @pkova in #6951
- 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
411k
%base hash (check with +vat %base): 0v1j.tpk01.3hm2i.54kf6.jic8l.cl9e6.vi5gh.bu7or.l9pnu.ovup1.b4l49
%zuse 411
%lull 323
%arvo 237
%hoon 138
Description
The highlights of 411 are the following:
- Encrypted remote scry, both two-party and multiparty versions.
- Informal pings, significantly lessening the load on galaxies. Most ships will still ping their galaxies every 25 seconds but now these pings don't go to disk. The pings previously prevented galaxies from serving more than a few thousand ships without workarounds.
- Epoch system. Every subsequent vere version creates its own epoch of the event log, making jet mismatches less of a hassle. The
urbit chop
command also actually deletes the event log now instead of making a backup. - Persistent Nock Caching allows us to cache any computation. We are starting slow with this one to get a better idea of the memory usage, but this will allow us to eventually cache everything from initial boot to most of the Ford build system.
- MDNS local routing. Ships on the local network or the same machine can leverage Bonjour on macOS and Avahi on Linux to automatically find each other. This helps connectivity in scenarios where the router does not do NAT hairpinning and will probably be the preferred method of establishing connections for hosting providers in the future.
Encrypted remote scry guide
The ames %chum
task is the two-party encrypted remote scry task. The task has the exact same interface as the ames %keen
. Here is an example of fetching sys.kelvin
from ~zod
from inside a gall agent:
[%pass /your-wire %arvo %a %chum ~zod /c/x/1/kids/sys/kelvin]
The multiparty encrypted scry is slightly more complicated. First, the publisher creates a named security context with the %germ
:
[%pass /your-wire %germ /your/security/context]
Then the publisher publishes some data to the security context using %tend
:
[%pass /your-wire %tend /your/security/context /hello/this/is/path %noun 'hello this is data']
Finally the publishing agent has to implement a scry handler for the security context:
++ on-peek
|= =path
^- (unit (unit cage))
?. ?=([%c %your %security %context @ ~] path)
``[%noun !>(%.n)]
=/ =ship (slav %p i.t.t.t.t.path)
?: =(~dinleb-rambep ship) :: your whitelist logic here
``[%noun !>(%.y)]
``[%noun !>(%.n)]
Now the client can use the gall %keen
to request data from /your/security/context, as long as he has the permissions:
[%pass /your-wire %keen %.y ~sampel-palnet /g/x/1/your-agent//1/your/security/context/hello/this/is/path]
Breaking changes
- The signature of the ames
%keen
task has changed from[%keen spar]
to[%keen sec=(unit [idx=@ key=@]) spar]
. Most applications will want to change to using the gall%keen
[%keen secret=? spar:ames]
, or alternatively the two-party encrypted%chum
.- Note that the keen function in
/lib/strandio
has been updated and your application requires no changes if you were using that.
- Note that the keen function in
- We discovered a bug breaking referential transparency in certain scenarios of remote scrying into gall. A fix has been deployed, but we also decided to version the namespace to mitigate these kinds of issues in the future. When upgrading to 411, all gall remote scry paths will be migrated to the new versioning scheme. See #6852 for details.
- The map function
rut:by
does not exist anymore, use the equivalenturn:by
.
What's Changed
- hoon: allow
%.
in spec mode by @wicrum-wicrun in #6460 - hoon: further explore ?#, fix bugs by @joemfb in #5983
- hoon: add pin and awl arms to test and trim subaxes by @eamsden in #6592
- hoon: fix gate currying by @Quodss in #6658
- hoon: add +zip to jar engine by @dr-frmr in #6423
- hoon: remove rut:by, duplicate of urn:by by @ashelkovnykov in #6640
- hoon: refactor unnecessary parameter to bif:by by @ashelkovnykov in #6639
- eyre: serve 503 if bound agent is not running by @Fang- in #6745
- Merge develop into next/kelvin/411 by @pkova in #6796
- lull, ames: add %dear task to receive lane from unix by @pkova in #6783
- eyre: more permissive channel creation by @Fang- in #6789
- Merge develop into next/kelvin/411 by @pkova in #6797
- eyre: add HTTP scrying by @lukechampine in #6741
- kiln: OTA merge approval (UIP 114) by @tinnus-napbus in #6793
- Revert "kiln: OTA merge approval (UIP 114)" by @pkova in #6800
- Revert "Revert "kiln: OTA merge approval (UIP 114)"" by @pkova in #6801
- eyre: allow header-list to contain multiple cookies by @pkova in #6799
- clay: return all takos in /cs/bloc scry by @pkova in #6808
- clay: iterate over all aeons in +read-at-tako by @pkova in #6807
- runtime-version: parse current version properly by @pkova in #6809
- hoon: make ?# wuthax work correctly by @Fang- in #5884
- hoon: fix gol type enforcement for trivial %cnts by @joemfb in #6751
- kiln: Desk publisher switcher (UIP-0111) by @tinnus-napbus in #6780
- Merge master back to develop after 412k by @pkova in #6812
- hoon: fix jet mismatch in +shas by @joemfb in #5861
- Revert "hoon: add pin and awl arms to test and trim subaxes" by @joemfb in #6819
- gall: send %cork only if hearing %ack for %leave by @yosoyubik in #6759
- dbug: add color for closing/corked flows by @yosoyubik in #6821
- eyre: prevent login redirect loops by @Fang- in #6814
- eyre: less permissive channel creation by @Fang- in #6816
- gall: add scry endpoint to expose agent state by @midden-fabler in #6785
- hoon: 138k by @belisarius222 in #6615
- ames: stateless dead flow consolidation by @pkova in #6823
- lull: add egg-any tagged union for gall scry by @pkova in #6825
- Merge develop to next/kelvin/411 by @pkova in #6827
- zuse: fix +de:base64:mimes:html by @pkova in #6826
- lull, ames: add %nail task to send lanes to unix by @pkova in #6828
- Merge develop into next/kelvin/411 by @pkova in #6834
- lull, ames: do not store jammed messages in unsent-messages by @pkova in #6835
- hoon: peg crash if b is 0 by @eamsden in #6833
- vats: handle insane desk names by @tinnus-napbus in #6824
- Merge master back to develop after 412k-2 by @pkova in #6841
- ames: persistently cache
++jim
and remove++dedup-message
by @matthew-levan in #6770 - arvo: persistently cache scry type checks by @matthew-levan in #6773
- eyre: simplify the login page ux a little bit by @Fang- in #6840
- Merge develop to next/kelvin/411 by @pkova in #6843
- hoon: fixes a serious bug in +fitz by @mikolajpp in #6647
- Merge master to develop by @pkova in #6848
- Merge develop to next/kelvin/411 by @pkova in #6851
- gall: add egg-any cast to %gv scry by @midden-fabler in #6855
- dojo: fix incorrect beak desk on non-base generator by @pkova in #6857
- gall: migrate sky to versioned path by @pkova in #6852
- eyre: append set-cookie header rather than clobbering by @ixv in #6850
- Allow multiple declarations on in de-xml:html by @will-hanlen in #6839
- Merge develop to next/kelvin/411 by @pkova in #6863
- ames: add STUN response handling by @yosoyubik in #6836
- ames: notify vere on %born and when sponsor list changes by @belisarius222 in #6781
- ping: remove print by @yosoyubik in #6868
- hoon: correct ?: miscompilation, loobean jet mismatches by @joemfb in #6859
- lib/dprint: fix crashes with recursive types and =, by @silnem2 in #6872
- all: enforce the gang when scrying by @pkova in #6876
- gall: security primitives for encrypted scry by @liam-fitzgerald in #6790
- Merge develop to next/kelvin/411 by @pkova in #6878
- gall: separate put:of-grow t...
411k-rc7
%base hash (check with +vat %base): 0vu.4lalo.1euu0.jjeft.b716o.7k9jn.8smc6.u3uq2.5pdl9.2h7m3.l7u21
Description
During pre-release testing of 411k-rc6 a bug was discovered with multiparty encrypted remote scry key reservation. This bug would break most old keys when a publisher would create a new encrypted remote scry key. This release candidate contains #6944 to fix the issue.
What's Changed
Full Changelog: 411k-rc6...411k-rc7
411k-rc6
%base hash (check with +vat %base): 0vt.hfkmt.tftl6.1ff0a.npdhm.ovq33.jrle6.2lqnt.vsatd.bj2k2.gurqp
Description
During pre-release testing of 411k-rc5 a serious problem was discovered with informal pings. This problem caused ships that were behind a NAT and running previous 411k release candidates to lose connectivity after restarting their ship. This release candidate incorporates #6936 and #6937 to fix the issue.
What's Changed
- ping: only ping galaxy by @pkova in #6936
- ames: emit %saxo on ++molt by @yosoyubik in #6937
Full Changelog: 411k-rc5...411k-rc6
411k-rc5
%base hash (check with +vat %base): 0v4.4r8a7.jt8e9.rhrjb.3pinr.oi4o9.06nbf.9fasn.tmf8s.0ur6v.uc2vk
Description
During pre-release testing of 411k-rc4 a regression was found in the -keen
thread where pressing backspace to cancel the thread would not actually cancel the %keen
request in ames. This release candidate contains #6931 to fix the bug.
What's Changed
- spider: track remote scry requests by @yosoyubik in #6931
Full Changelog: 411k-rc4...411k-rc5
411k-rc4
%base hash (check with +vat %base): 0v1a.n599d.je4qf.lj1mp.cu7h4.634aj.0mfoi.mg36j.fumm1.h9crn.pud1u
Description
During pre-release testing of 411k-rc3 we discovered a problem with |moon-breach
for moons with many subscribers. The root cause of this issue is somewhere in the sort
jet, but this release candidate includes #6921 that elides the sorting for remote subscriber ducts in jael.
What's Changed
Full Changelog: 411k-rc3...411k-rc4
411k-rc3
%base hash (check with +vat %base): 0v9.tkr3p.baong.darml.udvm7.occ6f.25t7b.k4qaf.atrvd.m29vk.0k1lp
Description
During pre-release testing of 411k-rc2 we discovered that some older gall and ames migrations were broken. This meant that upgrading to 411k would fail if you were upgrading from an older urbit-os version. This release candidate contains #6906 to fix the issue.
What's Changed
- ames, gall: fix old state migrations by @yosoyubik in #6906
Full Changelog: 411k-rc2...411k-rc3