[PATCH v2] WIP: Update NEWS and dtrace.spec for release 2.0.4

[email protected]
Newsgroups dev.linux.lists.dtrace
Message-ID <[email protected]>
From: Eugene Loh <[email protected]>

WIP status:  Summarize work...
    starting after patch
        6b7ccc9d6 Update NEWS and dtrace.spec for release 2.0.3
    going up to and including patch
        bf23642fa test: Modify fbtsafety tests that use vtimestamp unnecessarily

WIP to-do:
    incorporate any last-minute patches
    update the XX dates in both NEWS and dtrace.spec changelog

Signed-off-by: Eugene Loh <[email protected]>
---
 NEWS        | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 dtrace.spec |  16 ++++++-
 2 files changed, 148 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index aa61b6bfe..2e7a23adc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,136 @@
+2.0.4-1 (Oct XXth, 2025)
+------------------------
+
+New features:
+
+ - The TCP and UDP providers have been implemented.
+
+ - An stapsdt provider has been implemented for user-space static probes
+   defined via stapsdt ELF notes.  The provider also supports probes created
+   dynamically via libstapsdt.
+
+ - The User's Guide is now part of the git repository in Markdown form and
+   part of an install.
+
+ - Example scripts are now part of the git repository and installed under
+   /usr/share/doc/dtrace/examples.
+
+ - One can now use [u]stack() as variable values of type "struct dt_stack"
+   or "dt_stack_t".
+
+ - There is now a context file, which explains DTrace, to use with LLMs.
+
+ - Comments using // are now supported.
+
+ - The return() action is now implemented, allowing error injection by forcing
+   a given return value for a kernel function.  The kernel must be configured
+   with CONFIG_BPF_KPROBE_OVERRIDE and CONFIG_FUNCTION_ERROR_INJECTION.
+
+Bugfixes:
+
+ - A commonplace problem with dynamics variables overwriting one another was
+   identified and fixed.
+
+ - fbt probes in the "dtrace -l" listing have been restored.
+
+ - Function names have been restored to pid return probes.
+
+ - The built-in variables caller and stackdepth have been corrected by
+   recognizing when additional BPF stack frames must be skipped.
+
+ - char arrays can now be used in aggregation keys.
+
+ - The use of -w is now required for destructive actions, even if a clause is
+   being ignored with -Z.
+
+ - Both 'cwd' and 'root' now work (and other inline vars are now tested).
+
+ - The proc:::exec args[0] argument has been corrected for the case that
+   execveat() is the underlying function.
+
+User-visible changes:
+
+ - DIFO is now freed once a probe is loaded, substantially reducing memory
+   consumption when a lot of probes are specified.
+
+ - Per-CPU agg-map IDs are now cached, substantially improving trunc()
+   performance on the consumer side on many-CPU systems.
+
+ - D compilation now allows enum declarations where the last enumerator value
+   is followed by a comma.
+
+ - alloca() pointers are now printed as actual pointer values into kernel space
+   rather than as relatively small offsets into the DTrace scratch memory area.
+
+ - Strings are now handled better with regards to empty strings, the meaning of
+   strsize, testing, and NUL padding.
+
+ - SDT probes that were not firing because they were dependent on fbt probes
+   that were not firing with the fentry/freturn implementation are now dependent
+   on rawfbt probes (kprobes).
+
+ - The USDT parser now handles encoded hyphens.
+
+ - Function Psystem_daemon() now has better logic for detecting system daemons.
+
+ - Management of CTF and BTF data has been improved.  E.g.,
+
+   - If the kernel is not compiled with CTF or BTF, there is an error message.
+
+   - There is now an -xbtfpath option, with -xbtfpath=none disabling the use
+     of BTF data.
+
+   - A BTF ID symbol lookup now checks that the module BTF data is loaded.
+
+ - If a pid probe description is supplied with a wildcard probe name (that is,
+   function offset), instructions are skipped if the kernel does not allow
+   probe attach.
+
+Internal changes:
+
+ - The mechanism to skip common fields when querying tracepoint probe arguments
+   is now more robust.
+
+ - tstrings are now managed better, including elimination of some leaks,
+   thereby allowing more complex expressions.
+
+ - DTrace version numbering is now consolidated.
+
+ - References in dlibs to major_names now explicitly mention vmlinux, so as to
+   avoid loading modules needlessly.
+
+ - Parsing and lexical analysis has been improved.
+
+ - The subtraction of two alloca() pointers no longer receives the ALLOCA taint.
+
+ - Aggregations are now snapshot "just in time" for theoretically better
+   performance and for more consistent reporting.
+
+ - USDT discovery has been optimized a little.  USDT memory leaks in hash
+   tables have been cleaned up.
+
+ - Some unused variables have been eliminated.
+
+Testsuite changes:
+
+ - Various tests have been made more stringent, reliable, or suitable for newer
+   kernels.
+
+ - Test dependence on tick-* probes has once again been reduced yet further.
+
+ - New tests have been added for more coverage.
+
+ - .r.p files have been moved from /bin/sh to /bin/bash for better behavior on
+   more distributions.
+
+ - Script get_remote.sh is now installed for better testing of RPMs.
+
+Build-time:
+
+ - BPF library functions are now compiled with -ffreestanding.
+
+ - The developer package now includes previous omissions.
+
 2.0.3-1 (Jun 10th, 2025)
 ------------------------
 
diff --git a/dtrace.spec b/dtrace.spec
index a325993a6..55a9e4a85 100644
--- a/dtrace.spec
+++ b/dtrace.spec
@@ -72,7 +72,7 @@ Requires:     libdtrace-ctf >= 1.1.0
 BuildRequires: libdtrace-ctf-devel >= 1.1.0
 %endif
 Summary:      DTrace user interface.
-Version:      2.0.3
+Version:      2.0.4
 Release:      1%{?dist}
 Source:       dtrace-%{version}.tar.bz2
 BuildRoot:    %{_tmppath}/%{name}-%{version}-build
@@ -230,6 +230,20 @@ systemctl start dtprobed || :
 %{_libdir}/dtrace/testsuite
 
 %changelog
+* XXX Oct XX 2025 Eugene Loh <[email protected]> - 2.0.4-1
+- TCP, UDP, and stapsdt providers implemented.  (Alan Maguire)
+- New learning materials:  the User's Guide in Markdown format,
+  example scripts, and a context file for LLMs.
+  (Eugene Loh, Bruce McCulloch, Ruud van der Pas, Elena Zannoni).
+- Allow [u]stack() to be used as a variable value.  (Kris Van Hees)
+- Comments using // are now supported.  (Kris Van Hees)
+- Scalability improvements.  (Kris Van Hees)
+- Error injection via return() action.  (Kris Van Hees)
+- Improved string handling.  (Kris Van Hees)
+- Various bug fixes.  (Eugene Loh, Kris Van Hees)
+- Various testsuite fixes and improvements.
+  (Nick Alcock, Eugene Loh, Alan Maguire, Kris Van Hees)
+
 * Tue Jun 10 2025 Kris Van Hees <[email protected]> - 2.0.3-1
 - This is only released on OL10.
 - Redesigned USDT support to work for LTO compilations.  [Orabug: 38011704]
-- 
2.47.3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.