User-Visible OpenAFS Changes OpenAFS 1.8.1 All Platforms * Improve the usability and consistency of the public API: install missing headers, and add additional symbols to the export list for shared libraries. * Improved Rx abort generation: use the proper serial number for an existing connection if possible, and 0 otherwise (to improve debugging). * Assorted minor fixes in response to static analysis of the codebase. * Fix memory-safety error in XDR decoding of enumerated types. All Server Platforms * Fix reference counting error that could cause an assertion failure in some workloads. * vldb_check -fix will no longer corrupt the vldb when multiple MH blocks are present. * Assorted cleanups and efficiency improvements in the ubik implementation. * Return a valid InlineBulkStatus response in error cases. * The fileserver now rejects invalid partition names when attaching partitions. All Client Platforms * Fix volume callbacks (e.g., when running 'vos release'). * Treat failure to obtain a DSlot as a hard error for that cache partition, avoiding a flood of "disk cache read error in CacheItems" log messages, and reducing the chance of subsequent panic. * Improve error messages for invalid values with -volume-ttl. * Remove useless error message: "find_preferred_connection: no connection and !create". * Avoid passing NULL to a kernel memory deallocator, which is not guaranteed to be safe on all systems. Linux * Add support for 64-bit ARM clients ("arm64"). * Fix panic when cache bypass is enabled. * Improve cache manager behavior when unable to open cache files. * Improvements to the RPM packaging. * Detect out-of-memory when using kernel pages for writing. Solaris * Fix various issues in the build process for recent Solaris versions. MacOS * Fix clients on OS X 10.13. FreeBSD / NetBSD / OpenBSD * Fix panic triggered during periodic cleanup operations and shutdown.