Skip to content

Releases: urbit/vere

vere-v3.5

25 Aug 12:39
9e26acd

Choose a tag to compare

Description

vere-v3.5 is a minor runtime release with the following highlighted changes:

  • Fixes a false positive from double boot protection when there are multiple messages in flight.
  • Fixes the -X argument that allows you to scry into a pier without starting it.
  • Fixes a possibility for a race condition between vere io drivers and double boot protection.
  • Better error messages when using outdated moon keys, remove dead urbit.org links and print when doing epoch rollover.

What's Changed

New Contributors

Full Changelog: vere-v3.4...vere-v3.5

vere-v3.4

21 May 12:44
8e2a735

Choose a tag to compare

Description

This minor runtime release fixes three issues:

  • If the vere process got killed during initial boot from keyfile the ship would perform extremely poorly until it got melded
  • A long-standing issue where some ships were unable to use the meld subcommand.
  • A misconfigured openssl build on aarch64 caused a segfault when using the HTTP client to connect to a site using tls 1.3. This was most trivially reproduced in the dojo by doing +https://facebook.com. Note that this bug did not affect x86_64.

What's Changed

Full Changelog: vere-v3.3...vere-v3.4

vere-v3.3

29 Apr 11:58
2023b5c

Choose a tag to compare

Description

vere-v3.3 is a bugfix release for a regression introduced in vere-v3.2. The new directed messaging driver was assigned an incorrect driver priority which means that ames packets will always be handled before terminal keystrokes or HTTP requests, exactly the opposite of the intended behavior. This would mean that ships getting spammed with ames packets would appear significantly less responsive than before.

This bugfix release restores the ames packet priority to be low and fixes a HTTP caching bug found by ~migrev-dolseg.

What's Changed

New Contributors

Full Changelog: vere-v3.2...vere-v3.3

vere-v3.2

23 Apr 12:19
24cd7a5

Choose a tag to compare

Description

vere-v3.2 brings the following highlighted features:

  • Compatibility with the upcoming zuse 410 kelvin release.
  • A directed messaging driver for 1-3 orders of magnitude faster networking performance.
  • Lagoon jets for native matrix math in Urbit.
  • Double boot protection to prevent the most common cause of irrecoverable ship failure.
  • Loom memory usage statistics in Arvo to help hosting providers and provide a foundation for zero click maintenance.
  • HTTP scry streaming for serving individual chunks of large files over HTTP.

Note that all these features are dependent on the 410k Arvo release.

Moon keyfiles generated with Arvo versions of 411 or above are not compatible with vere-v3.2. To recreate an old moon keyfile, upgrade Arvo to 410 first and then do |moon-cycle-keys <moon-name>. This only applies to the moon keyfiles, previously booted moons can upgrade to vere-v3.2 without issue.

What's Changed

New Contributors

Read more

vere-v3.1

12 Aug 15:06
be3b042

Choose a tag to compare

Description

vere-v3.1 is a a minor runtime release with the following highlighted features:

  • Rebinding eyre HTTP cache entires.
  • The runtime now automatically tries to open the Ames port on a home network using the NAT-PMP protocol. This will improve connectivity on self-hosted setups.
  • Restore the ctrl+z functionality to instantly force kill the urbit process.
  • Plug memory leaks related to DNS queries. This has resulted in significant uptime improvements for select Urbit Foundation infrastructure ships.
  • More reliable lockfile and replay error handling.
  • Miscellaneous error message improvements.

