|
| 1 | +# v 1.2.3 2024-03-03 [stable] |
| 2 | + |
| 3 | +This is a maintenance release with minor bug fixes. |
| 4 | + |
| 5 | +Improvements: |
| 6 | +- Allow final address to be used as a search and sorting column in GUI. |
| 7 | +- Do not hide the "random stats" shell command in the help. |
| 8 | +- Shell "node add" now supports g2:IP:port for G2 nodes. |
| 9 | + |
| 10 | +Bug Fixes: |
| 11 | +- Avoid assertion failure in xmalloc() when the page size is not 4K |
| 12 | +- Fix build on NetBSD with SSP. |
| 13 | +- Avoid conflicting symbol with NetBSD's powerpc/frame.h |
| 14 | +- Force supervisor to quit if child gets a SIGKILL. |
| 15 | +- Forgot to set te->ptid in discovered threads. |
| 16 | + |
| 17 | +Under the Hood: |
| 18 | +- Add aq_on_available() to hide waiter object. |
| 19 | +- Add debugging #define XMALLOC_DISABLED to remap xmalloc() to malloc(). |
| 20 | +- Add randomness every minute instead of 30 seconds. |
| 21 | +- Dump held locks when suspending thread with locks. |
| 22 | +- Fix thread_lock_dump() logic. |
| 23 | +- Recent version of glib define G_NORETURN already. |
| 24 | +- Use library popcount() if it exists. |
| 25 | +- Use an integer for atomic_lock_t (or it fails on Darwin ppc32). |
| 26 | +- atio_get_lock(): no need to hash file descriptor. |
| 27 | +- crash_hook_add(): watch out for early inits. |
| 28 | +- crash_init(): ignore subsequent calls, loudly. |
| 29 | +- crash_mode(): disable locking on concurrent crash. |
| 30 | +- dump_hex_vec(): do not re-emit header if reached end. |
| 31 | +- entropy_collect_gateway(): cache initial gateway information. |
| 32 | +- entropy_harvest_many(): accelerate processing. |
| 33 | +- evq_close(): forgot to free local callout queue. |
| 34 | +- getgateway(): avoid endless warnings. |
| 35 | +- hashlist: avoid race condition for moveto operations. |
| 36 | +- random_double_generate(): ensure value is in [0, 1[. |
| 37 | +- ripening_set_expire(): remove faulty assertion. |
| 38 | +- rwlock_deadlocked(): trace locking thread owner. |
| 39 | +- rwlock_lock_granted(): verify waiter presence. |
| 40 | +- rwlock_readers_downto(): issue a memory barrier. |
| 41 | +- shared_file_free(): give more details on assert failure. |
| 42 | +- semaphore_emulate(): was not handling timeout properly. |
| 43 | +- sig_get_pc_index(): also trap SIGBUS for OS/X. |
| 44 | +- socket_tls_upgrade(): synchronous upgrade logged but no longer fatal. |
| 45 | +- str_private(): must use NOT_LEAKING_Z() for walloc(). |
| 46 | +- str_slice(): change semantics of `to'. |
| 47 | +- thread_element_reset(): also clear lock stack overflow. |
| 48 | +- thread_lock_dump(): can now omit details if necessary. |
| 49 | +- thread_lock_released(): give more context on problems. |
| 50 | +- thread_sig_handle(): add default handling of TSIG_TERM. |
| 51 | +- vmm_mmap_anonymous(): optimize re-locking. |
| 52 | +- walloc_get_zone(): do not keep lock whilst allocating zone. |
| 53 | +- xmalloc_chunk_allocate(): validate chunk head is sound. |
| 54 | +- zalloc: do not keep lock whilst extending the zone. |
| 55 | +- zget(): limit scope of global spinlock to a minimum. |
| 56 | + |
1 | 57 | # v 1.2.2 2022-02-25 [stable] |
2 | 58 |
|
3 | 59 | This is a maintenance release with major bug fixes. |
|
0 commit comments