)]}'
{
  "log": [
    {
      "commit": "9fca8251b24dbebc7ebbefba506378ad979c6c97",
      "tree": "3831915364d7b7743f07e7d288831078fa9171a4",
      "parents": [
        "ee99615a158a4e91340d9f351f77832b1fe93d92"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri Aug 14 10:59:33 2026 -0600"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri Aug 14 11:01:53 2026 -0600"
      },
      "message": "[#8614] Decrypt social networks returned by the profile rest api\n"
    },
    {
      "commit": "ee99615a158a4e91340d9f351f77832b1fe93d92",
      "tree": "91de8f871dc583099095458d0b1594e3d72fdac2",
      "parents": [
        "62864a68b1307e6cf873d03a206a27d24c6252eb"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Mon Jul 20 14:28:13 2026 -0600"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Thu Aug 13 17:21:03 2026 +0000"
      },
      "message": "[#8614] Add support for nested lists and tests to the field conversion script\n"
    },
    {
      "commit": "62864a68b1307e6cf873d03a206a27d24c6252eb",
      "tree": "d9cc26cbdcfd2bdd03c5820af9db69cb85e9e134",
      "parents": [
        "c0a25ef09dc9ccb512ebd91e0ef55922a12ed427"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Mon Jul 20 12:19:07 2026 -0600"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Thu Aug 13 17:21:03 2026 +0000"
      },
      "message": "[#8614] Add backing encrypted fields for User and UserLoginDetails fields\n"
    },
    {
      "commit": "c0a25ef09dc9ccb512ebd91e0ef55922a12ed427",
      "tree": "9ee5c4f63fb433c7745cfbd82a7f5bbd711972de",
      "parents": [
        "15efa51054579e4ea6c9fb6eabadaa0c816be024"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Aug 10 15:07:19 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Aug 10 15:07:19 2026 +0000"
      },
      "message": "bump gitpython 3.1.57 -\u003e 3.1.59\n"
    },
    {
      "commit": "15efa51054579e4ea6c9fb6eabadaa0c816be024",
      "tree": "8200832a68ece1a10e46ffaee78a3457f6b4cea5",
      "parents": [
        "bacea1563d3fee55240cd92247cd8b5988aedd20"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Aug 06 13:02:08 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Aug 06 13:02:08 2026 -0400"
      },
      "message": "[#6687] change most feed links to Atom version instead of RSS, since Atom is less weird\n"
    },
    {
      "commit": "bacea1563d3fee55240cd92247cd8b5988aedd20",
      "tree": "4210af50c1db159cc4a97359f0e43380959b429a",
      "parents": [
        "9f4ec61679dd5bdcde194de403a86d96f43d53f1"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Aug 06 13:01:25 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Aug 06 13:01:25 2026 -0400"
      },
      "message": "[#6687] mark rss \u003cguid\u003e as not a link\n"
    },
    {
      "commit": "9f4ec61679dd5bdcde194de403a86d96f43d53f1",
      "tree": "9b8f006b6471fdbe1ec2d2d75d34851d105adf1f",
      "parents": [
        "692240ed5e3c89ef22641940f4b2d6449e30a91d"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Wed Aug 05 17:43:23 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Wed Aug 05 17:43:23 2026 +0000"
      },
      "message": "upgrade ming\n"
    },
    {
      "commit": "692240ed5e3c89ef22641940f4b2d6449e30a91d",
      "tree": "c6a190431728e2abde4c7959bc795fe5261403ce",
      "parents": [
        "6b0c8e38d77ce9d55c0175b1865cbf994d7349cf"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Aug 04 14:55:55 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Aug 04 14:55:55 2026 +0000"
      },
      "message": "bumping cryptography 49.0.0 -\u003e 50.0.0\n"
    },
    {
      "commit": "6b0c8e38d77ce9d55c0175b1865cbf994d7349cf",
      "tree": "6f4287665fa755e7a759b3b09f5f5dd792230633",
      "parents": [
        "fc814e9d5e1f2a17fb864b8eb282272e2e640d2c"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 21:55:30 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] update .pre-commit-config.yaml versions\n"
    },
    {
      "commit": "fc814e9d5e1f2a17fb864b8eb282272e2e640d2c",
      "tree": "735ee117ddf3d309eb8140a4fda8bf6223d16f40",
      "parents": [
        "7f444828190da9a00a42797107012c9abbd3d960"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:52:02 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade boto3 1.42.89 -\u003e 1.43.52, and its deps: botocore,s3transfer\n\n    boto3                           1.42.89 -\u003e 1.43.52\n        botocore                    1.42.89 -\u003e 1.43.52\n        s3transfer                   0.16.0 -\u003e 0.19.1\n            botocore                1.42.89 -\u003e 1.43.52\n"
    },
    {
      "commit": "7f444828190da9a00a42797107012c9abbd3d960",
      "tree": "ef88ff3def879e6ea184717d8cf3b0eeaf312a85",
      "parents": [
        "300031a1e9e1d3ee81d2f3f208cae13dcb0519cb"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:50:44 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade pre_commit 4.5.1 -\u003e 4.6.0, and its deps: distlib,python-discovery,virtualenv,filelock,platformdirs,identify\n\n    pre_commit                        4.5.1 -\u003e 4.6.0\n        identify                     2.6.18 -\u003e 2.6.19\n        virtualenv                   21.2.3 -\u003e 21.6.1\n            distlib                   0.4.0 -\u003e 0.4.3\n            filelock                 3.25.2 -\u003e 3.31.1\n            platformdirs              4.9.6 -\u003e 4.10.1\n            python-discovery          1.2.2 -\u003e 1.4.4\n                filelock             3.25.2 -\u003e 3.31.1\n                platformdirs          4.9.6 -\u003e 4.10.1\n"
    },
    {
      "commit": "300031a1e9e1d3ee81d2f3f208cae13dcb0519cb",
      "tree": "c7b90843ecba767e2f282fce0a5902b9a381d6d4",
      "parents": [
        "923abc7664b274b41c37ae2073b589601707a3d0"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:50:13 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade gunicorn 25.3.0 -\u003e 26.0.0, and its deps: packaging\n\n    gunicorn                         25.3.0 -\u003e 26.0.0\n        packaging                      26.0 -\u003e 26.2\n"
    },
    {
      "commit": "923abc7664b274b41c37ae2073b589601707a3d0",
      "tree": "c3e2316d257708f6d4a46d78cc670551be0c5261",
      "parents": [
        "e0e4127a3938a3f681370c42dd18a1e405f8105b"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:49:44 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade pytest 9.0.3 -\u003e 9.1.1, and its deps: packaging\n\n    pytest                            9.0.3 -\u003e 9.1.1\n        packaging                      26.0 -\u003e 26.2\n"
    },
    {
      "commit": "e0e4127a3938a3f681370c42dd18a1e405f8105b",
      "tree": "ca3c64ea17666a3192c74fe76fda865e6ea03965",
      "parents": [
        "c8744d9d781afccfcb86bbdd1888a1f84e66464e"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:48:55 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade ruff 0.15.10 -\u003e 0.15.22\n"
    },
    {
      "commit": "c8744d9d781afccfcb86bbdd1888a1f84e66464e",
      "tree": "754e7daaba1d70d7a191d716919a55fda5c311d5",
      "parents": [
        "6eb02c51d24ca8b2bdf58b096570d6688f7d27f7"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:41:21 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade wrapt 2.1.2 -\u003e 2.2.2\n"
    },
    {
      "commit": "6eb02c51d24ca8b2bdf58b096570d6688f7d27f7",
      "tree": "a728660fed27086bd9a6d07634d05005be1585ca",
      "parents": [
        "f5df043797b5d36935a590f73ec5ea9eacdf0b3e"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:41:00 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade TurboGears2 2.5.0 -\u003e no upgrade, and its deps: repoze.lru\n\n    TurboGears2                       2.5.0 -\u003e no upgrade\n        repoze.lru                      0.7 -\u003e 0.8\n"
    },
    {
      "commit": "f5df043797b5d36935a590f73ec5ea9eacdf0b3e",
      "tree": "b4959ca6590462c62ae92547c9dc144314b6ed05",
      "parents": [
        "7c015dc947b03298c2ad6ad890e1144ecf9c0b33"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:40:42 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade pysolr 3.11.0 -\u003e no upgrade, and its deps: charset-normalizer,requests,idna,certifi\n\n    pysolr                           3.11.0 -\u003e no upgrade\n        requests                     2.33.1 -\u003e 2.34.2\n            certifi               2026.2.25 -\u003e 2026.6.17\n            charset-normalizer        3.4.7 -\u003e 3.4.9\n            idna                       3.15 -\u003e 3.18\n"
    },
    {
      "commit": "7c015dc947b03298c2ad6ad890e1144ecf9c0b33",
      "tree": "5e449711c8c82460f255e4794daf88e9f1857aba",
      "parents": [
        "26b7b0cdd3c9bc75905d0446cbd4eec29534a84d"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:40:27 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade Pypeline 0.7.0 -\u003e no upgrade, and its deps: nh3,Genshi,docutils,textile,regex\n\n    Pypeline                          0.7.0 -\u003e no upgrade\n        Creoleparser\n            Genshi                    0.7.9 -\u003e 0.7.11\n        textile                       4.0.3 -\u003e 4.0.4\n            nh3                       0.3.2 -\u003e 0.3.6\n            regex                 2026.1.15 -\u003e 2026.7.19\n        docutils                     0.22.4 -\u003e 0.23\n"
    },
    {
      "commit": "26b7b0cdd3c9bc75905d0446cbd4eec29534a84d",
      "tree": "a7d6da2f61fdc83ceeaed76ebecd50fab144df77",
      "parents": [
        "3179412dd478dae6ca68f968cb05197cf341942c"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:40:07 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade Ming 0.17.1 -\u003e no upgrade, and its deps: pymongo,pytz\n\n    Ming                             0.17.1 -\u003e no upgrade\n        pymongo                      4.16.0 -\u003e 4.17.0\n        pytz                     2026.1.post1 -\u003e 2026.2\n"
    },
    {
      "commit": "3179412dd478dae6ca68f968cb05197cf341942c",
      "tree": "b734ee9dc4d2a0a1b112ad9865d7e481e438d0af",
      "parents": [
        "afbe96d527472d10b235c18123201678ab2ffb20"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:39:56 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade lxml 6.1.0 -\u003e 6.1.1\n"
    },
    {
      "commit": "afbe96d527472d10b235c18123201678ab2ffb20",
      "tree": "b175a6a1e33bb1e674ad666d3ef6d3b834593d96",
      "parents": [
        "a1e9d41596ed25992c42f09eb8bcb2daeaf84c4b"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:38:44 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade idna 3.15 -\u003e 3.18\n"
    },
    {
      "commit": "a1e9d41596ed25992c42f09eb8bcb2daeaf84c4b",
      "tree": "59d351a1b6c6f321554b7fb31c86afea391c802a",
      "parents": [
        "1a55559921889446132b48f6a1015f701cb8a189"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:38:29 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade faust-cchardet 2.1.19 -\u003e 2.2.1\n"
    },
    {
      "commit": "1a55559921889446132b48f6a1015f701cb8a189",
      "tree": "b276adfc12d677c8f39afb519ae118744dfc8c86",
      "parents": [
        "098fcfd4b59382478db71969a8d3d5709a783c73"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:36:04 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade defopt 7.0.0 -\u003e no upgrade, and its deps: docutils\n\n    defopt                            7.0.0 -\u003e no upgrade\n        docutils                     0.22.4 -\u003e 0.23\n"
    },
    {
      "commit": "098fcfd4b59382478db71969a8d3d5709a783c73",
      "tree": "98c80a1b961b9fac7b3ffd7d898e7a2da77c0426",
      "parents": [
        "0832d4952704ae91adf31bfac563d3cffacfc435"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:35:57 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade decorator 5.2.1 -\u003e 5.3.1\n"
    },
    {
      "commit": "0832d4952704ae91adf31bfac563d3cffacfc435",
      "tree": "9f6b7e47817acd71c67c233d7b3376cf81ba380d",
      "parents": [
        "5bcbd7c86c2217ab41fe242da33ca5b35c0d87c1"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:35:40 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade beaker-session-jwt 1.0.4 -\u003e no upgrade, and its deps: Beaker,cffi,pymongo,joserfc\n\n    beaker-session-jwt                1.0.4 -\u003e no upgrade\n        Beaker                       1.13.0 -\u003e 1.14.1\n        joserfc                       1.7.2 -\u003e 1.7.4\n            cryptography\n                cffi                  2.0.0 -\u003e 2.1.0\n        pymongo                      4.16.0 -\u003e 4.17.0\n"
    },
    {
      "commit": "5bcbd7c86c2217ab41fe242da33ca5b35c0d87c1",
      "tree": "3be936b19c0cdf6d631c66bab9b9ea846d15fc3c",
      "parents": [
        "9f6cb5e1cbd45f42d93f3504e6290ee1201e3283"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:35:34 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade Beaker 1.13.0 -\u003e 1.14.1\n"
    },
    {
      "commit": "9f6cb5e1cbd45f42d93f3504e6290ee1201e3283",
      "tree": "aa512ec973e4571c8d84072a63fbc26a73456b47",
      "parents": [
        "60a0a73969e18574fb7be61f96868b30bd1ed221"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:34:55 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade beautifulsoup4 4.14.3 -\u003e 4.15.0, and its deps: typing_extensions,soupsieve\n\n    beautifulsoup4                   4.14.3 -\u003e 4.15.0\n        soupsieve                     2.8.4 -\u003e 2.9\n        typing_extensions            4.15.0 -\u003e 4.16.0\n"
    },
    {
      "commit": "60a0a73969e18574fb7be61f96868b30bd1ed221",
      "tree": "57fbb7f0b3215e904205bc3401af0691e371d6df",
      "parents": [
        "e89361fad4ee3781b3566ea309598414dd9e82cc"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jul 27 20:34:09 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 30 10:49:35 2026 -0400"
      },
      "message": "[#8615] Upgrade ActivityStream 0.5.1 -\u003e no upgrade, and its deps: pymongo\n\n    ActivityStream                    0.5.1 -\u003e no upgrade\n        pymongo                      4.16.0 -\u003e 4.17.0\n"
    },
    {
      "commit": "e89361fad4ee3781b3566ea309598414dd9e82cc",
      "tree": "bc60672ab902cd2a2288a0fd811d59ca9ed780d9",
      "parents": [
        "5a3723883df2a7813048e6db9976c581b7e0306f"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jul 28 12:55:06 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jul 28 12:55:06 2026 -0400"
      },
      "message": "update CLAUDE.md\n"
    },
    {
      "commit": "5a3723883df2a7813048e6db9976c581b7e0306f",
      "tree": "2fbe78daff684253cc08aa6a91b2b0180dde3334",
      "parents": [
        "a0d47b3531a1a516efa8f2d6a56f0b2de2c7eda2"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jun 30 16:19:47 2026 -0400"
      },
      "committer": {
        "name": "Dillon Walls",
        "email": "dillon.walls@slashdotmedia.com",
        "time": "Mon Jul 27 16:35:09 2026 +0000"
      },
      "message": "get_tool_data should return ming-deinstrumented objects, so changes to them can\u0027t sync back to the database unexpectedly\n"
    },
    {
      "commit": "a0d47b3531a1a516efa8f2d6a56f0b2de2c7eda2",
      "tree": "e7893bb334ada0b7a31ee6781eeb22d59f638cd6",
      "parents": [
        "4b207276e3d80129ea1ee9341583c6780d8f8139"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Jul 27 14:39:37 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Jul 27 14:39:37 2026 +0000"
      },
      "message": "bumping gitpython 3.1.50 -\u003e 3.1.57\n"
    },
    {
      "commit": "4b207276e3d80129ea1ee9341583c6780d8f8139",
      "tree": "70fd61c3e286fb2abdc0ced2bd6ea7332b6e33b8",
      "parents": [
        "1a0343d050cb4b6c02623f7b5c49a9a0d69e2d60"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Fri Jul 24 15:01:38 2026 -0600"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Fri Jul 24 15:01:38 2026 -0600"
      },
      "message": "Adding missing license to CLAUDE.md\n"
    },
    {
      "commit": "1a0343d050cb4b6c02623f7b5c49a9a0d69e2d60",
      "tree": "7991ec48ffe8467d9c16f760ed1476c802dc598d",
      "parents": [
        "fb55494340cb47f68bb968556ecddc1d924bc9f2"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jul 07 20:08:57 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Fri Jul 24 20:47:48 2026 +0000"
      },
      "message": "[#8613] Implement field level encryption for user preferences email address\n"
    },
    {
      "commit": "fb55494340cb47f68bb968556ecddc1d924bc9f2",
      "tree": "2fe9901f08f83acfcd4d094675977fdefbd73fbb",
      "parents": [
        "93857a099cb1e2c59301d31b5f0b6035fe5b178f"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Fri Jul 10 20:41:56 2026 +0000"
      },
      "committer": {
        "name": "Daniel Castillo",
        "email": "daniel.castillo@slashdotmedia.com",
        "time": "Fri Jul 24 19:20:00 2026 +0000"
      },
      "message": "added CLAUDE.md\n"
    },
    {
      "commit": "93857a099cb1e2c59301d31b5f0b6035fe5b178f",
      "tree": "163816a522d5f27c2a05a2a168653cfb7dbfad27",
      "parents": [
        "4b3b05dd7a2c05373e05d7a5c8fcf885a1d71fcf"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jul 07 18:02:23 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Thu Jul 23 18:26:28 2026 +0000"
      },
      "message": "[#8613] Add encrypted field for user preferences email address\n"
    },
    {
      "commit": "4b3b05dd7a2c05373e05d7a5c8fcf885a1d71fcf",
      "tree": "9e9cd2f7bc8f8cdd905264ca7c1b41e229cfabba",
      "parents": [
        "81208e12f8d36e5ff2a06034de9dcf965144a8c5"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 23 13:06:59 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jul 23 13:06:59 2026 -0400"
      },
      "message": "make test more reliable (not reliant on fetching \"url\":\"https://httpbin.org/image/png\"\n"
    },
    {
      "commit": "81208e12f8d36e5ff2a06034de9dcf965144a8c5",
      "tree": "c7d4b8982b86f98ac627b9640b9074757c2ca8d0",
      "parents": [
        "1a5e50817254bfb13d4d6841d2762d9178dbb8f9"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jul 17 10:28:54 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jul 17 10:28:54 2026 -0400"
      },
      "message": "enable webp screenshots \u0026 attachments\n"
    },
    {
      "commit": "1a5e50817254bfb13d4d6841d2762d9178dbb8f9",
      "tree": "63588ed698d5c8df9d7efb0887078eefc151021a",
      "parents": [
        "ad248b014a4458d89b36798fd0738d92f593bc9d"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Jul 13 16:56:44 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Jul 13 16:56:44 2026 +0000"
      },
      "message": "bumping Pillow 12.2.0 -\u003e 12.3.\n"
    },
    {
      "commit": "ad248b014a4458d89b36798fd0738d92f593bc9d",
      "tree": "9acf474bb3186e7eff9f516c27d764114869e132",
      "parents": [
        "c7a0209e5c9b9f479dc4293a807e4c8339cb89dc"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Thu Jul 09 14:44:59 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Thu Jul 09 14:44:59 2026 +0000"
      },
      "message": "bumping soupsieve 2.8.3 -\u003e 2.8.4\n"
    },
    {
      "commit": "c7a0209e5c9b9f479dc4293a807e4c8339cb89dc",
      "tree": "136312283b1ddbdfc72bb7f96de8258304f2db2b",
      "parents": [
        "79f1f6485cabfc8ede607cf858836812d5ac51c8"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Thu Jun 18 20:59:58 2026 +0000"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jul 06 12:57:58 2026 -0400"
      },
      "message": "[#8610] Implement field level encryption for Users email addresses\n"
    },
    {
      "commit": "79f1f6485cabfc8ede607cf858836812d5ac51c8",
      "tree": "948de3ef0d9e2064eeb620eb5d9b57dbb73261c5",
      "parents": [
        "4a81f02409aee1e2e7f87d1f2db13731b0ff3086"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Wed Jun 17 11:24:53 2026 -0600"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 29 16:04:59 2026 -0400"
      },
      "message": "[#8610] Add support for list fields to field conversion script\n"
    },
    {
      "commit": "4a81f02409aee1e2e7f87d1f2db13731b0ff3086",
      "tree": "825abe91fa264a2c6b9a252d127135604dffc9dc",
      "parents": [
        "0ec1fd98904003e215894d8f478b2148596fd7f9"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 12:56:24 2026 -0600"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 29 16:04:59 2026 -0400"
      },
      "message": "[#8610] Add encrypted field for Users email addresses\n"
    },
    {
      "commit": "0ec1fd98904003e215894d8f478b2148596fd7f9",
      "tree": "cb4c81babfef223082682cba184be31b4e77619d",
      "parents": [
        "7538a9e7221527488866ce49db597e910245f1c4"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Jun 29 14:38:30 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Mon Jun 29 14:38:36 2026 +0000"
      },
      "message": "bump joserfc 1.6.4 -\u003e 1.7.2\n"
    },
    {
      "commit": "7538a9e7221527488866ce49db597e910245f1c4",
      "tree": "e11175e5a7e6cda607fb448fd55cbbdd14eaea0b",
      "parents": [
        "8e104085e7a395abfb4eb7ed6efddd32ef11553d"
      ],
      "author": {
        "name": "Dillon Walls",
        "email": "dillon.walls@slashdotmedia.com",
        "time": "Fri Jun 26 21:06:02 2026 +0000"
      },
      "committer": {
        "name": "Dillon Walls",
        "email": "dillon.walls@slashdotmedia.com",
        "time": "Fri Jun 26 21:36:36 2026 +0000"
      },
      "message": "config pip in rebuild-all.sh to install in a more compatible way for LSPs\n"
    },
    {
      "commit": "8e104085e7a395abfb4eb7ed6efddd32ef11553d",
      "tree": "7f4d845d99b8f005812317e0f6008eca49f7a59d",
      "parents": [
        "d1ccfecc79b7d2cefc67a64c5be114b08f1c4be5"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 24 17:11:30 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 25 12:52:39 2026 -0400"
      },
      "message": "stringify some ids\n"
    },
    {
      "commit": "d1ccfecc79b7d2cefc67a64c5be114b08f1c4be5",
      "tree": "102b35df29d023a3c0571bb6b187926beb939d4e",
      "parents": [
        "2b55895aa4a57640d66d9e01f1e27ecadebfedaf"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 24 17:11:21 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 25 12:52:39 2026 -0400"
      },
      "message": "don\u0027t pass sort\u003dNone etc to solr\n"
    },
    {
      "commit": "2b55895aa4a57640d66d9e01f1e27ecadebfedaf",
      "tree": "0fe2949d31a454309fd6bb33fabb8e919ceefa0f",
      "parents": [
        "1f290c62bb176009dc2a048f1071e73560cb294f"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 25 12:47:10 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 25 12:52:39 2026 -0400"
      },
      "message": "get chained exception details into errormiddleware output\n"
    },
    {
      "commit": "1f290c62bb176009dc2a048f1071e73560cb294f",
      "tree": "85ca0ae224a34f579f89ca50527000605ed6fcfa",
      "parents": [
        "e65e720a4209c3ee586f8078dd1713d1b541a6b0"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 25 11:34:46 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 25 11:34:46 2026 -0400"
      },
      "message": "add docker/compose health checks and use --wait to check them\n"
    },
    {
      "commit": "e65e720a4209c3ee586f8078dd1713d1b541a6b0",
      "tree": "f387033a90e68b3e9f8fca751e0fae5787865119",
      "parents": [
        "da948e3e3dac48e44fd26ea7418d6dcd885599c1"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 24 16:06:25 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 24 16:06:25 2026 -0400"
      },
      "message": "CHANGES updated for ASF release 1.19.1\n"
    },
    {
      "commit": "da948e3e3dac48e44fd26ea7418d6dcd885599c1",
      "tree": "94334a6ccdcf8abe8c10281cba2540b3bf9b42e0",
      "parents": [
        "a98de00c005b955ce6a5e5b9bec6a90fa1902178"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 24 15:24:59 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 24 15:24:59 2026 -0400"
      },
      "message": "provide merged config to ming, so debug key is there\n"
    },
    {
      "commit": "a98de00c005b955ce6a5e5b9bec6a90fa1902178",
      "tree": "28f30a9125b429d9d1ede5603a70f4c5bebe3e08",
      "parents": [
        "456977045cdb8028890c0c680f826ca223886be9"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jun 23 14:59:27 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jun 23 15:00:05 2026 -0400"
      },
      "message": "add timeouts to ApacheAccessHandler.py network requests\n"
    },
    {
      "commit": "456977045cdb8028890c0c680f826ca223886be9",
      "tree": "cac547c86d38fd6ad027faf774a40374f92d9061",
      "parents": [
        "08e62a67f1db1daa0a9a2eceaf6445e1d7572708"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 22 13:49:40 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 22 13:49:40 2026 -0400"
      },
      "message": "CHANGES updated for ASF release 1.19.0\n"
    },
    {
      "commit": "08e62a67f1db1daa0a9a2eceaf6445e1d7572708",
      "tree": "af2547b0262546a3f9e6952c9674cdc5faf1a68a",
      "parents": [
        "35289fd7a0d814e74ace616600ca28ef46dceba0"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 22 13:48:42 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 22 13:48:42 2026 -0400"
      },
      "message": "Update copyright year\n"
    },
    {
      "commit": "35289fd7a0d814e74ace616600ca28ef46dceba0",
      "tree": "20a3fbdaa6fcabcb18bcf803a47948fc826b8484",
      "parents": [
        "ba9733ec1854dec1e3138694938199b61d3051f6"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jun 16 11:58:07 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Thu Jun 18 10:32:02 2026 -0600"
      },
      "message": "[#8611] documentation and migration scripts\n"
    },
    {
      "commit": "ba9733ec1854dec1e3138694938199b61d3051f6",
      "tree": "19087f688c7ad5ebb84adbae60e2136327be74c6",
      "parents": [
        "e95355a029c8cde751a7bb41c4e6743906474cb5"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jun 16 11:57:39 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Thu Jun 18 10:32:02 2026 -0600"
      },
      "message": "[#8611] put encryption settings into development.ini with a default that triggers a warning\n"
    },
    {
      "commit": "e95355a029c8cde751a7bb41c4e6743906474cb5",
      "tree": "41d869727753b090b4a49d3b312e2bdbff7c6c81",
      "parents": [
        "66e3ca15d850eb3ebe21a18bbdc1acb45db43874"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 17 12:03:20 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed Jun 17 12:03:20 2026 -0400"
      },
      "message": "better escape_html that does quotes too\n"
    },
    {
      "commit": "66e3ca15d850eb3ebe21a18bbdc1acb45db43874",
      "tree": "7fb07d8e97a9ef5b642d76b858def348014cafe8",
      "parents": [
        "2eccab53c4ccb4ed8f9e66fb7a783cf521f98809"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 19:35:47 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 19:35:47 2026 +0000"
      },
      "message": "bumping bleach 6.3.0 -\u003e 6.4.0\n"
    },
    {
      "commit": "2eccab53c4ccb4ed8f9e66fb7a783cf521f98809",
      "tree": "eba46ba1cdfda5d13e08331ff8f5e7ff15572bae",
      "parents": [
        "0cfffd9dabe4a3e2316533c914e052e4025bf5d9"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 15 16:20:21 2026 -0400"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 13:08:06 2026 -0600"
      },
      "message": "[#8607] limit prefs able to set via form\n"
    },
    {
      "commit": "0cfffd9dabe4a3e2316533c914e052e4025bf5d9",
      "tree": "a21ad9fd609c6ff6ac1947f314dcb4ca3e5609de",
      "parents": [
        "f5ad949b9cf3f6b943561a16e4cabcfce52188a6"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 15 16:13:22 2026 -0400"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 13:08:06 2026 -0600"
      },
      "message": "[#8607] use |tojson within JS\n"
    },
    {
      "commit": "f5ad949b9cf3f6b943561a16e4cabcfce52188a6",
      "tree": "aed1935a7f04610b7f7ec889bd8712b488af4944",
      "parents": [
        "35130eae84ee24f1c120ad0d915f8af9a4ad389f"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jun 12 17:42:14 2026 -0400"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 13:08:06 2026 -0600"
      },
      "message": "[#8607] perm checks on ticket bulk edit \u0026 move\n"
    },
    {
      "commit": "35130eae84ee24f1c120ad0d915f8af9a4ad389f",
      "tree": "1c011684dcf6ae67234623001d6879b36ef684fd",
      "parents": [
        "b696630817244aa23df590e85f0af3b92353e2a0"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jun 12 15:32:23 2026 -0400"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 13:08:06 2026 -0600"
      },
      "message": "[#8607] require post for phone verification endpoints\n"
    },
    {
      "commit": "b696630817244aa23df590e85f0af3b92353e2a0",
      "tree": "720f869fb096f9c680e685d0d858be93e3b669ce",
      "parents": [
        "d4dfbf575a789ef87eeceabad6cecf670430a959"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jun 12 15:31:53 2026 -0400"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 13:08:06 2026 -0600"
      },
      "message": "[#8607] validate links via rest\n"
    },
    {
      "commit": "d4dfbf575a789ef87eeceabad6cecf670430a959",
      "tree": "7f142c5d98d9f8953036ea29e96f111ab466cf50",
      "parents": [
        "a5ecc798d28a41699efad3f272a4b4ff90dacb67"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jun 12 11:36:27 2026 -0400"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 13:08:06 2026 -0600"
      },
      "message": "[#8607] check domain when adding github auth token\n"
    },
    {
      "commit": "a5ecc798d28a41699efad3f272a4b4ff90dacb67",
      "tree": "14672f935643a445fc7ad953571edd8d0859cf21",
      "parents": [
        "c73b0a320ea4e76900dc3467c53d7cbba4d1cb25"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jun 12 10:42:41 2026 -0400"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 13:08:06 2026 -0600"
      },
      "message": "[#8607] lock down a bit of the incomplete commit_status endpoint\n"
    },
    {
      "commit": "c73b0a320ea4e76900dc3467c53d7cbba4d1cb25",
      "tree": "6e8189faf6bf8ff173bfd633215cbaee8fa65a9c",
      "parents": [
        "7c34ea30240e2bdbdeb620ba0e62f59610ee5d77"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 15:56:58 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Tue Jun 16 15:56:58 2026 +0000"
      },
      "message": "bumping cryptography 46.0.7 -\u003e 49.0.0\n"
    },
    {
      "commit": "7c34ea30240e2bdbdeb620ba0e62f59610ee5d77",
      "tree": "cff1394c670390277e28b6e3c51e15a0b971fca2",
      "parents": [
        "e075d270e66ed9008ef7d15bb344cb7f09f858c3"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Mon May 11 13:02:39 2026 -0600"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Mon Jun 15 10:30:41 2026 -0600"
      },
      "message": "[#8604] Update transient anonymous user property to not use encrypted field\n"
    },
    {
      "commit": "e075d270e66ed9008ef7d15bb344cb7f09f858c3",
      "tree": "f729ac8fc7eb0388e57413b590bd031d6548169e",
      "parents": [
        "4d226572c23b2f74563422e9b38762ce3d8dbf4b"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri Apr 24 12:37:36 2026 -0600"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Mon Jun 15 10:30:41 2026 -0600"
      },
      "message": "Remove dead ProjectUserSelect code\n"
    },
    {
      "commit": "4d226572c23b2f74563422e9b38762ce3d8dbf4b",
      "tree": "2e576fcf658e7433bc10a32f90cd3c999a16941c",
      "parents": [
        "daceb4ccf8a75c2acbe6dfa94b8deeda87776865"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri Apr 24 11:23:07 2026 -0600"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Mon Jun 15 10:30:41 2026 -0600"
      },
      "message": "[#8604] Implement field level encryption for User\u0027s display_name_field\n"
    },
    {
      "commit": "daceb4ccf8a75c2acbe6dfa94b8deeda87776865",
      "tree": "ea9c52ecc73a69effa3eb6aa9fc6ecf64ababdc3",
      "parents": [
        "1fc06751a151a3482c5cdbb607077f2db12911d9"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri Apr 24 11:21:54 2026 -0600"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dbrondsema@slashdotmedia.com",
        "time": "Mon Jun 15 14:51:38 2026 +0000"
      },
      "message": "[#8604] Add the display_name_encrypted field to the User class\n"
    },
    {
      "commit": "1fc06751a151a3482c5cdbb607077f2db12911d9",
      "tree": "6121520ca6cbaea863bc692398b0c6405870cc74",
      "parents": [
        "f84206aa8f8f3956b53864b965c97c12846eeca3"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 11 11:39:08 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 11 11:39:41 2026 -0400"
      },
      "message": "enforce text limits for all markdown rendering paths\n"
    },
    {
      "commit": "f84206aa8f8f3956b53864b965c97c12846eeca3",
      "tree": "5d336287e31f4281c4858639c112da72616b73e0",
      "parents": [
        "77dc646341df8c80be607889e1f720a22ded9c03"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Wed May 13 16:05:28 2026 -0600"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Mon Jun 08 11:15:03 2026 -0400"
      },
      "message": "[#8606] Implement field level encryption for EmailAddress email field\n"
    },
    {
      "commit": "77dc646341df8c80be607889e1f720a22ded9c03",
      "tree": "2704b301b6cd8af7405a1a40298cf696f4fa6a4e",
      "parents": [
        "9635e2f437a920df49c23967e2b99fbe7f929a3e"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jun 05 13:05:32 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri Jun 05 13:05:32 2026 -0400"
      },
      "message": "update httpbin testing domain again\n"
    },
    {
      "commit": "9635e2f437a920df49c23967e2b99fbe7f929a3e",
      "tree": "e8c3a4e2e4571246bbc0ae8c3b473d0d2c3e05c3",
      "parents": [
        "c6f48a4ae209ad54b8e3d2be3ad91d3788aeda88"
      ],
      "author": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Fri Jun 05 14:32:56 2026 +0000"
      },
      "committer": {
        "name": "Guillermo Cruz",
        "email": "guillermo.cruz@slashdotmedia.com",
        "time": "Fri Jun 05 14:32:56 2026 +0000"
      },
      "message": "bump webob 1.8.9 -\u003e 1.8.10\n"
    },
    {
      "commit": "c6f48a4ae209ad54b8e3d2be3ad91d3788aeda88",
      "tree": "58e5ba8608e6b95f960be84be99cdc1ec2c72d0c",
      "parents": [
        "2a81793127a338b96521b26d416bdb219d2ad890"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 04 14:30:12 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 04 14:52:48 2026 -0400"
      },
      "message": "[#8607] lock down get_markdown content type and only to those who could use it to update anyway\n"
    },
    {
      "commit": "2a81793127a338b96521b26d416bdb219d2ad890",
      "tree": "f74ee9f616f367a7b7298144e1174e01a9d0bb8f",
      "parents": [
        "b8de78dbbc909380f4c454ef4cf3885a11e0ca7e"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 04 14:12:27 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 04 14:12:27 2026 -0400"
      },
      "message": "[#8607] another perm check for MRs\n"
    },
    {
      "commit": "b8de78dbbc909380f4c454ef4cf3885a11e0ca7e",
      "tree": "ec31772d1e032ca79a02f4dfbf988ca5d6cc119e",
      "parents": [
        "f2d93d19a1665407b2125f13f53be59b881d74cb"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Wed May 13 10:53:46 2026 -0600"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 04 12:52:35 2026 -0400"
      },
      "message": "[#8606] Add encrypted field for email from the EmailAddress model\n"
    },
    {
      "commit": "f2d93d19a1665407b2125f13f53be59b881d74cb",
      "tree": "894ccb481f72e8ca996cbfd0017d0359cc5be863",
      "parents": [
        "481b2021abc91a633b1e39f9129b6ee6d3c891ba"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 04 11:43:12 2026 -0400"
      },
      "committer": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu Jun 04 11:43:12 2026 -0400"
      },
      "message": "autopep8\n"
    },
    {
      "commit": "481b2021abc91a633b1e39f9129b6ee6d3c891ba",
      "tree": "eee91f476b3bedf336ea620cd5153e481edb42cc",
      "parents": [
        "3e63f3b444b5fa163691e1276a4cac9de2f1b69d"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jun 02 15:09:40 2026 -0400"
      },
      "committer": {
        "name": "Daniel Castillo",
        "email": "daniel.castillo@slashdotmedia.com",
        "time": "Thu Jun 04 15:02:58 2026 +0000"
      },
      "message": "[#8607] scoping checks for ForgeChat\n"
    },
    {
      "commit": "3e63f3b444b5fa163691e1276a4cac9de2f1b69d",
      "tree": "46b77bf086371da1e7a07837d616c136a1c6df36",
      "parents": [
        "2c8e26f46a7b0845b54a59102dce8cf9ffc1227e"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue Jun 02 11:38:07 2026 -0400"
      },
      "committer": {
        "name": "Daniel Castillo",
        "email": "daniel.castillo@slashdotmedia.com",
        "time": "Thu Jun 04 15:02:58 2026 +0000"
      },
      "message": "[#8607] add explicit perm check on project rest controller\n"
    },
    {
      "commit": "2c8e26f46a7b0845b54a59102dce8cf9ffc1227e",
      "tree": "29a1825634a2f8ed6939e50d2cb96ab1e3f6abc5",
      "parents": [
        "160216b15b118b211de43d62f8bf789e3fc365ac"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Sat May 30 12:27:30 2026 -0400"
      },
      "committer": {
        "name": "Daniel Castillo",
        "email": "daniel.castillo@slashdotmedia.com",
        "time": "Thu Jun 04 15:02:58 2026 +0000"
      },
      "message": "[#8607] harden git operations\n"
    },
    {
      "commit": "160216b15b118b211de43d62f8bf789e3fc365ac",
      "tree": "8bdb26032d3cc6d40546db9ba3798e288b17b9cf",
      "parents": [
        "1a0e24b69bea1095197d5acd41069fde04e028ba"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jun 02 21:01:04 2026 +0000"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jun 02 21:01:04 2026 +0000"
      },
      "message": "[#11645] Fix email subject text for authentication link test\n"
    },
    {
      "commit": "1a0e24b69bea1095197d5acd41069fde04e028ba",
      "tree": "dd4c440d6767988d970be937490b7b49f13bad76",
      "parents": [
        "500981973743ae8cbc9ec2203c9cfabddcd5fe10"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jun 02 20:08:44 2026 +0000"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jun 02 20:08:44 2026 +0000"
      },
      "message": "[#11645] Use jQuery cookie plugin to get CSRF token\n"
    },
    {
      "commit": "500981973743ae8cbc9ec2203c9cfabddcd5fe10",
      "tree": "d3da99085d032b5654c5320eb93996812037c977",
      "parents": [
        "3c975226bfdef8801a99c391235f300303226c67"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jun 02 20:06:45 2026 +0000"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Tue Jun 02 20:07:19 2026 +0000"
      },
      "message": "[#11645] Restore Authentication Link text in email subject\n"
    },
    {
      "commit": "3c975226bfdef8801a99c391235f300303226c67",
      "tree": "07078c02af9f61c51b844cf224714669a61746a9",
      "parents": [
        "0640949accc798d76e5f71d3cffb44e7a914e498"
      ],
      "author": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Wed May 27 18:40:58 2026 +0000"
      },
      "committer": {
        "name": "Kenton Taylor",
        "email": "ktaylor@slashdotmedia.com",
        "time": "Tue Jun 02 13:58:38 2026 +0000"
      },
      "message": "[#11645] Force /auth/logout to go through a POST request\n"
    },
    {
      "commit": "0640949accc798d76e5f71d3cffb44e7a914e498",
      "tree": "8a7cff727dd5a2603d3fc9c7a80ad60023041a59",
      "parents": [
        "e0de4b3eb1d5dfc1ad170090284c9c9e65625920"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue May 26 15:12:53 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] solr: syntax problems deserve an escaped retry; don\u0027t expose underlying error messages\n"
    },
    {
      "commit": "e0de4b3eb1d5dfc1ad170090284c9c9e65625920",
      "tree": "c9ec5e30b2ddb03c0134b974a9b277d408682e06",
      "parents": [
        "38b68f9af66dbe271644961b0c00af40c06a2328"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue May 26 14:59:41 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] solr: strip local-params syntax\n"
    },
    {
      "commit": "38b68f9af66dbe271644961b0c00af40c06a2328",
      "tree": "bdc866e747ce5622a5804779f6d37f21137abcec",
      "parents": [
        "27f7a6906231f4fc217b6542704a7f8b2feecf51"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue May 26 13:07:13 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] solr: move **kw to specific params for all other tools using common search_app helper\n"
    },
    {
      "commit": "27f7a6906231f4fc217b6542704a7f8b2feecf51",
      "tree": "afdab31ffe9b574ea4d43173d4f94f470b414c9a",
      "parents": [
        "13675be72ef85f44cd33455036bc33849c737ee1"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri May 22 16:55:29 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] solr: change ticket searches from **kw passthru to explicit\n"
    },
    {
      "commit": "13675be72ef85f44cd33455036bc33849c737ee1",
      "tree": "9e710a91dd25c6b632385bd6bc1265baaf4210a0",
      "parents": [
        "08db8530bdea64778afc9d39e30c9a21e50cf6db"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri May 22 16:55:05 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] ./run_tests QoL: show final message, allow trailing slash for tab-complete of suites\n"
    },
    {
      "commit": "08db8530bdea64778afc9d39e30c9a21e50cf6db",
      "tree": "81e9b557b3f988cce2db57be1cff3e09fb32ad40",
      "parents": [
        "d4b50318698930b33eff86ddaf54deaf89d4ee63"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri May 22 15:49:24 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] remove useless try/except/raise\n"
    },
    {
      "commit": "d4b50318698930b33eff86ddaf54deaf89d4ee63",
      "tree": "7522969a4b3e7aa0649264d15aa17ad6bacacb24",
      "parents": [
        "ea0aa7f0bd2bc140d3c36922e281514c36984f82"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Fri May 22 15:49:07 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] remove potential info disclosure\n"
    },
    {
      "commit": "ea0aa7f0bd2bc140d3c36922e281514c36984f82",
      "tree": "53ecdb203bb785eee6e694e421539119ed762078",
      "parents": [
        "5f8dca2b79215cd169b99ff7e622f32bb5a5966c"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu May 21 18:12:33 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] svn tarball path safety\n"
    },
    {
      "commit": "5f8dca2b79215cd169b99ff7e622f32bb5a5966c",
      "tree": "4652ea98676ce54b8441ff5c1c49cbbb65bca5d6",
      "parents": [
        "4a1ac655c4c7b0c5360549ee04d044ba878dd922"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu May 21 18:09:57 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] be extra safe with display names\n"
    },
    {
      "commit": "4a1ac655c4c7b0c5360549ee04d044ba878dd922",
      "tree": "6a3fdca53a1e316b01cf4cb0ad138990d42ddf66",
      "parents": [
        "c17f5cb0cef71dd6f0773794022bed0c5dd6e99e"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Thu May 21 14:30:26 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:45 2026 +0000"
      },
      "message": "[#8607] various has_access improvements\n"
    },
    {
      "commit": "c17f5cb0cef71dd6f0773794022bed0c5dd6e99e",
      "tree": "1599bb17f0d085fd1a43d335cdf9623461413ce9",
      "parents": [
        "ca1ac596bcd604504bcc8a5115c773b8c8a27915"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed May 20 18:12:10 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:44 2026 +0000"
      },
      "message": "[#8607] check activity nbhd\n"
    },
    {
      "commit": "ca1ac596bcd604504bcc8a5115c773b8c8a27915",
      "tree": "3d9db7ab9401fe217dd4a6e5f0989674b585a683",
      "parents": [
        "a23ae3560f10b0efcdccf4c918d6d506053f7e23"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed May 20 17:26:21 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:44 2026 +0000"
      },
      "message": "[#8607] check subproject parent\n"
    },
    {
      "commit": "a23ae3560f10b0efcdccf4c918d6d506053f7e23",
      "tree": "7f4dd356a5e6afbf46d8d286686bd8807fe54b73",
      "parents": [
        "717a0f1f1bfa30c45401ba5aa3366a57e3531316"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Wed May 20 16:22:54 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:44 2026 +0000"
      },
      "message": "[#8607] replace last pickle usage with our own bit of compatible code\n"
    },
    {
      "commit": "717a0f1f1bfa30c45401ba5aa3366a57e3531316",
      "tree": "bd7677587a29699f3ea623aaa990a71beec59c61",
      "parents": [
        "281e56b79ddb9f26a607f4f1af18fc3dfddd937b"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue May 19 12:43:14 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:44 2026 +0000"
      },
      "message": "[#8607] remove old pickle-based session support\n"
    },
    {
      "commit": "281e56b79ddb9f26a607f4f1af18fc3dfddd937b",
      "tree": "c1993afd0950eebe10032fe8ab8fb31cf50094d1",
      "parents": [
        "4f58190ac1d5740a21dda9fddb4d735257563568"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue May 19 17:28:11 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:44 2026 +0000"
      },
      "message": "[#8607] add X-Content-Type-Options header\n"
    },
    {
      "commit": "4f58190ac1d5740a21dda9fddb4d735257563568",
      "tree": "1051a307725a53092e08dce7a5e7c74aff04792d",
      "parents": [
        "e53e9e322cbaafc59ed77055bdc1e47c08bc3cbe"
      ],
      "author": {
        "name": "Dave Brondsema",
        "email": "dave@brondsema.net",
        "time": "Tue May 19 12:36:38 2026 -0400"
      },
      "committer": {
        "name": "Carlos Cruz",
        "email": "carlos.cruz@slashdotmedia.com",
        "time": "Fri May 29 17:27:44 2026 +0000"
      },
      "message": "[#8607] harden attachment upload\n"
    }
  ],
  "next": "e53e9e322cbaafc59ed77055bdc1e47c08bc3cbe"
}
