+2016-12-01 lttng-tools 2.7.6 (National Pie Day)
+ * Fix: test cases now rely on explicit workloads
+ * Add version info to lttng-relayd help
+ * Fix: stop sessiond threads on health thread error
+ * Fix: stop lttng-relayd threads on health thread error
+ * Fix: report an error if unix socket address is too long
+ * Fix: save: leak of configuration file fd
+
+2016-10-07 lttng-tools 2.7.5 (National Frappé Day)
+ * Fix: check for a session daemon before running load command
+ * Fix: report truncation on snprintf
+ * Fix: ignore SIGPIPE
+ * Fix: use ssize_type for the return value of uri_parse_str_urls
+ * Docs: grammar fixes in load.h
+ * Fix: wrong api comments for load.h
+ * Fix: do not overwrite ret if already set and session found
+ * Fix: honor negative (unlimited) app socket timeout
+ * Tests: tap.sh spams tests' output when no plan is set
+ * Fix: location of various standard headers
+ * Test fix: set app and network socket timeouts to unlimited
+ * Test fix: test_fork can hang while waiting for child pids
+ * Test fix: test_daemon can hang while waiting for child pids
+ * Test fix: redirect python test subprocess output to /dev/null
+ * Fix: RCU lock imbalance on error in cmd_snapshot_list_outputs()
+ * OOT Build fix: reference the source directory's Python test app
+ * Fix: pass NULL to config_load_session instead of an empty string
+
+2016-07-05 lttng-tools 2.7.4 (NASA's Juno spacecraft enters orbit of Jupiter)
+ * Tests: eliminate process timeouts from Python tests
+ * Fix: English syntax errors in 'lttng status'
+ * Fix: sessiond ht_match_event() check if filter is NULL
+ * configure.ac: fix --enable/disable-kmod option
+ * Fix: validate number of subbuffers after tweaking properties
+ * Fix: leak of UST app hash tables
+ * Fix: leak of reply buffer on data pending check
+ * Fix: call xmlCleanupParser to free global libxml2 allocations
+ * Fix: missing "void" parameter of lib constructor and destructor
+ * Fix: lttng-relayd allow binding of privileged ports for non-root users
+ * relayd: optimize receive throughput
+ * Fix: set the logger level to prevent unexpected level inheritance
+ * Port: Don't use SIGUNUSED which is not defined on Solaris
+
+2016-05-20 lttng-tools 2.7.3 (Bike-to-Work Day)
+ * Fix: use start and stop sessiond from utils.sh
+ * Clarify kernel version check error messages
+ * Fix: Error reported if no domain is provided for start/stop
+ * Handle unknown domain in MI
+ * Handle unknown domain on session start
+ * Fix: loading of live session within userspace domains
+ * Docs: fix "daemon" typo in README.md
+ * Fix: do not return error on LTTNG_ERR_SNAPSHOT_NODATA
+ * Fix: Set loopback adress in set_ip_addr if gethostbyname2 fails
+ * Fix: d_type validity is not guaranteed on all nfs versions
+ * Tests: same event name with different descriptor on load
+ * Fix: load event state (enabled/disabled) correctly
+ * Fix: only perform lttng_consumer_sync_trace_file() in local mode
+ * Fix: don't negate posix_fadvise return value to check error
+ * Rename lttng_error_type to lttng_error_level
+ * Cleanup error.h __lttng_print() used for message printing
+ * Update coding style document for macro style
+ * Fix: coding style document has erroneous semicolon at end of macro
+ * Fix: add missing semicolons after MSG, DBG, ERR print macros
+ * Fix: Use get_domain_str on add context
+ * Tests: inverted condition in test_kernel_data
+ * Fix: ust-consumer: flush empty packets on snapshot channel
+ * Fix: WARN() should print as WARN level, not ERR
+ * Fix: error.h: add missing parenthesis around macro parameter
+ * Fix: bogus mask on error.h PRINT types
+ * Fix: kernel tracing: flush after stop
+ * Fix: UST should not generate packet at destroy after stop
+ * Tests: remove flaky '*' kernel wildcard test
+ * Fix: bad file descriptors on close after rotation error
+ * Fix: posix_fadvise wrapper returns -ENOSYS on FreeBSD
+ * Fix: Double free in utils_partial_realpath error path
+ * Fix: remove logically dead code in send_channel_uid_to_ust
+ * Fix: unchecked return value in low throughput test
+ * Fix: unchecked posix_fadvise() return value
+ * Fix: unchecked return value in relayd live.c
+ * Fix: unchecked return value in trace_clock_read64_monotonic
+ * Fix: initialize the cur_event variable before using it
+ * Fix: NULL pointer dereference in relay_index_get_by_id_or_create
+ * Fix: Deference after null check in sessiond set_option
+ * Fix: Wrong sizeof argument in pid tracker
+ * Fix: tests: incorrect uri index
+ * Fix: Integer overflowed argument
+ * Fix: macro compares unsigned to 0 (no effect)
+ * Fix: Free variable before strdup() in process_event_node
+ * Fix: Free variables before strdup()
+ * Fix: Add missing free() in spawn_viewer
+ * Fix: Add missing free() in utils_partial_realpath
+ * Fix: illegal memory access in test_create_kernel_event
+ * Fix: illegal memory access in send_viewer_streams
+ * Fix: illegal memory access in viewer_list_sessions
+ * Fix: illegal memory access in relayd_add_stream
+ * Fix: illegal memory access in relayd_create_session_2_4
+ * Fix: illegal memory access in session_create
+ * Fix: illegal memory access in consumer_set_subdir
+ * Fix: illegal memory access in syscall_init_table
+ * Fix: illegal memory access in write_pidfile
+ * Fix: illegal memory access in list_lttng_channels
+ * Fix: illegal memory access in cmd_snapshot_record
+ * Fix: illegal memory access in output_init
+ * Fix: illegal memory access in consumer_set_network_uri
+ * Fix: illegal memory access in cmd_snapshot_list_outputs
+ * Fix: illegal memory access in list_events
+ * Fix: illegal memory access in disable_event
+ * Fix: illegal memory access in add_uri_to_consumer
+ * Fix: illegal memory access in init_ust_event_from_agent_event
+ * Fix: illegal memory access in _cmd_enable_event
+ * Implement lttng_strncpy safe string copy
+ * Fix: loading a session prints an error message but the load is successful
+ * Snapshot warning if there are no events in one of the domains
+ * Snapshot: record: use same datetime for snapshot folder output
+ * Refactor: move the snapshot type check into output type check
+ * configure.ac: check for an existing liburcu-cds symbol
+ * configure.ac: use macro for wrong liburcu error message
+ * Tests: wording of trace_matches is misleading
+ * Typo: catched -> caught
+
+2016-04-19 lttng-tools 2.7.2 (Bicycle Day)
+ * Clean-up shm directory tree after freeing the channel
+ * Test: Add the lttng-runas worker process to the sessiond pids
+ * Limit the scope of IFS overwriting
+ * Do not overwrite IFS globally but only locally
+ * Fix: tests: use SIGSTOP for crash extraction test
+ * Fix: Only save kernel enablers in session configuration
+ * Fix: Only list kernel enablers when listing events
+ * Fix: syscalls hash table leaks when listing kernel events
+ * Test fix: ignore stderr at every step of randstring
+ * Test fix: ignore stderr when generating random string
+ * Fix: test: use load_path instead of $1
+ * Fix warning when building Python bindings
+ * Test: prevent the spawning of a daemonized sessiond
+ * Fix: There is more tests than the plan
+ * Fix: per-pid ust buffers flush race with application unregister
+ * Fix: Use ipv6 loopback adress in test_uri
+ * Fix: report already enabled event error to client
+ * Tests fix: source utils.sh before using conf_proc_count
+ * Tests: use configured processor count in getcpu override tests
+ * Tests: use configured processor count in snapshot tests
+ * Tests: Introduce conf_proc_count()
+ * Tests: print a more precise test description in snapshot tests
+ * Fix: handle negative clock offset for lttng-ust metadata
+ * Fix: do not print error and bug messages when quiet (-q) is present
+
+2016-01-07 lttng-tools 2.7.1 (National Tempura Day)
+ * Build: fallback to AC_CHECK_LIBS when looking for popt and uuid
+ * tests/unit: fix object files' location
+ * configure.ac: fix static build
+ * Fix: close indexes when rotating the trace files in mmap mode
+ * Fix: close indexes when rotating the trace files in splice mode
+ * Fix: Don't spam session daemon logs on invalid UST context
+ * Fix: Check for NULL hash tables on relay daemon teardown
+ * Fix: Verify directory's existence before calling mkdir
+ * Fix: Unchecked NULL string in logging statement
+ * Fix: include the filter expression in agent events' primary key
+ * Fix live timer calculation error
+ * Fix: Remove dependency on glibc 2.12 caused by pthread_setname_np
+ * Fix: Log and ignore SIGINT and SIGTERM in run_as worker
+
+2015-09-24 lttng-tools 2.7.0 (National Punctuation Day)
+ * Fix: Handle EINTR of waipid in run-as worker
+ * Fix: Handle EINTR of waitpid when spawning a session daemon
+ * Add a LOG() macro which handles dynamic severity levels
+ * Fix: tests: support systems where PAGE_SIZE is not 4096
+ * Test: jul/log4j: use -a instead of '*' to disable all events
+ * Reword warning on event disable
+ * Clean-up: Remove unused test launchers
+ * Help: add -j -l -p option to help string
+ * man: update disable-event section
+ * Use empty event name on disable -a for ust and agent domain
+ * Fix: disable kernel event based on name and event type
+ * Tests: Clean-up test-crash on SIGTERM and SIGINT
+ * Fix: Possible dereference of null pointers
+ * Fix: Break out of loop when searching for a domain's agent
+ * Fix: int printed as uint
+ * Fix: add subdir-objects to Makefile.am
+ * Fix: tests: skip UST perf tests if not root
+
+2015-09-18 lttng-tools 2.7.0-rc2
+ * Fix: Check use_clone() instead of worker in run_as
+ * Fix: Perform rcu barrier before tearing down the run-as worker
+ * Fix: Handle hang-up gracefully in run-as
+ * Fix: Only log app handle release on failure
+ * Fix: shm-path: handling of snprintf return value
+ * Fix: Wrong format specifier used in debug statement
+ * Tests: Swap usages of pidof for pgrep --full
+ * Tests: indefinitely wait for shm buffers to be unlinked
+ * Fix: Hide run-as functions
+ * Fix: Hide sessiond-comm functions
+ * Cleanup: remove duplicated implementation of rculfhash
+ * Fix: relayd: don't call lttng_ht_destroy in RCU read-side C.S.
+ * Fix: libc internal mutex races with run_as
+ * Fix: Hide readwrite symbols in common lib
+ * Fix: Hide pipe symbols in common lib
+ * Fix: Hide daemonize symbols in common lib
+ * Fix: Hide RCU hashtable wrapper symbols
+ * Fix: prevent dangling pointer in utils_partial_realpath
+ * Fix: rcu_read_unlock without parentheses has no side-effect
+ * Fix: add missing test file to EXTRA_DIST
+ * Format utils.sh messages
+ * Tests: use functions from utils.sh
+ * Report error if any disable action fails
+ * Fix: disable all ust events
+ * Bring back event_ust_disable_all_tracepoints
+ * Fix: sessiond: disable: match app event by name
+ * lttng-crash: support symlink
+ * Test: lttng-crash and ust shm path
+ * Fix: dereferencing null index pointer
+ * Fix: leaking memory from strdup in lttng-crash
+ * Fix: memleak in utils_partial_realpath
+ * Fix: double free on enable-event
+ * Fix: error on no/multiple domain options
+ * Fix: lttng-crash: segfault when parsing options
+ * Print relayd stream indexes
+ * Enhance relayd error reporting
+ * Fix: relayd: handle consumerd crashes without leak
+ * Fix: LPOLLHUP and LPOLLERR when there is still data in pipe/socket
+ * Fix: Use 2.7 java JAR and class names
+ * Fix: double RCU unlock on event_agent_disable_all
+ * Fix: unbalanced RCU read-side lock in enable event command
+ * Add rcu_read_ongoing() assertions around process_client_msg
+ * Clean-up and simplify event_agent_disable_all
+ * Fix: disable agent events by name
+ * sessiond: add loglevels_match()
+ * Fix: include loglevel type in agent event's primary key
+ * Fix: include loglevel type in UST event's primary key
+ * sessiond: use `loglevel_value` and `loglevel_type` names
+ * Tests: kernel wildcards
+ * Tests: fix wildcard test path
+ * doc: document untrack command in lttng(1)
+ * doc: document track command in lttng(1)
+ * Remove dot after enable-event message
+ * Fix: don't print the default channel name when enabling agent events
+ * Fix: fail gracefully on --exclude on unsupported domains
+ * Fix: initialize live_timer to 0 for snapshot session
+ * Fix: correct mismatched function signatures
+ * Clearer error reporting when failing to launch session daemon
+ * Daemonize sessiond on `lttng create`
+ * Fix: consumer signal handling race
+ * Fix: list_ust_events(): dangling pointer
+ * Fix: MI: close domain when listing multiple agent domains
+ * Tests: expand UST wildcard tests, move to regression/tools
+ * Tests: kernel filtering
+ * Fix: use pid element instead of process element
+ * Fix: race between kconsumerd and sessiond on tear down
+ * Fix: Buggy string comparison in ust registry ht_match_event
+ * Fix: Bad cast of lttng_kernel_instrumentation to lttng_event_type
+ * Fix: Implicit cast from lttng_loglevel_type to lttng_ust_loglevel_type
+ * Fix: lttng-crash: remove tmp working directory
+ * Fix: lttng-crash: DIR leak in delete_trace() on error
+ * Fix: Possible passing of NULL pointer to memcpy()
+ * Fix: Overwrite of ret in relay_recv_metadata
+ * Fix: Wait for in-flight data before closing a stream
+ * Fix: unpublish stream on close
+ * Fix: lttng-crash: fd leak
+ * Fix: Invalid parameter error reported when untracking PID
+ * Fix: kernel track/untrack error handling
+ * Fix: Python agent tests are always skipped
+ * Tests: Java agent: Add configure switches to enable tests
+ * Tests: Java agent: update after Java agent refactoring
+ * Tests: Fix flaky live test client
+ * Fix: Announce empty streams on live attach
+ * Fix: relayd: file rotation and live read
+ * Fix: relay: viewer_get_next_index handle null vstream
+ * Fix: relayd: make viewer streams consider metadata sent
+ * Fix: don't expose empty streams
+ * Fix: relayd: don't check new metadata on get packet
+ * Fix: relayd: don't check for new streams in get packet
+ * Fix: ask new streams HUP
+ * Fix: reply error if get packet vstream fails
+ * Fix: relayd reply error to client if cannot find viewer stream
+ * Fix: relayd reply with error if cannot find metadata
+ * Fix: ust-app: protect app socket protocol with lock
+ * Fix: add missing rcu_barrier at end of sessiond main
+ * Fix: add missing rcu_barrier at end of consumer main
+ * Fix: app cmd leak on sessiond exit
+ * Fix: relayd live don't send incomplete stream list
+ * Fix: consumer timer misses RCU thread registration
+ * Fix: sessiond consumer thread should register as RCU thread
+ * Fix: don't chain RCU free
+ * Fix: free metadata cache after grace period in consumer
+ * Fix: sessiond vs consumerd push/get metadata deadlock
+ * Fix: streamline ret/errno of run_as()
+ * Fix: Double unlock on error path
+ * Fix: Relay daemon ownership and reference counting
+ * Accept uid and gid parameters in utils_mkdir()/utils_mkdir_recursive()
+ * Fix: reference counting of consumer output
+ * Fix: sessiond add missing socket close
+ * Fix: sessiond should not error on channel creation vs app exit
+ * Fix: sessiond ust-app session teardown race
+ * Only display agent loglevel if the loglevel type is not ALL
+ * Initialize default log level of events on load
+ * Don't assume that Log4j and JUL share the same log level mappings
+ * Allow the creation of JUL, Log4j and Python channels
+ * Fix: Save tracker as part of UST and Kernel domains only
+ * Fix: Memory leak of agent
+ * Fix: Memory leak of agent event internals
+ * Save filter expression as part of agent events and save them
+ * Fix: UTF-8 characters may be stored on up to 4 bytes
+ * Prevent the addition of UST events to agent channels
+ * Don't save log level in session configuration when unneeded
+ * Fix: Propagate filter status of kernel events to client
+ * Fix: Save kernel event filter when saving session configuration
+ * Fix: Mention Python as part of enable-event's usage()
+ * Fix: typo in error message
+ * Add agent domains to lttng enable-event usage()
+ * Report memory allocation failure when copying filter bytecode
+ * Fix: cmd_enable_event must return positive error codes
+ * Save filter expressions as part of agent events
+ * Add agent domains to the enable-event section of LTTNG(1)
+ * Prevent disable event on internal UST events
+ * Skip internal events when saving a session configuration
+ * Hide internal events from session daemon clients
+ * Prevent the use of reserved UST event names
+ * Tag events created as side-effect of agent events as internal
+ * Fix: assert(0) when listing Python events with MI
+ * Fix: set GLOBAL buffer type for kernel domain in list
+ * Fix: take RCU read-side lock within hash table functions
+ * Tests: Adapt MI test to change in track/untrack behaviour
+ * Fix: Improve the error reporting of the track/untrack command
+ * Tests: Fix flacky clock-plugin test
+ * Build: look for python >= 3.0 when building python bindings
+ * Build: rename use_python to python_binding
+ * Fix: regression tests
+ * Fix: tests: stderr not correctly redirected
+ * Fix: TimeoutExpired in Python tests not defined globally
+ * Tests: ust: clock override plugin
+ * Test: save/load: pid_tracker basic test
+ * Save/load: pid_tracker feature.
+ * Test: mi: track/untrack feature
+ * Util: xml_extract: add node_exist option
+ * Mi: track/untrack: validation
+ * Docs: Grammar fixes in mi_lttng.xsd
+ * Fix: Ensure a valid command error code is returned by track/untrack
+ * Mi: track/untrack/listing
+ * Fix: intialization of ust_metadata_poll_pipe to garbage value
+ * Fix "allocator sizeof operand mismatch" warning
+ * Fix: incorrect script name in python logging test
+ * Tests: Python agent: update after Python agent refactoring
+ * Fix: Discard disable event command filter payload
+ * Fix: Use MSG_NOSIGNAL when calling sendmsg()
+ * Fix: test_mi test
+ * Set registration done Agent command version back to 0
+ * Fix: Don't send agent disable event command twice
+ * Fix: incorrect variable being checked in libc-wrapper test
+ * Fix: Initialize global agent_apps_ht_by_sock on session daemon launch
+ * Fix: pids should be numbers only
+ * Fix: Mishandled NULL short options in lttng-sessiond
+ * Use popt "required_argument" and "no_argument" constants
+ * Fix: Mishandled NULL short options in utils_generate_optstring()
+ * Fix: only launch a new session daemon for the "create" command
+ * Fix 'daemon' typo in lttng-ctl-pc.in description
+ * Fix: clean-up agent app hash table from the main sessiond thread
+ * Fix: Remove undocumented session daemon short options
+ * Log userspace application hash table allocation failure
+ * Fix: RCU read-side lock released too early in destroy_agent_app
+ * Fix: misleading logging statement in agent_find_event
+ * Fix: Unhandled domain option condition in list_agent_events
+ * Fix: Crash on lttng list -j/-l/-p when no events are present
+ * Document relay_add_stream RCU locking
+ * Fix: Unbalanced rcu_read_unlock() on stream file creation failure
+ * Fix: Unbalanced rcu_read_unlock() on directory creation failure
+ * Fix: Document the locking assumptions of ctf_trace_find_by_path()
+ * Fix: Memory leak in relay_add_stream error path
+ * Fix: set session should not set non-existent session
+ * Rename Python agent event name to omit "user"
+