Releases: urbit/vere
vere-v4.5
Description
vere-v4.5 is a minor release with one specific bugfix targeted specifically at ships running in kubernetes clusters:
The spin hint introduced in vere-v4.0 uses posix shared memory which is shared between containers in a kubernetes pod by default. This creates opportunities for multiple ships to thrash each others spin hint pages, usually resulting in both ships crashing. To prevent this we now key the shared memory by ship name in addition to process id.
What's Changed
- build: update libnatpmp source url by @dozreg-toplud in #1033
- trace: key spin hint with ship name in addition to process id by @pkova in #1039
Full Changelog: vere-v4.4...vere-v4.5
vere-v4.4
Description
vere-v4.4 declares compatibility with the upcoming 408k arvo release and contains support for ford lightning. It also contains several bugfixes and improvements for the directed messaging driver in preparation for migrating the network to the new protocol. We also significantly improve initial boot times on windows by pre-allocating the http response buffer for the pill.
What's Changed
- jets: new loot jet for hoon 135 by @Fang- in #918
- Dozreg/lightning drop hint by @dozreg-toplud in #923
- spin: stash stack pointer on the parent road, restore from it by @dozreg-toplud in #966
- trace: spin stack for windows by @dozreg-toplud in #969
- make u3m_stop reachable by @dozreg-toplud in #967
- main: set default value of gab_abort, gc-abort flag for play, grab by @dozreg-toplud in #973
- mesa: update rtt and rtv only if we are not resending by @pkova in #977
- manage: detect downgrades by inspecting fut_w on boot by @dozreg-toplud in #975
- wasm: stash more globals by @dozreg-toplud in #978
- conn: optionally deliver channel response after EOF on read by @joemfb in #981
- conn: robustly deliver response after channel read EOF by @mikolajpp in #892
- vere: add space after comma in double-boot log message by @jfranklin9000 in #980
- term: clamp zero window size from Docker PTY by @tomholford in #964
- ford lightning by @midden-fabler in #953
- Revert "Async signal/bail safety" by @pkova in #982
- urcrypt: update the link and hashes by @dozreg-toplud in #984
- mesa: use loobean check in conditional by @yosoyubik in #986
- windows: change calling convention for our setjmp by @dozreg-toplud in #987
- mesa: fix issues discovered by fuzz testing by @pkova in #998
- king: pre-allocate buffer in king_curl_bytes if possible by @pkova in #1000
- zave: in u3m_soft_cax check senior memory for portable caches by @dozreg-toplud in #1003
- Added a U3_GUARD_PAGE Assert by @mopfel-winrux in #1002
- nock: don't save ford stuff if scrying is enabled by @dozreg-toplud in #1005
- nock: earlier shortcircuit for pointer equality by @dozreg-toplud in #1008
- meld: make dropping memo/ford persistent tables optional by @dozreg-toplud in #1006
- manage: fix emergency buffer and north road calculation by @pkova in #993
- u3: fix return type in hashtable trim when missing key by @joemfb in #995
- nock: %drop hint to discard ford caches by @dozreg-toplud in #1010
- ford: drop caches more granularly by @dozreg-toplud in #1011
- pier: event 1 replay fix by @matthew-levan in #1020
- jets: fix buffer overrun by @dozreg-toplud in #1027
New Contributors
- @jfranklin9000 made their first contribution in #980
Full Changelog: vere-v4.3...vere-v4.4
vere-v4.3
Description
vere-v4.3 is a minor release with the following highlighted fixes and features:
- The runtime now supports gzip compression of http responses, causing significant speedups for the tlon app.
- The windows build would immediately crash when receiving a directed messaging packet because of an improperly vendored libblake3 dependency.
- The lmdb version used by vere-v4.2 and below did not support sparse files on windows, causing the event log to balloon to 63 GB immediately on boot.
What's Changed
- Update build system to zig 0.15.2 by @pkova in #945
- build: fix windows libblake3 assembly by @pkova in #951
- readme update zig version by @dozreg-toplud in #952
- http: enable h2o's response compression by @Fang- in #950
- build: bump lmdb from 0.9.29 to master by @pkova in #954
- --gc-abort to crash on leaks by @dozreg-toplud in #955
- mars: don't free stack-allocated struct by @dozreg-toplud in #956
- jets: don't bail in _cj_spot if core is atom by @dozreg-toplud in #960
- Release vere-v4.3 by @pkova in #961
Full Changelog: vere-v4.2...vere-v4.3
vere-v4.2
Description
vere-v4.2 is a minor release fixing the following regression from vere-v4.1 yesterday:
Shutting down a ship would simultaneously unmount all desks from the host system. The user would have to |unmount and |mount the desks after starting the ship to get them remounted.
Note that even with the issue fixed users will have to |unmount and |mount the desks they want mounted once.
Full Changelog: vere-v4.1...vere-v4.2
vere-v4.1
Description
vere-v4.1 is a minor bugfix release with the following highlighted fixes:
- Fix a bug in the vere 4 allocator that caused rare instances of loom corruption.
- Fix a longstanding signal handling issue that could cause rare instances of loom corruption.
- Fix a regression in the vere 4 sort jet that caused it to no longer behave as a stable sort in some scenarios.
- Fix buffer overflow when adding bodies to eyre HTTP responses that shouldn't have any such as 204.
- Fix various bugs in scry-over-http.
- Introduce the %jinx hint to enable event computation timeouts.
- Introduce the %loop hint to enable crashing on obvious non-terminating loops, extending the use cases of the %memo hint.
We also bring back the windows build of old.
What's Changed
- build: fix windows ctrl-c interrupt by @pkova in #913
- %loop hint for nondeterministic crashes on cycles by @dozreg-toplud in #905
- jets: free bytes by @dozreg-toplud in #921
- %jinx hint by @dozreg-toplud in #910
- Custom arithmetic for add/sub jets by @dozreg-toplud in #917
- jinx fix for hot loops by @dozreg-toplud in #922
- nock: ignore bad tanks in bout instead of aborting by @dozreg-toplud in #926
- jets: fix sort jet by @dozreg-toplud in #928
- mdns: fix freeing an incorrect object by @dozreg-toplud in #929
- http: set bem.cas to 0 if scrying at latest by @dozreg-toplud in #930
- nock: make u3i_vint transfer again by @dozreg-toplud in #931
- http: refactor scry handling, plug a leak by @dozreg-toplud in #932
- generate compile_commands.json by @dozreg-toplud in #941
- http: don't wait for bodies of empty responses by @dozreg-toplud in #934
- Fix memleak in Lick on exit, annotate static lifetimes for LSAN by @dozreg-toplud in #933
- palloc: fix bug in _extend_directory by @pkova in #939
- chore: remove redundant words by @wmypku in #868
- Async signal/bail safety by @dozreg-toplud in #940
- windows: some improvements by @pkova in #942
- main: add yolo to cram, queu and melt by @midden-fabler in #944
New Contributors
Full Changelog: vere-v4.0...vere-v4.1
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...