)]}'
{
  "log": [
    {
      "commit": "a01871c8d8f60e0e04db74dd91213d2c10378d5a",
      "tree": "154169b796d8af7e67c95d37513227cd3bf62ec0",
      "parents": [
        "f6fa6e443025c5565b2576cf8bf7e08967ef2b8f"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Mon Mar 23 20:21:47 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Mon Mar 23 20:21:47 2026 +0800"
      },
      "message": "chore: add config file\n"
    },
    {
      "commit": "f6fa6e443025c5565b2576cf8bf7e08967ef2b8f",
      "tree": "7b43682b465bde23984f004be0ff6f3838e2f52e",
      "parents": [
        "6acec871fbabfd6aa3008c27edd57d3a21f3999e"
      ],
      "author": {
        "name": "Copilot",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Fri Mar 06 15:45:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 06 15:45:02 2026 +0800"
      },
      "message": "feat: log expression compilation errors and replace single quotes in ExpressionHandler (#397)\n\n* Initial plan\n\n* Log expression compilation errors and replace single quotes in expressions\n\nCo-authored-by: hsluoyz \u003c3787410+hsluoyz@users.noreply.github.com\u003e\n\n* Propagate logger via property setters instead of per-call in InternalEnforce\n\nCo-authored-by: sagilio \u003c42855245+sagilio@users.noreply.github.com\u003e\n\n* fix: pass exception to log formatter in MockLogger\n\nCo-authored-by: sagilio \u003c42855245+sagilio@users.noreply.github.com\u003e\n\n* refactor: move single-quote normalization to EnforceView.CreateWithMatcher\n\nCo-authored-by: sagilio \u003c42855245+sagilio@users.noreply.github.com\u003e\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e\nCo-authored-by: hsluoyz \u003c3787410+hsluoyz@users.noreply.github.com\u003e\nCo-authored-by: sagilio \u003c42855245+sagilio@users.noreply.github.com\u003e"
    },
    {
      "commit": "6acec871fbabfd6aa3008c27edd57d3a21f3999e",
      "tree": "8da76fcb27e4d8cf39ed6bb273552a0038d01f81",
      "parents": [
        "e8ba47cf8a2cfeeae395cced57a1dd44059ce57d"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Jan 01 10:33:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 01 10:33:14 2026 +0800"
      },
      "message": "fix: improve links in README"
    },
    {
      "commit": "e8ba47cf8a2cfeeae395cced57a1dd44059ce57d",
      "tree": "7889e03501814957fdb65b1d117c8fb6a19f3118",
      "parents": [
        "67dd0a4a32d82ae2119e1e11ae620c07fdf61dbf"
      ],
      "author": {
        "name": "Thor Arne Johansen",
        "email": "tajcon@gmail.com",
        "time": "Fri Nov 07 15:38:58 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 07 22:38:58 2025 +0800"
      },
      "message": "fix: respect AutoSave flag for grouping policy operations (#395)\n\n"
    },
    {
      "commit": "67dd0a4a32d82ae2119e1e11ae620c07fdf61dbf",
      "tree": "65c97c71d3b03ffa0b53c9495fdeb846b4c2f413",
      "parents": [
        "e9b080edd9f3cf60c7afdf3a4884322ab83dae46"
      ],
      "author": {
        "name": "Copilot",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Sat Nov 01 11:09:08 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 11:09:08 2025 +0800"
      },
      "message": "feat: add LoadIncrementalFilteredPolicy() API for incremental filtered policy loading (#392)\n\n"
    },
    {
      "commit": "e9b080edd9f3cf60c7afdf3a4884322ab83dae46",
      "tree": "58d50941b46a449474e0bb56eceaf56d961cee6b",
      "parents": [
        "7f7bffc1695a0f97d780187af9c358a4d211d5ae"
      ],
      "author": {
        "name": "Copilot",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Sat Nov 01 10:56:25 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 10:56:25 2025 +0800"
      },
      "message": "feat: fix duplicate CI workflow runs on pull requests (#394)\n\n"
    },
    {
      "commit": "7f7bffc1695a0f97d780187af9c358a4d211d5ae",
      "tree": "703349f6d40ca9d6db3e44541615db9a600fc123",
      "parents": [
        "80c72eda95c6f0493de94eb68b8293f48043cd0d"
      ],
      "author": {
        "name": "Copilot",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Sat Nov 01 00:49:26 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Nov 01 00:49:26 2025 +0800"
      },
      "message": "feat: use destructuring syntax for structured logging in LoggerExtension (#391)\n\n"
    },
    {
      "commit": "80c72eda95c6f0493de94eb68b8293f48043cd0d",
      "tree": "c74adea692c01a7d2380ec325cd73194ffd3463b",
      "parents": [
        "999b3f4fd67fa38856b06b24bd542d8b8262d17d"
      ],
      "author": {
        "name": "FAUST.",
        "email": "126341483+FAUST-BENCHOU@users.noreply.github.com",
        "time": "Sat Sep 27 10:09:53 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 27 10:09:53 2025 +0800"
      },
      "message": "feat: extend policy size limit from 12 to 14 parameters (#388)\n\n"
    },
    {
      "commit": "999b3f4fd67fa38856b06b24bd542d8b8262d17d",
      "tree": "def05f3ebf3034cd9c34dd16901ec94aad60feb0",
      "parents": [
        "a0a24d2101231cd24a9a870a502239a1327d9d36"
      ],
      "author": {
        "name": "Kyle Dodson",
        "email": "kyledodson@gmail.com",
        "time": "Wed Sep 24 06:13:36 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 24 21:13:36 2025 +0800"
      },
      "message": "feat: implement IPolicyFilter in PolicyFilter (#386)\n\n"
    },
    {
      "commit": "a0a24d2101231cd24a9a870a502239a1327d9d36",
      "tree": "b6a05b7557c9af5bbb0704423ab3736fdcb18f27",
      "parents": [
        "9fa139351bd208da1607b46d232d763501065889"
      ],
      "author": {
        "name": "Kyle Dodson",
        "email": "kyledodson@gmail.com",
        "time": "Mon Sep 22 04:00:47 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 19:00:47 2025 +0800"
      },
      "message": "feat: Accept IPolicyFilter in LoadFilteredPolicyAsync (#384)\n\n"
    },
    {
      "commit": "9fa139351bd208da1607b46d232d763501065889",
      "tree": "3933e84e57b12426e66ab7ed8295928ae63ec8fe",
      "parents": [
        "183c1e1e2ac95d8eae6aeca01d620fa17b6ab0b9"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Sep 03 03:35:57 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 03 03:35:57 2025 +0800"
      },
      "message": "feat: improve README"
    },
    {
      "commit": "183c1e1e2ac95d8eae6aeca01d620fa17b6ab0b9",
      "tree": "17b49f6c84809afe0914f08722d7eb3a38b2374a",
      "parents": [
        "acd87159c4f460fb95293fc5d0edfc8dbfa08ae2"
      ],
      "author": {
        "name": "Tao Yuesong",
        "email": "tao634774653@gmail.com",
        "time": "Wed Oct 30 03:45:27 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 03:45:27 2024 +0800"
      },
      "message": "chore: add model validate method  (#374)\n\n* feat: validate and compile matcher when loading model\r\n\r\n* feat: add model validate method\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e"
    },
    {
      "commit": "acd87159c4f460fb95293fc5d0edfc8dbfa08ae2",
      "tree": "0eb34d2e5b9919ade7661c1c3c6c0b3a76516e22",
      "parents": [
        "85b9330aa9aa1ead953ea86b09f7cfa46d5ed7bf"
      ],
      "author": {
        "name": "Tao Yuesong",
        "email": "tao634774653@gmail.com",
        "time": "Wed Oct 30 02:29:57 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 02:29:57 2024 +0800"
      },
      "message": "feat: add JSON value for ABAC (#373)\n\n* feat: support JSON request\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n* feat: support JSON request\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n* feat: add test case\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n* feat: clean up test project by list pattern\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e"
    },
    {
      "commit": "85b9330aa9aa1ead953ea86b09f7cfa46d5ed7bf",
      "tree": "498bbaaa3f9bea5079645f74ec3620bd976da2f7",
      "parents": [
        "0b477c0f0dd6b15cd9702ecc7024322e1830e26c"
      ],
      "author": {
        "name": "Tao Yuesong",
        "email": "tao634774653@gmail.com",
        "time": "Tue Oct 29 20:40:33 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 20:40:33 2024 +0800"
      },
      "message": "feat: support load policy from text (#372)\n\n* feat: support load policy from text\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n* feat: add text adapter\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n* feat: clean up test project\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n* fix: remove not used set equal\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Taoyuesong \u003ctao634774653@gmail.com\u003e"
    },
    {
      "commit": "0b477c0f0dd6b15cd9702ecc7024322e1830e26c",
      "tree": "02ab1c8bc9814add95e0b465e7cf04f55cd344a3",
      "parents": [
        "a634b01b8d02a526c53712a858d2005992b6bec1"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Sep 15 18:32:28 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 15 18:32:28 2024 +0800"
      },
      "message": "chore: add setup Node.js to CI jobs (#370)\n\nCo-authored-by: Taoyuesong \u003c634774653@qq.com\u003e"
    },
    {
      "commit": "a634b01b8d02a526c53712a858d2005992b6bec1",
      "tree": "aec2029f530abe06e93cf70f05da1025adf1eb13",
      "parents": [
        "fe66cd4c4b290997bec6ea4184424702db36f42b"
      ],
      "author": {
        "name": "Taoyuesong",
        "email": "45005220+Taoyuesong@users.noreply.github.com",
        "time": "Sun Sep 15 03:48:24 2024 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Sep 15 18:02:25 2024 +0800"
      },
      "message": "chore: update CI jobs version (#369)\n\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e\n"
    },
    {
      "commit": "fe66cd4c4b290997bec6ea4184424702db36f42b",
      "tree": "ebef8d5e83df5322474448a4f7f00fb670c8d715",
      "parents": [
        "6be2f8072d14697b87ff02262f8643a06b3d5c49"
      ],
      "author": {
        "name": "Taoyuesong",
        "email": "45005220+Taoyuesong@users.noreply.github.com",
        "time": "Wed Sep 04 01:06:08 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 04 01:06:08 2024 +0800"
      },
      "message": "feat: support add generic type custom function (#365)\n\n* feat: support add generic type custom function\r\n\r\n* fix: not support .NET 4.5.2\r\n\r\n* fix: indeterminate sorting of GetImplicitRolesForUser"
    },
    {
      "commit": "6be2f8072d14697b87ff02262f8643a06b3d5c49",
      "tree": "062a405695fa67435439ba485622a58a1e321607",
      "parents": [
        "91904e99833e5c1050f25a227c4adeb705114b43"
      ],
      "author": {
        "name": "Taoyuesong",
        "email": "45005220+Taoyuesong@users.noreply.github.com",
        "time": "Tue Aug 20 15:37:54 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 20 15:37:54 2024 +0800"
      },
      "message": "feat: support concurrent roles (#363)\n\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e"
    },
    {
      "commit": "91904e99833e5c1050f25a227c4adeb705114b43",
      "tree": "6efe8544fa2ac755dca75170ae2cb5552a2962e3",
      "parents": [
        "6863c41ab055995379340bee943a3126a3ec167b"
      ],
      "author": {
        "name": "Taoyuesong",
        "email": "45005220+Taoyuesong@users.noreply.github.com",
        "time": "Mon Aug 12 00:09:13 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 12 00:09:13 2024 +0800"
      },
      "message": "fix: Interrupt policy scanner at final block (#362)\n\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e"
    },
    {
      "commit": "6863c41ab055995379340bee943a3126a3ec167b",
      "tree": "267c1e6948631cdae1b0d7757b4a3b0f1e2f442b",
      "parents": [
        "6d3cb374645432b266a6b74e9b3cc59bbb8eb94f"
      ],
      "author": {
        "name": "seanamorosoamtote",
        "email": "165306329+seanamorosoamtote@users.noreply.github.com",
        "time": "Sat Aug 03 12:36:42 2024 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 04 00:36:42 2024 +0800"
      },
      "message": "fix: concurrent access issues with HashSet\u003cstring\u003e (#361)\n\n"
    },
    {
      "commit": "6d3cb374645432b266a6b74e9b3cc59bbb8eb94f",
      "tree": "5416e3eefae47e66f5acfa8e2ba9956fbcec5b57",
      "parents": [
        "e133b7896fbe22642aae2dcb194f4c49a4ddf4c9"
      ],
      "author": {
        "name": "Taoyuesong",
        "email": "45005220+Taoyuesong@users.noreply.github.com",
        "time": "Tue Jun 18 09:31:45 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 18 09:31:45 2024 +0800"
      },
      "message": "feat: Support eval with dynamic request value type (#360)\n\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e"
    },
    {
      "commit": "e133b7896fbe22642aae2dcb194f4c49a4ddf4c9",
      "tree": "e5a91ba53ad2d68190c77f137f6d2d5d617a649a",
      "parents": [
        "9429ca70c9d0a1f444a0a378d215fbb1be0d3718"
      ],
      "author": {
        "name": "Taoyuesong",
        "email": "45005220+Taoyuesong@users.noreply.github.com",
        "time": "Fri Jun 07 00:33:40 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 07 00:33:40 2024 +0800"
      },
      "message": "feat: support .NET 9.0 and update dependence packages (#357)\n\n* feat: support .NET 9.0 and update dependence packages\r\n\r\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e\r\n\r\n* fix: azure pipeline error\r\n\r\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e"
    },
    {
      "commit": "9429ca70c9d0a1f444a0a378d215fbb1be0d3718",
      "tree": "54193255a9850513c378115d8b508399832fbcc2",
      "parents": [
        "9535875819cfa49e01bbd045820cfdaaaa74f58e"
      ],
      "author": {
        "name": "Taoyuesong",
        "email": "45005220+Taoyuesong@users.noreply.github.com",
        "time": "Fri May 31 01:48:41 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 31 01:48:41 2024 +0800"
      },
      "message": "fix: can not parse index operator in matcher (#355)\n\nSigned-off-by: Taoyuesong \u003c634774653@qq.com\u003e"
    },
    {
      "commit": "9535875819cfa49e01bbd045820cfdaaaa74f58e",
      "tree": "f4bd6a00f93fc05c9704582bbd102490fef8e9e0",
      "parents": [
        "5a358a4328487b96a45b225a5f3d2af1c73c9702"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio0728@gmail.com",
        "time": "Sun May 19 05:23:43 2024 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio0728@gmail.com",
        "time": "Sun May 19 05:23:43 2024 +0800"
      },
      "message": "chore: clean up unit tests\n\nSigned-off-by: sagilio \u003csagilio0728@gmail.com\u003e\n"
    },
    {
      "commit": "5a358a4328487b96a45b225a5f3d2af1c73c9702",
      "tree": "fc97df4534689b6590dc96969e99214b163fdd9b",
      "parents": [
        "c340c97d78799aa6560a527a0fdee792f269ec2e"
      ],
      "author": {
        "name": "imf-code",
        "email": "55207685+imf-code@users.noreply.github.com",
        "time": "Sat Apr 27 18:34:41 2024 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 27 23:34:41 2024 +0800"
      },
      "message": "feat: fix different ways of building role links when domain patterns are enabled (#352)\n\n* Better (?) way of building role links when domain patterns are enabled.\r\n\r\n* fix: skip current domain as those links are already handled elsewhere"
    },
    {
      "commit": "c340c97d78799aa6560a527a0fdee792f269ec2e",
      "tree": "ebc80cb27766d94733d23ae685457b95aac398ac",
      "parents": [
        "9cecadd615760838691e391150e1384c1ed9c560"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio0728@gmail.com",
        "time": "Tue Apr 23 03:34:09 2024 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio0728@gmail.com",
        "time": "Tue Apr 23 03:34:09 2024 +0800"
      },
      "message": "feat: keep compatible with unexpected policy, revert PR: https://github.com/casbin/Casbin.NET/pull/337 (#350)\n\nSigned-off-by: sagilio \u003csagilio0728@gmail.com\u003e\n"
    },
    {
      "commit": "9cecadd615760838691e391150e1384c1ed9c560",
      "tree": "bbe4c66021aa9e5e50ee939a08e1d87eaa009678",
      "parents": [
        "c13429d4126a5c4f677d063a468fd8b0e7adb517"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Fri Apr 05 17:51:46 2024 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Fri Apr 05 17:51:46 2024 +0800"
      },
      "message": "fix: add removed targets\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "c13429d4126a5c4f677d063a468fd8b0e7adb517",
      "tree": "950d8eb5b158c36051f72951878e8c1b6b6c2094",
      "parents": [
        "33063757b27dfdf1256bbed7e0ea93ced99ac197"
      ],
      "author": {
        "name": "Sagilio",
        "email": "163670874+sagilio0728@users.noreply.github.com",
        "time": "Fri Apr 05 10:34:13 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 05 10:34:13 2024 +0800"
      },
      "message": "fix: add lacked existing policy check when adding policy (#349)\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\r\nCo-authored-by: sagilio \u003csagilio@outlook.com\u003e"
    },
    {
      "commit": "33063757b27dfdf1256bbed7e0ea93ced99ac197",
      "tree": "137cea48e582513aeebe12ff7320e30313d63554",
      "parents": [
        "9379fba2cd42d421827c4b41c97bc29b98ddd4e3"
      ],
      "author": {
        "name": "DacongDA",
        "email": "dacongda1@sina.com",
        "time": "Thu Apr 04 01:02:07 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 04 01:02:07 2024 +0800"
      },
      "message": "fix: fix bugs in policy equal and persist (#347)\n\n"
    },
    {
      "commit": "9379fba2cd42d421827c4b41c97bc29b98ddd4e3",
      "tree": "ded8a99baa828edabc4abd7e095d7a55a014ff6f",
      "parents": [
        "799348a2770f568d828619b6a71d6d1980376702"
      ],
      "author": {
        "name": "Zach Redinger",
        "email": "72579339+zredinger-ccc@users.noreply.github.com",
        "time": "Fri Mar 08 20:16:25 2024 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 09 10:16:25 2024 +0800"
      },
      "message": "feat: fix call to AddDomainMatchingFunc() (#345)\n\n* fix: Fix misspelling from Manger -\u003e Manager\r\n\r\n* fix: AddNamedDomainMatchingFunc not adding to domain matcher"
    },
    {
      "commit": "799348a2770f568d828619b6a71d6d1980376702",
      "tree": "192d8855a4451a5ecac41998aa14ea80e44d7695",
      "parents": [
        "4879705050eb99db7f078ac66f8a620ea1906de2"
      ],
      "author": {
        "name": "DacongDA",
        "email": "dacongda1@sina.com",
        "time": "Sat Feb 17 23:38:49 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 17 23:38:49 2024 +0800"
      },
      "message": "feat: fix CI bug (#343)\n\n* fix: fix workflow skip cause by error repository_owner\r\n\r\n* fix: remove workflow_dispatch to make release run automatically"
    },
    {
      "commit": "4879705050eb99db7f078ac66f8a620ea1906de2",
      "tree": "87d10fcb0b0c376957704e947f1c822f1b757b44",
      "parents": [
        "38bfa8673342312de3d2f108ad5da1f171d0ef38"
      ],
      "author": {
        "name": "DacongDA",
        "email": "dacongda1@sina.com",
        "time": "Sat Feb 17 21:40:32 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 17 21:40:32 2024 +0800"
      },
      "message": "feat: support automatic semantic-release (#342)\n\n"
    },
    {
      "commit": "38bfa8673342312de3d2f108ad5da1f171d0ef38",
      "tree": "fed4bb1a9cbd29ddfda38ea75487dafbd9ff317d",
      "parents": [
        "befbb331f242f3c86afde0023b905d46b9b1e4d6"
      ],
      "author": {
        "name": "DacongDA",
        "email": "dacongda1@sina.com",
        "time": "Sat Feb 17 15:04:07 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 17 15:04:07 2024 +0800"
      },
      "message": "feat: remove myget package manager (#341)\n\n"
    },
    {
      "commit": "befbb331f242f3c86afde0023b905d46b9b1e4d6",
      "tree": "4dac37f2a736e4db559abbaf64c09d5514bd9a04",
      "parents": [
        "54db948595c86122761d6a15fbd23f63e15adcdf"
      ],
      "author": {
        "name": "Zach Redinger",
        "email": "72579339+zredinger-ccc@users.noreply.github.com",
        "time": "Mon Feb 12 19:53:42 2024 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 13 09:53:42 2024 +0800"
      },
      "message": "feat: Add Matching Funcs to IEnforcer interface (#339)\n\n* Add funcs to ienforcer\r\n\r\n* Change AddMatchingFuncs to not return the updated enforcer"
    },
    {
      "commit": "54db948595c86122761d6a15fbd23f63e15adcdf",
      "tree": "16ed2937baa607e81164dc9486eb6ed7884929d0",
      "parents": [
        "4ccef448c574097c6077e1340e7b0cdaddd4f10e"
      ],
      "author": {
        "name": "dacongda",
        "email": "47297289+dacongda@users.noreply.github.com",
        "time": "Mon Jan 29 20:53:07 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 29 20:53:07 2024 +0800"
      },
      "message": "feat: fix null value handling logic (#337)\n\n* fix: change null string judge\r\n\r\n* fix:rewrite Policy and PolicyValues, change !\u003d null to is null , change the logical of ValidatePolicy"
    },
    {
      "commit": "4ccef448c574097c6077e1340e7b0cdaddd4f10e",
      "tree": "d91a246fb09db7d8e46de285a2cd546111635c32",
      "parents": [
        "cdbda9ecb66ea623f7b4e7717015d3140231e7c2"
      ],
      "author": {
        "name": "Tan",
        "email": "75737870+Tanyuu@users.noreply.github.com",
        "time": "Thu Sep 28 16:57:40 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 28 16:57:40 2023 +0800"
      },
      "message": "fix: Support custom g type name (#334)\n\n* fix: Fix bug when first role_definition is not g\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n* feat: Revise according to the suggestions\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n* feat: Revise according to the suggestions(2)\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e"
    },
    {
      "commit": "cdbda9ecb66ea623f7b4e7717015d3140231e7c2",
      "tree": "ac16beeb258743ee4dc0a468b85e52ccf045c221",
      "parents": [
        "8ad19b262bd1453aef8dd274166afd092a55aa36"
      ],
      "author": {
        "name": "Tan",
        "email": "75737870+Tanyuu@users.noreply.github.com",
        "time": "Sat Sep 23 04:50:48 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 23 04:50:48 2023 +0800"
      },
      "message": "ci: Add infersharp.yml and fix a unnecessary command (#333)\n\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e"
    },
    {
      "commit": "8ad19b262bd1453aef8dd274166afd092a55aa36",
      "tree": "d7dc9b31f84b9ecc9f0f5688cd13fcac517087a7",
      "parents": [
        "0e56748e3370b365d8529a9a350f4feed2793d03"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Sep 16 20:46:30 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Sep 16 20:46:30 2023 +0800"
      },
      "message": "ci: Fix error tag regex\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "0e56748e3370b365d8529a9a350f4feed2793d03",
      "tree": "2e00d5fd0c26850c878b587a254cb63eb6773de4",
      "parents": [
        "349d5740ad3efbc9ae472f0a006e9475bcdf3fb7"
      ],
      "author": {
        "name": "Tan",
        "email": "75737870+Tanyuu@users.noreply.github.com",
        "time": "Sat Sep 16 20:08:04 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 16 20:08:04 2023 +0800"
      },
      "message": "feat: Use ini extensions to parse the model file (#332)\n\n* feat: Change to Configuration.Ini resolution.conf\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n* feat: Remove invalid reference\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n* feat: Revise according to the suggestions.\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n* feat: Revise according to the suggestions(2).\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e"
    },
    {
      "commit": "349d5740ad3efbc9ae472f0a006e9475bcdf3fb7",
      "tree": "cdc5ec1a3fb48c4c4a328666ec92f4005839db8f",
      "parents": [
        "770125efa4e296eb5585ea549a58436600d77dd1"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Aug 27 18:43:25 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Aug 27 18:49:11 2023 +0800"
      },
      "message": "fix: Error params of IWatcher\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n(cherry picked from commit fb298eb27ab96773b647a2e1034e5fdda737dbb2)\n"
    },
    {
      "commit": "770125efa4e296eb5585ea549a58436600d77dd1",
      "tree": "5eef12c52a27f8b9c9cf88fab7da943f9e592f06",
      "parents": [
        "e36209ec7d3cf43c5757110273dd3c0426070704"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Aug 27 00:46:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 27 00:46:28 2023 +0800"
      },
      "message": "ci: Change to auto-release on push (#331)\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e"
    },
    {
      "commit": "e36209ec7d3cf43c5757110273dd3c0426070704",
      "tree": "61f401723a0bd6fe9ad41c6347a20e5f80a695c5",
      "parents": [
        "0eb65c60839267f03070434c1ec9d2e0b0c9df70"
      ],
      "author": {
        "name": "Tan",
        "email": "75737870+Tanyuu@users.noreply.github.com",
        "time": "Sat Aug 19 13:18:36 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Aug 20 03:01:38 2023 +0800"
      },
      "message": "fix: Accidental cache read via key construction (#330)\n\n* fix: Accidental cache read via key construction\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n* fix: separator changed from $ to $$\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e"
    },
    {
      "commit": "0eb65c60839267f03070434c1ec9d2e0b0c9df70",
      "tree": "223114723752abafc07b880065ba84c0cbc43fb6",
      "parents": [
        "766bf05585acd01125ff0d17cafcbfdbb44707ae"
      ],
      "author": {
        "name": "Tan",
        "email": "75737870+Tanyuu@users.noreply.github.com",
        "time": "Mon Aug 14 22:55:22 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Aug 20 03:01:11 2023 +0800"
      },
      "message": "docs: Add README to nuget (#32)\n\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\n"
    },
    {
      "commit": "766bf05585acd01125ff0d17cafcbfdbb44707ae",
      "tree": "86c83a1eab7a1203c565e7fcf9739c98eea89235",
      "parents": [
        "9be60247cc64bbccde9f5f8bbc05fd9023c5aeb9"
      ],
      "author": {
        "name": "Jan-Pieter George",
        "email": "janpieterzoutewelle@gmail.com",
        "time": "Fri Aug 04 01:05:27 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 04 16:05:27 2023 +0800"
      },
      "message": "fix: Ensure tab characters in policy files are parsed as white-space (#324)\n\n* fix: Ensure tab characters in policy files are parsed as white-space\r\n\r\n* tests: Add unit tests"
    },
    {
      "commit": "9be60247cc64bbccde9f5f8bbc05fd9023c5aeb9",
      "tree": "7d79a2c1bb8a79a86fee92d8f896805f11d46205",
      "parents": [
        "ec7b4634904008eb5a2aa18c506f99a434a30e44"
      ],
      "author": {
        "name": "Jan-Pieter George",
        "email": "janpieterzoutewelle@gmail.com",
        "time": "Fri Aug 04 01:04:58 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 04 16:04:58 2023 +0800"
      },
      "message": "build: remove benchmark from running on push/pr (#326)\n\n"
    },
    {
      "commit": "ec7b4634904008eb5a2aa18c506f99a434a30e44",
      "tree": "5e13832bfdbd9d99df2d0e058c15c83cea72bd56",
      "parents": [
        "2cad30427c24c80f20bf721627790f9e5fc44668"
      ],
      "author": {
        "name": "Jan-Pieter George",
        "email": "janpieterzoutewelle@gmail.com",
        "time": "Thu Aug 03 19:40:44 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 04 10:40:44 2023 +0800"
      },
      "message": "fix: copy all files in unit tests examples folder by default (#325)\n\n"
    },
    {
      "commit": "2cad30427c24c80f20bf721627790f9e5fc44668",
      "tree": "bf86962f47e17a79116e3e5b07801a35ff6d198b",
      "parents": [
        "dedb3c7832e7474e4a8057dc4da7d785edc4e45c"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Jul 26 03:37:45 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Jul 26 03:47:13 2023 +0800"
      },
      "message": "ci: Change the workflow name amd remove dependency job\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "dedb3c7832e7474e4a8057dc4da7d785edc4e45c",
      "tree": "982d25387269ac5cf78f2eb55c114fe9ce00878a",
      "parents": [
        "285003bc1d517cba7c92a38ca696ba08c7bc4c93"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Jul 26 03:28:16 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Jul 26 03:28:16 2023 +0800"
      },
      "message": "ci: Split push package from release and fix execute error\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "285003bc1d517cba7c92a38ca696ba08c7bc4c93",
      "tree": "d3bdd99ed0b3084c77efdf523e0de7aa32262036",
      "parents": [
        "04b5605ea6a8f4c1e03ffd7713e79601920c6a08"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Jul 26 03:22:39 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Jul 26 03:22:39 2023 +0800"
      },
      "message": "feat: Move functions from Casbin.Util to Casbin.Functions\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "04b5605ea6a8f4c1e03ffd7713e79601920c6a08",
      "tree": "c0e44667a857e59046b97593f6d190e9101325ef",
      "parents": [
        "2884c222b1e59f34ac15109613c87ecc7d2dc4ca"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 09 19:36:51 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 09 19:40:11 2023 +0800"
      },
      "message": "feat: Support .NET 8.0 target\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "2884c222b1e59f34ac15109613c87ecc7d2dc4ca",
      "tree": "37f54e7141825502f034325e8f3d1888f091397b",
      "parents": [
        "35821944a9f06476fc7ebf37b75e19fb24387779"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 09 18:56:40 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 09 18:56:40 2023 +0800"
      },
      "message": "feat: Add go like method\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "35821944a9f06476fc7ebf37b75e19fb24387779",
      "tree": "7d0a2592222f5cc88f4e10e6b3af30e575f9b822",
      "parents": [
        "522bb58f0188493290bc1b6c9974705a78369312"
      ],
      "author": {
        "name": "YunShu",
        "email": "YunShuEmail@foxmail.com",
        "time": "Thu Jul 06 18:18:23 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 06 18:18:23 2023 +0800"
      },
      "message": "docs: replace gitter links with discord (#323)\n\n"
    },
    {
      "commit": "522bb58f0188493290bc1b6c9974705a78369312",
      "tree": "40a61cb49bb3087bf7831d65f8f0dd5340c15768",
      "parents": [
        "16af32d4626e75490d606cea41f810c25c413ba4"
      ],
      "author": {
        "name": "Tan",
        "email": "75737870+Tanyuu@users.noreply.github.com",
        "time": "Mon Jul 03 11:34:13 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 03 11:34:13 2023 +0800"
      },
      "message": "feat: Support multi-line mode with \u0027\\\u0027 line feeds (#322)\n\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\nCo-authored-by: Sagilio \u003csagilio@outlook.com\u003e"
    },
    {
      "commit": "16af32d4626e75490d606cea41f810c25c413ba4",
      "tree": "02a8982cd545c50423b0b380989f224d5838df45",
      "parents": [
        "520bb174cbc722542a5a974c9e2bae19b2bf5ff6"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Tue Jun 20 00:20:30 2023 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Tue Jun 20 00:20:30 2023 +0800"
      },
      "message": "chore: Move adapter to persist\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "520bb174cbc722542a5a974c9e2bae19b2bf5ff6",
      "tree": "2c026f6cd752533e2f249066622e9bac9fb3fca0",
      "parents": [
        "fe9c3866047df71b09777ddaf56dcf162b47d88c"
      ],
      "author": {
        "name": "Tan",
        "email": "75737870+Tanyuu@users.noreply.github.com",
        "time": "Wed Jun 14 03:04:39 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 14 03:04:39 2023 +0800"
      },
      "message": "feat: Better support tokens with substring relation and use two more complex test cases (#319)\n\n* fix: err filter logic\r\n\r\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\r\n\r\n* docs: updated broken links and formatting (#305)\r\n\r\n* docs: updated broken links\r\n\r\n* docs: formatting\r\n\r\n* Update README.md\r\n\r\nCo-authored-by: hsluoyz \u003chsluoyz@qq.com\u003e\r\n\r\n* feat: Support tokens with substring relation\r\n\r\nSigned-off-by: Yuan \u003c2912363476@qq.com\u003e\r\n\r\n* feat: Support tokens with substring relation\r\n\r\nSigned-off-by: Yuan \u003c2912363476@qq.com\u003e\r\n\r\n* feat: Support tokens with substring relation\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n* fix: Fixed an invalid test case\r\n\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\r\nSigned-off-by: Yuan \u003c2912363476@qq.com\u003e\r\nSigned-off-by: Tan \u003c2912363476@qq.com\u003e\r\nCo-authored-by: sagilio \u003csagilio@outlook.com\u003e\r\nCo-authored-by: r4wand \u003c26229485+r4wand@users.noreply.github.com\u003e\r\nCo-authored-by: hsluoyz \u003chsluoyz@qq.com\u003e"
    },
    {
      "commit": "fe9c3866047df71b09777ddaf56dcf162b47d88c",
      "tree": "3ea9f3ff5dcca620c20c957a46d7c34596bc111d",
      "parents": [
        "cb1589efcf01bc90d142e644037216aa883653a2"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jun 11 19:47:35 2023 +0800"
      },
      "committer": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Jun 12 00:12:43 2023 +0800"
      },
      "message": "feat: Support full-fledged CSV parser in built-in file adapter\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "cb1589efcf01bc90d142e644037216aa883653a2",
      "tree": "008db00086434e6503cdf694df135ef11c69ae35",
      "parents": [
        "071af63ca4a8585c06b2c07e47255680d0c99c07"
      ],
      "author": {
        "name": "r4wand",
        "email": "26229485+r4wand@users.noreply.github.com",
        "time": "Thu Dec 01 05:37:08 2022 +0300"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Jun 10 18:13:53 2023 +0800"
      },
      "message": "docs: Updated broken links and formatting (#305)\n\n* docs: updated broken links\n\n* docs: formatting\n\n* Update README.md\n\nCo-authored-by: hsluoyz \u003chsluoyz@qq.com\u003e\n(cherry picked from commit 2d721e6c8513a905bce997da86b07f7eba945ec7)\n"
    },
    {
      "commit": "071af63ca4a8585c06b2c07e47255680d0c99c07",
      "tree": "695f88b7db65c0bd49a5f30ec88adc6551c883cf",
      "parents": [
        "d7a0a4fbd0dc30aa9b53a492f95c8e7b83986bf8"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jan 01 21:05:55 2023 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 02 11:05:55 2023 +0800"
      },
      "message": "fix: Warning at policy scanner (#307)\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\r\n\r\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e"
    },
    {
      "commit": "d7a0a4fbd0dc30aa9b53a492f95c8e7b83986bf8",
      "tree": "ab82ad09197ea1b41f76c745bf2ed1da073f8d45",
      "parents": [
        "951ceb8b5d2ec405ed81fd07501121f4315dbc75"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Thu Nov 24 12:15:29 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Thu Nov 24 12:15:29 2022 +0800"
      },
      "message": "feat: Change enforcer options action to options\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "951ceb8b5d2ec405ed81fd07501121f4315dbc75",
      "tree": "a7682181374e142e4b7998c75ffed1c868e87be2",
      "parents": [
        "d68c80604aab60c6b378dde6b36a8aa595b8ad26"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Nov 23 21:18:06 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Nov 23 21:18:06 2022 +0800"
      },
      "message": "fix: Change load policy receiver to IReadOnlyAdapter\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "d68c80604aab60c6b378dde6b36a8aa595b8ad26",
      "tree": "d60329594e5cb4b58ea14986d17bac7f332d1adf",
      "parents": [
        "b498d7af469f194d2078068253b9d9b9b8d5b89d"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Nov 23 11:50:22 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Nov 23 11:50:22 2022 +0800"
      },
      "message": "feat: Expose some model extensions APIs\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "b498d7af469f194d2078068253b9d9b9b8d5b89d",
      "tree": "4ce366952720a03a6c4920a1dc9b46c119c8fc83",
      "parents": [
        "67e927ad66fbae534b4945ec98bc9f454988d3ce"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Nov 21 14:43:51 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Nov 23 01:52:05 2022 +0800"
      },
      "message": "fix: err filter logic\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "67e927ad66fbae534b4945ec98bc9f454988d3ce",
      "tree": "12326caee8252f63d16869155e06fe97b1388ebc",
      "parents": [
        "36cff41bce0bfe89b37ec4c371da4cd56b38c5d6"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Nov 20 08:45:56 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Nov 20 08:45:56 2022 +0800"
      },
      "message": "fix: HasAdapter value error\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "36cff41bce0bfe89b37ec4c371da4cd56b38c5d6",
      "tree": "81f31226df4dfec6e209b8c73b7a921b69624abd",
      "parents": [
        "0c1ce7f92ef7533de82329ab5aa41031a30001cd"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Fri Nov 11 00:30:44 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Nov 20 08:20:17 2022 +0800"
      },
      "message": "fix: Change to persist policy\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "0c1ce7f92ef7533de82329ab5aa41031a30001cd",
      "tree": "c2a896e9f56aef1ac725d1bf9b4e8e45a9db0889",
      "parents": [
        "677e94b83a7fd4ba7e2110eb2b0a8eedf62c9700"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Nov 05 21:37:13 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Nov 05 21:37:13 2022 +0800"
      },
      "message": "chore: Allow public model ctor\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "677e94b83a7fd4ba7e2110eb2b0a8eedf62c9700",
      "tree": "2868b95043896f62b535c6571566e76d7b8d759e",
      "parents": [
        "f6bb3c1463afbb835cbab518fd05a050b8b5842b"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Fri Nov 04 23:28:23 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Nov 05 19:24:29 2022 +0800"
      },
      "message": "ci: Ignore pack warming\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "f6bb3c1463afbb835cbab518fd05a050b8b5842b",
      "tree": "d789f93216c9432d3dcf1ec074ae78b906f33052",
      "parents": [
        "a6f1604cc24690fda0c8cb14579b9d0e23f3c421"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Fri Nov 04 15:24:21 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 04 15:24:21 2022 +0800"
      },
      "message": "feat: Add list request values (#303)\n\n"
    },
    {
      "commit": "a6f1604cc24690fda0c8cb14579b9d0e23f3c421",
      "tree": "daaf94a501dc00953338ebde3466f01837466970",
      "parents": [
        "8a779717120fedc5a328f4b4932c9dd53b9cab02",
        "016a57c7c8fb4f4d1265ea732f583c1cf93851aa"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Wed Oct 26 03:10:37 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 26 03:10:37 2022 +0800"
      },
      "message": "Merge pull request #262 from AsakusaRinne/fix_258\n\nfix: Enable the comment in model config files."
    },
    {
      "commit": "016a57c7c8fb4f4d1265ea732f583c1cf93851aa",
      "tree": "daaf94a501dc00953338ebde3466f01837466970",
      "parents": [
        "8a779717120fedc5a328f4b4932c9dd53b9cab02"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Mon Oct 24 01:41:20 2022 +0800"
      },
      "committer": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Mon Oct 24 01:41:20 2022 +0800"
      },
      "message": "fix: Enable the comment in model config files.\n"
    },
    {
      "commit": "8a779717120fedc5a328f4b4932c9dd53b9cab02",
      "tree": "4b1dc683d1794e654b9ceaa9121bfd41b980f688",
      "parents": [
        "6dec197dcdbee4c607527daf8b440ba8fa67017d"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Oct 24 00:35:43 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Oct 24 00:49:47 2022 +0800"
      },
      "message": "feat: Add policy filter\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "6dec197dcdbee4c607527daf8b440ba8fa67017d",
      "tree": "9d3f278c19a73c4683071dc205a3515cf5492f8c",
      "parents": [
        "a6c464e3b1d92b24fd6fe1f25c413b1543d60f15",
        "394ff020f433bfd2dcd0d2ff5199a71dca739a41"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Oct 16 04:45:17 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 16 04:45:17 2022 +0800"
      },
      "message": "Merge pull request #295 from AsakusaRinne/add_auto_load_policy_preview\n\nfeat: change lazyLoadPolicy to AutoLoadPolicy."
    },
    {
      "commit": "394ff020f433bfd2dcd0d2ff5199a71dca739a41",
      "tree": "cd59432b45ff464f43ede4c4203613a75688d896",
      "parents": [
        "7f14625585b9d9adebbfb6576c15a55e6c1c2818"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Sun Sep 18 01:14:22 2022 +0800"
      },
      "committer": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Sat Oct 15 21:32:25 2022 +0800"
      },
      "message": "feat: change lazyLoadPolicy to AutoLoadPolicy.\n"
    },
    {
      "commit": "a6c464e3b1d92b24fd6fe1f25c413b1543d60f15",
      "tree": "d9d0604ec95998ee9b259d8b2366ac93c04ef249",
      "parents": [
        "5c007fd65feece26e358ce6868f636eca99cc241"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Mon Sep 19 16:05:44 2022 +0800"
      },
      "committer": {
        "name": "Sagilio",
        "email": "Sagilio@outlook.com",
        "time": "Tue Oct 04 21:19:31 2022 +0800"
      },
      "message": "feat: Add GetPolicyTypes APIs of IReadOnlyPolicyStore\n"
    },
    {
      "commit": "5c007fd65feece26e358ce6868f636eca99cc241",
      "tree": "ebf6453b5d2f6997928f4872abcd7f75d5b4a92b",
      "parents": [
        "7537539c4b85a667700f13dc98d1f92fc092cf2b"
      ],
      "author": {
        "name": "Sagilio",
        "email": "Sagilio@outlook.com",
        "time": "Tue Oct 04 20:59:15 2022 +0800"
      },
      "committer": {
        "name": "Sagilio",
        "email": "Sagilio@outlook.com",
        "time": "Tue Oct 04 21:18:38 2022 +0800"
      },
      "message": "feat: Add SDK global json config\n\nSigned-off-by: Sagilio \u003cSagilio@outlook.com\u003e\n"
    },
    {
      "commit": "7537539c4b85a667700f13dc98d1f92fc092cf2b",
      "tree": "34a905f22976ab80fd3c82b66bf471bd864c9467",
      "parents": [
        "25e0b68eb253e1bfc31595384610a59418dec7f7"
      ],
      "author": {
        "name": "Rinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Thu Sep 29 20:48:16 2022 +0800"
      },
      "committer": {
        "name": "Sagilio",
        "email": "Sagilio@outlook.com",
        "time": "Tue Oct 04 21:18:38 2022 +0800"
      },
      "message": "feat: Add stream adapter. (#299)\n\n"
    },
    {
      "commit": "25e0b68eb253e1bfc31595384610a59418dec7f7",
      "tree": "0931cf6a0f3a252badecb386935b378d14f7764b",
      "parents": [
        "bec496a77c84bea59599aed4b3347f2b01df6187"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Sat Sep 24 19:32:38 2022 +0800"
      },
      "committer": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Sat Sep 24 19:32:38 2022 +0800"
      },
      "message": "fix: Concurrent error caused by GFunctionCache.\n"
    },
    {
      "commit": "bec496a77c84bea59599aed4b3347f2b01df6187",
      "tree": "10e74762fb62cb9959eef9845777a5aacb6e51cd",
      "parents": [
        "7f14625585b9d9adebbfb6576c15a55e6c1c2818"
      ],
      "author": {
        "name": "Rinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Tue Sep 20 14:34:27 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 20 14:34:27 2022 +0800"
      },
      "message": "feat: add keyGet3 and correponding test. (#294)\n\n"
    },
    {
      "commit": "7f14625585b9d9adebbfb6576c15a55e6c1c2818",
      "tree": "295b95e080f8f8fd1a4a101e478087fa7aaea9cb",
      "parents": [
        "f1b85bfcbafb3c255b5b7fe13a55ed5f0be76877"
      ],
      "author": {
        "name": "Rinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Mon Sep 19 11:25:02 2022 +0800"
      },
      "committer": {
        "name": "Sagilio",
        "email": "Sagilio@outlook.com",
        "time": "Mon Sep 19 15:21:24 2022 +0800"
      },
      "message": "test: Add benchmark test for default role manager. (#284)\n\n(cherry picked from commit ef64461e5e26408a4e5e0d2a9ee8b7ac3e639eff)\n"
    },
    {
      "commit": "f1b85bfcbafb3c255b5b7fe13a55ed5f0be76877",
      "tree": "c887fe6977ccc90faee56b582b4231749f867cca",
      "parents": [
        "5ca9a37e8ba40fdc34b4d62aab8e784b884e0ee8"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Sep 19 01:11:51 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Sep 19 01:11:51 2022 +0800"
      },
      "message": "feat: Remove unused effect chain\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "5ca9a37e8ba40fdc34b4d62aab8e784b884e0ee8",
      "tree": "64ea5f3caca4459af7c35c78bef1da490458def6",
      "parents": [
        "29fbaacc55d531bd2e48a421f69ddd03a7e6d3e0",
        "cb477ed6298ceeb4662beb9de7498def32d1b03e"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Sep 18 00:14:41 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 18 00:14:41 2022 +0800"
      },
      "message": "Merge pull request #289 from AsakusaRinne/support_in_operator\n\nfeat: support in operator in model config."
    },
    {
      "commit": "cb477ed6298ceeb4662beb9de7498def32d1b03e",
      "tree": "055bd77f17d5cbf63e8ef94f7ab8c0fa95e738ba",
      "parents": [
        "8c8105d356abc887ddcde02f9ebb2ed57ff32d58"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Fri Sep 16 17:13:35 2022 +0800"
      },
      "committer": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Sat Sep 17 23:09:56 2022 +0800"
      },
      "message": "feat: support in operator in model config.\n"
    },
    {
      "commit": "29fbaacc55d531bd2e48a421f69ddd03a7e6d3e0",
      "tree": "9de6d90c70587c3b91b5c5720c26c307f3a2f39a",
      "parents": [
        "6e00f3dc0499e6fd276d6ec45e81d9d4da284327",
        "bd9ff642d15608c123cd458416e88375560c4a06"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Sep 17 18:43:38 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 17 18:43:38 2022 +0800"
      },
      "message": "Merge pull request #285 from sagilio/watcher_message\n\nfeat: Add PolicyChangedMessage and WatcherEx support"
    },
    {
      "commit": "bd9ff642d15608c123cd458416e88375560c4a06",
      "tree": "f28032550058096574309808b7454bde0757b441",
      "parents": [
        "eb28952ad841713dd7bc0a81f239070fda63c4a7"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Sep 12 18:58:20 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Tue Sep 13 02:44:47 2022 +0800"
      },
      "message": "feat: Add WatcherEx support\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "6e00f3dc0499e6fd276d6ec45e81d9d4da284327",
      "tree": "44b128d0fa5357f89ccbc429d0572050cb2fc2ce",
      "parents": [
        "8c8105d356abc887ddcde02f9ebb2ed57ff32d58",
        "dc985e3ee9327dc34584bcbe5cdb2c0eb4bc0b67"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Mon Sep 12 05:56:37 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 12 05:56:37 2022 -0500"
      },
      "message": "Merge pull request #279 from AsakusaRinne/add_policy_manager_benchmark\n\ntest: Add benchmark for default policy manager."
    },
    {
      "commit": "dc985e3ee9327dc34584bcbe5cdb2c0eb4bc0b67",
      "tree": "44b128d0fa5357f89ccbc429d0572050cb2fc2ce",
      "parents": [
        "8c8105d356abc887ddcde02f9ebb2ed57ff32d58"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Mon Sep 12 17:20:58 2022 +0800"
      },
      "committer": {
        "name": "AsakusaRinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Mon Sep 12 17:20:58 2022 +0800"
      },
      "message": "test: Add benchmark test for default policy manager.\n"
    },
    {
      "commit": "eb28952ad841713dd7bc0a81f239070fda63c4a7",
      "tree": "79ea8309adc3de9c998f7d0338474b1a54e26d6c",
      "parents": [
        "8c8105d356abc887ddcde02f9ebb2ed57ff32d58",
        "cc1ce45ea8f948a9b9c9ff2054c3a0a9bdbf6a89"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Sep 11 05:27:33 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Sep 11 05:27:33 2022 +0800"
      },
      "message": "feat: Add WatcherMessage for watchers\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "8c8105d356abc887ddcde02f9ebb2ed57ff32d58",
      "tree": "1d1a45742446b7bf1492b3fb76abd231bece4e84",
      "parents": [
        "abedaaceb0dab5c2245a1890a5bd1c544d6c3973"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Sep 10 23:29:34 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Sep 10 23:29:34 2022 +0800"
      },
      "message": "fix: Get policy error at test helper\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "abedaaceb0dab5c2245a1890a5bd1c544d6c3973",
      "tree": "2db362884a5ec3763aba197115794db1279304d1",
      "parents": [
        "d5115d23cca7ef806885fa55b64b7c94b17fd075",
        "3e53c16c9eb36d3bfdfcd308275197e01d84e5e0"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Sep 10 17:45:07 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 10 17:45:07 2022 +0800"
      },
      "message": "Merge pull request #276 from AsakusaRinne/add_auto_parallel_test\n\nfeat: add automatic parallel test helper."
    },
    {
      "commit": "d5115d23cca7ef806885fa55b64b7c94b17fd075",
      "tree": "fc5445018ce659097e091497938af3cfbf452624",
      "parents": [
        "ac0d6de491dd630639e47b523f4aab2ce5abbef2"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Sep 10 11:29:20 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 10 11:29:20 2022 +0800"
      },
      "message": "feat: refactor section assertion and policy store (#283)\n\n* refactor: Refactor section assertion and policy store\r\n\r\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\r\n\r\n* perf: Add .NET 7 and remove .NET 5 benchmark\r\n\r\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\r\n\r\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e"
    },
    {
      "commit": "cc1ce45ea8f948a9b9c9ff2054c3a0a9bdbf6a89",
      "tree": "619faabb31b9fa1de7d087edb158c12cc9a6696e",
      "parents": [
        "aa73b71b00cacf8b062733e23ae19f578c44940d"
      ],
      "author": {
        "name": "sociometry",
        "email": "aiyouwangle@163.com",
        "time": "Sat Sep 03 01:09:50 2022 +0800"
      },
      "committer": {
        "name": "sociometry",
        "email": "aiyouwangle@163.com",
        "time": "Sat Sep 03 01:09:50 2022 +0800"
      },
      "message": "feat: Add WatcherMessage for watchers\n\nSigned-off-by: sociometry \u003caiyouwangle@163.com\u003e\n"
    },
    {
      "commit": "ac0d6de491dd630639e47b523f4aab2ce5abbef2",
      "tree": "82380851fd0402b3b3c9fbd335e48664662175d8",
      "parents": [
        "d2d245fa03ba460e0a82c8307e1ac04df210a279"
      ],
      "author": {
        "name": "Rinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Tue Aug 30 00:37:15 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 30 00:37:15 2022 +0800"
      },
      "message": "feat: Support batch enforce and add corresponding test. (#274)\n\n"
    },
    {
      "commit": "d2d245fa03ba460e0a82c8307e1ac04df210a279",
      "tree": "4903e5d7e6af4b1cd738edf38e7550676442b69d",
      "parents": [
        "b7a44128faa8369d43da961e8ec31241d434bfb4"
      ],
      "author": {
        "name": "Rinne",
        "email": "AsakusaRinne@gmail.com",
        "time": "Mon Aug 29 17:54:28 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 29 17:54:28 2022 +0800"
      },
      "message": "feat: add keyGet2 and corresponding test. (#280)\n\n"
    },
    {
      "commit": "b7a44128faa8369d43da961e8ec31241d434bfb4",
      "tree": "57a8ff1b5aa932ba9dd33f64ec405aa55bec47fd",
      "parents": [
        "aa73b71b00cacf8b062733e23ae19f578c44940d",
        "723e0dda2b08d3939a885b8ed76c6f99c8fc0419"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Fri Aug 12 10:43:15 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 12 10:43:15 2022 -0500"
      },
      "message": "Merge pull request #273 from AsakusaRinne/preview\n\nfeat: Add keyGet function and related test."
    },
    {
      "commit": "3e53c16c9eb36d3bfdfcd308275197e01d84e5e0",
      "tree": "f63694f346aa79f98c67f54847d67506be4e818f",
      "parents": [
        "aa73b71b00cacf8b062733e23ae19f578c44940d"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "47343601+AsakusaRinne@users.noreply.github.com",
        "time": "Fri Aug 12 17:38:37 2022 +0800"
      },
      "committer": {
        "name": "AsakusaRinne",
        "email": "47343601+AsakusaRinne@users.noreply.github.com",
        "time": "Fri Aug 12 21:48:47 2022 +0800"
      },
      "message": "feat: add automatic parallel test helper.\n"
    },
    {
      "commit": "723e0dda2b08d3939a885b8ed76c6f99c8fc0419",
      "tree": "57a8ff1b5aa932ba9dd33f64ec405aa55bec47fd",
      "parents": [
        "aa73b71b00cacf8b062733e23ae19f578c44940d"
      ],
      "author": {
        "name": "AsakusaRinne",
        "email": "47343601+AsakusaRinne@users.noreply.github.com",
        "time": "Thu Aug 04 12:23:56 2022 +0800"
      },
      "committer": {
        "name": "AsakusaRinne",
        "email": "47343601+AsakusaRinne@users.noreply.github.com",
        "time": "Thu Aug 04 22:04:35 2022 +0800"
      },
      "message": "feat: add keyGet function and correponding test.\n"
    },
    {
      "commit": "aa73b71b00cacf8b062733e23ae19f578c44940d",
      "tree": "7334d53832b2e5ffb9a24e2bdc455e37d4658854",
      "parents": [
        "ce6e971127283649d8b8491a5b0774617fce5eb4"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 31 04:14:45 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 31 04:14:45 2022 +0800"
      },
      "message": "feat: Add string request and policy values\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "ce6e971127283649d8b8491a5b0774617fce5eb4",
      "tree": "8021ba7d0b29d31a8826cd869d3983c8c190276b",
      "parents": [
        "15b28eeb4f78142fd40925cbbfec1cc0825f3a4a"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 31 00:09:10 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 31 00:09:10 2022 +0800"
      },
      "message": "fix: Reduce the severity of request and policy count validation\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "15b28eeb4f78142fd40925cbbfec1cc0825f3a4a",
      "tree": "3aea0824406b930ccc58e2fb3cc9cda51e0bbd5b",
      "parents": [
        "a9fb8c1e5f248142c3ac0b269d52f2b4e639dd9d"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 31 00:06:38 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sun Jul 31 00:06:38 2022 +0800"
      },
      "message": "feat: Add TrySetValue API in request values\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "a9fb8c1e5f248142c3ac0b269d52f2b4e639dd9d",
      "tree": "fefb915d9bd843a02b3c8aaaf1e9ba2663abc24b",
      "parents": [
        "fc30233865ce0888bd7f3c21aa834c75102f29e9"
      ],
      "author": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Jul 30 18:33:34 2022 +0800"
      },
      "committer": {
        "name": "sagilio",
        "email": "sagilio@outlook.com",
        "time": "Sat Jul 30 18:35:23 2022 +0800"
      },
      "message": "fix: Make request values not readonly and fix dir typos\n\nSigned-off-by: sagilio \u003csagilio@outlook.com\u003e\n"
    },
    {
      "commit": "fc30233865ce0888bd7f3c21aa834c75102f29e9",
      "tree": "422da58b0f4eeaae08c69fc192f86b34c28b2b84",
      "parents": [
        "476564053bfb557ab399dbbd48983595d8604bc7",
        "1a756d5f33e97f1813db4ae0d01d6ae238c629d4"
      ],
      "author": {
        "name": "Sagilio",
        "email": "sagilio@outlook.com",
        "time": "Fri Jul 29 09:23:39 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 29 09:23:39 2022 -0500"
      },
      "message": "Merge pull request #272 from sociometry/preview_values\n\nfeat: Use PolicyValues at models instead of IEnumerable"
    }
  ],
  "next": "1a756d5f33e97f1813db4ae0d01d6ae238c629d4"
}
