--- /dev/null
+// Render with Asciidoctor
+
+= Babeltrace 2.0.0-rc3 release notes
+Jérémie Galarneau, Simon Marchi, Philippe Proulx
+15 November 2019
+:toc:
+:toclevels: 5
+:bt2: Babeltrace{nbsp}2
+
+
+Hi everyone!
+
+Two weeks after
+https://diamon.org/babeltrace/docs/release-notes/babeltrace-2.0.0-rc2-release-notes.html[having released]
+{bt2}'s second release candidate,
+today we're releasing Babeltrace{nbsp}2.0.0-rc3.
+
+== What's new since Babeltrace{nbsp}2.0.0-rc2?
+
+=== Improvements
+
+General::
++
+--
+* Introduce the `BABELTRACE_EXEC_ON_ABORT` environment variable.
+ `BABELTRACE_EXEC_ON_ABORT` can contain a shell command line to execute when
+ any part of the Babeltrace project aborts (for example, when an internal
+ assertion fails) before the process exits.
++
+See https://github.com/efficios/babeltrace/commit/8403432f[`8403432f`].
+
+* Add precondition assertions to verify that the current ihread has no error
+ when you call a libbabeltrace2 function (except reference count functions).
++
+See https://github.com/efficios/babeltrace/commit/7c7324d3[`7c7324d3`].
+
+* Add postcondition assertions to verify that the user functions which
+ libbabeltrace2 calls return an error status code when the current thread has
+ an error.
++
+See https://github.com/efficios/babeltrace/commit/d6f6a5aa[`d6f6a5aa`].
+
+* Emit dedicated bright terminal color codes if supported by the terminal
+ emulator.
++
+This makes the
+https://diamon.org/babeltrace/docs/v2.0/man1/babeltrace2.1/[`babeltrace2`] CLI
+tool and some project plugins emit correct bright color codes for the kitty
+terminal emulator, for example.
++
+You can override this behaviour with the new
+`BABELTRACE_TERM_COLOR_BRIGHT_MEANS_BOLD` environment variable.
++
+See https://github.com/efficios/babeltrace/commit/4253e1eb[`4253e1eb`].
+
+* In libbabeltrace2's API: make the `bt_value_map_foreach_entry_func`
+ and `bt_value_map_foreach_entry_const_func` function types return a
+ status code instead of `bt_bool`.
++
+This makes it possible for the user function to append a cause to the
+current thread's error and return an error status code. When the user
+function returns a general error status code,
+`bt_value_map_foreach_entry()` returns
+`BT_VALUE_MAP_FOREACH_ENTRY_STATUS_USER_ERROR` (and an equivalent code
+for `bt_value_map_foreach_entry_const()`).
++
+The new way to interrupt the outer loop from the user function is to
+return `BT_VALUE_MAP_FOREACH_ENTRY_FUNC_STATUS_INTERRUPT`.
+--
+
+Command-line interface::
++
+--
+* Exit with status{nbsp}2 when the process receives the `SIGINT` signal.
++
+This makes it possible to distinguish a successful execution (status{nbsp}0)
+from an execution that ends because of an error (status{nbsp}1).
++
+See https://github.com/efficios/babeltrace/commit/851802b1[`851802b1`].
+--
+
+`source.ctf.fs` component class::
++
+--
+* Check the version of https://lttng.org/[LTTng] index files to avoid reading
+ files of future backwards-incompatible versions.
++
+See https://github.com/efficios/babeltrace/commit/2068d50b[`2068d50b`].
++
+* Handle reading overlapping snapshots of the same trace. Even if some
+ packets are present in multiple snapshots, they will only be read once.
++
+See https://github.com/efficios/babeltrace/commit/FIXME[`FIXME`].
+--
+
+`source.ctf.lttng-live` component class::
++
+--
+* Better handle signal interruptions during I/O syscalls.
++
+Return `BT_COMPONENT_CLASS_MESSAGE_ITERATOR_NEXT_METHOD_STATUS_AGAIN` when I/O
+syscalls are interrupted by a `SIGINT` signal and restart the syscall on other
+signals.
++
+See https://github.com/efficios/babeltrace/commit/f79c2d7a[`f79c2d7a`].
+--
+
+`filter.utils.muxer` component class::
++
+--
+* Append error causes when encountering some error conditions.
++
+See See https://github.com/efficios/babeltrace/commit/FIXME[`FIXME`].
+--
+
+=== Bug fixes
+
+Simple sink component class::
++
+--
+* Append error causes only when returning an error status code.
++
+See https://github.com/efficios/babeltrace/commit/eb657c7b[`eb657c7b`].
+--
+
+== Upcoming
+
+We are still hard at work putting the finishing touches on our way to
+the final 2.0.0 release.
+
+We invite you to try this release candidate and report any problems you
+may encounter to the
+https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev[`lttng-dev@lists.lttng.org`]
+mailing list or through the
+https://bugs.lttng.org/projects/babeltrace[Babeltrace bug tracker].
+
+
+=== Documentation
+
+We are currently documenting the entire {bt2}{nbsp}C{nbsp}API to make
+the development of new component classes as easy as possible.
+
+We'll also work on the Python bindings documentation.
+
+The documentation of the API will be made available on the official
+https://diamon.org/babeltrace/[Babeltrace website].
+
+
+=== Other tasks
+
+* Improve test coverage.
+* Improve resilience to corrupted/malformed CTF traces.
+* Minor internal cleanups and bug fixes.
+
+
+== Important links
+
+* https://www.efficios.com/files/babeltrace/babeltrace-2.0.0-rc3.tar.bz2[Babeltrace 2.0.0-rc3 tarball]
+* https://diamon.org/babeltrace[Babeltrace website]
+* https://lists.lttng.org[Mailing list] for support and
+ development: `lttng-dev@lists.lttng.org`
+ * irc://irc.oftc.net/lttng[IRC channel]: `#lttng` on `irc.oftc.net`
+ * https://bugs.lttng.org/projects/babeltrace[Git repository]
+ * https://github.com/efficios/babeltrace[GitHub project]
+ * https://ci.lttng.org/view/Babeltrace/[Continuous integration]
+ * https://review.lttng.org/q/project:babeltrace[Code review]