From 572bfc8844927998c9fd015f7141b280682d2ab6 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Tue, 25 Jun 2019 10:21:33 -0700 Subject: [PATCH] prepare 3.33.3 release --- NEWS | 439 ++----------------------- data/org.gnome.Sysprof3.appdata.xml.in | 3 +- meson.build | 2 +- 3 files changed, 39 insertions(+), 405 deletions(-) diff --git a/NEWS b/NEWS index 4387db62..c70a00c8 100644 --- a/NEWS +++ b/NEWS @@ -1,406 +1,39 @@ -Overview of changes in Sysprof 3.31.91 -====================================== - - * Translation updates - -Overview of changes in Sysprof 3.31.91 -====================================== - - * Handle cancellation during profiler startup more gracefully. - -Overview of changes in Sysprof 3.31.90 -====================================== - - * A new memory source for basic memory statistics. This is meant - for overview only, not precise details. - * Fix a small memory leak. - * Allow disabling memory/cpu sources from sysprof-cli. - * CSS styling updates. - * Updated icon for GNOME 3.32 icon initiative. - * The line visualizer can auto-discover Y axis range. - * Build system improvements. - * Updated translations. - -Overview of changes in Sysprof 3.31.1 +Overview of changes in Sysprof 3.33.3 ===================================== - * Remove app-menu in favor of window-menu, following GNOME design - guidelines for 3.32. - * Fixes for i18n/l10n. - * Build fixes to avoid use of non-portable __WORDSIZE. - -Translations: - - * Swedish, Indonesian, Hungarian, Czech, Polish, Brazilian Portuguese - -Overview of changes in Sysprof 3.30.1 -===================================== - - * Various compilation fixes for alternative platforms, compilers, and toolchains. - * Backport model filter fixes from libdazzle. - -Translations: - - * Swedish, Hungarian, Brazilian Portuguese - -Overview of changes in Sysprof 3.30.0 -===================================== - - * Fix incorrect free func for GPtrArray - * Various build system improvements - * ENABLE_POLKIT is now repsected in the kallsyms support - * suggested-action fixes for CSS - -Translations: - - * Swedish, Spanish, Brazilian Portuguese, Italian, and German - -Overview of changes in Sysprof 3.29.3 -===================================== - - * Experimental tracking of various drm events (vblank and CRTC/MSC) - * Drawing code now uses double instead of float for additional precision - * CLOCK_MONOTONIC is now the preferred clock - * A new capture type of "mark" has been added to the capture format. It - supports an event name with a duration >= 0. We expect to integrate this - with a timechart in a future release. - * Various counters are automatically detected and displayed when opening a - capture file. - * Various cleanups to libsysprof-capture-2.a for re-usability - * A new in-tree tool "sysprof-cat" which can join multiple capture files - together gracefully. - * Fix a number of situations where cpu/pid were crossed. - -Translations: - - * Indonesian, German, Italian, Czech, Polish - - -Overview of changes in Sysprof 3.28.0 -===================================== - - * SpCaptureWriter now pre-initializes the scratch buffer to zero - to pacify valgrind. - -Translations: - - * Swedish - -Overview of changes in Sysprof 3.27.92 -====================================== - -Translations: - - * Serbian, German, Finnish, Spanish, Hungarian - -Overview of changes in Sysprof 3.27.91 -====================================== - - * Sysprof now exclusively uses the meson build system. - * Improvements to the process filtering model used in the profiler popover. - * More tests for utility helpers. - * Some code was relicensed to LGPLv2.1+ to extend it's reusability. - * A new libsysprof-capture-2.a static library is installed to allow external - tooling to read and write the capture format. We expect tooling such as - GJS to use this in the future. - * A new kallsyms tokenizer was added. - * If we fail to parse kallsyms as the effective user, we now query the - sysprofd daemon to access and parse those symbols for us as root. This - requires polkit authorization on the DBus connection just like our - elevated perf_event_open() helper. - * Now that we have to deal with overlapping kernel and user-space memory, - Sysprof tries harder to check the current perf context. New API was - added to symbol resolvers to facilitate this. - -Translations: - - * Czech, German, Polish - - -Overview of changes in Sysprof 3.26.0 -===================================== - -Sysprof 3.26.0 is identical to 3.25.92 with version numbers updated. - -Overview of changes in Sysprof 3.25.92 -====================================== - -Changes since 3.24.0 - - * Additional help topics - * Fix for a potential divide-by-zero when generating callgraphs - * Alignment attributes to allow building on armel/armhf/mipsel - * About dialog is now modal - * Each new Sysprof window gets its own window group - -Note to packagers: - - * We will drop autotools after 3.26 and complete our switch to Meson. - -Translations: - - * Indonesian, Spanish, Slovak, Friulian, Czech, Polish, Brazilian Portuguese - -Thanks to all of our contributors - -Overview of changes in Sysprof 3.24.0 -===================================== - -Changes since 3.23.92 - - * Use gtk_show_uri_on_window() to improve help window placement on Wayland. - -Translations: - - * Hungarian - -Overview of changes in Sysprof 3.23.92 -====================================== - -Changes since 3.23.91 - - * Compilation fix for 32-bit ARM - -Translations: - - * Finnish, Swedish - -Overview of changes in Sysprof 3.23.91 -====================================== - -Changes since 3.23.90 - - * Various compilation checks bsaed on results from ARM builders. - * Support for setting symbol directories to affect symbol resolution. - * Translate paths from /newroot/ into the host filesystem when possible. - This should allow some degree of profiling container-based applications - and still resolve symbols on the host. Builder does this now when profiling - Flatpak-based applications. - -Translations: - - * Finnish, Serbian - -Overview of changes in Sysprof 3.23.90 -====================================== - -Changes since 3.22.3 - - * Build system support for Meson. This may become the preferred build system - for 3.26 based on feedback from distributions. - * Appdata support has been added - * Desktop file can be translated - -Translations: - - * Brazilian Portuguese, Polish, Czech, Slovak, and Spanish. - -Overview of changes in Sysprof 3.22.3 -===================================== - -Changes since 3.22.2 - - * Fix expansion of function text in callgraph. - * Fix jump-to-function in callees list. - * Disable record button while generating callgraph profile. - * Ensure sysprof icons are available form libsysprof-ui-2. - * sysprof-cli requires --force to overwrite previous capture. [Hubert Figuière] - * Reduce code duplication in capture frame initialization. [Vito Caputo] - -Translations: - - * Brazilian Portuguese and Polish translations were updated. - [Enrico Nicoletto, Piotr Drąg] - -Overview of changes in Sysprof 3.22.2 -===================================== - -Changes since 3.22.1 - - * ftruncate() when creating a capture in case we overwrite a previous - capture file. This ensures we don't leave junk at the end of the - capture. - * Handle EAGAIN when writin the opportunistic end-time header. - * Capture cursor should short circuit when no read delegate was found. - -Translations: - - * Czech and Slovak translations were updated. - -Overview of changes in Sysprof 3.22.1 -===================================== - -Changes since 3.22.0 - - * A new data source called "hostinfo" has been added. It records various - CPU datapoints as "counters" in the sysprof capture. - * A new visualizers abstraction has been added so that we can start - providing new ways to look at profiler data. - * A CPU visualizer has been added which renders datapoints recorded - from the hostinfo data source. - * Selecting ranges of the visualizer will update the callgraph limiting - stacktrace samples, to the given time range. - * Missing headers are now installed which may be needed by applications - using libsysprof-ui. - * A keyboard shortcuts dialog has been added. - * A theme manager has been added to allow us to provide custom CSS for - various themes. Currently, we have additional styling added for - Adwaita and Adwaita-dark. - -Thanks again to all of our translators - - -Overview of changes in Sysprof 3.22.0 -===================================== - -Sysprof 3.22.0 is here, which contains mostly just translation improvements -since 3.21.91. Thanks to our translators! - -Marek Černocký, Matej Urbančič, Jiri Grönroos - - -Overview of changes in Sysprof 3.21.91 -====================================== - -Sysprof 3.21.91 is here with a few changes as we stabilize for 3.22. - - * Allow collapsing the callgraph tree with Left arrow. - * Add a full barrier before writing data_tail as suggested by - Perf kernel documentation. (Ray Strode) - * Support for additional architectures has been enabled by the use - of C11 atomics. - * Require -std=gnu11 for stdatomic.h - * Correct gettext domain for translation files (Kalev Lember) - -If you have fun and interesting architectures, please give them a try! - - -Overview of changes in Sysprof 3.21.90 -====================================== - -Sysprof 3.21.90 is our first release while we prepare things for the 3.22.0 -release of GNOME. Thanks to everyone who contributed to this release! - -Build System Improvements - - * Sysprof now supports an --enable-sysprofd configure option to ensure the - systemd/dbus service is installed. (Jussi Kukkonen) - * sysprof-ui-2.pc is only installed if the Gtk UI is installed. - * Build fixes for polkit integration. - -Bugs Fixed - - * Workaround for systems without memfd - * Support older Linux/perf implementations - * Architecture improvements for ARM - * Fix use of U64_TO_POINTER (Jussi Kukkonen) - * Hide info bar when starting to record (Tim Bäder) - * Expand cursor row on Right in callgraph (Tim Bäder) - * Elf symbol resolver now recognizes more GNOME platform libraries. - * Sysprofd integration now pings the service before considering it - available for use. - * Correctness improvements for capture reader and writer. - -New and Updated Translations - - * Swedish (Anders Jonsson) - * Hungarian (Balázs Meskó, Gabor Kelemen) - * German (Christian Kirbach) - * Spanish (Daniel Mustieles) - * Slovak (Dušan Kazik) - * Czech (Marek Černocký) - * Polish (Piotr Drąg) - * Brazilian Portuguese (Rafael Fontenelle) - * Portuguese (Tiago Santos) - * Serbian (Мирослав Николић) - - -Overview of changes in Sysprof 3.20.0 -===================================== - -Sysprof 3.20.0 is a major rewrite of the sysprof internals. - - * The GTK+ user interface has been ported to GTK+ 3, and includes - the use of modern GTK+ patterns, including GtkHeaderBar. - - * A new library, libsysprof-2 has been created, which contains the - internals for implementing a Linux perf-based profiler. - - * A new library, libsysprof-ui-2 has been created, which can be used by - IDEs to provide profiling capabilities. GNOME Builder is expected to - take advantage of this. - - * Sysprof uses a new binary capture format, to allow for collecting - more types of data than simply Perf callchain information. - - * Data collection sources have been abstracted, allowing for new types - of data collection to occur. Additionally, it is now possible to port - Sysprof to other operating systems if contributors are found to - implement those features. As before, Sysprof is currently supported - on Linux, where the perf_event_open syscall is available. - - * The sysprof capture format supports information from JITd languages. - Patches to Gjs (GNOME's wrapper around mozjs24) exist that can export - JIT information from the JavaScript engine. - - * Sysprof now supports launching an application as part of the - profiling process. - - * Sysprof can attach to one-or-more existing processes to collect - profiling information. This still uses the Linux perf infrastructure, - which means sampling is still performed. - - * The user interface provides a stopwatch for the amount of time that - has elapsed since recording started. If you find that the sysprof UI - shows up in your capture, we suggest using sysprof-cli to collect - samples. - - * The Sysprof UI provides tags next to common GNOME libraries used in - the GNOME stack to allow users to quickly identify libraries that - may not have fully-qualified symbol names. - - * The binutils based demanger has been removed in favor of - abi::__cxx_demangle() function. This fixes modern C++ demangling - and vastly simplifies the Sysprof codebase. However, it does require - a C++ compiler and linker to build Sysprof. Applications using - libsysprof-2 and libsysprof-ui-2 do not require a C++ compiler. - - * Sysprof now provides a D-Bus service, sysprofd, which can perform - elevated perf_event_open syscalls on behalf of the user interface - after appropriate authorization. Polkit is used to perform the - authorization. This service requires sd-bus from systemd 222 and - newer. If you choose not to use this service, or do not have - systemd on your system, you will have to perform system-wide - captures as root, either via the UI, or via sysprof-cli. - - * sysprof-cli now supports executing a command with the -c option. - - * A new mimetype for *.syscap is installed to allow opening capture - files from Nautilus or other file-managers. - - * The sysprof artwork has been updated. - - * Sysprof can now be translated using GNOME's i18n and l10n - infrastructure. - - * Sysprof now comes with a modest help manual which can be viewed with - the Yelp documentation browser. - - * New code in sysprof has been licensed under the GPLv3 or newer. - -Translations - - * Brazilian Portuguese by Rafael Fontenelle - * German by Mario Blättermann - * Polish by Piotr Drąg - * Serbian by Мирослав Николић - -It is worth noting that Sysprof is still a sampling based profiler. -However, it should now be possible to extend sysprof to support tracing -via callgrind. If you are interested in helping on this effort, please -let us know and we can help you get started. - -Happy Perf Hunting, - --- Christian Hergert +This release of Sysprof contains the largest amount of work since we revived +the project a few years ago. We have revamped and minimized the ABI of +libsysprof-ui considerably. As port of the ABI update, symbols have been +changed from Sp to Sysprof to reduce chances of collisions. + +With these changes comes a soname bump and upgrade of the D-Bus API provided +by the package. Some work has been taken to implement older versions of the +sysprofd API so that older clients may continue to work. + + • Various build system improvements + • A new libsysprof-capture-3.a capture library has been provided to allow + application developers to capture data and merge into the profiler stream. + • The recording and viewing API has been redesigned and improved. + • Sysprof has been backported to support GTK 3.22 and GLib 2.50. + • Support for passing file-descriptors has been added to allow profiling + integration with GNOME Shell, GJS, and GTK profilers. + • New API to allow integration with external tooling that spawns applications + is provided so that environment and arguments may be modified. + • A new re-record feature has been added. + • The capture format can now store log messages, metadata, and file content. + • A new org.gnome.Sysprof3 daemon has been added, which is written using + GDBus instead of libsystemd. This may improve portability to some + distributions. + • The portability of Sysprof to non-Linux systems has been improved, however + many recording features are still not available on non-Linux platforms. + • A new org.gnome.Sysprof3.Profiler XML D-Bus interface is provided for + tooling that wants to export Sysprof content via D-Bus. + • Various new capture sources have been provided. + • sysprofd also implements a compat org.gnome.Sysprof2 D-Bus end-point + for older clients. + • Translation updates + +Happy Profiling, + +-- Christian diff --git a/data/org.gnome.Sysprof3.appdata.xml.in b/data/org.gnome.Sysprof3.appdata.xml.in index d03aec50..a414fc7d 100644 --- a/data/org.gnome.Sysprof3.appdata.xml.in +++ b/data/org.gnome.Sysprof3.appdata.xml.in @@ -32,11 +32,12 @@ sysprof sysprof-cli + org.gnome.Sysprof2 org.gnome.Sysprof3 - + CC0-1.0 diff --git a/meson.build b/meson.build index d7ff5e55..b0d63ac8 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('sysprof', ['c', 'cpp'], license: ['GPL3+', 'GPL2+'], - version: '3.33.2', + version: '3.33.3', meson_version: '>=0.49.0', default_options: [ 'c_std=gnu11', 'cpp_std=c++11',