)]}'
{
  "log": [
    {
      "commit": "2f5a0e18fae5e81941c38db2b30223cc4036a726",
      "tree": "11eb2551514c488875d3e2eebc6a2bc692fb96ec",
      "parents": [
        "545c3d2ae0c06b90a67abd61d197dd95949f054b",
        "ff52794cddf4cc27980b838bec96f71d2e382480"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "engelen@apache.org",
        "time": "Mon Jan 05 14:58:38 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 14:58:38 2026 +0100"
      },
      "message": "Merge pull request #3 from raboof/infra-7.2.2-replyto\n\nfix behavior around reply-to headers"
    },
    {
      "commit": "ff52794cddf4cc27980b838bec96f71d2e382480",
      "tree": "11eb2551514c488875d3e2eebc6a2bc692fb96ec",
      "parents": [
        "d69b9097a6da594c5520dfea847d6a26270add78"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Tue Sep 09 20:26:31 2025 +0200"
      },
      "committer": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Mon Jan 05 14:58:19 2026 +0100"
      },
      "message": "Add the original Reply-To as Cc when replytolist is still flagged\n\nThe change in behaviour for test \u00272\u0027 seems like an improvement\n"
    },
    {
      "commit": "d69b9097a6da594c5520dfea847d6a26270add78",
      "tree": "2959c2533a6f89f694cf7a03f038e85745714a55",
      "parents": [
        "07a5e805375431561e9ba8a898d46ea21ea2f858"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Tue Sep 09 17:24:50 2025 +0200"
      },
      "committer": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Mon Jan 05 14:58:18 2026 +0100"
      },
      "message": "Add `replyto` feature\n\nSimilar to `replytolist`, but allows setting a different address.\n\nThe logic to determine \u0027Reply-To\u0027 and \u0027Cc\u0027 is now:\n\n* If a `replyto` option has been set, use that as Reply-To.\n* If not, and `replytolist` has been set, use that as Reply-To.\n* If the current email has a `replyto`, add it as `Reply-To` if\n  it was not set yet or Cc otherwise\n* If `rewritefrom` has been set, add the original From as `Reply-To`\n  if it was not set yet or Cc otherwise\n"
    },
    {
      "commit": "07a5e805375431561e9ba8a898d46ea21ea2f858",
      "tree": "f020411ea356fbbd536291485dd10ab6a6626a22",
      "parents": [
        "545c3d2ae0c06b90a67abd61d197dd95949f054b"
      ],
      "author": {
        "name": "Keith Bare",
        "email": "105995606+keithbare2@users.noreply.github.com",
        "time": "Sat Feb 25 22:09:54 2023 -0500"
      },
      "committer": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Mon Jan 05 14:58:16 2026 +0100"
      },
      "message": "Avoid generating duplicate headers in ezmlm-send\n\nWhen processing a message\u0027s headers:\n\n - Make note if Reply-To was seen.\n - Save off and do not copy the Cc header to the output immediately.\n - Save off and do not copy the From header to the output immediately.\n\nAt the end of the message headers, call rewrite_from().\n\nWhen flagrewritefrom is set, either by the list\u0027s configuration or\nbecause a DMARC reject policy applies to the message sender\u0027s address:\n\n - The From header is rewritten as before.\n - If replytolist is not enabled, a Reply-To header is only added\n   if the original message did not have one. Rationale is that the\n   original Reply-To header indicated where the post author is\n   interested in receiving responses, not the From header.\n - When replytolist is enabled and the original message had a Cc header,\n   the From address is appended to the existing Cc header.\n - When replytolist is enabled and the original message did not have a\n   Cc header, generate a new one using the From address.\n\nAfter rewrite_from() performs any of the applicable manipulations\ndescribed above, the resulting From and Cc headers are copied to the\noutput.\n\nUpdate tests/551-ezmlm-send-rewritefrom:\n\n - Confirm Reply-To and Cc headers are not duplicated.\n - Validate behavior when replytolist is configured.\n"
    },
    {
      "commit": "545c3d2ae0c06b90a67abd61d197dd95949f054b",
      "tree": "da2143ffc49acf9d4a22bfa45cc32ffdaf72be8d",
      "parents": [
        "0d1eba097cb3dbf008650670271336feb51c62ee",
        "606cf7de44239335d1ea4181242612d86dc035f6"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "engelen@apache.org",
        "time": "Mon Jan 05 14:57:03 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 14:57:03 2026 +0100"
      },
      "message": "Merge pull request #2 from raboof/compiler-warnings\n\nFix compilation on more recent compilers"
    },
    {
      "commit": "0d1eba097cb3dbf008650670271336feb51c62ee",
      "tree": "8152fa0bd6bc34e59e1be3c16b21b4a63cbe1ed6",
      "parents": [
        "c290e4e283188ddc6b611629ee09d5a913c5cd46",
        "0204d22bf839e7c2a178c61172aaaa827487fe1b"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@engelen.eu",
        "time": "Mon Jan 05 14:56:46 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 05 14:56:46 2026 +0100"
      },
      "message": "Merge pull request #1 from raboof/infra-7.2.2-fix-tests\n\nuse `domain.example` instead of `example.org`"
    },
    {
      "commit": "606cf7de44239335d1ea4181242612d86dc035f6",
      "tree": "3d3e161d0b2ddb4c4d113ddd20caea9fb5059326",
      "parents": [
        "be6ff0a853bd42739eed03156b545f86334daa5c"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Thu Aug 21 13:25:52 2025 +0200"
      },
      "committer": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Tue Sep 09 17:38:15 2025 +0200"
      },
      "message": "Fix compilation on more recent compilers\n\nSome of which can even be fatal depending on compiler flags\n\n(partly taken from upstream master branch)\n"
    },
    {
      "commit": "0204d22bf839e7c2a178c61172aaaa827487fe1b",
      "tree": "f1709b02ff01cdb3e56daf305cd9b29bfea55a5a",
      "parents": [
        "be6ff0a853bd42739eed03156b545f86334daa5c"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Thu Aug 21 13:33:17 2025 +0200"
      },
      "committer": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Tue Sep 09 17:32:53 2025 +0200"
      },
      "message": "use `domain.example` instead of `example.org`\n\nThe test started failing because at some point apparently `example.org`\nhas enabled DMARC. Use the reserved `.example` instead\n(https://icannwiki.org/.example)\n"
    },
    {
      "commit": "c290e4e283188ddc6b611629ee09d5a913c5cd46",
      "tree": "c34e969794dd355d83a60cbf78f58cff51aa7e23",
      "parents": [
        "be6ff0a853bd42739eed03156b545f86334daa5c"
      ],
      "author": {
        "name": "fluxo",
        "email": "cml@apache.org",
        "time": "Tue Sep 09 07:51:34 2025 -0700"
      },
      "committer": {
        "name": "fluxo",
        "email": "cml@apache.org",
        "time": "Tue Sep 09 07:51:34 2025 -0700"
      },
      "message": "internal use only\n"
    },
    {
      "commit": "be6ff0a853bd42739eed03156b545f86334daa5c",
      "tree": "210b9eaa49990cb2531599404f533fb558ccd852",
      "parents": [
        "565412d2d675542697612222a1932c2119d0819e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 20:52:46 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 20:52:46 2014 -0600"
      },
      "message": "tools: Add gitmakemake tool, to do a fully clean makemake using git\n\nClones the source tree into a subdirectory, runs makemake there, and\nmoves the resulting generated files back into the working directory.\nThis avoids problems with generated files being considered as sources.\n"
    },
    {
      "commit": "565412d2d675542697612222a1932c2119d0819e",
      "tree": "70ec78a4d07d08ddf987e68489f2851a0cdf7021",
      "parents": [
        "d7d95531d04e27a3687a3b7be9cbcb7515fe4ec9"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 20:51:38 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 20:51:38 2014 -0600"
      },
      "message": "Tag release with today\u0027s date\n"
    },
    {
      "commit": "d7d95531d04e27a3687a3b7be9cbcb7515fe4ec9",
      "tree": "3f5a1baa6c0b78b894062a545f67aa54ad993903",
      "parents": [
        "cafcce190d7dd43d535a91c39723f0f65bdf0104"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 17:29:11 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 17:29:11 2014 -0600"
      },
      "message": "ezmlm-send: Add replytolist feature\n"
    },
    {
      "commit": "cafcce190d7dd43d535a91c39723f0f65bdf0104",
      "tree": "e527f095ec606ee53925ad9784f1990c3b78a262",
      "parents": [
        "6286b346fee6c764377b694ea68dc5b7b12ddf23"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 07:19:27 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed May 14 07:19:27 2014 -0600"
      },
      "message": "ezmlm-send: Internally turn on flagrewritefrom when automatically rewriting\n"
    },
    {
      "commit": "6286b346fee6c764377b694ea68dc5b7b12ddf23",
      "tree": "d20be955938875aad563a57d028effb0b4151406",
      "parents": [
        "8c7f8575e28d9b0968c0649746a5b839da8d104b"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue May 13 15:47:28 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue May 13 15:47:28 2014 -0600"
      },
      "message": "ezmlm-send: Added another rewritefrom self-test\n"
    },
    {
      "commit": "8c7f8575e28d9b0968c0649746a5b839da8d104b",
      "tree": "9a6fc69e9a4fa0004a9db67747cbf1d9cadfcf18",
      "parents": [
        "93faf566dc9edb8cc23a72947791f12d0f73de14"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 09 17:35:29 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 09 18:11:29 2014 -0600"
      },
      "message": "ezmlm-weed: Fix off-by-one typo causing an \"out of memory\" error\n"
    },
    {
      "commit": "93faf566dc9edb8cc23a72947791f12d0f73de14",
      "tree": "53a9d16dadd80b8b234a9d75185ebd9e5668edc6",
      "parents": [
        "dbeb78c3b769e5868e60269c3d57537d969803a0"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 09 16:27:17 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 09 16:27:17 2014 -0600"
      },
      "message": "Tag release with today\u0027s date\n"
    },
    {
      "commit": "dbeb78c3b769e5868e60269c3d57537d969803a0",
      "tree": "b03e748c78166941a4ea2e418f2b61cef949f154",
      "parents": [
        "38946a637f70d468cae60ffc82fac8470c7bc71e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu May 08 15:26:36 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu May 08 15:26:36 2014 -0600"
      },
      "message": "author: Fix extracting addresses from headers with double quotes\n"
    },
    {
      "commit": "38946a637f70d468cae60ffc82fac8470c7bc71e",
      "tree": "5a88a49610124523cfb58615eaff1d74ce4a9a26",
      "parents": [
        "800ddd6622fc3d90f22b4f01f8e5734ee764aa0d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu May 08 15:17:45 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu May 08 15:17:45 2014 -0600"
      },
      "message": "ezmlm-send: Handle rewritefrom even if the list is not indexed\n"
    },
    {
      "commit": "800ddd6622fc3d90f22b4f01f8e5734ee764aa0d",
      "tree": "f2121ea4fa777bf2942583cf9088403c63b67850",
      "parents": [
        "0dfdd312c59c1f500ed7a97324060dba3c947c90"
      ],
      "author": {
        "name": "Andrea Pescetti",
        "email": "pescetti@apache.org",
        "time": "Tue May 06 16:35:25 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue May 06 17:32:57 2014 -0600"
      },
      "message": "lang/it: Update messages text\n\nSigned-off-by: Bruce Guenter \u003cbruce@untroubled.org\u003e\n"
    },
    {
      "commit": "0dfdd312c59c1f500ed7a97324060dba3c947c90",
      "tree": "40d956e9f1f468f1be47fc94c536722fd833942f",
      "parents": [
        "760debae3aa105f013624e2690070bfd0221d824"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon May 05 15:48:49 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon May 05 15:48:49 2014 -0600"
      },
      "message": "sub_sql: Fix missing local strnum\n"
    },
    {
      "commit": "760debae3aa105f013624e2690070bfd0221d824",
      "tree": "30716d3df7fc96c3ed9309bf1ad422f2591d6cd5",
      "parents": [
        "37c1a4a7ac66b34fbd2a7f947d9d88ae71f0840e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon May 05 08:56:49 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon May 05 08:56:49 2014 -0600"
      },
      "message": "tools/checklangs: Make python2 explicit\n"
    },
    {
      "commit": "37c1a4a7ac66b34fbd2a7f947d9d88ae71f0840e",
      "tree": "145610c3634ff7e91e7ab6bc02c3d6929b406e2e",
      "parents": [
        "a3831e3b2f1b457e577a13651cb9e8a9f60e7488"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 02 15:50:08 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 02 15:50:08 2014 -0600"
      },
      "message": "Tag release with today\u0027s date\n"
    },
    {
      "commit": "a3831e3b2f1b457e577a13651cb9e8a9f60e7488",
      "tree": "b270df75c9075a682ba17137c03265c663ff88d5",
      "parents": [
        "925870c82d7ffa6c00ce22cc348e27a48e764a09"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 02 15:34:08 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 02 15:36:51 2014 -0600"
      },
      "message": "ezmlm-send: Fix missing documentation bit\n"
    },
    {
      "commit": "925870c82d7ffa6c00ce22cc348e27a48e764a09",
      "tree": "88e300108ed721d603b777545eaf67d18674dde7",
      "parents": [
        "201d88635bb5881574779e6be3c868aa7cc6a4bc"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 02 15:10:19 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri May 02 15:10:19 2014 -0600"
      },
      "message": "ezmlm-send: Automatically enable rewritefrom if from domain has DMARC p\u003dreject\n"
    },
    {
      "commit": "201d88635bb5881574779e6be3c868aa7cc6a4bc",
      "tree": "26b55d2bfbc6b9e8deb2b5cbeb50f6d4d7e0e5fa",
      "parents": [
        "4e3964573903a675a95e454bde1f85f7ac56cf65"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 19:14:52 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 19:14:52 2014 -0600"
      },
      "message": "ezmlm-send: Rewrite the From: header in-place\n"
    },
    {
      "commit": "4e3964573903a675a95e454bde1f85f7ac56cf65",
      "tree": "032bfc8976e21390f46f794e27f26ab5bfdeb6c4",
      "parents": [
        "46026ce4122770ba533c4f1700a631b0406c5234"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 19:14:35 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 19:14:35 2014 -0600"
      },
      "message": "ezmlm-send: Improve from rewrite test\n"
    },
    {
      "commit": "46026ce4122770ba533c4f1700a631b0406c5234",
      "tree": "6ac19fa8d286b7ef7428f498b6492fa0901fff6a",
      "parents": [
        "806bfcdd738580095d27a172edc02ee9801bcd28"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 17:41:14 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 17:57:50 2014 -0600"
      },
      "message": "author: Clarify the logic a bit\n"
    },
    {
      "commit": "806bfcdd738580095d27a172edc02ee9801bcd28",
      "tree": "455a41bdb1e67aec594b5ab33a78faae4a8a033f",
      "parents": [
        "0f69dccd2e516480e5e5778bb70d90d5ff1d21bb",
        "ad9e85dc1f6c50af40cef5a940c341ba4490807e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 10:06:25 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 30 10:06:25 2014 -0600"
      },
      "message": "Merge branch \u0027dns\u0027 into rewritefrom\n"
    },
    {
      "commit": "ad9e85dc1f6c50af40cef5a940c341ba4490807e",
      "tree": "5a4e0d4c39c6a5191f821ea878eb4599e3e2abdd",
      "parents": [
        "235008d20d19d53c41b99bc410364194f96b18fd"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 10:11:40 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 17:07:26 2014 -0600"
      },
      "message": "Tweak DNS library to eliminate warnings\n"
    },
    {
      "commit": "235008d20d19d53c41b99bc410364194f96b18fd",
      "tree": "6a6ba906be537ebd612666701fad0b36254ebe8f",
      "parents": [
        "f7f8cc9896683160690e08f9f062e93e4a350f9d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 09:01:17 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 17:02:27 2014 -0600"
      },
      "message": "Add sources for DNS library, copied from djbdns-1.05 (public domain)\n"
    },
    {
      "commit": "0f69dccd2e516480e5e5778bb70d90d5ff1d21bb",
      "tree": "aba6d8b028cb96aabcd05300cf6341b5fd3f09bb",
      "parents": [
        "7e6c65db59e397c7432df21be84ea9f36d1f8f6f"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 15:52:27 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 16:58:42 2014 -0600"
      },
      "message": "mime: Move call to decodeHDR inside author_name\n\nEvery caller of author_name immediately called decodeHDR after.\n"
    },
    {
      "commit": "7e6c65db59e397c7432df21be84ea9f36d1f8f6f",
      "tree": "c3739623ad8404d93e193346115ddf82c3a2a34c",
      "parents": [
        "92677a91421f2a4b3bc6530538a148310c71d784"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 08:54:49 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 16:58:41 2014 -0600"
      },
      "message": "tests: Eliminate the unneeded LOC variable\n"
    },
    {
      "commit": "92677a91421f2a4b3bc6530538a148310c71d784",
      "tree": "1ae59ccf645fdf9923d45c2430122a6a673ef912",
      "parents": [
        "d128909b8ac73bf90876275efed550df3435030f"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 08:50:13 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 16:58:41 2014 -0600"
      },
      "message": "ezmlm-request: Use outlocal/outhost in place of listname/hostname\n\noutlocal is copied to listname, and outhost to hostname, so use the\noriginals where it makes more sense.\n"
    },
    {
      "commit": "d128909b8ac73bf90876275efed550df3435030f",
      "tree": "4a5cf7fe7625665a1245b3606af713d106c5b938",
      "parents": [
        "e10f5ad66339bc4f72e62263cd329bfa85e59a11"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 08:49:59 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 16:58:41 2014 -0600"
      },
      "message": "ezmlm-request: List names may begin with an underscore\n"
    },
    {
      "commit": "e10f5ad66339bc4f72e62263cd329bfa85e59a11",
      "tree": "8e22a93a7efc7e0bf1ab669997d88d7908962b02",
      "parents": [
        "cfa16c125ed3ab9c207406a0a7f6c542f38c13d9"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 15:34:36 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 16:58:41 2014 -0600"
      },
      "message": "ezmlm-send: Use list name from DIR/outlocal in the rewritten From: header\n"
    },
    {
      "commit": "cfa16c125ed3ab9c207406a0a7f6c542f38c13d9",
      "tree": "3521b4f5e0bffe3adda2e7731739cd7f2fdecd6b",
      "parents": [
        "f7f8cc9896683160690e08f9f062e93e4a350f9d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Apr 26 09:49:47 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 16:58:41 2014 -0600"
      },
      "message": "ezmlm-send: Add option to rewrite the From: header\n"
    },
    {
      "commit": "f7f8cc9896683160690e08f9f062e93e4a350f9d",
      "tree": "25342628f35b5a136dac3ab9b3176b204edc962a",
      "parents": [
        "8df922155a804a928fdeab489ae6a2a1d690b2e6"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 15:26:42 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 15:26:42 2014 -0600"
      },
      "message": "surfpcs: Change calling convention from unsigned char* to just char* for simplicity\n"
    },
    {
      "commit": "8df922155a804a928fdeab489ae6a2a1d690b2e6",
      "tree": "85224aff7bdce33a249f3e789cf96a056aea5587",
      "parents": [
        "82d7a46e5d88ce353d463689de1a3101f243f3e9"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 15:23:10 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Apr 29 15:23:57 2014 -0600"
      },
      "message": "surfpcs: Move surfpcs_addlc from makehash, and remove duplicated code\n"
    },
    {
      "commit": "82d7a46e5d88ce353d463689de1a3101f243f3e9",
      "tree": "9ab5bd8f22775b8d46ab942c9bb4ef4c335feb21",
      "parents": [
        "04cc268659c0c4106e1ec10fa1b575f2a6daa0a7"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sun Apr 27 15:43:42 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:23 2014 -0600"
      },
      "message": "mime: Make concatHDR strip leading and trailing whitespace\n"
    },
    {
      "commit": "04cc268659c0c4106e1ec10fa1b575f2a6daa0a7",
      "tree": "ec13c5561a87c39e7f354b691544780a1b802635",
      "parents": [
        "088c3d191bbd520771c9d5a7d6eb1a8d2063a02e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Apr 26 11:30:23 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:23 2014 -0600"
      },
      "message": "Add gethdrln function to simplify message reading logic\n"
    },
    {
      "commit": "088c3d191bbd520771c9d5a7d6eb1a8d2063a02e",
      "tree": "5afcb29b36569eef75feb51bc73f4d21a845d5b1",
      "parents": [
        "ddd82c00d085413fbf57a9fa658b9ee667ecc155"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Apr 26 12:42:30 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:23 2014 -0600"
      },
      "message": "tests: Fix execution with non-bash /bin/sh\n"
    },
    {
      "commit": "ddd82c00d085413fbf57a9fa658b9ee667ecc155",
      "tree": "89676815898297a8031f24282595154d9cfe6a73",
      "parents": [
        "9abbd278061ab1cd5224a01bba1f6da173388b66"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Apr 26 11:52:54 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:23 2014 -0600"
      },
      "message": "conf-ld: Add -rdynamic back to the command line, it is needed on some systems\n"
    },
    {
      "commit": "9abbd278061ab1cd5224a01bba1f6da173388b66",
      "tree": "7a4f24796447a6b4046e552098cf128ee90421d6",
      "parents": [
        "1b163c08bee58282f5582db849198285fdd8da1e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Apr 25 18:18:12 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "ezmlm-send: Simplify qa_puts to just call qa_put (they do the same thing)\n"
    },
    {
      "commit": "1b163c08bee58282f5582db849198285fdd8da1e",
      "tree": "f753cd021846981a0711b8dab1a60686acdf3a3e",
      "parents": [
        "757617b78f8899b1b1152dd5083e996b7a491932"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Apr 24 08:51:32 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "stralloc: Replace parameter to stralloc_append with a normal char\n"
    },
    {
      "commit": "757617b78f8899b1b1152dd5083e996b7a491932",
      "tree": "0786fca0ab290c005373c8bc2a535327e72f9996",
      "parents": [
        "0f06d283e2439de1cf3459605ae6637becb286a7"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Apr 24 08:33:32 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "ezmlm-*: Make most globals static, and move many local into functions (incomplete)\n"
    },
    {
      "commit": "0f06d283e2439de1cf3459605ae6637becb286a7",
      "tree": "17757f0aa95351115e80df5e9d5f70fcb86c9952",
      "parents": [
        "7aa5ea061a16e7d1109e055e53343fa9d6e5f499"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Apr 24 08:33:11 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "Ignore unused result warnings\n"
    },
    {
      "commit": "7aa5ea061a16e7d1109e055e53343fa9d6e5f499",
      "tree": "0fdf36e7e4e7fdd13ce23302e636528a0c4af177",
      "parents": [
        "531b9aa4786d18e7445495b4e41eae9d96dbaf89"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Apr 24 07:26:12 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "ezmlm-cron: Move most global variables local to main\n"
    },
    {
      "commit": "531b9aa4786d18e7445495b4e41eae9d96dbaf89",
      "tree": "ebde7edcd27f7760d978406dec34acfb4625e188",
      "parents": [
        "0fbe66e1122fb788b75e28ff803ba174469a1d62"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 21:04:00 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "ezmlm-manage: Eliminate two unused globals\n"
    },
    {
      "commit": "0fbe66e1122fb788b75e28ff803ba174469a1d62",
      "tree": "32158a9f0a030e3a5272ca18460e972b25d442d5",
      "parents": [
        "465b6b0b8b07f2646fab248ae450138987f7e6cc"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 20:59:01 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "Remove a pile of static strnum declarations\n"
    },
    {
      "commit": "465b6b0b8b07f2646fab248ae450138987f7e6cc",
      "tree": "23868f18755775d605e87069125e159a472f06b0",
      "parents": [
        "524e430799f38269b3e9ef3dbc97cb313655ea27"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 20:34:23 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:22 2014 -0600"
      },
      "message": "Fix several more shadowed global variable warnings.\n"
    },
    {
      "commit": "524e430799f38269b3e9ef3dbc97cb313655ea27",
      "tree": "bf01a8960fb669a409e021ae86bb990cd86c184d",
      "parents": [
        "297e3d788ec067ff4dccc51a2af81e305765fb89"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 20:26:39 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:21 2014 -0600"
      },
      "message": "Fix several set-but-unused warnings\n"
    },
    {
      "commit": "297e3d788ec067ff4dccc51a2af81e305765fb89",
      "tree": "16c2dcce2b80e3580eef8747092c970760bcf1b8",
      "parents": [
        "6a78d0cd8f413558c3613f6f4710122856d97aaf"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Nov 18 15:57:12 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:21 2014 -0600"
      },
      "message": "Rename global \"local\" to \"mainlocal\" to avoid shadowed global warning\n"
    },
    {
      "commit": "6a78d0cd8f413558c3613f6f4710122856d97aaf",
      "tree": "97162638cbb0d84b2c38192d76b7ddd3a23392fd",
      "parents": [
        "8563e91e61db69a5136edf7e32e02550b361d476"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Nov 17 23:15:38 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 28 07:02:21 2014 -0600"
      },
      "message": "Fix up shadowed variable names\n"
    },
    {
      "commit": "8563e91e61db69a5136edf7e32e02550b361d476",
      "tree": "ba62982a9746ed7e8305f354140a5447f402dd03",
      "parents": [
        "a6035d851a648f70942d080ffca3715b737719c6",
        "fd0d99c1bf3d33e3373bc822e29d9d2c5aa344c5"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 19:14:06 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 19:14:06 2014 -0600"
      },
      "message": "Merge branch \u0027sql-rewrite\u0027\n"
    },
    {
      "commit": "a6035d851a648f70942d080ffca3715b737719c6",
      "tree": "42fd968d54b64ec839d40ffaffe2723979cd913d",
      "parents": [
        "9750398ff60ca963e8100c164332a4e61196302e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 16:10:09 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 16:13:46 2014 -0600"
      },
      "message": "ezmlm-archive: Fix corruption of output files caused by improper termination\n\nSeveral places in ezmlm-archive wrote out strings with the assumption\nthey would be ASCII NUL terminated (as C strings) but were in fact\ncopied from stralloc data with no trailing NUL. Instead, use the\nexplicit length already recorded with each one.\n"
    },
    {
      "commit": "9750398ff60ca963e8100c164332a4e61196302e",
      "tree": "228e2966cdd4bd299be77175c674265cc9bd33e6",
      "parents": [
        "b8b034277ea73eaf43d5e7453e9176b387e8285b"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 16:06:26 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Apr 23 16:06:26 2014 -0600"
      },
      "message": "idxthread: Use len when searching authline, not ASCII NUL\n\nauthline is a stralloc string, there might not be a NUL byte terminator\n"
    },
    {
      "commit": "b8b034277ea73eaf43d5e7453e9176b387e8285b",
      "tree": "02883b3e6a304e1f55ac2b3be24b270cbc969ae9",
      "parents": [
        "88ff2b5542fb55c057327319b56327b77edc8c57"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 21 16:47:15 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 21 17:05:59 2014 -0600"
      },
      "message": "ezmlm-manage: Fix notification of remote admin unsubscribe target when -N is set\n\nFrom: Nebojsa Milovanovic \u003cnesha@nesha.net\u003e\nSubject: ezmlm-manage notification patch\n\nezmlm-manage -N switch have some little bug\nwhit this switch when remote moderator removes a subsrciber, this ex\nsubscriber still gets unsubscribe notification\n"
    },
    {
      "commit": "88ff2b5542fb55c057327319b56327b77edc8c57",
      "tree": "decc4064fb08a2b5f209ddfbb271cb6a3ecffae7",
      "parents": [
        "a6e8fd15eb4964980e6473f240ee668044c52c34"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 21 16:34:08 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 21 16:34:08 2014 -0600"
      },
      "message": "BUGS: Added note about duplicate subjects being threaded together\n\nFrom: Glen Stewart \u003cglen_stewart@associate.com\u003e\n"
    },
    {
      "commit": "a6e8fd15eb4964980e6473f240ee668044c52c34",
      "tree": "313d7e57a5c361f404b2c7aaa01c04f6286973be",
      "parents": [
        "335e21a9fc23470afadda2844ac87aab99daf816"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 21 16:32:59 2014 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 21 16:33:53 2014 -0600"
      },
      "message": "Moved list of bugs from CHANGES to a new BUGS file\n"
    },
    {
      "commit": "335e21a9fc23470afadda2844ac87aab99daf816",
      "tree": "eb3e844dbb8e68f9a52bd778fbe51d14f66435e9",
      "parents": [
        "812aff8609884c6a6d452253f525ee963c7e292f"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 01 20:02:48 2013 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Apr 21 14:40:26 2014 -0600"
      },
      "message": "ezmlm-store: Clarify wording of some sections.\n"
    },
    {
      "commit": "fd0d99c1bf3d33e3373bc822e29d9d2c5aa344c5",
      "tree": "c2c92818e754814f3ec78c3f8e43f05248207833",
      "parents": [
        "d38c6f32f2edd3f11731e504733d1cdbf3cc10d7"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Nov 24 16:49:24 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Jan 13 11:07:41 2012 -0600"
      },
      "message": "Add CHANGES note about SQL rewrite\n"
    },
    {
      "commit": "d38c6f32f2edd3f11731e504733d1cdbf3cc10d7",
      "tree": "17dad92245833a580438cd99e4ddcc563cbd7515",
      "parents": [
        "9f9559473a83f48febecf4b1782953e28443219d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 17:30:00 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Jan 13 11:07:41 2012 -0600"
      },
      "message": "sub-*sql: Removed unneeded #include lines\n"
    },
    {
      "commit": "9f9559473a83f48febecf4b1782953e28443219d",
      "tree": "9858a985e13b1990dbc5d36f0ec7167501034484",
      "parents": [
        "6e336292681273ea00668b3bc07093d27314687d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 17:22:47 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Jan 13 11:07:41 2012 -0600"
      },
      "message": "sub-*sql: Merge subscribe implementations into a common function\n"
    },
    {
      "commit": "6e336292681273ea00668b3bc07093d27314687d",
      "tree": "52d13643f59fa1fc4e66fe942ac190469d3cba1b",
      "parents": [
        "22bec02b18bb4be5f09d4548a26694af7e836d21"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 15:44:50 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Jan 13 11:07:40 2012 -0600"
      },
      "message": "sub-*sql: Merge tagmsg implementations into a common function\n"
    },
    {
      "commit": "22bec02b18bb4be5f09d4548a26694af7e836d21",
      "tree": "35eef8faea088307f27be9bd69ca0f5210f3bfc9",
      "parents": [
        "20254e7fd224eb6b19856c88e859b4851cb506c3"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 15:18:48 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Jan 13 11:07:40 2012 -0600"
      },
      "message": "sub-*sql: Merge logmsg implementations into a common function\n\nThis also adds generic sql_insert functions in each SQL module.\n"
    },
    {
      "commit": "20254e7fd224eb6b19856c88e859b4851cb506c3",
      "tree": "8ce60e6569b59be0b26aa792877918d243e84c07",
      "parents": [
        "c104349d9bafaeac7d0b17177e62c1b42657621e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 13:33:12 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Jan 13 11:07:34 2012 -0600"
      },
      "message": "sub-*sql: Merge searchlog implementations into a common function\n"
    },
    {
      "commit": "812aff8609884c6a6d452253f525ee963c7e292f",
      "tree": "bc96e325bf0b9afa820ef824ffcd1876e2462127",
      "parents": [
        "70d31fdeca22baafedf17a30be23507eb4863f2c"
      ],
      "author": {
        "name": "Fei Weberhofer",
        "email": "feisaskia@weberhofer.at",
        "time": "Tue May 17 07:41:00 2011 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue May 17 07:41:00 2011 -0600"
      },
      "message": "lang/de: Update bottom text\n\nSigned-off-by: Bruce Guenter \u003cbruce@untroubled.org\u003e\n"
    },
    {
      "commit": "70d31fdeca22baafedf17a30be23507eb4863f2c",
      "tree": "c5fe2a9921f2a37fa9b178e17b5237b14a33f5d5",
      "parents": [
        "ffd13cce122f4b5677e11e4e380e566f0ffe831f"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 23 15:35:44 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 23 15:35:44 2010 -0600"
      },
      "message": "ezmlm-manage: More factoring of main into subroutines\n"
    },
    {
      "commit": "ffd13cce122f4b5677e11e4e380e566f0ffe831f",
      "tree": "48bbcbd6b84d80c82bd87c6713c22d4fecaa6505",
      "parents": [
        "f2d460b670e21294ac06224baa7fe49f164e804f"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 23 15:05:46 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 23 15:05:46 2010 -0600"
      },
      "message": "ezmlm-manage: Internal rewrite to simplify main\n"
    },
    {
      "commit": "f2d460b670e21294ac06224baa7fe49f164e804f",
      "tree": "2fd77055501456ec4b3890d21e809f35305c48e1",
      "parents": [
        "eb7d071b10862bd2d446e423ff10a5b27a68bfc1"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 23 13:54:30 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 23 13:54:30 2010 -0600"
      },
      "message": "ezmlm-manage: Add -a option to show what response is being sent\n"
    },
    {
      "commit": "eb7d071b10862bd2d446e423ff10a5b27a68bfc1",
      "tree": "55304973c14dd2545fb954a228009b9e8b63e63a",
      "parents": [
        "615ad99b99e879c7fc83089ad53a14f7ae4ae4af"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Dec 22 16:00:59 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Dec 22 16:00:59 2010 -0600"
      },
      "message": "ezmlm-manage: Reorder geton/getoff to die early if at all\n"
    },
    {
      "commit": "615ad99b99e879c7fc83089ad53a14f7ae4ae4af",
      "tree": "a93287bec7d7752b6229d63b30df6cb90d7c9e22",
      "parents": [
        "bd45aefacdeda76f61b02979714f087fb2c48d8f"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Dec 21 08:26:20 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Dec 21 08:26:20 2010 -0600"
      },
      "message": "ezmlm-import: Merge common output flush code\n"
    },
    {
      "commit": "bd45aefacdeda76f61b02979714f087fb2c48d8f",
      "tree": "63c671c3f74f6aa0dd844fb598ebdcc44b89d588",
      "parents": [
        "593a745cfab234badbfb4c091d97c0722dbbe693"
      ],
      "author": {
        "name": "Tullio Andreatta",
        "email": "t.andreatta@troppoavanti.it",
        "time": "Tue Dec 21 08:21:50 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Dec 21 08:21:50 2010 -0600"
      },
      "message": "ezmlm-import: Allow reading the input mbox from stdin\n\nAlso note that path to the mbox file is relative to DIR and fix man page.\n"
    },
    {
      "commit": "593a745cfab234badbfb4c091d97c0722dbbe693",
      "tree": "51094b956118d2119f1c5bbca22593b3d397c139",
      "parents": [
        "a6f98666f3c47957585c26992dc2e0b8dcfcfc69"
      ],
      "author": {
        "name": "Tullio Andreatta",
        "email": "t.andreatta@troppoavanti.it",
        "time": "Tue Dec 21 08:17:35 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Dec 21 08:18:55 2010 -0600"
      },
      "message": "ezmlm-import: Fix failure to flush output on last message\n"
    },
    {
      "commit": "a6f98666f3c47957585c26992dc2e0b8dcfcfc69",
      "tree": "33b8de0be058a46691efc5b8956c92572f55bd25",
      "parents": [
        "dd57dfecac59d147f03122b1b08e238458afc959"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 20 17:34:08 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 20 17:39:23 2010 -0600"
      },
      "message": "ezmlm-manage: Simplify the exit conditions of main a bit\n"
    },
    {
      "commit": "dd57dfecac59d147f03122b1b08e238458afc959",
      "tree": "06648c3846385b6efe945895389fba6ee38194f6",
      "parents": [
        "7b3c99dcc0113292b03a2e202e6de76500ea9b6e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 20 17:29:07 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 20 17:29:07 2010 -0600"
      },
      "message": "ezmlm-manage: Rename flagverbose to flagcopyowner\n"
    },
    {
      "commit": "7b3c99dcc0113292b03a2e202e6de76500ea9b6e",
      "tree": "9d350d5bb89adb2e1395d6794a363356a94cea0a",
      "parents": [
        "52864fc78236e63cd94f5a6cfed80da943dae9ef"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Dec 17 10:52:52 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Dec 17 12:03:28 2010 -0600"
      },
      "message": "ezmlmrc.5: Fix formatting typo\n"
    },
    {
      "commit": "52864fc78236e63cd94f5a6cfed80da943dae9ef",
      "tree": "613faa6f4a4360d3e1c03f87f86b51119dbbfbf3",
      "parents": [
        "197febb59fdaec0a856840577212f5da45ec513e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Dec 17 10:51:41 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Dec 17 12:03:21 2010 -0600"
      },
      "message": "ezmlmrc.template: Remove fromheader when disabling the -3 option\n"
    },
    {
      "commit": "197febb59fdaec0a856840577212f5da45ec513e",
      "tree": "4992c0405a8f3371f03c6972205ac815ee0eabf7",
      "parents": [
        "3945aca2312c2c6a49a23912ef0261f9c867658d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 13 15:36:48 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 13 15:38:42 2010 -0600"
      },
      "message": "Document the \u003c\u003d*\u003d\u003e section markers in text files.\n"
    },
    {
      "commit": "3945aca2312c2c6a49a23912ef0261f9c867658d",
      "tree": "9a722d98d2aafb04718720aded5a168b59b00a85",
      "parents": [
        "c9802f56a4e09cccab4cf2c4f10c0d5e53053289"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sun Dec 05 21:48:59 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 13 15:38:41 2010 -0600"
      },
      "message": "Allow use of numeric flags in text section conditions\n\nThis will, for example, allow for turning on sections marked \u003c\u003d9\u003d\u003e if\nDIR/remote is present.\n"
    },
    {
      "commit": "c9802f56a4e09cccab4cf2c4f10c0d5e53053289",
      "tree": "fa5060540a6a3d47a2df9e5c191f371fb5fd2a96",
      "parents": [
        "e3d43fe16c708b49eba63e07ed2f8d0b18298483"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sun Dec 05 22:04:52 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 13 15:38:36 2010 -0600"
      },
      "message": "ezmlm-[un]sub: Add option for tags other than \"manual\" in the Log\n"
    },
    {
      "commit": "e3d43fe16c708b49eba63e07ed2f8d0b18298483",
      "tree": "a5cb11b05265d63d9b04d9fd8eeff8c5fc7dedd5",
      "parents": [
        "f04728cba820061724ecab9a63f6536cfc3d049b"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sun Dec 05 22:43:30 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 13 15:22:59 2010 -0600"
      },
      "message": "constmap: Merge individual allocated arrays into a struct\n\nThis simplifies the code and makes the generated code better too.\n"
    },
    {
      "commit": "f04728cba820061724ecab9a63f6536cfc3d049b",
      "tree": "f1180ae31a457854806dd01877d978ef998705e7",
      "parents": [
        "0414ff776edbd4b809bc187f0adaf30299f3cf2e"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 19:21:41 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 13 15:22:54 2010 -0600"
      },
      "message": "ezmlm-manage,ezmlm-store: Substitute \u003c#C#\u003e, \u003c#T#\u003e, and \u003c#X#\u003e\n"
    },
    {
      "commit": "0414ff776edbd4b809bc187f0adaf30299f3cf2e",
      "tree": "fab54b13a16be5aa143ba0abd8bcc20ddb869b1f",
      "parents": [
        "1c150bacfc3fbfc266aa5df67d8e051a1bc09045"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 11:47:32 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Mon Dec 13 15:15:58 2010 -0600"
      },
      "message": "ezmlm-manage: Drop reference to unused $HOST from man page\n"
    },
    {
      "commit": "1c150bacfc3fbfc266aa5df67d8e051a1bc09045",
      "tree": "94677421a36034fd56adb6cdc936f7ee217f8c07",
      "parents": [
        "18a776fe8fd24b1c8ecee0ad0dbd2178df3312ca"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 11:47:10 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 11:47:10 2010 -0600"
      },
      "message": "tests: Drop useless setting of $HOST to $HOST\n"
    },
    {
      "commit": "18a776fe8fd24b1c8ecee0ad0dbd2178df3312ca",
      "tree": "991c9bf119191e0f5da58936ce8231533e95f04b",
      "parents": [
        "04b3bdd92bad13bc73105178d0203faa40a31426"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 11:44:08 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 11:44:08 2010 -0600"
      },
      "message": "tests: Drop unneeded use of $LOCAL with ezmlm-manage\n"
    },
    {
      "commit": "04b3bdd92bad13bc73105178d0203faa40a31426",
      "tree": "080dd0c3cae10e814d37b9e1f01eb0e8f9e8844c",
      "parents": [
        "9efa2c45463193b75f110e907ad59bc652db0b76"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 11:34:02 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Dec 09 11:34:02 2010 -0600"
      },
      "message": "ezmlm-manage: Remove reference to unused $LOCAL from man page\n"
    },
    {
      "commit": "9efa2c45463193b75f110e907ad59bc652db0b76",
      "tree": "296652201993e74be43368dcf496e56eebdbfd57",
      "parents": [
        "7300406e57a70c01ba23cf27e03454cc9451114f"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sun Dec 05 16:21:11 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sun Dec 05 21:41:28 2010 -0600"
      },
      "message": "tools: Drop the makerrors script in favor of make -s\n"
    },
    {
      "commit": "7300406e57a70c01ba23cf27e03454cc9451114f",
      "tree": "e686562df8c0719683a99ecd13df3bfb36f9554d",
      "parents": [
        "a39b698f25494008bbdf3bca8511f1cb5953e578"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Dec 04 22:19:22 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Dec 04 22:25:15 2010 -0600"
      },
      "message": "tests: Remove the program name settings\n\nAll *NIX systems have the common programs in the path, and since the\ntests no longer use delivery through qmail, full program paths are not\nneeded.  If a tester finds a problem with this, he can use a function to\ndefine a replacement.\n"
    },
    {
      "commit": "a39b698f25494008bbdf3bca8511f1cb5953e578",
      "tree": "6a08e545ec86bf6633d5c62400a5851e6ee53714",
      "parents": [
        "c628657ad7329a715705bc5c35240de6b0586af5"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Dec 04 20:57:12 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Dec 04 21:55:10 2010 -0600"
      },
      "message": "auto-str: Use a static variable to cache the results of the env_get\n"
    },
    {
      "commit": "c628657ad7329a715705bc5c35240de6b0586af5",
      "tree": "d845ecb77d801a5407460f4be9170b442064ab48",
      "parents": [
        "29833f9e4fffa5ae9304a675b9bbb79631a000c9"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Dec 04 21:40:48 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Sat Dec 04 21:55:05 2010 -0600"
      },
      "message": "tests: Removed unused $STRINGS setting\n"
    },
    {
      "commit": "29833f9e4fffa5ae9304a675b9bbb79631a000c9",
      "tree": "267a4848e6ff3baa33288d451210112da0341972",
      "parents": [
        "6361b0ee510b7b675092dc3cc694cd37d9064217"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Dec 01 17:18:10 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Dec 01 17:19:59 2010 -0600"
      },
      "message": "Added ezmlm-{cgi,import,rmtab} to the installed programs and man pages\n"
    },
    {
      "commit": "6361b0ee510b7b675092dc3cc694cd37d9064217",
      "tree": "a35f5f8a19feb86ad16ed87c040318af7cf8f833",
      "parents": [
        "75436955a7ec90321b25159becb93b4d115799aa"
      ],
      "author": {
        "name": "Lars Kruse",
        "email": "devel@sumpfralle.de",
        "time": "Wed Nov 24 16:46:42 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Nov 24 16:46:42 2010 -0600"
      },
      "message": "lang/de: Update mod-help text\n\nSigned-off-by: Bruce Guenter \u003cbruce@untroubled.org\u003e\n"
    },
    {
      "commit": "75436955a7ec90321b25159becb93b4d115799aa",
      "tree": "8eb8fe11a229d32378465fe4e1f47da0d8a39c29",
      "parents": [
        "fca56a99bef68da3ae5bc27d37341ca8316d01cb"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Nov 24 16:43:06 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Nov 24 16:43:06 2010 -0600"
      },
      "message": "ezmlm-manage: Fix behavior of -Q flag to match man page\n"
    },
    {
      "commit": "fca56a99bef68da3ae5bc27d37341ca8316d01cb",
      "tree": "021d9c2c9021676519dd26ea3645d4544dd2c196",
      "parents": [
        "2c81e75a7eccf84a46cea477622a5e1c432e0e6a"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Nov 24 14:53:10 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Wed Nov 24 14:53:10 2010 -0600"
      },
      "message": "Revert \"getconfopt: Remove unused \"counter\" option type\"\n\nThe \"counter\" option type is needed for a FIXME in ezmlm-manage\n\nThis reverts commit ef0698bf87301121b7ebae1a741173b6a0d0a196.\n"
    },
    {
      "commit": "c104349d9bafaeac7d0b17177e62c1b42657621e",
      "tree": "d37c02c95b2f1a143ddb914817aea67f6f164b51",
      "parents": [
        "30bcf543a164eed9ce6afc970229779c491ca73d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 12:20:49 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 12:20:49 2010 -0600"
      },
      "message": "sub-*sql: Merge checktag implementations into a common function\n"
    },
    {
      "commit": "30bcf543a164eed9ce6afc970229779c491ca73d",
      "tree": "38415e054941acf2c60a2ec6e9878a89509cf219",
      "parents": [
        "7e7c1390cac2b4d49a836d2d81e65cc762976620"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 12:01:01 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 12:01:01 2010 -0600"
      },
      "message": "sub-*sql: Merge putsubs implementation into a common function\n"
    },
    {
      "commit": "7e7c1390cac2b4d49a836d2d81e65cc762976620",
      "tree": "28051746861dc1c86b99b835eb1af2be98cab311",
      "parents": [
        "138fd12c804cbe9d77302012afc73821a3893727"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 11:32:35 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Fri Nov 19 11:34:59 2010 -0600"
      },
      "message": "sub-*sql: Merge issub implementations into common function\n\nThis introduces unified functions for select (with parameters), fetch\nrow, and free result(s).\n"
    },
    {
      "commit": "138fd12c804cbe9d77302012afc73821a3893727",
      "tree": "719468d3e5dde4ed368e76e65969b6613f22053f",
      "parents": [
        "2c81e75a7eccf84a46cea477622a5e1c432e0e6a"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Tue Oct 06 16:56:06 2009 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Nov 18 20:57:20 2010 -0600"
      },
      "message": "sub-*sql: Merge table creation and removal into common code\n"
    },
    {
      "commit": "2c81e75a7eccf84a46cea477622a5e1c432e0e6a",
      "tree": "a8a6d60e7838d61522c5d447a38846bb1a03facb",
      "parents": [
        "a4c875df796885f693ec755c7dc5f1a8541d265d"
      ],
      "author": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Nov 18 20:43:12 2010 -0600"
      },
      "committer": {
        "name": "Bruce Guenter",
        "email": "bruce@untroubled.org",
        "time": "Thu Nov 18 20:44:11 2010 -0600"
      },
      "message": "Tag release with today\u0027s date\n"
    }
  ],
  "next": "a4c875df796885f693ec755c7dc5f1a8541d265d"
}
