Skip to content

Releases: urbit/urbit

411k-2

03 Jun 12:09
0364cdd
Compare
Choose a tag to compare

%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

Full Changelog: 411k-1...411k-2

411k-1

13 May 16:44
dad0bbf
Compare
Choose a tag to compare

%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

New Contributors

Full Changelog: 411k...411k-1

411k-1-rc3

03 May 13:35
eca32c4
Compare
Choose a tag to compare
411k-1-rc3 Pre-release
Pre-release

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

  • jael: notify gall the vane before notifying gall agents by @pkova in #6980

Full Changelog: 411k-1-rc2...411k-1-rc3

411k-1-rc2

22 Apr 13:03
9dc2ceb
Compare
Choose a tag to compare
411k-1-rc2 Pre-release
Pre-release

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

Full Changelog: 411k-1-rc1...411k-1-rc2

411k-1-rc1

12 Apr 12:15
ce5cea0
Compare
Choose a tag to compare
411k-1-rc1 Pre-release
Pre-release

What's Changed

411k

25 Mar 14:47
1242fd2
Compare
Choose a tag to compare

%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.
  • 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 equivalent urn:by.

What's Changed

Read more

411k-rc7

22 Mar 11:45
fa9e62c
Compare
Choose a tag to compare
411k-rc7 Pre-release
Pre-release

%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

19 Mar 13:06
699c8c1
Compare
Choose a tag to compare
411k-rc6 Pre-release
Pre-release

%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

Full Changelog: 411k-rc5...411k-rc6

411k-rc5

12 Mar 13:30
32b854e
Compare
Choose a tag to compare
411k-rc5 Pre-release
Pre-release

%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

Full Changelog: 411k-rc4...411k-rc5

411k-rc4

23 Feb 11:08
af16c5e
Compare
Choose a tag to compare
411k-rc4 Pre-release
Pre-release

%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