)]}'
{
  "log": [
    {
      "commit": "94ad111391c07118eb9c402e309f5331c5e1cdfb",
      "tree": "9998c07f4d76870b3811fc65b90b08a0b13ceb09",
      "parents": [
        "976fa3b121864b6d0f9c9fd2a8237c1a445e3c12"
      ],
      "author": {
        "name": "Daniel Lange",
        "email": "DLange@git.local",
        "time": "Wed Sep 22 11:33:00 2021 +0200"
      },
      "committer": {
        "name": "Daniel Lange",
        "email": "DLange@git.local",
        "time": "Wed Sep 22 14:28:19 2021 +0200"
      },
      "message": "Update license headers to explicitly say GPLv2+\n"
    },
    {
      "commit": "c0c2bb98a23b649c55e5d8a55395073fdaa8d6fa",
      "tree": "5d568468338201447d1396843e761d33c6729b37",
      "parents": [
        "9b30870eeca0e2fd29602451205834d753ed5905"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Fri Sep 03 12:11:31 2021 +1000"
      },
      "committer": {
        "name": "BenBE",
        "email": "BenBE@geshi.org",
        "time": "Fri Sep 03 09:47:01 2021 +0200"
      },
      "message": "Add completion handling for dynamic meters and columns\n\nBe sure to free dynamic memory allocated for meters and\ncolumns strings, no-op on platforms other than pcp.\n\nCloses #774\n"
    },
    {
      "commit": "68460b25e39c583d04edaac3ea1ce3e5bdee6b89",
      "tree": "9f650e25c97643ac4b30ab1ceeadd1d3d6ce0eb7",
      "parents": [
        "b42c441ee0c41d493dbf154713c69855cc2f74f5"
      ],
      "author": {
        "name": "Christian Göttsche",
        "email": "cgzones@googlemail.com",
        "time": "Sat Aug 14 19:52:26 2021 +0200"
      },
      "committer": {
        "name": "BenBE",
        "email": "BenBE@geshi.org",
        "time": "Mon Aug 16 08:05:07 2021 +0200"
      },
      "message": "Reset the signal handlers at program exit\n\nThe signal handler will access the Settings struct, which gets freed at\nnormal program finalization.\n\nWhen using leak sanitizers with ASAN_OPTIONS\u003dabort_on_error\u003d1, which\nruns after program termination, any leak causes SIGABRT to be raised,\ncalling the crash handler, which will derefernce the freed Settings.\n\n    \u003d\u003d44741\u003d\u003dERROR: AddressSanitizer: heap-use-after-free on address 0x60d000000080 at pc 0x0000005680df bp 0x7fffe335e960 sp 0x7fffe335e958\n    READ of size 8 at 0x60d000000080 thread T0\n        #0 0x5680de in Settings_write /home/christian/Coding/workspaces/htop/Settings.c:329:26\n        #1 0x4f77b7 in CRT_handleSIGSEGV /home/christian/Coding/workspaces/htop/CRT.c:1020:4\n        #2 0x7f8a1120c13f  (/lib/x86_64-linux-gnu/libpthread.so.0+0x1413f)\n        #3 0x7f8a11042ce0 in __libc_signal_restore_set signal/../sysdeps/unix/sysv/linux/internal-signals.h:86:3\n        #4 0x7f8a11042ce0 in raise signal/../sysdeps/unix/sysv/linux/raise.c:48:3\n        #5 0x7f8a1102c536 in abort stdlib/abort.c:79:7\n        #6 0x4c3db6 in __sanitizer::Abort() (/home/christian/Coding/workspaces/htop/htop+0x4c3db6)\n        #7 0x4c2090 in __sanitizer::Die() (/home/christian/Coding/workspaces/htop/htop+0x4c2090)\n        #8 0x4d0a17 in __lsan::HandleLeaks() (/home/christian/Coding/workspaces/htop/htop+0x4d0a17)\n        #9 0x4cd950 in __lsan::DoLeakCheck() (/home/christian/Coding/workspaces/htop/htop+0x4cd950)\n        #10 0x7f8a110454d6 in __run_exit_handlers stdlib/exit.c:108:8\n        #11 0x7f8a11045679 in exit stdlib/exit.c:139:3\n        #12 0x7f8a1102dd10 in __libc_start_main csu/../csu/libc-start.c:342:3\n        #13 0x428a19 in _start (/home/christian/Coding/workspaces/htop/htop+0x428a19)\n\n    0x60d000000080 is located 64 bytes inside of 144-byte region [0x60d000000040,0x60d0000000d0)\n    freed by thread T0 here:\n        #0 0x4a4f72 in free (/home/christian/Coding/workspaces/htop/htop+0x4a4f72)\n        #1 0x566693 in Settings_delete /home/christian/Coding/workspaces/htop/Settings.c:32:4\n        #2 0x4ede10 in CommandLine_run /home/christian/Coding/workspaces/htop/CommandLine.c:393:4\n        #3 0x4d6f32 in main /home/christian/Coding/workspaces/htop/htop.c:15:11\n        #4 0x7f8a1102dd09 in __libc_start_main csu/../csu/libc-start.c:308:16\n\n    previously allocated by thread T0 here:\n        #0 0x4a5372 in __interceptor_calloc (/home/christian/Coding/workspaces/htop/htop+0x4a5372)\n        #1 0x57f61a in xCalloc /home/christian/Coding/workspaces/htop/XUtils.c:55:17\n        #2 0x5688a6 in Settings_new /home/christian/Coding/workspaces/htop/Settings.c:392:21\n        #3 0x4ecb57 in CommandLine_run /home/christian/Coding/workspaces/htop/CommandLine.c:303:25\n        #4 0x4d6f32 in main /home/christian/Coding/workspaces/htop/htop.c:15:11\n        #5 0x7f8a1102dd09 in __libc_start_main csu/../csu/libc-start.c:308:16\n\nSUMMARY: AddressSanitizer: heap-use-after-free /home/christian/Coding/workspaces/htop/Settings.c:329:26 in Settings_write\n"
    },
    {
      "commit": "6f2021f3d95e02fc54e59fdeeb006e34c209b9c3",
      "tree": "a31ea1264b871e5a7e7785398a382a7813eb1749",
      "parents": [
        "ed82ce6456f0f904a0ab2b346b85d7cf46df109c"
      ],
      "author": {
        "name": "Sohaib Mohamed",
        "email": "sohaib.amhmd@gmail.com",
        "time": "Sun Jul 11 03:11:29 2021 +0200"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Fri Aug 13 07:32:57 2021 +0200"
      },
      "message": "PCP: support for \u0027dynamic columns\u0027 added at runtime\n\nImplements support for arbitrary Performance Co-Pilot\nmetrics with per-process instance domains to form new\nhtop columns.  The column-to-metric mappings are setup\nusing configuration files which will be documented via\nman pages as part of a follow-up commit.\n\nWe provide an initial set of column configurations so\nas to provide new capabilities to pcp-htop: including\nconfigs for containers, open fd counts, scheduler run\nqueue time, tcp/udp bytes/calls sent/recv, delay acct,\nvirtual machine guests, detailed virtual memory, swap.\n\nNote there is a change to the configuration file path\nresolution algorithm introduced for \u0027dynamic meters\u0027.\nFirst, look in any custom PCP_HTOP_DIR location.  Then\niterate, in priority order, users home directory, then\nlocal sysadmins files in /etc/pcp/htop, then readonly\nconfiguration files below /usr/share/pcp/htop.  This\nfinal location becomes the preferred place for our own\nshipped meter and column files.\n\nThe Settings file (htoprc) writing code is updated to\nnot using the numeric identifier for dynamic columns.\nThe same strategy used for dynamic meters is used here\nwhere we write Dynamic(name) so the name can be setup\nonce more at start.  Regular (static) columns writing\nto htoprc - i.e. numerically indexed - is unchanged.\n"
    },
    {
      "commit": "41af31be7ffbd34518b27aad56a4f54af6a8adf3",
      "tree": "6e86813a332e93f7ee22b873d7522fa766b4af97",
      "parents": [
        "c9abd788b17ab28424961310b7e224498510780c"
      ],
      "author": {
        "name": "Christian Göttsche",
        "email": "cgzones@googlemail.com",
        "time": "Sat Jun 12 18:17:28 2021 +0200"
      },
      "committer": {
        "name": "Benny Baumann",
        "email": "BenBE@geshi.org",
        "time": "Sun Jul 18 07:44:02 2021 +0200"
      },
      "message": "Rework CPU counting\n\nCurrently htop does not support offline CPUs and hot-swapping, e.g. via\n    echo 0 \u003e /sys/devices/system/cpu/cpu2/online\n\nSplit the current single cpuCount variable into activeCPUs and\nexistingCPUs.\n\nSupersedes: #650\nRelated: #580\n"
    },
    {
      "commit": "e8f27ebc2616f875c00d814ab7f29d107e4998c1",
      "tree": "3414ba1199802bea2ed9f97602499652c7846b65",
      "parents": [
        "2ab8fb83ba7d210c7c377b5b417f79822a6f7724"
      ],
      "author": {
        "name": "nia",
        "email": "nia@NetBSD.org",
        "time": "Wed Jul 14 21:07:43 2021 +0200"
      },
      "committer": {
        "name": "BenBE",
        "email": "BenBE@geshi.org",
        "time": "Thu Jul 15 19:09:08 2021 +0200"
      },
      "message": "Disable mouse option when support is unavailable\n"
    },
    {
      "commit": "68edf924349e10ed6a144d4d6f1d0ddcdfeb6d43",
      "tree": "a61c4f7b0e9a7d88d00e93c5c8b311cb3f388f1d",
      "parents": [
        "0d85af28727255ae4203cf01d1d657dc0c8d4258"
      ],
      "author": {
        "name": "Benny Baumann",
        "email": "BenBE@geshi.org",
        "time": "Wed Jul 14 19:20:16 2021 +0200"
      },
      "committer": {
        "name": "BenBE",
        "email": "BenBE@geshi.org",
        "time": "Thu Jul 15 06:57:24 2021 +0200"
      },
      "message": "Indentation of string arguments\n"
    },
    {
      "commit": "0d85af28727255ae4203cf01d1d657dc0c8d4258",
      "tree": "0c8cf78acb173b4a9df83b431820152ffa31aec0",
      "parents": [
        "458749df45a24abec1f9a820e4172a08ccfba3b1"
      ],
      "author": {
        "name": "Benny Baumann",
        "email": "BenBE@geshi.org",
        "time": "Wed Jul 14 19:18:27 2021 +0200"
      },
      "committer": {
        "name": "BenBE",
        "email": "BenBE@geshi.org",
        "time": "Thu Jul 15 06:57:24 2021 +0200"
      },
      "message": "Whitespace around operators\n"
    },
    {
      "commit": "e7f8d7bcc954e965143331ec3f2353c03959acc6",
      "tree": "428fadcc2993b16ccfed1d3b088a0966049a9e6c",
      "parents": [
        "3bc73aa0881d581eadd75ce30e36ad086c7a21a3"
      ],
      "author": {
        "name": "Benny Baumann",
        "email": "BenBE@geshi.org",
        "time": "Wed Jul 14 19:11:18 2021 +0200"
      },
      "committer": {
        "name": "BenBE",
        "email": "BenBE@geshi.org",
        "time": "Thu Jul 15 06:57:24 2021 +0200"
      },
      "message": "Split statements that should go onto multiple lines\n"
    },
    {
      "commit": "f0ed0fdafb9ecefc9d103ffb8f5d91bf723518f6",
      "tree": "8f82bf54c96a07d8efa5c9a8bd2c50865bd6757a",
      "parents": [
        "865b85eb2d31321e9c37334838fa514ac348d61a"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Wed Jun 23 17:44:56 2021 +1000"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Wed Jul 07 10:59:36 2021 +1000"
      },
      "message": "Add a new DynamicMeter class for runtime Meter extension\n\nThis commit is based on exploratory work by Sohaib Mohamed.\nThe end goal is two-fold - to support addition of Meters we\nbuild via configuration files for both the PCP platform and\nfor scripts ( https://github.com/htop-dev/htop/issues/526 )\n\nHere, we focus on generic code and the PCP support.  A new\nclass DynamicMeter is introduced - it uses the special case\n\u0027param\u0027 field handling that previously was used only by the\nCPUMeter, such that every runtime-configured Meter is given\na unique identifier.  Unlike with the CPUMeter this is used\ninternally only.  When reading/writing to htoprc instead of\nCPU(N) - where N is an integer param (CPU number) - we use\nthe string name for each meter.  For example, if we have a\nconfiguration for a DynamicMeter for some Redis metrics, we\nmight read and write \"Dynamic(redis)\".  This identifier is\nsubsequently matched (back) up to the configuration file so\nwe\u0027re able to re-create arbitrary user configurations.\n\nThe PCP platform configuration file format is fairly simple.\nWe expand configs from several directories, including the\nusers homedir alongside htoprc (below htop/meters/) and also\n/etc/pcp/htop/meters.  The format will be described via a\nnew pcp-htop(5) man page, but its basically ini-style and\neach Meter has one or more metric expressions associated, as\nwell as specifications for labels, color and so on via a dot\nseparated notation for individual metrics within the Meter.\n\nA few initial sample configuration files are provided below\n./pcp/meters that give the general idea.  The PCP \"derived\"\nmetric specification - see pmRegisterDerived(3) - is used\nas the syntax for specifying metrics in PCP DynamicMeters.\n"
    },
    {
      "commit": "1f5f40c091a3e91626fc39ba31d7407cbae9aa4d",
      "tree": "8a642b1aaecb3284975e0205db84fb88e590c96f",
      "parents": [
        "204bc710baf145212b26a413de3c082ed9d99142"
      ],
      "author": {
        "name": "Christian Göttsche",
        "email": "cgzones@googlemail.com",
        "time": "Sun May 16 19:55:31 2021 +0200"
      },
      "committer": {
        "name": "Christian Göttsche",
        "email": "cgzones@googlemail.com",
        "time": "Sun May 16 19:55:31 2021 +0200"
      },
      "message": "Print current settings on crash\n"
    },
    {
      "commit": "36880cd61c52f13c6fd284aa23d42d9493d3ab2e",
      "tree": "54df8a9e8ef536db034af9a3f1d6496626ad802b",
      "parents": [
        "812cfcb94df0fc0e6f9d33e39078454842d61609"
      ],
      "author": {
        "name": "Christian Göttsche",
        "email": "cgzones@googlemail.com",
        "time": "Thu Jan 21 20:27:37 2021 +0100"
      },
      "committer": {
        "name": "cgzones",
        "email": "cgzones@googlemail.com",
        "time": "Wed Apr 14 17:21:43 2021 +0200"
      },
      "message": "Add read-only option\n\nAdd command line option to disable all system and process changing\nfeatures.\n"
    },
    {
      "commit": "367561175ab9da93d5c21861ec6c6b52933ccf15",
      "tree": "4aedda319b0f6cebb8def738f636d9aed873b213",
      "parents": [
        "f3a37f9ef33cf5459acf1c5352f9c8104cce8806"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Thu Apr 08 09:26:48 2021 +1000"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Fri Apr 09 10:43:33 2021 +1000"
      },
      "message": "Update timestamps for the special process scans at startup also\n\nResolves https://github.com/htop-dev/htop/issues/592\n"
    },
    {
      "commit": "36389fb0dac5c1aed0fe0f6ccbd676ad364c1a9b",
      "tree": "201fc8cc08587971a020e669f7ce86b4d9ffb3d8",
      "parents": [
        "5ef3c261680da0a80b5a33953d106504aead70e5"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Tue Mar 23 15:04:54 2021 +1100"
      },
      "committer": {
        "name": "Nathan Scott",
        "email": "nathans@redhat.com",
        "time": "Thu Mar 25 15:56:15 2021 +1100"
      },
      "message": "Abstract htop main function to allow for a platform binary\n\nOne review request relating to the PCP platform is to have\na clearly separate binary from the regular htop so that we\nhave no confusion as to what is being requested to run, to\naid debugging, and a bunch of other good reasons.\n\nThis commit renames htop.c to CommandLine.c and provides a\nminimal htop main function for \u0027native\u0027 platforms to use.\nThe PCP version of this will setup libpcp.so and then call\nthe same CommandLine_run function as regular htop.\n\nRelated to https://github.com/htop-dev/htop/pull/536\n"
    }
  ]
}
