Releases: urbit/vere
vere-v4.0
Description
vere-v4.0 is a major runtime release with the following highlighted features:
- A completely rewritten allocator that reduces memory usage and decreases snapshot size.
- The mars / urth split, a major refactor of the vere multiprocess architecture.
- Stateful urwasm jets, improving on the stateless urwasm capabilities shipped with 410.
- Restored compatibility with 2015-era Intel based macbooks.
- Declare compatibility with the upcoming 409-k arvo release.
- Support for the 409 "fastboot" brass pill that reduces ship initial boot time from minutes to seconds.
- Support for the 409 spin hint that exposes a call stack for local performance monitoring.
Note that ships that upgrade to vere-v4.0 will be unable to downgrade runtime versions.
What's Changed
- fastboot by @midden-fabler in #784
- Merge develop to next/kelvin/409 by @pkova in #821
- Mars/Urth Split by @matthew-levan in #811
- +vi registration by @Quodss in #814
- u3: moves home road to loom start, simplifies snapshot system by @joemfb in #826
- ci: use fastboot pill by @matthew-levan in #824
- Spin Hint by @mopfel-winrux in #771
- Jet fixes by @Quodss in #836
- Merge develop to 409 by @pkova in #837
- Merge develop to next/kelvin/409 by @pkova in #844
- Merge develop to next/kelvin/409 by @pkova in #845
- +checksum jets for zuse.hoon by @mikolajpp in #709
- Bytestream jets by @mikolajpp in #710
- Jet zlib decompression library by @mikolajpp in #711
- Quodss/urwasm stateful by @Quodss in #785
- muk jet: update registration by @Quodss in #849
- nock: simple branch elimination by @Quodss in #850
- Add Partial memoization to
+redo:utby @mopfel-winrux in #848 - u3qb_sort use quicksort by @Quodss in #851
- xtract: fix u3x_loob debug import by @pkova in #856
- Do not abort process on bad %slog by @Quodss in #857
- Merge master back to develop after vere-v3.5 by @pkova in #863
- Merge develop to next/kelvin/409 by @pkova in #864
- disk: palloc migration vacation work by @matthew-levan in #853
- vere: refactor mars + persistence for migration by @joemfb in #860
- build: bring windows back by @pkova in #867
- vere: migrate to palloc by @joemfb in #859
- u3: adds new, page-oriented memory allocator by @joemfb in #812
- mars: support
--snap-timeby @matthew-levan in #872 - various fixes prompted by ASAN by @Quodss in #874
- branch elimination in _n_formulaic by @Quodss in #869
- Prevent stale uncounted references by @Quodss in #865
- Add Tracy Profiler Integration by @mopfel-winrux in #866
- manage: fix stray jump buffer by @pkova in #876
- nock: fix string allocation in bytecode renderer by @Quodss in #877
- vere: prep road layout for release by @joemfb in #875
- build: update tracy hash by @Quodss in #880
- nock: lose subject sooner, bump nock version by @Quodss in #881
- vere: parse subcommand options with
getopt_longby @matthew-levan in #873 - Merge next/kelvin/409 to develop by @pkova in #882
- build: make older intel macs work again by @pkova in #884
- adds more safety checks (and better errors) to pier migrations by @joemfb in #885
- allocator errors: assert sanity or bail:meme by @joemfb in #886
- jets: remove +muk registration from /lib/tiny by @Quodss in #887
- u3: moves "stale bytecode" migration to later in init process by @joemfb in #888
- u3: correct ASan poison annotations in |pack by @joemfb in #890
- pier: do not leak all effects in urth by @pkova in #891
- ubsan fixes by @Quodss in #889
- vere: implements |mass for the urth (king) process by @joemfb in #895
- conn: return c3n on error to prevent newt double free by @pkova in #896
- mesa: make _get_now_micros return micros by @yosoyubik in #897
- zig: define HAVE_STRLCPY macro for modern glibc by @yosoyubik in #898
- mesa: don't leak lanes by @Quodss in #899
- http: plug leak by @Quodss in #901
- term: transfer protocol for u3_lord_quiz callback by @Quodss in #900
- build: let's try this dbus mirror by @pkova in #907
- palloc: fix pack bug by @pkova in #908
- http: actually fix the leak by @Quodss in #902
- memo: road-local harvesting flag by @Quodss in #904
- term: fix eof hangup when pasting multiple of the libuv read buffer by @pkova in #911
- http: initialize beam by @midden-fabler in #912
- u3: adds loom validation and debugging tools by @joemfb in #909
Full Changelog: vere-v3.5...vere-v4.0
vere-v3.5
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
- vere: fix some undefined behavior by @joemfb in #820
- u3: remove unnecessary refcount operations (losing u3_none) by @joemfb in #828
- nock: lose subject in autocons more eagerly by @Quodss in #827
- u3: skip null slots in u3h_take() and friends by @joemfb in #825
- u3: refactor unifying equality by @joemfb in #819
- Revert "nock: lose subject in autocons more eagerly" by @pkova in #830
- Better error message for bad moon keys by @mopfel-winrux in #833
- pier: fix double boot protection by @yosoyubik in #839
- lmdb: fix undefined behavior (load of misaligned address) by @matthew-levan in #843
- pier: fix -X scry by @yosoyubik in #835
- mug: murmur3 revendor with
size_tto support 64-bit by @matthew-levan in #842 - Fix broken urbit.org links by @bonbud-macryg in #834
- pier: initialize drivers after double boot protection by @pkova in #847
- build: remove old bazel artifacts by @matthew-levan in #852
- build: update zlib dependency for zig 0.14 by @pkova in #858
New Contributors
- @bonbud-macryg made their first contribution in #834
Full Changelog: vere-v3.4...vere-v3.5
vere-v3.4
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
meldsubcommand. - A misconfigured openssl build on
aarch64caused 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
- mars: really don't install the ivory pill in the serf by @pkova in #813
- build: work around zig linker bug in macos-aarch64 openssl assembly by @pkova in #815
- zig v0.14.0 redux by @matthew-levan in #792
- zig: new hash format by @Quodss in #817
- vere: adds melt, rewrites meld for efficiency by @joemfb in #632
- Release vere-v3.4 by @pkova in #822
Full Changelog: vere-v3.3...vere-v3.4
vere-v3.3
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
- http: only check cache on GET requests by @will-hanlen in #806
- auto: fix driver priority by @pkova in #807
- Release vere-v3.3 by @pkova in #808
New Contributors
- @will-hanlen made their first contribution in #806
Full Changelog: vere-v3.2...vere-v3.3
vere-v3.2
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
- Merge develop to next/kelvin/410 by @pkova in #652
- Add crc32 jet by @nathanlever in #653
- Merge develop to next/kelvin/410 by @pkova in #666
- Double boot protection by @ripperi in #657
- Merge develop to next/kelvin/410 by @pkova in #673
- mass: improvements by @matthew-levan in #677
- Mesa route switching by @belisarius222 in #667
- Merge develop to next/kelvin/410 by @pkova in #687
- double-boot protection: bug fix & more informative error messages by @ripperi in #689
- Merge release back to develop by @pkova in #702
- Merge master back to develop after vere-v3.1 by @pkova in #706
- Merge develop to next/kelvin/410 by @pkova in #707
- lick: add
:to prints to match other vanes by @matthew-levan in #704 - mass: return memory report to arvo by @tinnus-napbus in #675
- Merge develop to next/kelvin/410 by @pkova in #713
- mesa: misc. bugfixes by @yosoyubik in #716
- http: streaming by @midden-fabler in #676
- mesa: more misc bugfixes by @yosoyubik in #718
- Lagoon jets for IEEE 754 floats. by @sigilante in #638
- Add debugging instructions by @sigilante in #685
- Add stacktrace by @ripperi in #674
- Aor jet by @Quodss in #690
- Merge develop to next/kelvin/410 by @pkova in #721
- Lick Pointer bug by @mopfel-winrux in #722
- events: do not read garbage memory on empty control files by @pkova in #724
- misc: fix tons of undefined behavior vol 2 by @pkova in #723
- zig build system by @ripperi in #719
- ci: fix typo in
docker-shared.ymlby @ripperi in #725 - ci: split dockerfile copy command by @ripperi in #726
- ci: fix gcloud upload by @ripperi in #727
- ci: change working directory of docker build steps by @ripperi in #728
- ci: change context of docker build steps by @ripperi in #729
- ci: fix latest deployed version string by @ripperi in #730
- Fix generated GMP assembly sources on x86_64 linux by @ripperi in #733
- docs: add configure opts to gmp readme by @ripperi in #734
- build: upgrade gmp to 6.3.0 by @pkova in #735
- Merge develop to next/kelvin/410 by @pkova in #737
- Merge 3.2 to edge by @pkova in #738
- vere: kelvin 410 by @joemfb in #630
- ChaCha jets by @lukechampine in #637
- jets: for new atom ops by @joemfb in #627
- jets: adds $plot (+fax and +mes) by @joemfb in #631
- build: refactor and decouple pkg builds from main build by @ripperi in #742
- build: install vere as a quick fix for missing
version.hin CI by @ripperi in #743 - Add support for linux gnu build targets by @ripperi in #741
- term: fix use after free by @pkova in #744
- build: add build opts for enabling sanitizers by @ripperi in #731
- vere: adds %quic loom measurement, support it and |mass in conn by @joemfb in #740
- main: really ignore SIGPIPE by @pkova in #745
- Misc mesa improvements by @pkova in #746
- misc: update ivory pill by @pkova in #749
- serf: do not install ivory pill for now by @pkova in #750
- manage: do not u3l_log when generating the stacktrace by @pkova in #753
- mesa: don't free pict before hamt get by @yosoyubik in #751
- king: do not retry on http 3xx in king_curl_bytes by @pkova in #752
- add jets for luck:ed, sign-raw:ed, sign-raw-octs:ed, scad:ed, scas:ed, scap:ed by @newxiphiness in #748
- ames, mesa: miscellaneous stuff by @pkova in #754
- ames, mesa: revert static receive buffer allocation by @pkova in #755
- mesa: track outstanding request fragments for congestion control by @pkova in #756
- vere: don't double free egg by @yosoyubik in #757
- ames: do not leak stun request packets by @pkova in #758
- mesa: improvements by @pkova in #760
- dawn: fix comet mining by @yosoyubik in #761
- Merge vere-v3.2 to soon for release candidate by @pkova in #762
- mesa: fixes by @pkova in #763
- misc: more fixes by @pkova in #764
- Urwasm jet by @Quodss in #747
- mesa: fix pit clear timer cleanup by @pkova in #765
- ++sew jet by @Quodss in #698
- Merge develop to release for rc by @pkova in #767
- Merge develop to release by @pkova in #770
- mesa: use %arvo lanes on %ames %push by @yosoyubik in #772
- mesa: move forwarding page before checking request by @yosoyubik in #774
- build: update for zig v0.14.0 by @matthew-levan in #766
- Revert "build: update for zig v0.14.0" by @pkova in #776
- play: add
--watch-replayflag by @matthew-levan in #775 - ames: scry for lanes using /chums/[ship]/lanes by @yosoyubik in #777
- Revert "ames: scry for lanes using /chums/[ship]/lanes" by @pkova in #778
- Merge develop to release by @pkova in #779
- mesa: ignore lanes sending page packets by @yosoyubik in #780
- mesa: do not insert new request if old still pending by @pkova in #781
- Merge develop to release by @pkova in #782
- Merge release back to develop by @pkova in #783
- http: fix segfault if request times out during scry by @pkova in #786
- Merge develop to release by @pkova in #787
- verstable: always run value destructors after key destructors by @pkova in #789
- Merge develop to release by @pkova in #790
- mesa: add test for encoding failure by @yosoyubik in #788
- Merge develop to release by @pkova in #791
- build: rename "pact-test", enable in ci by @joemfb in #793
- misc: fixes for vere-v3.2 by @pkova in #795
- Merge develop to release by @pkova in #796
- pier: fix double boot protection for breaches by @yosoyubik in #797
- Merge develop to release by @pkova in #798
- Merge release back to develop by @pkova in #799
- mesa: more fixes by @pkova in #802
- Merge develop to release by @pkova in #803
- Merge release back to develop by @pkova in #804
- Release vere-v3.2 by @pkova in #805
New Contributors
- @nathanlever made their first contribution in https://githu...
vere-v3.1
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
libuvfor 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-archiveto 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
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
- docs: add
autoconf-archiveto installation instructions by @matthew-levan in #692 - vere: use fcntl advisory locks on pidfile by @joemfb in #697
Full Changelog: vere-v3.1-rc3...vere-v3.1-rc4
vere-v3.1-rc3
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
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
Full Changelog: vere-v3.1-rc1...vere-v3.1-rc2
vere-v3.1-rc1
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
libuvfor 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