What's Changed

  • jets: make a real jet for swp by @pkova in #577
  • build: recent macOS updates clang by @mrdomino in #579
  • Revert "build: recent macOS updates clang" by @pkova in #588
  • build: bump openssl dep by @mrdomino in #586
  • BLAKE3 jets by @lukechampine in #535
  • Revert "Revert "build: recent macOS updates clang"" by @pkova in #598
  • vere: adds --gc-early flag to pack and meld subcommands by @joemfb in #613
  • http: dynamic responses for empty cache entries by @Fang- in #603
  • vere: add flag to continue running after behn: queue blocked by @joemfb in #618
  • vere: disable systemd and apparmor for the dbus dependency by @pkova in #582
  • nix: update flake.lock to fix FHSUserEnv by @eamsden in #565
  • vere: bring your own boot sequence by @Fang- in #544
  • stun: corrects response decoding, adds tests by @joemfb in #623
  • macos: fix lldb by @pkova in #611
  • events: better error messages for partial write by @pkova in #622
  • ames: add libnatpmp for automatic port forwarding by @pkova in #593
  • add more helpful chop message by @jalehman in #635
  • disk: fix broken chop error message by @pkova in #642
  • Revert "ames: add libnatpmp for automatic port forwarding" by @pkova in #644
  • Revert "disk: fix broken chop error message" by @pkova in #643
  • main: restore SIGTSTP handler after replay by @pkova in #656
  • disk: parameterize lmdb map size by @matthew-levan in #655
  • ames: free packet on successful galaxy dns resolution by @pkova in #658
  • fix nock 9 crashing pier if axis is cell by @Quodss in #661
  • ames: libnatpmp for real this time by @pkova in #646
  • boot: replay in subprocess by @matthew-levan in #654
  • ames: resolve galaxy dns in batches; plug leak by @joemfb in #639
  • vere: support .run in subprocess replay by @joemfb in #663
  • vere: respect --loom in subprocess replay by @joemfb in #664
  • ames: only print packet drop-count on drop by @joemfb in #665
  • ames: factor out stun implementation and basic de/serialization functions by @joemfb in #662
  • docs: lsp integration by @matthew-levan in #670
  • nix: fix vere compilation by @h33p in #633
  • Update notice about swap space URL. by @sigilante in #625
  • u3: better recovery from crashes during snapshot patch application by @joemfb in #651
  • gitignore MODULE.bazel and lock by @belisarius222 in #680
  • bazel: change mirror for libnatpmp because it's always down by @pkova in #681
  • bazel: change openssl mirror to github since openssl.org is down by @pkova in #683
  • disk: update epoc.txt and vere.txt atomically by @pkova in #669
  • play: use libuv for replay by @matthew-levan in #682
  • Update VERSION to 3.1 by @pkova in #686
  • events: even better error messages for partial write by @jalehman in #636
  • stun: fix stun by @pkova in #694
  • docs: add autoconf-archive to installation instructions by @matthew-levan in #692
  • vere: use fcntl advisory locks on pidfile by @joemfb in #697
  • Release vere-v3.1 by @pkova in #705

New Contributors

Full Changelog: vere-v3.0...vere-v3.1

vere-v3.1-rc4

08 Aug 11:42
fa249d0

Choose a tag to compare

vere-v3.1-rc4 Pre-release
Pre-release

Description

During pre-release testing of vere-v3.1-rc3 we discovered that replaying in a subprocess introduced a failure case in Native Planet lockfile handling heuristics.

Vere lockfile handling is meant to prevent multiple vere processes from starting the same pier at the same time. Unfortunately this lockfile handling has historically been poor and sometimes the lockfile sticks around after a vere process exits abnormally. Native Planet was using PID heuristics to delete these lingering lockfiles, but this method was broken after #654.

This release candidate contains #697 that uses advisory locking syscalls to significantly improve lockfile reliability. The fix has also been tested to work across the Docker host -> container barrier.

What's Changed

Full Changelog: vere-v3.1-rc3...vere-v3.1-rc4

vere-v3.1-rc3

02 Aug 17:12
4a48a50

Choose a tag to compare

vere-v3.1-rc3 Pre-release
Pre-release

Description

During pre-release testing of vere-v3.1-rc2 it was discovered that informal pinging was broken. This remained undetected because informal pinging falls back to formal pinging when malfunctioning. This release candidate includes #694 to fix the issue.

What's Changed

Full Changelog: vere-v3.1-rc2...vere-v3.1-rc3

vere-v3.1-rc2

01 Aug 11:54
747cdea

Choose a tag to compare

vere-v3.1-rc2 Pre-release
Pre-release

Description

During pre-release testing of vere-v3.1-rc1 we discovered that a PR for improving error messages when the disk is full was mistakenly not included. This release candidate includes #636 with the improved error messages.

Full Changelog: vere-v3.1-rc1...vere-v3.1-rc2

What's Changed

  • events: even better error messages for partial write by @jalehman in #636

Full Changelog: vere-v3.1-rc1...vere-v3.1-rc2

vere-v3.1-rc1

01 Aug 11:48
0ca0269

Choose a tag to compare

vere-v3.1-rc1 Pre-release
Pre-release

Description

vere-v3.1 is a a minor runtime release with the following highlighted features:

  • Rebinding eyre HTTP cache entires.
  • The runtime now automatically tries to open the Ames port on a home network using the NAT-PMP protocol. This will improve connectivity on self-hosted setups.
  • Restore the ctrl+z functionality to instantly force kill the urbit process.
  • Plug memory leaks related to DNS queries. This has resulted in significant uptime improvements for select Urbit Foundation infrastructure ships.

