+2021-05-18 lttng-tools 2.11.7 (No Dirty Dishes Day)
+ * Fix: sessiond: leak of config_path on duplicate --config option
+ * Fix: relayd: live: data is missing between viewer attach and retry
+ * Fix: lttng-ctl: erroneous check if user is part of the tracing group
+ * Fix: kernel consumer: get next subbuffer EAGAIN handling
+ * Fix: kernel consumer: signal metadata ready condition variable
+ * Fix: consumerd: unbalanced subbuffer 'get' when checking operation availability
+ * Fix: consumerd: strlen called on uninitialized path
+ * Fix: tests: health thread stall: only stop consumerd when required
+ * Fix: tests: quote variable in case it's not set
+ * Fix: sessiond: session destroy hang in per-uid when context cannot be added
+ * Fix: lttng_destroy_session_no_wait: return 0 on success
+ * config: fix typo in error message
+ * Tests: array expressions without contant index are invalid
+ * Fix: validate that array expression contains constant
+ * Fix: test: base-path tests are not run
+ * Fix: filter: memory leak in filter_parser_ctx
+ * Fix: sessiond: fix -Wshadow error in save.c
+ * Fix: utils: avoid strncpy overlap in utils_partial_realpath
+ * Clean-up: utils: make utils_partial_realpath static
+ * Fix: sessiond: kernel: invalid error code check
+ * Fix: ust-consumer: metadata thread not woken-up after version change
+ * Clean-up: ust-consumer: simplify metadata cache unlock on error path
+ * Fix: sessiond: timer: unitiliazed sigevent fields
+ * Fix: sessiond: ust-registry: dereference of NULL pointer on allocation failure
+ * Fix: ust-consumer: metadata cache lock not taken when sampling max offset
+
+2021-02-22 lttng-tools 2.11.6 (National Margarita Day)
+ * Fix: use MT-safe strtok_r in multithreaded context
+ * Fix: liblttng-ctl: unreported truncations when copying strings
+ * Fix: configure: support Autoconf 2.70
+ * Fix: sessiond: metadata not created on app unregistration during start
+ * Cleanup: use `modprobe --remove` rather than `rmmod`
+ * Tests: Fix: 99% fill ratio for high buffer usage is too high for larger events
+ * Fix: common: poll: compat_poll_wait never finishes
+ * Build fix: implicit declaration of function 'PERROR' on Solaris
+ * Fix: PERROR spam when `tracing` group does not exist
+ * Fix: memcpy used on potentially overlapping regions
+
+2020-08-03 lttng-tools 2.11.5 (National Watermelon Day)
+ * Fix: lttng: leak of userspace probe path on listing
+ * Fix: uprobe: missing error code on allocation failure
+ * Fix: sessiond: don't negate error code on list error
+ * Fix: send/received actual size is overwritten by 'expected' size
+ * Fix: partial recv lead to client disconnect
+ * tests: return the proper TAP exit code
+ * Tests: live/test_{lttng_,}kernel: use lttng_test_filter_event instead of sched_switch
+ * Fix: consumer: Move sanity check within `consumer_subbuffer` functions
+ * Cleanup: typo in DBG() statements
+ * Fix: relayd: send_viewer_streams sends stack data in padding
+ * Fix: kconsumer: missing wait for metadata thread in do_sync_metadata
+ * Fix: tests: interrupting get_next_notification causes test to fail
+ * Fix: consumer.c: wrong order of parameter in `DBG()` statement
+ * Fix: kernel metadata file outside of kernel/ directory
+ * Fix: consumer: dangling chunk on buffer allocation failure
+ * Fix: consumerd: uninitialized written_bytes on no-data sleep
+ * Build fix: consumerd misnamed label
+ * consumerd: on_sleep not called on stream when no data is available
+ * Fix: invalid discarded events on start/stop without event production
+ * tests: truncate metadata file for regenerate metadata test
+ * Fix: consumerd: user space metadata not regenerated
+ * Fix: tests: output_dir contains the consumerd pipe
+ * Fix: unix: don't PERROR on EAGAIN for non-blocking sockets
+ * Fix: sessiond: sessiond and agent deadlock on destroy
+ * Fix: incorrect specifier %lu used with size_t argument
+ * Fix: consumerd: live client receives incomplete metadata
+ * consumerd: refactor: split read_subbuf into sub-operations
+ * consumerd: move rotation logic to domain-agnostic read path
+ * sessiond: enforce mmap output type for kernel metadata channel
+ * consumerd: tag metadata channel as being part of a live session
+ * consumerd: pass channel instance to stream creation function
+ * consumerd: cleanup: use buffer view interface for mmap read subbuf
+ * consumerd: move address computation from on_read_subbuffer_mmap
+ * consumerd: refactor: combine duplicated check_*_functions
+ * kerner-ctl: add RING_RING_BUFFER_GET_NEXT_SUBBUF_METADATA_CHECK
+ * Add lttng_dynamic_buffer_append_view util
+ * Fix: lttng: Destroying session message repeated during destruction
+
+2020-05-19 lttng-tools 2.11.4 (Dinosaur Day)
+ * Fix: common: abort on rotation after time manipulation
+ * Fix: tests: `-Wstringop-overflow` warning
+ * Fix: load: incomplete error handling for load_session_from_file
+
+2020-04-16 lttng-tools 2.11.3 (National Eggs Benedict Day)
+ * Fix: lttng-destroy: missing newline on session destruction message
+ * Fix: common: add `void` parameter to log_add_time declaration
+ * Fix: lttng-list: don't warn when the kernel domain has no channels
+ * Fix: sessiond: occasional badfd error on repeated SIGTERM
+ * Fix: lttng: incorrect domain list printed when no domain is provided
+ * directory-handle: print `errno` reason on `unlinkat()` error
+ * Fix: lttng-ctl: _handle can be NULL
+ * Silence `POSIX Yacc` warnings
+ * Fix: relayd: use of relay_session ref count before initialization
+ * Fix: lttng: uninitialized pointer free'd when no sessiond is present
+
+2020-02-12 lttng-tools 2.11.2 (Hug Day)
+ * Fix: sessiond: check for lttng-modules ABI 2.1 rather than 2.8
+ * Tests: Fix: `wait_on_file()` returns too early
+ * Fix: Tests: utils.sh: fix unbound variable
+ * Tests: Fix typo: registerd -> registered
+ * Typo: 'toogle' -> 'toggle'
+ * Fix: force the use of our _FORTIFY_SOURCE definition
+
+2020-02-05 lttng-tools 2.11.1 (National Chocolate Fondue Day)
+ * Fix: sessiond: snapshot errors don't clear session's trace chunk
+ * Fix: sessiond: bounded snapshot record fails when no streams exist
+ * session-descriptor: fix comment typos in session-descriptor.h
+ * Fix: include stdlib.h in compat/string.h
+ * Fix: lttng: sanity check of `--probe` description
+ * Fix: update context types for Python bindings
+ * Fix: lttng: placing probe on symbol starting with `_`
+ * Fix: build failure with -fno-common
+ * doc: Fix bind address example for lttng-relayd
+ * Test: rotate_utils.sh: consider chunk archive with ust/ as empty
+ * Fix: consumer: do not flush on transition from NULL chunk
+ * Fix: consumer: honor "active" flush flag
+ * Fix: sessiond cmd.h: include missing lttng-sessiond.h
+ * Fix: sessiond: ust-app: per-pid buffers: Create empty ust/ directory
+ * Fix: utils: utils_stream_file_path separator
+ * Fix: consumerd: use packet sequence number for rotation position
+ * align.h: Implement ALIGN_FLOOR macro
+ * Fix: relayd: per-pid live: no new metadata vs close
+ * Fix: relayd: use packet sequence number for rotation position
+ * Fix: relayd stream.c: LTTNG_OPTIONAL_GET address confusion
+ * Fix: optional.h macro missing parentheses and guards
+ * dynamic-array: fix documentation of lttng_dynamic_pointer_array_get_pointer
+ * Fix: make dist fails on sdt-probe test with autotools v1.16+
+ * Fix: tests: metadata presence on relayd is not deterministic
+ * Fix: move testpoint after state update
+ * doc: fix typo in lttng-enable-event man page
+ * Fix: sessiond: RCU read lock imbalance on get trace chunk id error
+ * Fix: build: ust -> kernel mix-up in noinst_SCRIPTS
+ * Fix: relayd: missing metadata stream causes all traces to be skipped
+ * configure.ac: Remove duplicated CMD_DESCR_ROTATE definition
+ * Fix: relayd: fully initialize viewer stream before publishing it
+ * Fix: relayd: don't send streams if there is no metadata
+ * Fix: update apps on untrack only when session is active
+ * Fix: consumerd: assert on null trace chunk on session restart
+ * Fix: sessiond: don't wait for a rotation from a null chunk to finish
+ * Fix: sessiond: duplicated rotation notification sent
+ * Fix: relayd: remove assert of non-null stream trace chunk on rotate
+ * Docs: verb/noun confusion in comment
+ * Fix: sessiond: no rotation performed from null chunk to new chunk
+ * Fix: invalid use of destructor in dynamic pointer array
+ * Fix: relayd: check for a trace chunk before writing a packet
+ * Fix: relayd: viewer session trace chunk not released on detach
+ * Require automake >= 1.12
+ * Fix: relayd: session trace chunk is copied too late
+ * Fix: relayd: disallow 0-length session names for 2.4+ peers
+ * Fix: sessiond: ust: deadlock with per-pid buffers
+ * relayd: close viewer stream trace chunk earlier on release
+ * Fix: relayd: put chunk reference when closing stream
+ * Fix: relayd: tracefile rotation: viewer opening missing index file
+ * Tests: fix shellcheck warning
+ * Tests: base path: lttng load for session configuration
+ * Cleanup: remove unused internal lttng_session_descriptor_get_base_path
+ * Refactor: Move set session path to own function
+ * Fix: move set base_path of session to URI configuration
+ * Fix: lttng: initialize sessions pointer to NULL
+ * Fix: check for dtrace and sdt.h before enabling SDT uprobe tests
+ * Fix: consumerd: crash occurs when taking snapshot of ust channel
+ * Fix: trace-chunk: log the cause of file open failures
+ * Fix: relayd: live: crash when creating viewer streams
+ * Fix: relayd: live: crash on attach to a session without trace chunk
+ * Fix: relayd: live: some listed sessions are not attacheable
+ * Fix: relayd: don't put un-acquired trace chunk reference
+ * Fix: relayd: don't put un-acquired viewer trace chunk reference
+ * Fix: consumerd: NULL pointer dereference during metadata sync
+ * consumerd: clean-up: stream attribute accessed without locking stream
+ * Fix: check for lttng-ust >= 2.11 at configure
+ * Typo: occured -> occurred
+ * Fix typo 'Attemp' -> 'Attempt'
+ * Fix: sessiond: use system LTTng-UST headers when available
+ * doc/man: use specific revision date for each manual page
+ * lttng-rotate.1.txt: update voice and document the `archives` subdir.
+
+2019-10-17 lttng-tools 2.11.0 (Wear Something Gaudy Day)
+ * Fix: sessiond: unbalanced health register/unregister on error
+ * Fix: sessiond: NULL thread_state provided to pthread_cleanup callback
+ * Fix: sessiond: leak of trace chunk on destruction error
+ * common: cleanup error message mentioning mkdir
+ * Fix: sessiond: session destruction errors are unreported
+ * Fix: consumer: double unlock of rcu read lock on error
+ * Fix: sessiond: application channel creation failure stops start cmd
+ * sessiond: clean-up: enhance logging on event allocation failure
+ * Fix: sessiond: don't assert on event creation error
+ * Fix: lttng-elf.c: dereferencing pointer before null check
+ * Fix: sessiond: unbounded elf section data size allocation
+ * Fix: sessiond: double socket close on allocation failure
+ * Fix: sessiond: TOCTOU error on save of session configuration
+ * Fix: tests: replace truncation-prone logging helper
+ * Fix: relayd: Dereference after null check
+ * Fix: sessiond: app sock and notif shm not created by the main thread
+ * Fix: sessiond: client socket not created by the main thread
+ * Fix: relayd: Dereference before null check
+ * Fix: relayd: unchecked return values
+ * Fix: ust-consumer.c: Double unlock of channel lock
+ * Fix: sessiond: Dereference before null check
+ * Fix: sessiond: Dereference after null check
+ * Fix: relayd: Explicit null dereferenced
+ * Cleanup: relayd: Logically dead code
+ * Fix: enable_events.c: typo in `WARN()` message
+ * Cleanup: enable_events.c: fix erroneous comment
+ * Cleanup: relayd: identical code for different branches
+ * Fix: common: Unchecked return value of `closedir()`
+ * Fix: relayd: Dereference after null check
+ * Fix: Tests: test_session.c: Structurally dead code
+ * Fix: session-descriptor.c: Dereference before null check
+ * Fix: common: Dereference after null check
+ * Fix: test_utils_compat_poll.c: Unchecked return value
+ * Fix: liblttng-ctl: wrong variable used during argument validation
+ * Fix: liblttng-ctl: ABI-breaking size change of lttng_session struct
+ * Fix: liblttng-ctl: config and mi strings inadvertantly exported
+ * Fix: liblttng-ctl: compat_sync_file_range inadvertantly exported
+ * Fix: liblttng-ctl: poll compatibility symbols inadvertently exported
+ * Fix: lttng-ctl: unvalidated session destruction handle API arguments
+ * Docs: document the session destruction handle API
+
+2019-10-01 lttng-tools 2.11.0-rc4 (International Coffee Day)
+ * Fix: Tests: Segfault in `test_utils_expand_path()`
+ * Fix: lttng-ctl: missing __cplusplus closing brace
+ * Fix: trace chunk reported unknown before close command execution
+ * Fix: sessiond: leak of application socket on chmod failure
+ * sessiond: clean-up: silence warning that agent event is leaked
+ * Fix: tests: leak of prefix on error to register lttng namespace
+ * Fix: use newly created event filter for condition check
+ * Fix: lttng-crash: detect truncated files
+ * Fix: sessiond: fs.protected_regular sysctl breaks app registration
+ * relayd: clean-up: mix-up between LTTNG_PATH_MAX and LTTNG_NAME_MAX
+ * Fix: destroy command: put consumer output after destroy notifier
+ * Refactor: remove logically dead code
+ * Fix: Null check before destroying health_sessiond
+ * Fix: Move initialization of queue_pipe_fd after null check of handle
+ * Fix: release reference to new chunk on copy error
+ * Fix: Close socket handle on error
+ * Fix: lttng: out-of-bound copy of arguments in 'view' command handler
+ * Revert "lttng: fix: out-of-bounds copy of original 'view' command arguments"
+ * Fix: relayd: session destruction does not complete in live mode
+ * Add a copy method to the trace chunk interface
+ * relayd: move viewer stream chunk reference release to destroy
+ * relayd: move relay_session locking outside of make_viewer_streams
+ * Fix: release reference to trace chunk on index file creation failure
+ * trace-chunk: clean-up: mark close command properties as static const
+ * trace-chunk: clean-up: misleading label name
+ * ust-consumer: fix: metadata stream lock taken before destroy
+ * sessiond: fix: memory leak of section name in elf parser
+ * kconsumer: clean-up: initialize ctf_index before populating it
+ * sessiond: fix: strncpy called with source length
+ * sessiond: fix: possible unaligned access in packed structure
+ * relayd: clean-up: strncpy uses the length of the source as length
+ * lttng: fix: out-of-bounds copy of original 'view' command arguments
+ * lttng: clean-up: silence bogus string truncation warning
+ * sessiond: clean-up: mixed log levels enums used to look-up event
+ * sessiond: fix: possible unaligned access in packed structure
+ * sessiond: fix: possible unaligned access in packed structure
+ * sessiond: fix: possible unaligned access in packed structure
+ * sessiond: fix: possible unaligned access in packed structure
+ * lttng-ctl: fix: possible unaligned access in packed structure
+ * lttng-ctl rotate: fix: possible unaligned access in packed structure
+ * runas: fix: possible unaligned access in packed structure
+ * consumer: fix: possible unaligned access in packed structure
+ * inet: fix: possible unaligned access in packed structure (inet/inet6)
+ * consumer: fix: unaligned accesses to index fields
+ * lttng-sessiond: clean-up: set free'd pointer to NULL
+ * lttng: fix: potential 0-length allocation in pid list parsing
+ * Tests: fix: uninitialized session_id used on list_sessions failure
+ * Tests: fix: uninitialized values passed to close() on error
+ * Clean-up: assert that get_count_order() returns a positive value
+ * Clean-up: suppress bogus scan-build warning
+ * Tests: fix: leak caused by misuse of realloc in multi-lib-test
+ * sessiond: clean-up: init ret value of _session_set_trace_chunk_no_lock_check
+ * sessiond: fix: print_escaped_ctf_string mishandles empty string
+ * lttng-ctl: fix: lttng_data_pending confuses communication status
+ * relayd: fix: rotate_truncate_stream() assumes non-null next chunk
+ * Fix: dereference of NULL pointer in stream_write()
+ * Fix: report bytecode_push failure when pushing symbol
+ * Fix: only invoke PERROR() on failure to close sessiond_socket
+ * Clean-up: lttng: check status returned when checking rotation state
+ * Fix: communication error unreported in relay_rotate_session_streams
+ * Fix: unreported error in relay_close_trace_chunk
+ * Clean-up: remove dead assignment from ht cleanup thread launcher
+ * Clean-up: remove dead assignment from thread_rotation
+ * Clean-up: remove dead assignment in setup_channel_trace_path
+ * Clean-up: remove dead assignments while setting session trace chunk
+ * Fix: report path truncation on addition of local uri to consumer
+ * Clean-up: lttng: silence warning in regenerate command handler
+ * Clean-up: lttng: silence warning in metadata command handler
+ * Clean-up: remove NULL check on sesison_create mandatory arguments
+ * Fix: session may be NULL in relay_create_session error path
+ * Clean-up: silence erroneous leak warning
+ * Fix: leak of lttng_elf_shdr in lttng-elf.c
+ * Fix: leaked chunk reference in lttng_consumer_create_trace_chunk
+ * Clean-up: remove unused stream file creation and unlink functions
+ * Fix: use the trace chunk to truncate streams on late rotation
+ * Clean-up: format using remaining buffer len rather than total len
+ * Fix sessiond: report flush errors on session stop
+ * Fix: leak of trace_path on error in ust_app_snapshot_record
+ * Fix: uninitialized directory handle finalized on error path
+ * Fix: release reference to created chunk if it can't be published
+ * Fix: destroy chunk registry on element creation failure
+ * Fix: return NULL on trace chunk registry failure
+ * Fix: forward fatal error in evaluate_condition_for_client()
+ * Fix relayd: check for NULL in session_put
+ * Fix typo in regenerate statedump test util
+