)]}'
{
  "log": [
    {
      "commit": "3258a4e4aa3169823057ccc25acec52c32831e6a",
      "tree": "9d3ae7a60f19f57e194881294d338279ed386c84",
      "parents": [
        "a7903ab189bbf2b5c5c9afb3409158a6273b5726"
      ],
      "author": {
        "name": "AlabLan",
        "email": "52072172+AlabLan@users.noreply.github.com",
        "time": "Tue Jun 16 22:54:40 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Tue Jun 16 22:57:10 2026 +0800"
      },
      "message": "feat: add keyGet3 function (#522)\n"
    },
    {
      "commit": "a7903ab189bbf2b5c5c9afb3409158a6273b5726",
      "tree": "e089e5ca037dcb7387f1e09fecf37328eb701453",
      "parents": [
        "58dfd3981065fc05eefc62bda7f378bbe39bd685"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Tue Jun 16 22:50:43 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Tue Jun 16 22:50:43 2026 +0800"
      },
      "message": "feat: add getAllUsers/getAllNamedUsers API ported from Go\n"
    },
    {
      "commit": "58dfd3981065fc05eefc62bda7f378bbe39bd685",
      "tree": "09c4d01b37aeb75f4111eabab455bf669b1998d4",
      "parents": [
        "ab2403e291474f921f7c8f6f0be3f6ac176dbeef"
      ],
      "author": {
        "name": "cooronx",
        "email": "54298598+cooronx@users.noreply.github.com",
        "time": "Tue Apr 28 23:34:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 23:34:37 2026 +0800"
      },
      "message": "feat: auto release snapshot versions now (#521)"
    },
    {
      "commit": "ab2403e291474f921f7c8f6f0be3f6ac176dbeef",
      "tree": "5f5bb54731f1ddb58a9c90f7ec1ec34c99a85af7",
      "parents": [
        "97d474bcdf17df72563e528db66c22d956d639fb"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Feb 13 01:09:28 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Feb 13 01:09:28 2026 +0800"
      },
      "message": "feat: block AviatorScript-specific syntax in eval() for cross-platform compatibility (#514)\n"
    },
    {
      "commit": "97d474bcdf17df72563e528db66c22d956d639fb",
      "tree": "f07450e63f47ce089c8dd1b0350c1a989f37a9dc",
      "parents": [
        "c617f4d25efec58d41d7b75fcc10da29457c2669"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Feb 12 22:55:07 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Feb 12 22:55:07 2026 +0800"
      },
      "message": "feat: fix race condition in enforce() causing ArrayIndexOutOfBoundsException (#513)\n"
    },
    {
      "commit": "c617f4d25efec58d41d7b75fcc10da29457c2669",
      "tree": "c315aecee1e7be45cfb7ce501cf3a2ba645f25b0",
      "parents": [
        "6504a9eb01e42eb2079341b8f80fe3ba1ae285e1"
      ],
      "author": {
        "name": "Asa Sprow",
        "email": "66881186+TheSecondReal0@users.noreply.github.com",
        "time": "Wed Feb 11 19:03:40 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 12 10:03:40 2026 +0800"
      },
      "message": "feat: Allow passing enableLog flag when creating SyncedEnforcer with adapter (#510)\n\n"
    },
    {
      "commit": "6504a9eb01e42eb2079341b8f80fe3ba1ae285e1",
      "tree": "598f1db875923b2c1eb703b53831c1bde0f61b8c",
      "parents": [
        "aa90a03a0f5ad5e67660f9eb5435120b417f5c57"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Jan 23 16:11:28 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Jan 23 16:11:28 2026 +0800"
      },
      "message": "feat: replace JUnit with TestNG\n"
    },
    {
      "commit": "aa90a03a0f5ad5e67660f9eb5435120b417f5c57",
      "tree": "aa8097eec72d68bb26c129fb5009d4111656a939",
      "parents": [
        "eb4476f740a6f91e58489eba7f903172cfef3eb8"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Jan 23 10:27:17 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Jan 23 10:27:17 2026 +0800"
      },
      "message": "feat: replace JMH with lightweight timing-based benchmarks (#503)\n"
    },
    {
      "commit": "eb4476f740a6f91e58489eba7f903172cfef3eb8",
      "tree": "7367ce5c6059a6d26c3d697d3734a38a8fdadf5c",
      "parents": [
        "53d9a5f9f6c1d8fd72c5e7ab3659c3d02a3ff1fe"
      ],
      "author": {
        "name": "nomeguy",
        "email": "nomeguy@qq.com",
        "time": "Fri Jan 23 02:51:28 2026 +0800"
      },
      "committer": {
        "name": "nomeguy",
        "email": "nomeguy@qq.com",
        "time": "Fri Jan 23 02:51:28 2026 +0800"
      },
      "message": "feat: update dependency (#501)\n"
    },
    {
      "commit": "53d9a5f9f6c1d8fd72c5e7ab3659c3d02a3ff1fe",
      "tree": "f12f48d7924c13755d82bf44cf2e97b23d7dbbf4",
      "parents": [
        "b3347327b3f0f4a2d0d24f0790326c902dfe7074"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Jan 07 19:39:41 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Jan 07 19:39:41 2026 +0800"
      },
      "message": "feat: fix \u0027in\u0027 operator parsing for tuple literals in matcher expressions (#499)\n"
    },
    {
      "commit": "b3347327b3f0f4a2d0d24f0790326c902dfe7074",
      "tree": "daf0f11ea0b2b75c678202b64a6aa2ebea26c43e",
      "parents": [
        "bb6cda3afd6424ab81dccb1457c214d98fd77c9c"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Jan 01 23:00:06 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Jan 01 23:00:06 2026 +0800"
      },
      "message": "feat: Port GetAllowedObjectConditions() from Go Casbin (#493)\n"
    },
    {
      "commit": "bb6cda3afd6424ab81dccb1457c214d98fd77c9c",
      "tree": "6b36aa7a2d4767272ba62b9a6229ebaefb700eaa",
      "parents": [
        "c9155af95ac406c2c6dd16935530d8bd075caf60"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Jan 01 10:30:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 01 10:30:22 2026 +0800"
      },
      "message": "fix: improve links in README"
    },
    {
      "commit": "c9155af95ac406c2c6dd16935530d8bd075caf60",
      "tree": "ad387fc6f85da116541436b91c791d082da95f2b",
      "parents": [
        "dbe4ec4e4c0bc4e40910613ed6f325c7ae240b54"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Dec 31 23:04:53 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Dec 31 23:04:53 2025 +0800"
      },
      "message": "feat: port benchmark test cases from Go to Java (#480)\n"
    },
    {
      "commit": "dbe4ec4e4c0bc4e40910613ed6f325c7ae240b54",
      "tree": "e4ccd659eb850277b08ef0b1ffabf5346f4843c8",
      "parents": [
        "979755b31e84f0af5807dd82b3883720c5ad0165"
      ],
      "author": {
        "name": "Zhifan Cui",
        "email": "beifengxuanxiao@126.com",
        "time": "Wed Dec 31 02:17:44 2025 +0800"
      },
      "committer": {
        "name": "Zhifan Cui",
        "email": "beifengxuanxiao@126.com",
        "time": "Wed Dec 31 02:17:44 2025 +0800"
      },
      "message": "feat: remove reflection dependency and support generic RoleManager in DefaultDetector (#488)\n"
    },
    {
      "commit": "979755b31e84f0af5807dd82b3883720c5ad0165",
      "tree": "cf925ec1fd5d68e4f12fb42c4e5029a045605cae",
      "parents": [
        "feedfc9ce5f4476883489b7a3001f46eeb1a59a5"
      ],
      "author": {
        "name": "Zhifan Cui",
        "email": "beifengxuanxiao@126.com",
        "time": "Mon Dec 29 02:05:56 2025 +0800"
      },
      "committer": {
        "name": "Zhifan Cui",
        "email": "beifengxuanxiao@126.com",
        "time": "Mon Dec 29 02:05:56 2025 +0800"
      },
      "message": "feat: add DefaultDetector which supports RBAC role loop detection (#483)\n"
    },
    {
      "commit": "feedfc9ce5f4476883489b7a3001f46eeb1a59a5",
      "tree": "b2e114b527730f9761aaeae5f28c930fc25aa75f",
      "parents": [
        "3cda9267ddd21933fde02a0663960681a3354f7c"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sun Dec 28 19:12:25 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 28 19:12:25 2025 +0800"
      },
      "message": "chore: improve README"
    },
    {
      "commit": "3cda9267ddd21933fde02a0663960681a3354f7c",
      "tree": "9f0f1a85a5bfbad57664e0c7919f587b870d9cf0",
      "parents": [
        "d79d4db476e3714ff3d2441b221f10f28d1468fa"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sun Dec 28 19:11:04 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sun Dec 28 19:11:04 2025 +0800"
      },
      "message": "fix: fix duplicate CI runs on pull requests (#482)\n"
    },
    {
      "commit": "d79d4db476e3714ff3d2441b221f10f28d1468fa",
      "tree": "5bffdeb6305dde38efda3058b82e6076e3b11ae0",
      "parents": [
        "d2c53b38d2777f59e14126533069e29e1b528f57"
      ],
      "author": {
        "name": "Zhifan Cui",
        "email": "beifengxuanxiao@126.com",
        "time": "Sun Dec 28 18:55:59 2025 +0800"
      },
      "committer": {
        "name": "Zhifan Cui",
        "email": "beifengxuanxiao@126.com",
        "time": "Sun Dec 28 18:55:59 2025 +0800"
      },
      "message": "feat: add Detector interface (#478)\n"
    },
    {
      "commit": "d2c53b38d2777f59e14126533069e29e1b528f57",
      "tree": "a8a5198e3bbaae11fae4c507680a85eceb63421a",
      "parents": [
        "1229948c77f6dfe97290db9310d9481d5f4885bd"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 01:27:45 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 01:27:45 2025 +0800"
      },
      "message": "feat: remove CI verify-release step to avoid version mismatch and Maven Central timeouts (#470)\n"
    },
    {
      "commit": "1229948c77f6dfe97290db9310d9481d5f4885bd",
      "tree": "c8848d493383b8d50dcb168cefb7e3589f76bb2f",
      "parents": [
        "f5e25e315e4790c3e54b62a0d36160f10e5f89ff"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 00:09:46 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 00:09:46 2025 +0800"
      },
      "message": "feat: change static ReadWriteLock to instance lock in SyncedEnforcer (#467)\n"
    },
    {
      "commit": "f5e25e315e4790c3e54b62a0d36160f10e5f89ff",
      "tree": "2de6e8be2f0ffd46879e24f375def20cc775b764",
      "parents": [
        "9d786aa03fa58940de5d97acae07f6a6644ecc9b"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Dec 19 23:55:26 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 19 23:55:26 2025 +0800"
      },
      "message": "fix: remove irrelevant links in README"
    },
    {
      "commit": "9d786aa03fa58940de5d97acae07f6a6644ecc9b",
      "tree": "6ec4abcef75e5e4fca851e316511bd1f0245737a",
      "parents": [
        "58903b0002e7f2b1f5f675642f7cc1e26fb60189"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sun Oct 12 09:50:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 12 09:50:56 2025 +0800"
      },
      "message": "fix: remove codebeat badge in README"
    },
    {
      "commit": "58903b0002e7f2b1f5f675642f7cc1e26fb60189",
      "tree": "46ec1cb99dc7bb5e103546bf29b35007b4f311ff",
      "parents": [
        "747eb33b9ae39a4aa9006db52cf3b0f57825ee3c"
      ],
      "author": {
        "name": "Copilot",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Sun Oct 12 02:26:59 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 12 02:26:59 2025 +0800"
      },
      "message": "feat: adds the missing `AddGroupingPoliciesEx` and `AddNamedGroupingPoliciesEx` APIs to sync jCasbin with Go Casbin (#463)\n\n"
    },
    {
      "commit": "747eb33b9ae39a4aa9006db52cf3b0f57825ee3c",
      "tree": "292fd8327e376510ff8f320b955e249ee09c62a8",
      "parents": [
        "e5148c6bd82048a15cc47d1c40ea9c966f2cde28"
      ],
      "author": {
        "name": "D0000M",
        "email": "62919166+D0000M@users.noreply.github.com",
        "time": "Mon Aug 11 19:01:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 11 19:01:51 2025 +0800"
      },
      "message": "feat: sync with Casbin Go version: \"g\" function takes the first 3 parameters and truncates the rest (#458)\n\n"
    },
    {
      "commit": "e5148c6bd82048a15cc47d1c40ea9c966f2cde28",
      "tree": "60e73f75fe872d6c06ce4ea150b25a5636e746cb",
      "parents": [
        "97a3bdd3ce28a619a1475e8f9a0078846b5b19b4"
      ],
      "author": {
        "name": "raiki02",
        "email": "Raiki_Sakura@mails.ccnu.edu.cn",
        "time": "Sat Aug 09 10:36:49 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 09 10:36:49 2025 +0800"
      },
      "message": "feat: fix CachedEnforcer bug that false result was not cached (#457)\n\n"
    },
    {
      "commit": "97a3bdd3ce28a619a1475e8f9a0078846b5b19b4",
      "tree": "952cf4fcbeb93a5e878a1c43305f1be8800aabca",
      "parents": [
        "697daa032b072fa23afe4133becf4436570c41d1"
      ],
      "author": {
        "name": "ilia1243",
        "email": "8808144+ilia1243@users.noreply.github.com",
        "time": "Sat Jun 07 15:31:04 2025 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 07 20:31:04 2025 +0800"
      },
      "message": "feat: optimizations when logging is disabled (#453)\n\n"
    },
    {
      "commit": "697daa032b072fa23afe4133becf4436570c41d1",
      "tree": "73f0f3ad4e62c6852f4e8cb765e3ca4152792c7e",
      "parents": [
        "677c1061743235a0903514a06b665b9b52b89ee4"
      ],
      "author": {
        "name": "Krzysztof Dębski",
        "email": "kdebski85@users.noreply.github.com",
        "time": "Tue Mar 04 02:08:59 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 04 09:08:59 2025 +0800"
      },
      "message": "feat: optimize fast path in convertInSyntax method (#451)\n\n"
    },
    {
      "commit": "677c1061743235a0903514a06b665b9b52b89ee4",
      "tree": "bf4d3f33b86bb8019aa655ff130d74b0afe07701",
      "parents": [
        "747234b26056503b610e20909fcb221691b30bd7"
      ],
      "author": {
        "name": "Krzysztof Dębski",
        "email": "kdebski85@users.noreply.github.com",
        "time": "Fri Feb 21 17:31:14 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Feb 22 00:31:14 2025 +0800"
      },
      "message": "feat: optimize convertInSyntax\u0027s performance (#450)\n\nOptimise convertInSyntax method by compiling Pattern only once and creating StringBuffer only when needed."
    },
    {
      "commit": "747234b26056503b610e20909fcb221691b30bd7",
      "tree": "0751a4233f679e69d109ba3b418948dbdecf57e0",
      "parents": [
        "bf39736989607b2e88d3085c80abda3785185c40"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Fri Jan 17 18:32:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 17 18:32:30 2025 +0800"
      },
      "message": "feat: sync keyMatch5 from Go to Java (#449)\n\n"
    },
    {
      "commit": "bf39736989607b2e88d3085c80abda3785185c40",
      "tree": "b52c7a15cd7f897b0aa71f3af0fb6acb3325e2ee",
      "parents": [
        "50d19675e9eeaa7b7ae78c94e67a85d601a75ac5"
      ],
      "author": {
        "name": "hsluoyz",
        "email": "hsluoyz@qq.com",
        "time": "Wed Dec 25 23:00:38 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 25 23:00:38 2024 +0800"
      },
      "message": "feat: Revert \"feat: fix the double quotes caused eval() bug\" (#448)\n\nThis reverts commit 50d19675e9eeaa7b7ae78c94e67a85d601a75ac5."
    },
    {
      "commit": "50d19675e9eeaa7b7ae78c94e67a85d601a75ac5",
      "tree": "bcb8e44242ad2b7a6f9f41ade35d881f923d9336",
      "parents": [
        "16ced482b273cea6421dce554f10972f9ef537a1"
      ],
      "author": {
        "name": "TX",
        "email": "76741680+tx2002@users.noreply.github.com",
        "time": "Mon Dec 02 20:02:43 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 02 20:02:43 2024 +0800"
      },
      "message": "feat: fix the double quotes caused eval() bug (#443)\n\n* feat: fix the double quotes caused eval() bug\r\n\r\n* feat: fix the conf file\r\n\r\n* feat: fix the test case"
    },
    {
      "commit": "16ced482b273cea6421dce554f10972f9ef537a1",
      "tree": "b52c7a15cd7f897b0aa71f3af0fb6acb3325e2ee",
      "parents": [
        "769694fac2e8250f7ef121778f7eb6c3be1c48f0"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Mon Dec 02 00:23:50 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 02 00:23:50 2024 +0800"
      },
      "message": "feat: improve removePolicy and removePolicies in CachedEnforcer (#446)\n\n"
    },
    {
      "commit": "769694fac2e8250f7ef121778f7eb6c3be1c48f0",
      "tree": "697ed4200845fd5ef5fbfed764786a2991589d5e",
      "parents": [
        "8dd49408a67e604e5e0e23c945f076f7cd40175c"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Sun Dec 01 11:15:00 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 01 11:15:00 2024 +0800"
      },
      "message": "feat: add missing code to SyncedCachedEnforcer and fix cache not used issue (#444)\n\n"
    },
    {
      "commit": "8dd49408a67e604e5e0e23c945f076f7cd40175c",
      "tree": "7c5f1065fc3f4d00a9ee636a21f99c24f23ef110",
      "parents": [
        "7e28e6276b11d65844f125b4c97a8129024d7b13"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Thu Nov 14 22:03:40 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 14 22:03:40 2024 +0800"
      },
      "message": "feat: upgrade all jCasbin dependencies to latest (#441)\n\n* fix: fix potential null pointer issue\r\n\r\n* feat: upgrade all jCasbin dependencies to latest"
    },
    {
      "commit": "7e28e6276b11d65844f125b4c97a8129024d7b13",
      "tree": "9a6d83c8cf20881604e1eaa6f7691ada87a728f6",
      "parents": [
        "6fc0c4ea5f343c6bbcca9b2e1e0bb00d5d32e14a"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Fri Nov 08 20:56:07 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 08 20:56:07 2024 +0800"
      },
      "message": "feat: fix potential null pointer issue in loadPolicyLine() (#439)\n\n"
    },
    {
      "commit": "6fc0c4ea5f343c6bbcca9b2e1e0bb00d5d32e14a",
      "tree": "22c75c473fa766da5fd7e276bbc07e940398bfa3",
      "parents": [
        "9b60f708048616e1bc4c768badbc5be42b5b6513"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Sun Nov 03 21:08:06 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 03 21:08:06 2024 +0800"
      },
      "message": "feat: add SyncedCachedEnforcer class (#438)\n\n"
    },
    {
      "commit": "9b60f708048616e1bc4c768badbc5be42b5b6513",
      "tree": "2de09b4f81240d8285046a394d634a1d36cd4e45",
      "parents": [
        "29bbc180bda16e0c0ca60c9cb81fc209f416f08f"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Wed Oct 23 23:26:52 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 23:26:52 2024 +0800"
      },
      "message": "feat: port CachedEnforcer API from Go to Java (#435)\n\n"
    },
    {
      "commit": "29bbc180bda16e0c0ca60c9cb81fc209f416f08f",
      "tree": "fbf2f9301eef748c64d0164af557cd2bfd6e0e71",
      "parents": [
        "08333cb7f6c88bf6a3162068e60602c445b21c8e"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Fri Oct 11 15:56:36 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 11 15:56:36 2024 +0800"
      },
      "message": "feat: fix javadoc badge and comment typo (#433)\n\n* Update README.md\r\n\r\n* modify note"
    },
    {
      "commit": "08333cb7f6c88bf6a3162068e60602c445b21c8e",
      "tree": "6511914d7b3f2e2c162df3d90f7fe3ca36f3c767",
      "parents": [
        "89b4c56a3da2e80fa727ee613cebf6c2bc5486ba"
      ],
      "author": {
        "name": "sukidayou",
        "email": "77531556+sukidayou@users.noreply.github.com",
        "time": "Wed Oct 09 23:53:10 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 09 23:53:10 2024 +0800"
      },
      "message": "feat: fix javadoc (#432)\n\n"
    },
    {
      "commit": "89b4c56a3da2e80fa727ee613cebf6c2bc5486ba",
      "tree": "4611de6d5bf218e70520c86552d52a6b117ab27a",
      "parents": [
        "f49fddb235450bfdec877a2ac1851210c444fe81"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Mon Oct 07 23:15:39 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 07 23:15:39 2024 +0800"
      },
      "message": "feat: Revert \"feat: fix the comma separater bug\" (#431)\n\nThis reverts commit bab355068301018fa16ef26c9e3d08118dcbfd26."
    },
    {
      "commit": "f49fddb235450bfdec877a2ac1851210c444fe81",
      "tree": "edef2316f6f5418500b4f933715c2520277382f9",
      "parents": [
        "d2e2f78c36c10b11ea3f7ae2cbfc2796d2b4dcf8"
      ],
      "author": {
        "name": "TX",
        "email": "76741680+tx2002@users.noreply.github.com",
        "time": "Sun Oct 06 22:40:32 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 06 22:40:32 2024 +0800"
      },
      "message": "feat: upgrade aviator dependency to latest v5.4.3 (#427)\n\n"
    },
    {
      "commit": "d2e2f78c36c10b11ea3f7ae2cbfc2796d2b4dcf8",
      "tree": "ba6bce54e29d30c225ca6d044ebc25481a801d83",
      "parents": [
        "bc46d4926ebefb5922fab8673082d0e1f00aded5"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Oct 02 16:47:26 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Oct 02 16:47:26 2024 +0800"
      },
      "message": "feat: remove CLI code, revert PR: https://github.com/casbin/jcasbin/pull/402\n"
    },
    {
      "commit": "bc46d4926ebefb5922fab8673082d0e1f00aded5",
      "tree": "9cb78a13319c4992060840746a49417b47915001",
      "parents": [
        "de2d6487100882b24c9c90334708feccdb2effd6"
      ],
      "author": {
        "name": "Donald Chinhuru",
        "email": "donychinhuru@gmail.com",
        "time": "Sat Sep 28 16:02:48 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 28 22:02:48 2024 +0800"
      },
      "message": "feat: fix bug to make batchEnforce method take all passes policy arguments (#415)\n\nAdd a fix for batch enforce to take all arguments\r\nAdded a test for domain batch enforce"
    },
    {
      "commit": "de2d6487100882b24c9c90334708feccdb2effd6",
      "tree": "5fece31b86bb10052bae0880406e0d783ddfe506",
      "parents": [
        "4f137232dd66a2e991d679bcc6a47735c4b6dae0"
      ],
      "author": {
        "name": "Liao Xin",
        "email": "93535922+liewstar@users.noreply.github.com",
        "time": "Fri Sep 27 11:03:13 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 27 11:03:13 2024 +0800"
      },
      "message": "feat: modify pom.xml to publish automatically (#423)\n\n"
    },
    {
      "commit": "4f137232dd66a2e991d679bcc6a47735c4b6dae0",
      "tree": "65f3b16ce29ea46e108afea7ee1a514403b135a7",
      "parents": [
        "b2777e7436f7e982f18a54825fe94f0617de68f7"
      ],
      "author": {
        "name": "Liao Xin",
        "email": "93535922+liewstar@users.noreply.github.com",
        "time": "Fri Sep 27 08:07:35 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 27 08:07:35 2024 +0800"
      },
      "message": "feat: change pom.xml version from 1.7.1-SNAPSHOT to 1.7.1 (#422)\n\n"
    },
    {
      "commit": "b2777e7436f7e982f18a54825fe94f0617de68f7",
      "tree": "9bd298b24ae0fa47ee44048ec708ca2bf32f6cc9",
      "parents": [
        "c8385a633a8dc09f72f17a5541840aca16d9b319"
      ],
      "author": {
        "name": "Liao Xin",
        "email": "93535922+liewstar@users.noreply.github.com",
        "time": "Thu Sep 26 22:10:07 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 26 22:10:07 2024 +0800"
      },
      "message": "feat: fix pom.xml to fix CI (#421)\n\n"
    },
    {
      "commit": "c8385a633a8dc09f72f17a5541840aca16d9b319",
      "tree": "716e17421dfd6aee9c2d0769f6f0ff3faaf4d72e",
      "parents": [
        "1d89844afa51d8b4171c90539e7b0b2c134633be"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Sep 26 16:36:09 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Sep 26 16:36:09 2024 +0800"
      },
      "message": "feat: improve README\n"
    },
    {
      "commit": "1d89844afa51d8b4171c90539e7b0b2c134633be",
      "tree": "4d0429efea12e8a170bd2465536cc070c2cc1a06",
      "parents": [
        "4abeb4a37abae2657a870d8f82a3e48506c24fde"
      ],
      "author": {
        "name": "Liao Xin",
        "email": "93535922+liewstar@users.noreply.github.com",
        "time": "Sat Sep 07 22:47:59 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 07 22:47:59 2024 +0800"
      },
      "message": "feat: support AddNamedPoliciesEx API (#417)\n\n"
    },
    {
      "commit": "4abeb4a37abae2657a870d8f82a3e48506c24fde",
      "tree": "0d54ef7171f39b300d38cc7dd4cbca3ba45834bf",
      "parents": [
        "6776f75f44edf1b9cf59a9e9b0234266692108d1"
      ],
      "author": {
        "name": "Jack",
        "email": "57058925+JackYifan@users.noreply.github.com",
        "time": "Mon Jul 29 11:03:27 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 29 11:03:27 2024 +0800"
      },
      "message": "feat: support CLI usage for enforceEx (#406)\n\n"
    },
    {
      "commit": "6776f75f44edf1b9cf59a9e9b0234266692108d1",
      "tree": "6721f7b5e454c835ea56e4dcd00668b0a8b60ac1",
      "parents": [
        "bab355068301018fa16ef26c9e3d08118dcbfd26"
      ],
      "author": {
        "name": "Liao Xin",
        "email": "93535922+liewstar@users.noreply.github.com",
        "time": "Sat Jul 27 17:58:10 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jul 27 17:58:10 2024 +0800"
      },
      "message": "feat: sync conditional roles to regular roles to fix ConditionalRoleManager bug (#410)\n\n* feat:synchronize conditional roles to regular roles\r\n\r\n* feat:synchronize the rmMap"
    },
    {
      "commit": "bab355068301018fa16ef26c9e3d08118dcbfd26",
      "tree": "fa2ae9871206c9878bb26c9a77163850104fb897",
      "parents": [
        "4ab634698d62d130fd5029791b058353831e9357"
      ],
      "author": {
        "name": "Liao Xin",
        "email": "93535922+liewstar@users.noreply.github.com",
        "time": "Fri Jul 26 02:22:48 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 26 02:22:48 2024 +0800"
      },
      "message": "feat: fix the comma separater bug (#408)\n\n* fix:the commoa separated bug\r\n\r\n* fix:the commoa separated bug\r\n\r\n* fix:modify word spelling"
    },
    {
      "commit": "4ab634698d62d130fd5029791b058353831e9357",
      "tree": "341e17163cdbe99444faadda63cb6e19f3f6e579",
      "parents": [
        "1dab612d58fc3bb9759e0a69076d8e91166ce9f4"
      ],
      "author": {
        "name": "Jack",
        "email": "57058925+JackYifan@users.noreply.github.com",
        "time": "Sat Jun 29 21:50:55 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 29 21:50:55 2024 +0800"
      },
      "message": "feat: support CLI usage for jCasbin (#402)\n\n* feat: support CLI usage for jCasbin\r\n\r\n* feat: output the result on the console"
    },
    {
      "commit": "1dab612d58fc3bb9759e0a69076d8e91166ce9f4",
      "tree": "06eb992ba37de5f8689e34c58f653f6ec459f554",
      "parents": [
        "536d194a72f2643fd4808177f1714f968daf2249"
      ],
      "author": {
        "name": "Jack",
        "email": "57058925+JackYifan@users.noreply.github.com",
        "time": "Sun Jun 16 11:29:32 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 16 11:29:32 2024 +0800"
      },
      "message": "feat: add user interactions in casbinJsGetPermissionForUser method (#397)\n\n* feat: add user interactions in casbinJsGetPermissionForUser method\r\n\r\n* fix: Refactoring method casbinJsGetPermissionForUser"
    },
    {
      "commit": "536d194a72f2643fd4808177f1714f968daf2249",
      "tree": "38bb41f10199d22341df6cd984e6102aacf6c4ee",
      "parents": [
        "c7d1c21a68dc389490b9fc00c8f081499f896f8b"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Wed Mar 27 23:41:15 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 27 23:41:15 2024 +0800"
      },
      "message": "feat: support rbac-with-conditions for jcasbin (#392)\n\n"
    },
    {
      "commit": "c7d1c21a68dc389490b9fc00c8f081499f896f8b",
      "tree": "bb0cb64c522b57262c373a48c6c3e3713bfd56dd",
      "parents": [
        "c56af29ed2fe1b02c12a2bb1c44c7dc36d8089ea"
      ],
      "author": {
        "name": "nohup",
        "email": "hi@nohup.life",
        "time": "Mon Mar 18 20:48:35 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 18 20:48:35 2024 +0800"
      },
      "message": "feat: support AutoSave in built-in FileAdapter (#391)\n\n* feat: implement `FileAdapter` addPolicy(), removePolicy()\r\n\r\n* fix: unit test compatible with autoSave\r\n\r\n* fix: sync\r\n\r\n* fix: set fileAdapter autoSave default false\r\n\r\n* fix: sync"
    },
    {
      "commit": "c56af29ed2fe1b02c12a2bb1c44c7dc36d8089ea",
      "tree": "67034b33556339ad0510c0863bea1ebeb1390313",
      "parents": [
        "95ed3531a69fac1bbade77da773d5b659773907e"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Thu Mar 14 00:00:36 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Mar 14 00:01:28 2024 +0800"
      },
      "message": "feat: fix ConcurrentModificationException bug that breaks Enforcer when calling Enforce() (#390)\n"
    },
    {
      "commit": "95ed3531a69fac1bbade77da773d5b659773907e",
      "tree": "a7f48c03f7a06cd6396d564ba4872b221346ef19",
      "parents": [
        "518a92ca3186ab69e20f62c6a6b0b278f5c97d10"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sun Mar 10 12:41:58 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sun Mar 10 12:41:58 2024 +0800"
      },
      "message": "feat: upgrade jackson-databind dependency to 2.16.1\n"
    },
    {
      "commit": "518a92ca3186ab69e20f62c6a6b0b278f5c97d10",
      "tree": "8032c7b0538defaf12689fb0854ae2c809775e81",
      "parents": [
        "c2c0df8ba0ba72a90f671710c4025e57d42d9f5c"
      ],
      "author": {
        "name": "CoolLoong",
        "email": "1542536763@qq.com",
        "time": "Thu Mar 07 14:36:54 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 07 14:36:54 2024 +0800"
      },
      "message": "feat: add watcher test (ported from Go\u0027s watcher_test.go) (#386)\n\n"
    },
    {
      "commit": "c2c0df8ba0ba72a90f671710c4025e57d42d9f5c",
      "tree": "c107fa0f6e597fa0064d3f0a2c1c608319d221de",
      "parents": [
        "76e97d74d88553eb71a7a1a3d76116d628e411f1"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Fri Mar 01 22:19:34 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 01 22:19:34 2024 +0800"
      },
      "message": "feat: port 2 new test cases to jCasbin (#385)\n\n"
    },
    {
      "commit": "76e97d74d88553eb71a7a1a3d76116d628e411f1",
      "tree": "c52286302c7ff1ef0b256f29eaf4c8ede11b8cc4",
      "parents": [
        "7be55842f25a29215673e7f46edba8fe18cf6e18"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Fri Feb 23 19:58:41 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 23 19:58:41 2024 +0800"
      },
      "message": "fix: add 2 test cases from go to java (#383)\n\n"
    },
    {
      "commit": "7be55842f25a29215673e7f46edba8fe18cf6e18",
      "tree": "afd58e99c3e51542a6ab6b75593ad5ef204d37c8",
      "parents": [
        "eb7f93118e4f6d93e44cd779ce17a2f5f2d81387"
      ],
      "author": {
        "name": "Xu Zerui",
        "email": "154111660+amikecoXu@users.noreply.github.com",
        "time": "Mon Feb 19 20:32:42 2024 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 19 19:32:42 2024 +0800"
      },
      "message": "feat: Update com.github.seancfoley:ipaddress version (#382)\n\n"
    },
    {
      "commit": "eb7f93118e4f6d93e44cd779ce17a2f5f2d81387",
      "tree": "484a23d7a489a08a1735b6aea055ffd4d909064d",
      "parents": [
        "1723946d1f28bcbc01bab648d831d1204cdf526c"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Thu Feb 15 23:53:35 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 15 23:53:35 2024 +0800"
      },
      "message": "feat: support comment (\"#\",\";\") in model (testCommentModel) (#381)\n\n"
    },
    {
      "commit": "1723946d1f28bcbc01bab648d831d1204cdf526c",
      "tree": "193b803cb3b25034518d0c6ef01874d1e774553b",
      "parents": [
        "8d2aff1b7c2ddff4a7a80d8564e7a7952206f1a0"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Thu Feb 15 22:17:05 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 15 22:17:05 2024 +0800"
      },
      "message": "feat: sync test cases in ModelUnitTest (#379)\n\n"
    },
    {
      "commit": "8d2aff1b7c2ddff4a7a80d8564e7a7952206f1a0",
      "tree": "2c8f19b37422e074c0f37c5a8465f5aa60b30772",
      "parents": [
        "2c363e14043d493ff082c1487f9fcbe859979256"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Thu Feb 15 21:29:34 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 15 21:29:34 2024 +0800"
      },
      "message": "fix: fix not using policy bug for enforcer (testABACJsonRequest, testABACNotUsingPolicy) (#378)\n\n"
    },
    {
      "commit": "2c363e14043d493ff082c1487f9fcbe859979256",
      "tree": "d5242430ccc6064e4c9716736b771b3994285858",
      "parents": [
        "00bc8e8fe556b6e1e9ae363c012fe659181eab99"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Sun Feb 04 01:33:52 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 04 01:33:52 2024 +0800"
      },
      "message": "feat: add ABAC \u0026 JSON related test cases (#376)\n\n"
    },
    {
      "commit": "00bc8e8fe556b6e1e9ae363c012fe659181eab99",
      "tree": "c5fbc6be16d2911e4507cfd576255143c3a3bd01",
      "parents": [
        "899dc83948dd8f15e74466c7cbde69f96f48a271"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Sat Jan 27 09:43:30 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 27 09:43:30 2024 +0800"
      },
      "message": "feat: sync rbac_with_pattern model test cases (#374)\n\n"
    },
    {
      "commit": "899dc83948dd8f15e74466c7cbde69f96f48a271",
      "tree": "f4977bef83aa7a6f0111fae568247e034cad57fd",
      "parents": [
        "cc0916261a481634b56668103a7125e8edf3047c"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Thu Jan 18 18:18:39 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 18 18:18:39 2024 +0800"
      },
      "message": "feat: sync ModelTest case from Go to Java (#373)\n\n* test\r\n\r\n* fix: sync ModelTest case from Go to Java\r\n\r\n* fix: solve build failed error"
    },
    {
      "commit": "cc0916261a481634b56668103a7125e8edf3047c",
      "tree": "ee8ab06adf444d2c36a845e06020c65309e1963c",
      "parents": [
        "80502d49b301fa2f6b7b0bcff5a241b7d445d5ad"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Jan 18 18:06:06 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Jan 18 18:06:06 2024 +0800"
      },
      "message": "ci: update CI Node.js version\n"
    },
    {
      "commit": "80502d49b301fa2f6b7b0bcff5a241b7d445d5ad",
      "tree": "7ee7626d73f9a0d1a4ee0b8b850f5d3e35a3c45f",
      "parents": [
        "05eeaddb116543b98109dc1423f9a1d0af559e1b"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Tue Jan 09 14:13:44 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 09 14:13:44 2024 +0800"
      },
      "message": "feat: add DefaultLogger feature (#371)\n\n* fix: sync log form go to java\r\n\r\n* feat: sync log from go to java"
    },
    {
      "commit": "05eeaddb116543b98109dc1423f9a1d0af559e1b",
      "tree": "4a5148b5d3ece5b1519b0925531afbbe060e4ad2",
      "parents": [
        "62db6d7a615bab6e12bf3c5442219e7edfd2f70d"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Fri Jan 05 10:19:42 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 05 10:19:42 2024 +0800"
      },
      "message": "fix: sync config test case from Go to Java (#369)\n\n"
    },
    {
      "commit": "62db6d7a615bab6e12bf3c5442219e7edfd2f70d",
      "tree": "77c3a8caf40e1bfc4d8ddeea1fa20ffc2b1644de",
      "parents": [
        "4fb873f8829107289b0cb2566ea7bf2dc3fcc921"
      ],
      "author": {
        "name": "ryenus",
        "email": "ryenus@gmail.com",
        "time": "Tue Jan 02 14:22:52 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 02 14:22:52 2024 +0800"
      },
      "message": "docs: use https urls for Casbin online editor (#368)\n\nas to make the links secure by default."
    },
    {
      "commit": "4fb873f8829107289b0cb2566ea7bf2dc3fcc921",
      "tree": "5d2a6570c69dd323dd55baa4ac73cd17506f5b12",
      "parents": [
        "5efe0a7e863970668824fbf1dc29c7f768adc160"
      ],
      "author": {
        "name": "LMay",
        "email": "67900553+LMay001@users.noreply.github.com",
        "time": "Sun Dec 31 19:54:43 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 31 19:54:43 2023 +0800"
      },
      "message": "feat: support map in ABAC (mainly add test case) (#366)\n\n* support map in ABAC\r\n\r\n* support map in ABAC\r\n\r\n* support map in ABAC"
    },
    {
      "commit": "5efe0a7e863970668824fbf1dc29c7f768adc160",
      "tree": "4546e4759adc7ff8dd24022dd2faca0d9232d37d",
      "parents": [
        "55eac5bf598833cddc3eea4eca75928811e4f093"
      ],
      "author": {
        "name": "Gucheng",
        "email": "85475922+nomeguy@users.noreply.github.com",
        "time": "Wed Dec 20 01:53:36 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 20 01:53:36 2023 +0800"
      },
      "message": "Update README.md"
    },
    {
      "commit": "55eac5bf598833cddc3eea4eca75928811e4f093",
      "tree": "d40c1e22d8e93ebb9a2fc15b2526038858f76b9a",
      "parents": [
        "7297b01949b6a1eea11c76ce25348ab9ee109898"
      ],
      "author": {
        "name": "zhuying1999",
        "email": "57996853+zhuying1999@users.noreply.github.com",
        "time": "Fri Oct 20 21:03:54 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 20 21:03:54 2023 +0800"
      },
      "message": "feat: fix g2 bug in addNamedDomainMatchingFunc() (#363)\n\n"
    },
    {
      "commit": "7297b01949b6a1eea11c76ce25348ab9ee109898",
      "tree": "ebbf5b816a61f538b9dd86c0c5f8af835cd3def1",
      "parents": [
        "a2067ccbc1f732e90ac7e8f8ad4fec5ff4a55736"
      ],
      "author": {
        "name": "Hason",
        "email": "258831020@qq.com",
        "time": "Mon Sep 18 01:59:14 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 18 01:59:14 2023 +0800"
      },
      "message": "feat: Expose getter and setter of aviatorEval for more customization (#359)\n\n* feat: Expose getter and setter of aviatorEval for more customization\r\n\r\n* test: Add test cases for setAviatorEvaluator method"
    },
    {
      "commit": "a2067ccbc1f732e90ac7e8f8ad4fec5ff4a55736",
      "tree": "beac11da058ae7b558300eb0c9e84090db561374",
      "parents": [
        "3d22ec5ca6c36fa5eaabc4e9360ca859ae326249"
      ],
      "author": {
        "name": "Hason",
        "email": "258831020@qq.com",
        "time": "Sun Sep 17 21:44:16 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 17 21:44:16 2023 +0800"
      },
      "message": "feat: optimize eval and error logs (#360)\n\n"
    },
    {
      "commit": "3d22ec5ca6c36fa5eaabc4e9360ca859ae326249",
      "tree": "d27911f570a43647e38eb51fb64c9032cb107ac3",
      "parents": [
        "8c50f922224b45b8788cd977eac1f107705afc0b"
      ],
      "author": {
        "name": "Piotr Zychlinski",
        "email": "52672507+pzet123@users.noreply.github.com",
        "time": "Sat Aug 26 19:25:31 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 27 02:25:31 2023 +0800"
      },
      "message": "feat: Improve CSV file parsing (#357)\n\n"
    },
    {
      "commit": "8c50f922224b45b8788cd977eac1f107705afc0b",
      "tree": "53693f5ed162b255aba2919bed553433593c9fad",
      "parents": [
        "154fa26d8d7de8ec29dd532b7d3760561e285584"
      ],
      "author": {
        "name": "Piotr Zychlinski",
        "email": "52672507+pzet123@users.noreply.github.com",
        "time": "Tue Aug 15 17:47:56 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 16 00:47:56 2023 +0800"
      },
      "message": "fix: use rtype to get request tokens in CoreEnforcer (#355)\n\n"
    },
    {
      "commit": "154fa26d8d7de8ec29dd532b7d3760561e285584",
      "tree": "9a032532a7fdba647685ab55d5c18a0548d57d28",
      "parents": [
        "cf4dd31a10f78ea522a96c249ec7f2413ea16c8f"
      ],
      "author": {
        "name": "Piotr Zychlinski",
        "email": "52672507+pzet123@users.noreply.github.com",
        "time": "Tue Aug 15 11:33:05 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 15 18:33:05 2023 +0800"
      },
      "message": "feat: add flexible EnforceContext constructor (#354)\n\n"
    },
    {
      "commit": "cf4dd31a10f78ea522a96c249ec7f2413ea16c8f",
      "tree": "5bedd8fdd5e9e737b7e30824a719f58f3121823b",
      "parents": [
        "a13ba2fe6c28ed9340d7b969f2871271054d7a35"
      ],
      "author": {
        "name": "鱼竿钓鱼干",
        "email": "46661603+PokIsemaine@users.noreply.github.com",
        "time": "Wed Aug 09 00:43:33 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 09 00:43:33 2023 +0800"
      },
      "message": "feat: improve keyMatch4(), align with Casbin Editor (#353)\n\n"
    },
    {
      "commit": "a13ba2fe6c28ed9340d7b969f2871271054d7a35",
      "tree": "b7678f39e941e7f57cfe5c7bfc03de7f61fdb206",
      "parents": [
        "fa605dfc097f2561af722e66930c6969a2b5a7f3"
      ],
      "author": {
        "name": "JuusoL",
        "email": "juuso.leinonen@gmail.com",
        "time": "Wed Aug 02 17:06:44 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 02 22:06:44 2023 +0800"
      },
      "message": "feat: allow RBAC g policy to have more than 4 elements (#350)\n\n"
    },
    {
      "commit": "fa605dfc097f2561af722e66930c6969a2b5a7f3",
      "tree": "86d7b76d8bdf9d844207c267ca8b920be52de1e1",
      "parents": [
        "0f079c641d4d0e1261bdc664a5ee32ccdbf74e4e"
      ],
      "author": {
        "name": "hsluoyz",
        "email": "hsluoyz@qq.com",
        "time": "Thu Jul 20 17:22:18 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 20 17:22:18 2023 +0800"
      },
      "message": "feat: fix GraalVM bug by switching back to dependency com.googlecode.aviator 5.3.0, revert PR: #326 (#349)\n\n"
    },
    {
      "commit": "0f079c641d4d0e1261bdc664a5ee32ccdbf74e4e",
      "tree": "9290cdd5332c0d0c835565b803f65c6708eea924",
      "parents": [
        "409293602813a4302689fb1d2f8d70a0842bad55"
      ],
      "author": {
        "name": "YunShu",
        "email": "YunShuEmail@foxmail.com",
        "time": "Thu Jul 06 18:16:59 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 06 18:16:59 2023 +0800"
      },
      "message": "docs: replace gitter links with discord (#347)\n\n"
    },
    {
      "commit": "409293602813a4302689fb1d2f8d70a0842bad55",
      "tree": "521a9247fb8bdaa672e5b464018532eae416f476",
      "parents": [
        "98432aa7da8d7cee4177f83752750601e3e54229"
      ],
      "author": {
        "name": "Chen Changjing",
        "email": "107469948+D1zzzY1@users.noreply.github.com",
        "time": "Wed Jun 07 19:53:18 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 07 19:53:18 2023 +0800"
      },
      "message": "ci: add KeyMatch to RBAC inheritance (#343)\n\nCo-authored-by: ‘dizzzy’ \u003c‘dizzyd969@gmail.com’\u003e"
    },
    {
      "commit": "98432aa7da8d7cee4177f83752750601e3e54229",
      "tree": "23730443ad5aad4a0102306caa82241b8bc55d46",
      "parents": [
        "d9564ef5d31672eac6b568edb492ea301cd38f50"
      ],
      "author": {
        "name": "鱼竿钓鱼干",
        "email": "46661603+PokIsemaine@users.noreply.github.com",
        "time": "Wed Jun 07 19:50:38 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 07 19:50:38 2023 +0800"
      },
      "message": "fix: update keyMatch2 for key2 \u003d\u003d * (#344)\n\n"
    },
    {
      "commit": "d9564ef5d31672eac6b568edb492ea301cd38f50",
      "tree": "297b7372975afe1471c86f0b28850680ae280645",
      "parents": [
        "b8df7d8abec2191a5eb010744fe149a30c6f75ea"
      ],
      "author": {
        "name": "鱼竿钓鱼干",
        "email": "46661603+PokIsemaine@users.noreply.github.com",
        "time": "Mon May 29 10:00:33 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 29 10:00:33 2023 +0800"
      },
      "message": "feat: update WatcherEx interface (#342)\n\n* feat: update WatcherEx interface\r\n\r\n* feat: update WatcherEx interface\r\n\r\n* feat: update WatcherEx interface"
    },
    {
      "commit": "b8df7d8abec2191a5eb010744fe149a30c6f75ea",
      "tree": "1291a77b04b6b0bf551f6f36d500216c53d626b8",
      "parents": [
        "5cb884658205a8d881b74c637e15f7b5a961bdc4"
      ],
      "author": {
        "name": "kdebski85",
        "email": "kdebski85@users.noreply.github.com",
        "time": "Sat May 20 12:59:54 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 20 18:59:54 2023 +0800"
      },
      "message": "fix: optimize enforce method by moving common code before \u0027for\u0027 loop (#341)\n\n* perf: Optimize enforce method by moving common code before \u0027for\u0027 loop. BenchmarkABACModel shows about 7% decrease of average operation time.\r\n\r\n* build: Make InternalEnforcerWithDispatcherTest compile with Java 17."
    },
    {
      "commit": "5cb884658205a8d881b74c637e15f7b5a961bdc4",
      "tree": "c463b696049455e559ec0ed1def60f5fff9bad98",
      "parents": [
        "00a5942586640f1089b7b8ad687575659477d579"
      ],
      "author": {
        "name": "imp2002",
        "email": "imp07@qq.com",
        "time": "Wed Mar 29 22:32:28 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 29 22:32:28 2023 +0800"
      },
      "message": "fix: fix no enforceExplain in eft.Deny (#338)\n\n"
    },
    {
      "commit": "00a5942586640f1089b7b8ad687575659477d579",
      "tree": "63951c3844b30ba41c1ae3949fa135782569d2ac",
      "parents": [
        "424486f1550e933a3837ada141f33f62e132dc06"
      ],
      "author": {
        "name": "Manice18",
        "email": "91601706+Manice18@users.noreply.github.com",
        "time": "Fri Feb 17 21:02:43 2023 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 17 23:32:43 2023 +0800"
      },
      "message": "docs: fix typo in README (#334)\n\nCorrected \u0027explict\u0027 spelling to \u0027explicit\u0027"
    },
    {
      "commit": "424486f1550e933a3837ada141f33f62e132dc06",
      "tree": "cefd1a27badb269ee644de6c25bac45db9c0252f",
      "parents": [
        "9d2f491819a8bd97fb668ce0403c92be738e27a0"
      ],
      "author": {
        "name": "imp2002",
        "email": "imp07@qq.com",
        "time": "Tue Feb 07 18:11:44 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 07 18:11:44 2023 +0800"
      },
      "message": "fix: fix ABAC rule with attribute that does not exist (#333)\n\nSigned-off-by: imp2002 \u003cimp07@qq.com\u003e"
    },
    {
      "commit": "9d2f491819a8bd97fb668ce0403c92be738e27a0",
      "tree": "bb3e4fb86e03261fd3b082b87c9f599a3d3c16df",
      "parents": [
        "a104356a92f7de66f6a84fffdebf3322ac825f59"
      ],
      "author": {
        "name": "selfuppen",
        "email": "49787303+selfuppen@users.noreply.github.com",
        "time": "Thu Feb 02 21:49:49 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 02 21:49:49 2023 +0800"
      },
      "message": "fix: add rbac with resource roles and domain example (#329)\n\n"
    },
    {
      "commit": "a104356a92f7de66f6a84fffdebf3322ac825f59",
      "tree": "6eebd468ff1e44840298535eef14a85083f450d8",
      "parents": [
        "d164cb73bedafd53be1d35fc37c8ea8693b86b31"
      ],
      "author": {
        "name": "longxu0509",
        "email": "108991596+longxu0509@users.noreply.github.com",
        "time": "Fri Jan 13 17:56:07 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 13 17:56:07 2023 +0800"
      },
      "message": "feat: change aviator dependency to org.casbin.aviator.5.1.4-fix to support below Android 8.0 (API level 26) (#326)\n\n* fix: Changed aviator dependency to org.casbin.aviator.5.1.4-fix\r\n\r\n* fix: fixed some comment syntax errors"
    },
    {
      "commit": "d164cb73bedafd53be1d35fc37c8ea8693b86b31",
      "tree": "c9b453fe0cdc648e5e5c60577db6e8281477435a",
      "parents": [
        "c35739eb39deb3e801c5cb93d18f87a09396ff28"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Jan 13 12:02:43 2023 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Jan 13 12:02:43 2023 +0800"
      },
      "message": "Fix CI node version\n"
    },
    {
      "commit": "c35739eb39deb3e801c5cb93d18f87a09396ff28",
      "tree": "d84d60b384c914461b46a1d17b6f44363ec47bb8",
      "parents": [
        "1fbc06200771eb0322fce195b4c1d8cfbfa5eee4"
      ],
      "author": {
        "name": "Siarhei",
        "email": "siarhei-belavus@users.noreply.github.com",
        "time": "Thu Dec 01 16:23:26 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 01 23:23:26 2022 +0800"
      },
      "message": "fix: correct supported matcher types (#320)\n\n* fix: correct supported matcher types\r\n\r\nAviator script used to evaluate matcher expression\r\ndoes not support Float and Int types.\r\nIt uses Double and Long instead.\r\n\r\n* fix: correct supported matcher types\r\n\r\nAviator script used to evaluate matcher expression\r\ndoes not support Float and Int types.\r\nIt uses Double and Long instead."
    },
    {
      "commit": "1fbc06200771eb0322fce195b4c1d8cfbfa5eee4",
      "tree": "42cc415df940d19e8d68863a537064d5989319c0",
      "parents": [
        "1da0a44814db55e50bf8c32423104dc2d031adf9"
      ],
      "author": {
        "name": "r4wand",
        "email": "26229485+r4wand@users.noreply.github.com",
        "time": "Thu Dec 01 05:36:09 2022 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 01 10:36:09 2022 +0800"
      },
      "message": "docs: updated broken links and formatting (#318)\n\n* docs: updated broken links and formatting\r\n\r\n* docs:  formatting\r\n\r\n* Update README.md\r\n\r\nCo-authored-by: hsluoyz \u003chsluoyz@qq.com\u003e"
    },
    {
      "commit": "1da0a44814db55e50bf8c32423104dc2d031adf9",
      "tree": "6224ae2b12741cde700b7be475a73c5fbb9c36fb",
      "parents": [
        "783030ca566f54d841359e5c71df00ef99ab877b"
      ],
      "author": {
        "name": "wht",
        "email": "101807499+OutOfEastGate@users.noreply.github.com",
        "time": "Sun Nov 13 12:27:02 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 13 12:27:02 2022 +0800"
      },
      "message": "fix: fixed the ArrayIndexOutOfBoundsException  (#314)\n\n* fix: fixed the ArrayIndexOutOfBoundsException\r\n\r\n* refactor: refactor the parameters check\r\n\r\n* Delete pom.xml\r\n\r\nDelete useless code\r\n\r\n* Update CoreEnforcer.java\r\n\r\nDelete useless code\r\n\r\n* Fallback error operation"
    },
    {
      "commit": "783030ca566f54d841359e5c71df00ef99ab877b",
      "tree": "90904fc20be32ff61648fe185dad892c11886730",
      "parents": [
        "c61f3e42803051f6e01d1b8261eb87177b091eb0"
      ],
      "author": {
        "name": "imp2002",
        "email": "imp07@qq.com",
        "time": "Sun Oct 23 09:39:05 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 23 09:39:05 2022 +0800"
      },
      "message": "fix: make ecforceEx return a result which include `is (#308)\n\nrequest allow` and `explain`\r\n\r\nSigned-off-by: imp2002 \u003cimp07@qq.com\u003e\r\n\r\nSigned-off-by: imp2002 \u003cimp07@qq.com\u003e"
    },
    {
      "commit": "c61f3e42803051f6e01d1b8261eb87177b091eb0",
      "tree": "87eed4f7f0d212ae226ce212b6888c251f7eb031",
      "parents": [
        "bdf2a6c32c0f8f61e40eb34dc3f688710898fb67"
      ],
      "author": {
        "name": "Xhy-5000",
        "email": "45428960+Xhy-5000@users.noreply.github.com",
        "time": "Fri Oct 21 23:24:06 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 22 11:24:06 2022 +0800"
      },
      "message": "feat: Implement subject Priority in jcasbin (#306)\n\nCo-Authored-By: imp2002 \u003cimp07@qq.com\u003e\r\n\r\nCo-authored-by: imp2002 \u003cimp07@qq.com\u003e"
    },
    {
      "commit": "bdf2a6c32c0f8f61e40eb34dc3f688710898fb67",
      "tree": "02afad8d22924bff43e7f73f7544f61c0b3e0fb0",
      "parents": [
        "fc8ef7317f66fff916806d0a244a11879180a47b"
      ],
      "author": {
        "name": "Nchalenko",
        "email": "bior93@Gmail.com",
        "time": "Sat Oct 01 15:11:11 2022 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 01 21:11:11 2022 +0800"
      },
      "message": "fix: do not printPolicy if logs disabled (#302)\n\n"
    },
    {
      "commit": "fc8ef7317f66fff916806d0a244a11879180a47b",
      "tree": "b853fa76706625c96ab1013cccb78201898a693a",
      "parents": [
        "9fd266f60c8cad77a8196e8cf2664fed21a07400"
      ],
      "author": {
        "name": "imp2002",
        "email": "imp07@qq.com",
        "time": "Sun Sep 18 00:59:48 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 18 00:59:48 2022 +0800"
      },
      "message": "feat: support enforceEx (#300)\n\nSigned-off-by: imp2002 \u003cimp07@qq.com\u003e\r\n\r\nSigned-off-by: imp2002 \u003cimp07@qq.com\u003e"
    }
  ],
  "next": "9fd266f60c8cad77a8196e8cf2664fed21a07400"
}