What's Changed

  • jets: make a real jet for swp by @pkova in #577
  • build: recent macOS updates clang by @mrdomino in #579
  • Revert "build: recent macOS updates clang" by @pkova in #588
  • build: bump openssl dep by @mrdomino in #586
  • BLAKE3 jets by @lukechampine in #535
  • Revert "Revert "build: recent macOS updates clang"" by @pkova in #598
  • vere: adds --gc-early flag to pack and meld subcommands by @joemfb in #613
  • http: dynamic responses for empty cache entries by @Fang- in #603
  • vere: add flag to continue running after behn: queue blocked by @joemfb in #618
  • vere: disable systemd and apparmor for the dbus dependency by @pkova in #582
  • nix: update flake.lock to fix FHSUserEnv by @eamsden in #565
  • vere: bring your own boot sequence by @Fang- in #544
  • Merge master back to develop after vere-v3.0 by @pkova in #621
  • stun: corrects response decoding, adds tests by @joemfb in #623
  • macos: fix lldb by @pkova in #611
  • events: better error messages for partial write by @pkova in #622
  • ames: add libnatpmp for automatic port forwarding by @pkova in #593
  • add more helpful chop message by @jalehman in #635
  • disk: fix broken chop error message by @pkova in #642
  • Revert "ames: add libnatpmp for automatic port forwarding" by @pkova in #644
  • Revert "disk: fix broken chop error message" by @pkova in #643
  • main: restore SIGTSTP handler after replay by @pkova in #656
  • disk: parameterize lmdb map size by @matthew-levan in #655
  • ames: free packet on successful galaxy dns resolution by @pkova in #658
  • fix nock 9 crashing pier if axis is cell by @Quodss in #661
  • ames: libnatpmp for real this time by @pkova in #646
  • boot: replay in subprocess by @matthew-levan in #654
  • ames: resolve galaxy dns in batches; plug leak by @joemfb in #639
  • vere: support .run in subprocess replay by @joemfb in #663
  • vere: respect --loom in subprocess replay by @joemfb in #664
  • ames: only print packet drop-count on drop by @joemfb in #665
  • ames: factor out stun implementation and basic de/serialization functions by @joemfb in #662
  • docs: lsp integration by @matthew-levan in #670
  • nix: fix vere compilation by @h33p in #633
  • Update notice about swap space URL. by @sigilante in #625
  • u3: better recovery from crashes during snapshot patch application by @joemfb in #651
  • gitignore MODULE.bazel and lock by @belisarius222 in #680
  • bazel: change mirror for libnatpmp because it's always down by @pkova in #681
  • bazel: change openssl mirror to github since openssl.org is down by @pkova in #683
  • disk: update epoc.txt and vere.txt atomically by @pkova in #669
  • play: use libuv for replay by @matthew-levan in #682
  • Update VERSION to 3.1 by @pkova in #686
  • Merge develop to release by @pkova in #688

New Contributors

Full Changelog: vere-v3.0...vere-v3.1

vere-v3.0

11 Mar 17:18
954fd0b

Choose a tag to compare

Description

The big ticket items for this vere release include the epoch system, support for persistent nock caching, informal pings and MDNS local routing. The epoch system is functional immediately after upgrading to vere-v3.0, the other features are reliant on the 411k release slated for ~2024.3.18.

This release is not backwards compatible with vere-v2.12 and earlier. A ship cannot be downgraded after upgrading to vere-v3.0.

Epoch System

The epoch system cuts the previously uniform event log into "epochs" associated with a specific runtime version. The epochs are represented as directories in the file system. Here is an example of epochs under the Foundation galaxy ~deg that has been running the vere-v3.0 pre-release for a while:

ls ./deg/.urb/log/
0i0  0i95419173  0i98550959  0i99182407  0i99543593  data.mdb  lock.mdb

Each epoch folder is identified by an event number and includes a snapshot and a part of the event log. If the snapshot of a ship gets corrupted the ship may have to replay; the epoch system makes this process more pleasant since the ship no longer has to replay the entire event log. A replay can be initiated from the latest valid epoch, significantly speeding up the process.

The latest snapshot for a ship is situated in the latest epoch, 0i99543593 in the above case. All other epochs are safe to relocate elsewhere or even delete.

The default behavior for the epoch system is to create a new epoch every time the vere runtime version changes. A user may also manually create a new epoch by using the urbit roll command.

The urbit chop command now deletes all epochs except for the last two.

What's Changed

New Contributors

Full Changelog: vere-v2.12...vere-v3.0