)]}'
{
  "commit": "392068106252a66f52b85aa12ece87347a9de3f0",
  "tree": "2c9b3f6768d280f777ac4e909035ea4e978240b5",
  "parents": [
    "debb80d400f03af69b65cb43ce00978b1177217b"
  ],
  "author": {
    "name": "G M Kallidis",
    "email": "gk@apache.org",
    "time": "Fri Nov 22 09:14:09 2024 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Nov 22 09:14:09 2024 +0100"
  },
  "message": "Bulk update: Fixing session PUT (in handler,y), EL v8 compatibility, python 3 based with enhanced code debugging. (#131)\n\n* Update yaml default load second argument yaml.Loader;\r\nRefactor: In handler.py method traceback and use in exception;\r\nAdd print statements (as debug hints) in session,py and other modules;\r\nFix in handler.py by removing bucket (which is no key, value\r\npair) from setting into session headers as argument for start_response call);\r\nAdd __init__py in plugins folder to allow import from makeAccount.py and\r\nremove local KibbleDatabase class there;\r\nMake in database.py *Wrapper classes private;\r\nAdd into kibble.yaml configuration key elasticsearch versionHint\r\n(by default 8) to allow for more robust and transparent initialization;\r\nRefactor in setup.py into methods makeIndices and makeAccount();\r\nFix check for undefined snap in kibble.v1.js.\r\nImprovement: Evaluate result in makeAccount.py;\r\nRemove cgi import (not used) and deprecated since py 3.11;\r\nUse __debug__ to print out more debugging information;\r\nSet cookie httpOnly;\r\nUpdate setup docs (tested with python 3.9.1 and 3.13.0).\r\n\r\n* New _KibbleESWrapperEight class inheriting fro ..Seven using Nestedicts to replace interval with calendar_interval in body lists.\r\nSee https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html#calendar_and_fixed_intervals\r\nFix NPE err.message in handler.py and use traceback_output (needs more filtering to not expose stacktraces pathes)\r\n\r\n* Fixed: Removed overriding scroll method in ..Eight class as no body argument is never set",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d767e692b47984e0ce1fd24df99487a5e5f78ad1",
      "old_mode": 33188,
      "old_path": "api/handler.py",
      "new_id": "ec0b72fcd8b5966029f002b71d8f160050b665ff",
      "new_mode": 33188,
      "new_path": "api/handler.py"
    },
    {
      "type": "modify",
      "old_id": "67a305742d8e860063cfcd9ef03ee3944991e345",
      "old_mode": 33188,
      "old_path": "api/pages/__init__.py",
      "new_id": "2fad7a51187f190623f3ed73aa86d576655f6c11",
      "new_mode": 33188,
      "new_path": "api/pages/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "485777352c33c1e4cfddcc81167fc43a58d4dda0",
      "old_mode": 33188,
      "old_path": "api/pages/account.py",
      "new_id": "da572f6a4ffd186b14419e15047f345a63a52387",
      "new_mode": 33188,
      "new_path": "api/pages/account.py"
    },
    {
      "type": "modify",
      "old_id": "7b6d5183fb53f533a2a2c08a8580389826592964",
      "old_mode": 33188,
      "old_path": "api/pages/code/committers.py",
      "new_id": "d22017243924c1c7c4e8b361d180b33ecb912f46",
      "new_mode": 33188,
      "new_path": "api/pages/code/committers.py"
    },
    {
      "type": "modify",
      "old_id": "9e5b8afefb0f29703b27ccacd7dc2a515ddccb4d",
      "old_mode": 33188,
      "old_path": "api/pages/org/sourcetypes.py",
      "new_id": "3dc7f4ac00eb1064b3fd044d5104e3ae89fbd9b2",
      "new_mode": 33188,
      "new_path": "api/pages/org/sourcetypes.py"
    },
    {
      "type": "modify",
      "old_id": "425cd89a879b3c9949435b0be15ed5bbea9eeb59",
      "old_mode": 33188,
      "old_path": "api/pages/session.py",
      "new_id": "280727990b1fe2fb4de803737b7cfb2c4eb83e9d",
      "new_mode": 33188,
      "new_path": "api/pages/session.py"
    },
    {
      "type": "modify",
      "old_id": "0a46756b08bce7ac2794264c417e59f371b427cd",
      "old_mode": 33188,
      "old_path": "api/pages/sources.py",
      "new_id": "40949d58ca746d1ddf29883592985944ae87b871",
      "new_mode": 33188,
      "new_path": "api/pages/sources.py"
    },
    {
      "type": "modify",
      "old_id": "cebda02a19640e7144d3184c89dd6abd759a51e8",
      "old_mode": 33188,
      "old_path": "api/pages/widgets.py",
      "new_id": "090a355a35a8acde5fff3b3425640323c096a221",
      "new_mode": 33188,
      "new_path": "api/pages/widgets.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60c38d6e157192711fba587a60d1e296be610355",
      "new_mode": 33188,
      "new_path": "api/plugins/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "80b94dd14d394ba321b5387f942d1f6a555d6a67",
      "old_mode": 33188,
      "old_path": "api/plugins/database.py",
      "new_id": "b16fd75d528c14a4d48295d93d6d04fa6227dbb1",
      "new_mode": 33188,
      "new_path": "api/plugins/database.py"
    },
    {
      "type": "modify",
      "old_id": "ba6153a5a352d099fa0cd173980ee2c80006d51a",
      "old_mode": 33188,
      "old_path": "api/plugins/openapi.py",
      "new_id": "7894c29a9cb0cea2c50d1d019d0743e12d9d540d",
      "new_mode": 33188,
      "new_path": "api/plugins/openapi.py"
    },
    {
      "type": "modify",
      "old_id": "68614e13cb744198081ddc238783841a07404c97",
      "old_mode": 33188,
      "old_path": "api/plugins/session.py",
      "new_id": "681fb1384d2c448d039ca49d0aaef72264823694",
      "new_mode": 33188,
      "new_path": "api/plugins/session.py"
    },
    {
      "type": "modify",
      "old_id": "11afc95881b381e84b136aa4067d8b6de11e2c00",
      "old_mode": 33188,
      "old_path": "api/yaml/openapi/combine.py",
      "new_id": "f89f53f70d430f2d5d8b281322b44fa0052d2fe1",
      "new_mode": 33188,
      "new_path": "api/yaml/openapi/combine.py"
    },
    {
      "type": "modify",
      "old_id": "ad821704f043d57cf7fcc93fde9355bb7622dd93",
      "old_mode": 33188,
      "old_path": "docs/source/setup.rst",
      "new_id": "c403599c59368dc3efcdd5c4359741e333677db8",
      "new_mode": 33188,
      "new_path": "docs/source/setup.rst"
    },
    {
      "type": "modify",
      "old_id": "67b415166186b4e1395d782803fb2de01be8e7b6",
      "old_mode": 33188,
      "old_path": "setup/makeaccount.py",
      "new_id": "93f12b44dca826b1b8b1a2c57b454243dcb27f2a",
      "new_mode": 33188,
      "new_path": "setup/makeaccount.py"
    },
    {
      "type": "modify",
      "old_id": "24b3bca65fbe8cc0090aed386f500423c2021b11",
      "old_mode": 33188,
      "old_path": "setup/requirements.txt",
      "new_id": "4cb13e076e80c1a1fff91afaeaf3d84f155ab409",
      "new_mode": 33188,
      "new_path": "setup/requirements.txt"
    },
    {
      "type": "modify",
      "old_id": "f06bfd2f0c7dc357743c24eda92d7ffc25c2ca31",
      "old_mode": 33188,
      "old_path": "setup/setup.py",
      "new_id": "3719286476bdae49c17aac32ff7d54e82ee2f8ba",
      "new_mode": 33188,
      "new_path": "setup/setup.py"
    },
    {
      "type": "modify",
      "old_id": "42f02b3a27d7e6514440efc6accbdcc9ead37925",
      "old_mode": 33188,
      "old_path": "ui/js/kibble.v1.js",
      "new_id": "bb002f45b7696692e7a09bc5e71e3b6c9658d4c3",
      "new_mode": 33188,
      "new_path": "ui/js/kibble.v1.js"
    }
  ]
}
