This release is planned for deployment to the network on Tuesday of next week (January 31st).
This release decrements the Kelvin version because it contains breaking changes.
The new Kelvin version is Zuse 415, Lull 326, Arvo 239, Hoon 139
App developers will need to account for the breaking changes by signaling compatibility with the new kelvin.
Most app developers will not be affected and can simply update their sys.kelvin.
You may (as of urbit-os-v2.129) signal compatibility with both the current _and_ upcoming kelvins ahead of time. Your /sys.kelvin file would contain the following if you support the the last two kelvins too:
What you can do to test
You can confirm your app works with the new changes you can get the pre-release by following the instructions below:
- Shut down your urbit
- Update your pace file in <pier>/.bin/pace from `live` to `soon` (without backticks)
- If you don't have a pace file in .bin you can create one with the word soon in it
- If you don't have a .bin directory, you need to dock your binary (see: https://operators.urbit.org/manual/running/vere#dock)
- Once the soon runtime release channel is set, upgrade your runtime to the pre-release via next
- <pier>/.run next
- Starting your urbit back up should show 1.18-1aab185 as the version number
- Update the sources for Tlon apps and base to the doznec pre-release moon
- |install ~doznec-dozzod-marzod %landscape
- |install ~doznec-dozzod-marzod %garden
- |install ~doznec-dozzod-marzod %webterm
- |install ~doznec-dozzod-marzod %groups
- |install ~doznec-dozzod-marzod %talk
- |ota ~doznec-dozzod-marzod
- |bump (you can also suspend and upgrade via the landscape UI)
With that you should have the pre-release running and you should be able to confirm your app works as expected on the new Kelvin.
The breaking changes
The breaking changes are as follows:
Removed +fact-curry from lib/agentio. This function was trivially broken.
The types of +hoon and +spec have changed slightly for the new doccords. If you're directly operating on them, you may need to account for additional cases.
Adds a system of "doccords", which is documentation parsed from comments in source code. Shoutout to ~datnut-pollen (Jonathan Paprocki) for doing the huge amount of work required in order to implement this system, which has been theorized about for years. To see an example of it in action immediately, run `# ames` in the dojo post upgrade. For the best current documentation on doccords usage, see the example file.
The Bitcoin wallet app is no longer included in the default distribution or the urbit/urbit repository, and this is the last release that will include a Kelvin bump. Future updates to the Bitcoin app will need to be community-supported. The code for the Bitcoin wallet app can be found here.
The new generator |ames-snub has been added, which instructs Ames to drop all packets from a particular ship. This can effectively be used to mute any communications with a list of ships.
Adds the $+ rune for specifying a shorthand type name used in pretty printing.
Makes |rm recursive.
Makes +apt:in check that the set has no duplicate elements.
Remove broken chat-cli app from dojo