* Version 1.46.1.
* docs/nbdkit_read_password.pod: Fix typo in Python description
* server: Rewrite ugly macros in nbdkit_debug_hexdump
* tests: Fix some copy/paste errors in debug_hexdump tests
* file: Link to delay filter in the SEE ALSO section
* file: Sort plugin names in SEE ALSO section
* file: Improve flow of documentation of dir parameter
* docs: Match all return value descriptions of nbdkit_parse_*
* docs: Fix thinko and clarify description of nbdkit_parse_* functions
* tests/test-ocaml-errorcodes.c: Fix typo in error messages
* ocaml: Fix comment about parse_* functions
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=57
* Version 1.46.0.
* docs/nbdkit_debug_hexdump.pod: Add a link to nbddump page
* docs: Update release notes for 1.46 release
* include/nbdkit-common.h: Whitespace changes
* include: Define and use __attribute__((malloc)) on public functions
* include: Define and use __attribute__((nonnull))
* include: Rename ATTRIBUTE_FORMAT_PRINTF -> NBDKIT_ATTRIBUTE_FORMAT_PRINTF
* server: Add nbdkit_debug_hexdump function
* file: Change windows_fd_lock into reader/writer lock
* Version 1.45.17.
* file: Don't allow oldest.fd to be closed during evict_writes
* file: Rename cache=none to reduce-memory-pressure=true
* pattern: Add upper parameter to set top 16 bits
* file: posix_fadvise returns an errno, not the usual -1 for errors
* file: Move %m to end of debug message
* Version 1.45.16.
* tests/functions.sh.in: start_nbdkit: Cache is_windows check
* tests/functions.sh.in: Rename kill_nbdkit because this is an internal fn
* docs/nbdkit-release-notes-1.46.pod: Minor update with latest changes
* file: Improve debug message when extents are not supported
* file: Print a debug message whenever we clear one of the h->can_* fields
* file: Print extra can_* facts in debug output
* file: Print either "can_write" or "readonly" fact in debug output
* file: Update debug message about block devices
* vddk: Initialize start_t to avoid Coverity warning
* docs: Update release notes for 1.46
* file: In debug output, print more information about the file
* winfile: Improve error messages
* tests/test-map-random.sh: Skip the test on Windows
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=53
* Version 1.44.4.
* linuxdisk: Fix parsing of last line of 'du' command output
* ocaml: Don't unregister the thread in close_wrapper
* tests/test-ocaml-errorcodes: Check recovery after reading an error
* tests/test_ocaml_errorcodes_plugin.ml: Call Gc.compact on unload
* configure: Use PRINT_PKG_VERSION macro in more places
* configure: Add new macro to print package version
* vddk: Don't use FNM_PATHNAME when matching export parameter
* ocaml: Don't release OCaml runtime system after caml_shutdown
* data: Avoid passing signed int64_t to uint64_t vararg parameter
* data: Fix comment about how uint8_t is promoted through varargs
* build: Check for qemu-img and disable some tests if not present
* tests/curl: Skip test if 'disk' was not created
* server/public.c: Use common/include parse_bool function
* common/include: Extra bool parsing into a mini-library
* docs: Shorter title and tweaks to the description
* vddk: Sort synopsis into alphabetical order
* ext2: Update docs since filter supports concurrent connections
* docs/nbdkit-probing.pod: Rearrange synopsis to match description
* docs: Fix bolding of --log=/path option
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=51
* Version 1.44.3.
* server/public.c: Use lrint() instead of implicit conversion to int
* delay: Rearrange the options in alphabetical order in the documentation
* docs/nbdkit-client.pod: Document attaching NBD devices to QEMU VMs
* docs/nbdkit-client.pod: Combine and rename "LIMITATIONS" section
* tests/test-golang-fork-warning.sh: Fix hanging test
* tests: Use 'define script' in a few more places
* tests: Modify make-pki and make-psk scripts to be atomic
* tests: Define common functions for requiring TLS certs and PSK
* tests/test-tls.sh: Remove unused export of pkidir
* tests: Generate make-psk.sh
* tests/make-psk.sh: Fix typo "pkstool" -> "psktool"
* tests: Fix typo "An good" -> "A good"
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=49
* Version 1.44.2.
* tests: Work around realpath error on BSDs
* server: Use debug() instead of nbdkit_debug() consistently in the server
* server/main.c: Factor out the function that parses key=value
* server/main.c: Fix comment
* server/main.c: Move key=value parsing to a new function
* server/options.h: Reject empty string ("") as a short name
* server/options.h: Add comment to is_short_name
* server/main.c: Reject empty string as a plugin name or filter name
* common: utils: Add const to <vector>_duplicate variable decls
* data: Use new vector_append_array in a couple of places
* common: utils: vector: Fix vector_uniq prototype and add a test
* common: utils: vector: Add range functions for insert, append and remove
* common: utils: vector: Prefer vector_reset over free()
* common: utils: vector: Add new vector_uniq function
* tests/functions: Factor out 2^63-1 constant used by a few tests
* tests/test-cache-block-size.sh: Remove unused socket
* data: Minor revisions to the documentation for clarity
* full: Remove reference to equivalence of nbdkit-readonly-filter
* tests/test-floppy.sh: Simplify this test
* common/include/test-once.c: Further fixes for pthread_barrier_t
* common/include/test-once.c: Skip test on macOS which lacks pthread_barrier_t
* file: trim: Don't try BLKDISCARD if earlier FALLOC_FL_PUNCH_HOLE worked
* file: zero: Print the debug message on the fallback path once
* common: Add ONCE macro to run code only once
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=47
* Version 1.44.1.
* server: Fix .zero fallback path
* Version 1.44.0.
* tests: Use 'source ./functions.sh' and 'set -e/-x/-u' consistently
* tests/test-parallel-sh.sh: Enable shell debugging options in the test
* tests/test-vddk-real.sh: Enable nbdcopy --flush unconditionally
* tests: Use 'set -u' in tests
* tests: Modify some more tests to use 'define' function
* tests/test-info-base64.sh: Remove never-used 'info-base64.out' file
* tests/test-ddrescue-filter.sh: Various fixes and improvements
* docs: Update release notes for upcoming 1.44
* tests/test-exportname.sh: Refactor output file name
* tests: Use new 'define' function for some sh plugins
* tests/test-export-name.sh: Fix PID file name
* Fix typo and wording in release notes
* Version 1.43.13.
* tests: Skip more Python tests under valgrind
* vddk: Add support for VDDK 9.0.0.0
* vddk: Debug the output from QueryAllocatedBlocks
* vddk: Document unreliable extents information with local vmdk files
* docs: Create release notes for upcoming 1.44
* Revert "vddk: Add example of finding out how sparse VMDK files are"
* vddk: Add example of finding out how sparse VMDK files are
* tests/functions.sh.in: Fix typo in comment
* vddk: Update comment and broken link
* server: Print filter and plugin layers in debug mode
* common/utils: Add convenient string_append_format function
* Version 1.43.12.
* tests: Stop leaving left-over /tmp/nbdkitXXXXXX dirs
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=44
* vddk: Embolden "/" in file option
* cow: Make cow_on_read private to this file
* docs: Remove irrelevant verbiage about how plugins define
thread models
* docs: filters: Change parameter name of filter .get_ready
* filters: Remove a few unnecessary thread_model parallel
definitions
* tests/test-spinning-mkfs.sh: Reduce the time taken to run this
test
* docs: Mention recent CVE fixes
* vddk: Debug length of extents when using -D vddk.extents=1
* blocksize-policy: Typo fix
* cacheextents: Mark this filter as deprecated
* include: Move some extent functions to nbdkit-common.h
* vddk: Display command type in command completed message
* maint: Silence clang warning
* maint: Better fix for clang
* vddk: stats: Use "us" instead of (Unicode) "µs" for
microseconds
* vddk: stats: Line up the columns correctly
* curl: Remove temporary file when the plugin is unloaded
* tests/test.c: Try harder to clean up nbdkit and temporary
directory
* sh: Use utils make_temporary_directory function
* server: Try harder to clean up the random fifo dir (-U -)
* exitwhen: Print a debug message if we exit before starting up
* tests/test-no-parameters.sh: Fix comment to reflect reality
* tests: Stop leaving left-over /tmp/nbdkitXXXXXX dirs
* vddk: Update comment and broken link
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=40
- Update to version 1.40.3:
* Version 1.40.3.
* ip: Do late filtering in list_exports as well as open
* docs/nbdkit_shutdown.pod: Minor copyediting
* docs/nbdkit_error.pod: Typo 'thre' -> 'there'
* podwrapper: Check cross-references to C API pages
* docs: Fix cross-reference to nbdkit_stdio_safe(3)
* ocaml: Use thread-local key to register & unregister the thread
* ocaml: Reinitialize the OCaml runtime after fork
* tests: Refactor ocaml errorcodes plugin used in testing
- Move nbdkit-null-plugin to the nbdkit-server package
OBS-URL: https://build.opensuse.org/request/show/1202045
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/nbdkit?expand=0&rev=15
* Version 1.40.3.
* ip: Do late filtering in list_exports as well as open
* docs/nbdkit_shutdown.pod: Minor copyediting
* docs/nbdkit_error.pod: Typo 'thre' -> 'there'
* podwrapper: Check cross-references to C API pages
* docs: Fix cross-reference to nbdkit_stdio_safe(3)
* ocaml: Use thread-local key to register & unregister the thread
* ocaml: Reinitialize the OCaml runtime after fork
* tests: Refactor ocaml errorcodes plugin used in testing
- Move nbdkit-null-plugin to the nbdkit-server package
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=30
* Version 1.40.2.
* tests/dummy-vddk.c: Stop the background thread in dummy _Exit function
* vddk: Check create-size is aligned to VIXDISKLIB_SECTOR_SIZE
* vddk: Detect possible VDDK crash and warn
* docs: Refresh nbdkit-service(1) page
- Enable bzip2 filter
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=28
- Update to version 1.36.5:
* Version 1.36.5.
* tests: Add test-blkio.sh to unconditional EXTRA_DIST rule
* Revert "valgrind: Add suppression for liblzma bug"
* vddk: Move "Unknown error" information to the manual
* ocaml Add better comments to the example plugin
* ocaml: Simplify pread operation
* ocaml: Define a struct handle to hold the OCaml handle
* ocaml: Add OCaml version to --dump-plugin output
* ocaml: Print callback name when an exception is printed
* ocaml: Combine all exception printing into a single macro
* ocaml: Try to fix cross-references in NBDKit(3)
* cc: Separate two examples in the synopsis
* tests: luks: Skip valgrind
* eval: Check that get_size method is provided
* lua, tcl: Error out if script parameter is not supplied
* python: Fix crash if script parameter is missing
* perl: Fix crash if script parameter is missing
* rust: Fix the MSRV check during CI
* Rust: fix a clippy::clone_assign lint
* ci: cirrus: Use --break-system-packages with 'pip install'
* vddk: Document that VDDK 8.0.2+ is broken with RHEL 8
* Version 1.36.4.
* valgrind: Add suppression for liblzma bug
* luks: Fix infinite loop on error path
* docs: Add example of exporting a variable in --run
* vddk: Move read-only example / explanation to NOTES section
* vddk: Expand the first example into something runnable
* vddk: Update VDDK support matrix again
* benchmark: fio needs "$uri" to be exported
OBS-URL: https://build.opensuse.org/request/show/1168943
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=24
- Update to version 1.36.0:
* Version 1.36.0.
* evil: Fix typo in man page
* tests: Rename test-curl-options.sh and add more tests
* docs: Finalize release notes for release tomorrow
* curl: Use new curl_multi_get_handles API to simplify code
* curl: Store pointer from curl easy handle to our struct curl_handle
* README: Recommend new syntax for ASAN_OPTIONS
* fuzzing/README: Remove advice to set ASAN_OPTIONS
* docs: Small tweaks to the release notes
* docs: Add outline release notes for forthcoming nbdkit 1.36
* tests: Add some consistency checks of the tests themselves
* tests/test-evil-cosmic.sh: Use requires_nbdcopy
* tests/test-nozero.sh: Test uses nbdsh -u but does not declare requirement
* tests: Fix a couple more tests that are missing requires_run
* docs: Expand Network Block Device (for NBD) in title
OBS-URL: https://build.opensuse.org/request/show/1114450
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/nbdkit?expand=0&rev=10
- Update to version 1.32.2:
* Version 1.32.2.
* file: Avoid leaking h->fd on an error path
* common/utils/exit-with-parent.c: Use nbdkit_shutdown instead of exit
* tests: Use GNU cut in tests
* tests: Use GNU stat in tests
* tests/test-vddk-real.sh: Remove requires stat
* tests: Add requires stat --version to a few more tests
* tests/test-python-thread-model.sh: Skip test on non-parallel platforms
* tests/test-retry-request-mirror.c: Skip this test if 'disk' was not built
* tests/test-ocaml-errorcodes.c: Skip this test on macOS
* Revert "tests/test-python-thread-model.sh: Skip test on non-parallel platforms"
* tests: nbd: Skip all nbd plugin tests on macOS
* tests/test-nozero.sh: Test requires GNU stat
* tests/test-layers.c: Fix test for platforms without pipe2
* nbd: Ignore warnings about deprecated sem_* functions on macOS
* tests/test-layers.c: Don't link with exit-with-parent code.
* docs: Suggest a couple more packages to enhance macOS support
* tests: luks: Skip tests on macOS
* tests/test-memory-allocator-malloc-mlock.sh: Fix test requires
* tests: Fix more tests using truncate instead of $TRUNCATE
* tests/pki: Use GnuTLS certtool on macOS
* tests/test-python-thread-model.sh: Skip test on non-parallel platforms
* server: Further simplification of --exit-with-parent on macOS
* eval, sh: Better error message when we get EPIPE from script
* server: Simplify --exit-with-parent implementation for macOS
* server: Implement --exit-with-parent for macOS
* tests/test-exit-with-parent.c: Don't link with server code
* tests/test-exit-with-parent.c: Correct PIDs in debug messages
* tests/test-exit-with-parent.c: Fix bogus early exit from the test
OBS-URL: https://build.opensuse.org/request/show/1011045
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=18
- Update to version 1.30.7:
* Version 1.30.7.
* configure: Use printf to print $ISOPROG
* configure: Print the version of curl, libnbd and libssh
* configure: Make the 'feature' function print the dots
* tests/test-protect.c: Fix typo in previous commit
* tests/test-protect.c: Skip test if "disk" was not created
* common/include: Rename BUILD_BUG_ON_ZERO to something more meaningful
* common/include/test-array-size.c: Avoid Clang warning
* vddk: Demote another "phone home" error message to debug
* Use ARRAY_SIZE macro in various places in nbdkit
* common/include: Add ARRAY_SIZE macro
* tests/test-parallel-sh.sh: Skip test under valgrind + debuginfod
* tests/test-parallel-sh.sh: Small cleanups
* server: Work around incorrect include in gnutls/socket.h
* server: Display kTLS setting in debug output
* exitwhen: Check nbdkit doesn't exit before the pipe is closed
* valgrind: Update comment about valgrind bug affecting OCaml
* ocaml: Add further valgrind suppression
* ocaml: Add valgrind suppression for OCaml 4.14 bug
* perl: Move GCC diagnostic ignored earlier
* docs/nbdkit-protocol.pod: block size support was added in 1.30
- Enable linuxdisk plugin
- Update to version 1.30.6:
* Version 1.30.6.
* exitwhen: Link to example of how to use exit-when-pipe-closed
* rate: Miscellaneous enhancements to comments and debug messages
* ext2: Improve comments
* eval: Provide default for .can_cache
OBS-URL: https://build.opensuse.org/request/show/988219
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=15
- Update to version 1.27.8:
* boo#1189634
* Version 1.27.8.
* data: Simplify some of the Python code in test cases
* data: Fix optimization of inlined lists
* data: Optimize slices of some constant expressions
* data: Add a test that expected optimizations are being performed
* data: Get rid of EXPR_EXPR
* data: New functions new_node/get_node with simpler usage
* vector: Add vector_duplicate function
* cow: Clarify documentation for new cow-block-size option
* docs: Fix title of nbdkit-client man page
* server: reset meta context replies on starttls
* Version 1.27.7.
* cow: Ship cow.h header
* Version 1.27.6.
* server: CVE-2021-3716 reset structured replies on starttls
* cow: Make the block size configurable
* vddk: Add stats about the amount of time spent in VDDK calls
* vddk: Replace DEBUG_CALL with bracketed VDDK_CALL_START/END macros
* cow: Remove #include <sys/ioctl.h> which appears to be unused
* cow: Make cow_on_cache static
* maint: Mention online gpg keyring for security use
* data: Missed optimization: ( fill ) => fill
* data: Optimize strings with repeated characters into fills
* data: When possible, combine adjacent list elements
* common/utils: Fix off-by-one error in <vector>_remove
* tests/test-data-extents.sh: Remove some bogus tests of zero extents
* common/allocators/zstd.c: Handle zeroing unallocated space
* data: Optimize single element lists containing a single byte
OBS-URL: https://build.opensuse.org/request/show/914307
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/nbdkit?expand=0&rev=6
- Update to version 1.27.8:
* Version 1.27.8.
* data: Simplify some of the Python code in test cases
* data: Fix optimization of inlined lists
* data: Optimize slices of some constant expressions
* data: Add a test that expected optimizations are being performed
* data: Get rid of EXPR_EXPR
* data: New functions new_node/get_node with simpler usage
* vector: Add vector_duplicate function
* cow: Clarify documentation for new cow-block-size option
* docs: Fix title of nbdkit-client man page
* server: reset meta context replies on starttls
* Version 1.27.7.
* cow: Ship cow.h header
* Version 1.27.6.
* server: CVE-2021-3716 reset structured replies on starttls
* cow: Make the block size configurable
* vddk: Add stats about the amount of time spent in VDDK calls
* vddk: Replace DEBUG_CALL with bracketed VDDK_CALL_START/END macros
* cow: Remove #include <sys/ioctl.h> which appears to be unused
* cow: Make cow_on_cache static
* maint: Mention online gpg keyring for security use
* data: Missed optimization: ( fill ) => fill
* data: Optimize strings with repeated characters into fills
* data: When possible, combine adjacent list elements
* common/utils: Fix off-by-one error in <vector>_remove
* tests/test-data-extents.sh: Remove some bogus tests of zero extents
* common/allocators/zstd.c: Handle zeroing unallocated space
* data: Optimize single element lists containing a single byte
* data: Remove redundant redefinition of APPEND_EXPR macro
OBS-URL: https://build.opensuse.org/request/show/914304
OBS-URL: https://build.opensuse.org/package/show/Virtualization/nbdkit?expand=0&rev=12