urbit-os-v2.139
·
3198 commits
to master
since this release
Zuse 413, Lull 324, Arvo 238
%base hash: 0vf.j7ii7.mrsm8.on3l8.a37hc.ol5m6.qrquc.c6r21.h2084.7sgd6.sk5oa
Overview
This release contains a few big-ticket items:
- Adds Fine, a remote scry protocol for performing scalable reads from other ships.
- Allows Gall agents to put data into the scry namespace, which can be read using Fine.
- Clay now uses Fine for distributing source code for public desks, including future kernel updates.
- Adds a
%set-responsetask to Eyre to serve a static response to an HTTP request from an in-memory cache in Vere, greatly improving scalability of serving data over the web. - Refactors JSON serialization and deserialization and adds jets, with a roughly 5x speedup.
- Adds support for noun-based channels in Eyre, so HTTP clients can communicate with either JSON or nouns.
Breaking Changes
- Apps that use JSON will need to drop compatibility for 414 and older Kelvins by default. The old
%jsonmark from 414 will not compile on 413, and this will not be caught at build time.- Make sure the
%jsonmark file in your app desk compiles on 413, and test your%jsonmark conversions to make sure they don't crash at runtime due to this change. - The json (de)serialization interface changed and is only backwards-compatible at the outermost layer (
+en-json,+de-json).apex:de-json:html, part of the JSON parser internals, isn't there any more.
- Make sure the
- A number of arms and new tasks and gifts were added to Lull and Zuse.
- These should not cause any issues unless your app code was expecting something very specific, such as if you were doing metaprogramming on Lull or Zuse (e.g. Pyro).
- The
%gallscry namespace has been changed:%gu, to check if an app is an running, has a new path format:- old:
.^(? %gu /=dojo=) - new:
.^(? %gu /=dojo=/$)
- old:
- Similar changes were made to all scries into Gall itself, but
%gxscries into agents remain the same. - If you want to scry into the new per-agent namespace that was added in 413k, it follows the new format:
.^(* %gx /=pals=/$/my-pals)
- The
$case:claydatatype was removed ($casestill exists, and has a new%uvtag for hash addressing in addition to the other three).- This affects lib/strandio, some threads, and anything user code that imported
$case:clay.
- This affects lib/strandio, some threads, and anything user code that imported
Other Changes
- Some bugfixes were made to Eyre's channel management.
- Improvements to
+vatsprinting and performance. - Fixes comment parsing after
=*and+*runes. - Adds an API to
+vangto toggle doccord parsing on or off. - Fixes a bug in Eyre that would show the login page when already logged in.
- Sets the default rift to 0 on fake ships, instead of 1.
- Adds "typed paths" to Hoon. A typed path can be constructed using a new
#/foo/barsyntax.
What's Changed
- clay: clear ford cache on +load instead of +stay by @philipcmonk in #5871
- hoon: typed paths by @Fang- in #5887
- ci: fix
next/kelvin/*workflows by @matthew-levan in #6430 - ci next kelvin prs by @matthew-levan in #6433
- ci: support
next/kelvin/*prs to other target branches by @matthew-levan in #6434 - ci: fix prs from
next/kelvin/*by @matthew-levan in #6435 - eyre: Add cache by @lukechampine in #5927
- eyre: add support for noun-based channels by @Fang- in #6472
- eyre: add support for noun-based channels by @xiphiness in #6396
- zuse: changes in preparation for JSON jets by @ashelkovnykov in #6463
- gen: extend +vats and |suspend to take lists of desks by @silnem2 in #6478
- i/6501
+livelogic in+giveby @tadad in #6502 - lull, eyre: actually send events after clogged channel reconnect by @pkova in #6490
- Release urbit-os-v2.138 by @pkova in #6507
- Add Remote Scry Protocol by @belisarius222 in #6406
- 413k by @belisarius222 in #6399
- ames: fix impure state update in inner cores by @yosoyubik in #6403
- Merge master to develop after urbit-os-v2.138 by @pkova in #6510
- pill: update solid.pill [ci skip] by @pkova in #6511
- eyre: if logged in and accessing login page, redirect by @arthyn in #6505
- arvo: fix %gall meta-namespace reads (missed in merge) by @joemfb in #6517
- json: used optimized arm for mime -> json by @arthyn in #6521
- clay: Make commits fast again by @philipcmonk in #6524
- hood: +report-vat: handle desks with multiple base hashes (=verb |) by @jfranklin9000 in #6522
- lib/server: de-indent ++ico-response by @jfranklin9000 in #6506
- +vats: sort %base and %kids (sometimes) by @jfranklin9000 in #6529
- meta: command corrections in CONTRIBUTING.md by @jfranklin9000 in #6528
- meta: don't codeblock table in MAINTAINERS.md by @jfranklin9000 in #6531
- fine: next steps by @wicrum-wicrun in #6515
- vats: force multiline rendering, improve performance by @joemfb in #6532
- landscape: compat w/ 413 by @arthyn in #6533
- landscape: actual 413 compat by @arthyn in #6534
- vats: fixes +vat by @joemfb in #6535
- hoon: support configurable doccords parsing by @joemfb in #6543
- clay: fix read-s subs for 413 by @bacwyls in #6538
- turn off doccord parsing for +, = by @drbeefsupreme in #6509
- lull,ames: use
mopinstead ofphain.wan.keensby @wicrum-wicrun in #6542 - clay: virtualize parsing to workaround runaway memoization by @joemfb in #6545
- eyre: handle agent errors safely by @joemfb in #6549
- clay: on update, remove all previous pending updates by @philipcmonk in #6548
- clay: remove %take-foreign slog by @joemfb in #6550
- gall: don't try to notify nuked agents about breaches by @wicrum-wicrun in #6566
- gall: always check that an agent isn't nuked before initializing +ap by @wicrum-wicrun in #6567
- clay: the commit must actually be known by @Fang- in #6568
Full Changelog: urbit-os-v2.138...urbit-os-v2.139