+2019-10-17 lttng-tools 2.10.9 (Wear Something Gaudy Day)
+ * Fix: sessiond: TOCTOU error on save of session configuration
+ * Fix: tests: replace truncation-prone logging helper
+
+2019-10-01 lttng-tools 2.10.8 (International Coffee Day)
+ * Fix: lttng: out-of-bound copy of arguments in 'view' command handler
+ * sessiond: fix: strncpy called with source length
+ * sessiond: fix: possible unaligned access in packed structure
+ * lttng-ctl: 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: 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
+ * lttng-ctl: fix: lttng_data_pending confuses communication status
+ * Fix typo in regenerate statedump test util
+ * Fix: metadata stream is not marked as quiescent after packet commit
+ * Remove unused bitfield.h header
+ * Fix: sessiond: fs.protected_regular sysctl breaks app registration
+ * Fix: lttng-crash: detect truncated files
+ * Fix: use newly created event filter for condition check
+ * Fix: namespace our gettid wrapper
+ * Fix: check for lttng modules presence before testing
+ * Fix: test_crash: don't kill first app twice
+ * Cleanup: test: don't stop relayd twice
+ * Fix: test: utils.sh: exit from process on full_cleanup
+ * Fix: utils.sh: handle SIGPIPE
+ * Fix: tests: error handling in high throughput limits test (v2)
+ * Improve handling of test SIGTERM/SIGINT (v2)
+ * Fix: check validity of a stream before invoking ust flush command
+ * Fix: initialize syscall table when kernel tracer is lazily initialized
+
+2019-05-24 lttng-tools 2.10.7 (Asparagus Day)
+ * Update base test for binding
+ * Fix: python binding: expose domain buffer type
+ * Fix: lttng_poll_mod calls compat_(e)poll_add
+ * Fix: getgrnam is not MT-Safe, use getgrnam_r
+ * Fix: logging: log_add_time() save/restore errno
+ * Fix relayd: initialize beacon to -1ULL
+ * Fix: relayd: handling of lttng_read errors >= 0
+ * Fix tests: NULL pointer dereference in ust channel unit tests
+ * Fix tests: NULL pointer dereference in ltt_ust_context unit tests
+ * Log the wait-shm's path on shm_open failure
+ * Tests: use modprobe to test for the presence of lttng-modules
+ * Fix: skip test when ust doesn't have perf support
+ * Tests: check for lttng-modules presence
+ * Fix: Properly sanitize input parameter
+ * Fix tests: link libpause_consumer on liblttng-ctl
+ * tap-driver.sh: flush stdout after each test result
+ * Fix tests: snapshot size validation failure runs too many test cases
+ * Fix tests: the tree origin can be a symlink itself
+ * Fix tests: skip test_getcpu_override on single core systems
+ * Fix: Add POPT_CFLAGS to lttng_CFLAGS
+ * Fix: consumer snapshot: handle unsigned long overflow
+ * Fix: wrong error code returned by kernel_snapshot_record()
+ * Docs: document the format of the lttng_session path member
+ * Fix: check illegal combinations of ctrl-url/data-url/ouput/set-url
+ * Remove duplicate check for dlopen
+ * Tests: take multiple snapshots in streaming mode
+ * Fix: don't destroy the sockets if the snapshot was successful
+ * Fix: missing rcu read locking in trigger "unregister all" command
+ * Fix: notification thread: RCU-safe reclaim of hash table nodes
+
+2019-01-22 lttng-tools 2.10.6 (Blonde Brownie Day)
+ * Fix: worker structure is leaked in run_as process
+ * Fix: only free trace_path when it is dynamically allocated
+ * Fix: leak of filter bytecode and expression on agent event re-enable
+ * Test fix: python logging test spams its output
+ * Fix: leak of rundir config string
+ * Fix: do not repurpose iterator while it is being used
+ * Fix: run_command_wait() handle partial write
+ * Fix: tests: test_crash should start sessions
+ * Add *.exe to gitignore for Cygwin
+ * Fix: warning 'fd' may be used uninitialized
+ * Fix: max_t/min_t macros are missing cast on input
+ * Fix: Connect timeout arithmetic in inet/inet6 (v4)
+ * Fix: create_channel_per_pid: remove channel on error
+ * Fix: channel errors on local stress-tests
+ * Fix: channel_ust_create: remove channel on agent error
+ * Always choose large event header for UST channels
+ * Remove unnecessary check of output parameter
+ * Fix: perform local data pending before checking data pending with relayd
+ * Fix: double put on error path
+ * Fix: holding the stream lock does not equate to having data pending
+ * Fix: skip uid registry when metadata key is 0
+ * Docs: document the meaning of a ust app channel key set to 0
+ * Fix: acquire stream lock during kernel metadata snapshot
+ * Fix: skip closed session on viewer listing
+ * Fix: use LTTNG_VIEWER_ATTACH_UNK to report a closed session
+ * Doc: withinin -> within
+ * Fix: perform relayd socket pair cleanup on control socket error
+ * Fix: relayd control socket mutex is not destroyed
+ * Tests: do not bound test app iterations when in background mode
+ * Tests: add missing rotation and autoload tests to check target
+ * Tests: remove temporary folder
+ * Tests: remove mi result files when done
+ * Tests: Remove unused set +x
+ * Tests: Kill relayd after sessiond to ensure a clean tear down
+ * Tests: Remove unused variable
+ * Tests: Use stop relayd from utils.sh
+ * Tests: remove declaration already present in utils.sh
+ * Fix: incorrect error message on regenerate missing argument
+ * Fix: incorrect error message on metadata missing argument
+ * Fix: snapshot command mishandles missing arguments
+ * Fix: potential use of NULL path in stat() use
+ * Fix: passing null to closedir() on error
+ * Fix: unchecked access to pids array
+ * Fix: returned pids may be uninitialized
+ * Fix: lttng-save command producing wrong XML fields
+ * Fix: memory is not zeroed on first set_capacity
+ * Fix: dynamic buffer mishandles setting capacity to 0
+ * Fix: client_list_element leak on failure to evaluate a condition
+ * Fix: possible NULL dereference in uri_parse_str_urls()
+ * Fix: clean-up sessiond condig structure on initialization error
+ * Fix: unchecked return value in sessiond path configuration
+ * Set consumer's verbosity to the max level on --verbose-consumer
+ * Tests: added test_autoload to noinst_SCRIPTS
+
+2018-07-23 lttng-tools 2.10.5 (National Vanilla Ice Cream Day)
+ * Fix: missing context enum values in session xml schema
+ * Tests: add session auto-loading test cases
+ * Bash completion: ignore namespace for xmllint parsing
+ * Typo in ust consumer log message (channek -> channel)
+ * Fix: use signed variable for refcounting of consumer_relayd_sock_pair
+ * Fix: warning due to hash_key_str() being not const-correct
+ * Print consumerd32/64/kernel configuration
+ * Fix: calling ht_{hash, match}_enum with wrong argument
+ * Fix: probes should be compared strictly by events metadata
+ * Fix: test_ust-dl is generated at configure-time
+ * Fix: cmd line options overwrite env variable config options
+ * Fix: perform the initialization memory barrier out of loop body
+ * Port: fix format warnings on Cygwin
+ * Add missing include for ssize_t on Cygwin
+ * Fix: sessions with agent channels fail to load
+ * Fix: don't wait for the load thread before serving client commands
+ * Fix: sessiond fails to launch on --without-ust configuration
+ * Fix: agent thread poll set creation failure results in deadlock
+ * Fix: test uses sizeof() on the wrong operand of strncpy
+ * Fix: ret may be used uninitialized in sample_channel_positions()
+
+2018-04-30 lttng-tools 2.10.4 (CERN announces WWW protocols will be free)
+ * Fix build: in_git_repo is used before being set
+ * Add DBG statement for TCP keep-alive options
+ * Fix: unprivilieged sessiond agent port clashes with root sessiond
+ * Fix: erroneous use of extern keyword
+ * Fix: failure to launch agent thread is not reported
+ * Fix: agent may not be ready on launch
+ * Fix: checking for existing session daemon is done after daemonizing
+ * Fix: lttng logs nanoseconds
+ * Fix: stream_per_chan_id_ht should allow duplicates
+ * Fix: relayd send_command() util not logging on failure
+ * Fix: create_output_path() relayd util is not const-correct
+ * Fix: kernel snapshot handling of EAGAIN
+ * Fix validate_trace_empty test check
+ * Fix: circular inclusion of lttng.h results in warning
+ * Fix: channel lock must be taken to check for pending notifications
+ * Fix: quiet option is not set in sessiond-config
+ * Fix: hold consumer socket lock for consumer_send_msg
+ * Fix: use off_t type for lseek function return value to avoid overflow
+ * Fix: double similar condition
+
+2018-03-26 lttng-tools 2.10.3 (Purple Day)
+ * Fix: set errno with value from SO_ERROR on error.
+ * Fix: missing value handling for lttng_event_context_type
+ * Fix: Use SOL_SOCKET level for SO_KEEPALIVE on all platform
+ * Fix: error out on leftover arguments
+ * Fix: reply to version check even on protocol mismatch
+ * Fix: error handling on relay version check
+ * Document add-context limitation for started session
+ * Fix: add-context cannot be performed after a session has been started
+ * Fix: duplicated kernel consumer socket locking
+ * Fix: remove unused event types in MI XML schema
+ * Tests: cleanly exit from test apps on reception of SIGTERM
+ * Document consumer socket locking assumptions
+ * Fix: consumer socket lock not held during snapshot record
+ * Fix: set_relayd_for_snapshot does not acquire the consumer socket lock
+ * Fix: send_channel_monitor_pipe does not take the consumer socket lock
+ * Document the locking assumptions of consumerd-relayd socket passing
+ * Assert that the consumer lock is held while sending FDs to consumerd
+ * Assert that the consumer socket lock is taken during communication
+ * Tests: refuse to run test suite if lttng processes are present
+ * Fix: metadata channel leak when using the snapshot tracing mode
+
+2018-02-05 lttng-tools 2.10.2
+ * Fix: do not flag consumer as disabled on relayd comm failure
+ * Fix: cleanup inactive FDs in the consumer polling thread
+ * man: document dead-peer detection for lttng-relayd
+ * lttng-relayd: use TCP keep-alive mechanism to detect dead-peer
+ * Tests: race between consumer pause and trace start/stop
+ * Fix: notification thread not notified of channel creation on app error
+ * Fix: using putenv() and free()-ing the value is invalid
+ * Fix: unknown consumer type considered a libc error
+ * Fix: consumerd(64/32)_lib_dir can be NULL
+ * Fix: nonsensical message printed by lttng track/untrack
+ * Fix: O_CLOEXEC is erroneously used on pipe creation
+ * Fix: wrong parameter to fcntl in pipe_set_flag
+ * Fix: use lttng_clock_gettime instead of clock_gettime
+ * Fix: close channel monitor pipe after killing the metadata_timer_thread
+ * Fix: use file based synchronization for python logging test
+ * Test: add file based synchronization point for python test app
+ * Fix: wrong use of the relay_streams_sent in snapshot
+ * Fix: the return code of lttcomm_send_unix_sock is signed
+ * Fix warning: src/bin/lttng/utils.c: cast incompatible pointer
+ * Fix: src/common/pipe.h: include <sys/types.h> for ssize_t and mode_t
+ * Fix: detect dlmopen() and disable corresponding tests if not available
+ * Fix: Use tmpdir for intermediary files
+ * Fix: include scripts for distribution
+ * Fix: typo in lttng-consumerd file default
+ * Fix: missing NULL checks in logging statements
+ * Test: kernel testing for notification
+ * Fix: kernel consumerd sock paths need rundir substitution
+ * Fix: create lttng run dir regardless of user privilege
+ * Fix: Make version.h generation work with dash
+ * lttng-enable-event(1): filtering: specify that `$ctx.cpu_id` is available
+ * centralize sessiond config option handling
+ * Fix: buffer overflow warning in python bindings
+ * Tests fix: BT2 does not output the metadata of a trace collection
+
+2017-08-03 lttng-tools 2.10.1 (Watermelon Day)
+ * Typo: occured -> occurred
+ * Fix: uninitialized return value on error path
+ * Fix: ensure kernel context is in a list before trying to delete it
+
+2017-08-01 lttng-tools 2.10.0 (World Wide Web Day)
+ * lttng enable-channel: disallow --overwrite and --blocking-timeout
+ * lttng-enable-channel(1): reword --blocking-timeout, document in description
+ * lttng enable-channel: --blocking-timeout opt.: use `inf` instead of -1
+ * Cleanup: remove unused internal structure
+ * Cleanup: remove unnecessary extern qualifier
+ * Docs: document the trigger API
+ * Docs: document the notification API
+ * Docs: document the notification channel API
+ * Docs: document the evaluation API
+ * Docs: document the lttng_condition API
+ * Docs: document the lttng_buffer_usage condition API
+ * Docs: document the lttng_action_notify action type
+ * Docs: document the lttng_action API
+ * Fix: ambiguous ownership of kernel context by multiple channels
+ * lttng-enable-channel(1): move --output description to maintain A-Z ordering
+ * lttng-enable-channel(1): document --monitor-timer
+ * Prettify channel listing
+ * Use pipe instead of eventfd() for notification command queue
+ * Cleanup: useless reset of ret to zero
+ * Fix: ret is never used on error_open code path
+ * Fix: use error code path instead of break when errors happen before execl
+ * Cleanup: ignore useless check of execl() return value
+ * Fix: wrong variable assignment on error
+ * Cleanup: remove dead increment of pointer
+ * Fix: missing error handling in use of print_tabs()
+ * Cleanup: functions shall have a single exit point
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Cleanup: dead assignment
+ * Fix: ret is used instead or err to set an error code
+ * Cleanup: remove dead assignment
+ * Cleanup: remove dead assignment
+ * Fix: report error using fd instead of ret
+ * lttng-enable-channel(1): reword and fix style of --blocking-timeout description
+ * Fix: doc/man: use a single XSL file and match local names
+ * Tests: rework select_poll_epoll test to improve verbosity on failure
+ * Only print relevant session statistics on stop
+ * Fix: NULL passed to memcpy in error path
+ * Only print relevant session statistics in channel listing
+ * Uniformize the printing of units in session listing
+ * Fix: lost packet accounting always lost on snapshot
+ * Fix: report error on session listing
+ * Tests: don't assume a 4K page size in test_notification
+ * Fix live-comm: merge TCP socket write-write sequence in a single write
+ * Docs: move notification thread documentation to header
+ * Docs: grammar fix in comment
+ * Fix: evaluate condition/trigger on subscription
+ * Test: Trigger conditions is evaluated on subscription
+ * save/load: add blocking_timeout attribute to channel
+ * Introduce monitor_timer_interval to session configuration schema
+ * Test: Reduce scope of variables used in multi app notification test
+ * Hide internal buffer-view symbols
+ * Hide internal session configuration symbols
+ * Hide internal dynamic-buffer symbols
+ * Hide internal string-utils symbols
+ * Typo: occured -> occurred
+ * Fix: join consumer timer thread
+ * Cleanup: use CMM accessors for consumer_quit variable
+
2017-06-14 lttng-tools 2.10.0-rc2 (National Bourbon Day)
* Fix: test_utils_expand_path passes NULL to sprintf
* Fix: reject triggers if they depend on an unavailable feature