)]}'
{
  "log": [
    {
      "commit": "fc425d4a2522ab1ee97e3bd8fada8b3ef45dc1a9",
      "tree": "805eeed14cbc667d97f704dc28cc38333d467f83",
      "parents": [
        "229759feab06db8fba7b926d26839f8067ea2b6e"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Apr 25 15:20:01 2026 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Apr 25 15:20:01 2026 +0800"
      },
      "message": "chore: fix pull_request_target bug in CI\n"
    },
    {
      "commit": "229759feab06db8fba7b926d26839f8067ea2b6e",
      "tree": "8c73a2fe5681feb59ed0e75762b609c48e2b3add",
      "parents": [
        "bf3a4741a56952517359fc209c525350526c2923"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Wed Feb 04 21:39:03 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 04 21:39:03 2026 +0800"
      },
      "message": "feat: delete dependabot.yml"
    },
    {
      "commit": "bf3a4741a56952517359fc209c525350526c2923",
      "tree": "f3f2e52d2892448ebe94de03b7ffa8269934c902",
      "parents": [
        "97851d2dbd1bd5c9bbbe0ae167e1c76f591f3205"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu Jan 01 10:35:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 01 10:35:17 2026 +0800"
      },
      "message": "fix: improve links in README"
    },
    {
      "commit": "97851d2dbd1bd5c9bbbe0ae167e1c76f591f3205",
      "tree": "2b12c9224ff54c5f0eefffd28e343e744b09d474",
      "parents": [
        "9b92e328bee79ce72b91a805b2cfd6e5ec8bf0bb"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 10:00:18 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 10:00:18 2025 +0800"
      },
      "message": "feat: disable semantic-release git commits to remove bump version commits (#413)\n"
    },
    {
      "commit": "9b92e328bee79ce72b91a805b2cfd6e5ec8bf0bb",
      "tree": "c2fdd30a2283027149062c04dadfae6d421cea02",
      "parents": [
        "aeb7fe0ab1452b3b5adfcca7b0f8eeb8c33e95da"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Fri Dec 19 18:29:24 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Fri Dec 19 18:29:24 2025 +0000"
      },
      "message": "chore(release): 2.18.1 [skip ci]\n\n## [2.18.1](https://github.com/casbin/casbin-rs/compare/v2.18.0...v2.18.1) (2025-12-19)\n\n### Bug Fixes\n\n* remove \"Deploy Docs to GitHub Pages\" CI script and gh-pages branch ([#411](https://github.com/casbin/casbin-rs/issues/411)) ([aeb7fe0](https://github.com/casbin/casbin-rs/commit/aeb7fe0ab1452b3b5adfcca7b0f8eeb8c33e95da))\n"
    },
    {
      "commit": "aeb7fe0ab1452b3b5adfcca7b0f8eeb8c33e95da",
      "tree": "54749b7bc151608207ba23332d14b389a2730640",
      "parents": [
        "219ded1d128ca6e753ef08e7c1e72ec19ccc5050"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 02:22:36 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 02:22:36 2025 +0800"
      },
      "message": "fix: remove \"Deploy Docs to GitHub Pages\" CI script and gh-pages branch (#411)\n"
    },
    {
      "commit": "219ded1d128ca6e753ef08e7c1e72ec19ccc5050",
      "tree": "1f18a8ea5a81da76c4d8fcc08873bc61adc73fd9",
      "parents": [
        "5d0a9151136776648020fe1b68a568b5e6b282ac"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Fri Dec 19 18:08:10 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Fri Dec 19 18:08:10 2025 +0000"
      },
      "message": "chore(release): 2.18.0 [skip ci]\n\n# [2.18.0](https://github.com/casbin/casbin-rs/compare/v2.17.0...v2.18.0) (2025-12-19)\n\n### Bug Fixes\n\n* remove beta Rust version from CI ([#409](https://github.com/casbin/casbin-rs/issues/409)) ([f22f84c](https://github.com/casbin/casbin-rs/commit/f22f84c9003e30af4a21e3eb5d8cac495894a159))\n* remove irrelevant links in README ([7272c2a](https://github.com/casbin/casbin-rs/commit/7272c2a7a1709b01b098b27bfcf0420a9e3d3ef9))\n\n### Features\n\n* fix FileAdapter CSV format to preserve spaces after commas ([#407](https://github.com/casbin/casbin-rs/issues/407)) ([5d0a915](https://github.com/casbin/casbin-rs/commit/5d0a9151136776648020fe1b68a568b5e6b282ac))\n"
    },
    {
      "commit": "5d0a9151136776648020fe1b68a568b5e6b282ac",
      "tree": "4ab055c5c73f324f0ba5c7bd8c497165b3513173",
      "parents": [
        "f22f84c9003e30af4a21e3eb5d8cac495894a159"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 02:06:26 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 02:06:26 2025 +0800"
      },
      "message": "feat: fix FileAdapter CSV format to preserve spaces after commas (#407)\n"
    },
    {
      "commit": "f22f84c9003e30af4a21e3eb5d8cac495894a159",
      "tree": "43f67a88e14130fe132494ea1e044119fd0f0e6d",
      "parents": [
        "7272c2a7a1709b01b098b27bfcf0420a9e3d3ef9"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 02:00:57 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 02:00:57 2025 +0800"
      },
      "message": "fix: remove beta Rust version from CI (#409)\n"
    },
    {
      "commit": "7272c2a7a1709b01b098b27bfcf0420a9e3d3ef9",
      "tree": "e62769ad7a284a26592afb8a7446f869b1c3891b",
      "parents": [
        "3c537228f238a7078d66673a09d18e84d42cfd7a"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sat Dec 20 01:08:37 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 20 01:08:37 2025 +0800"
      },
      "message": "fix: remove irrelevant links in README"
    },
    {
      "commit": "3c537228f238a7078d66673a09d18e84d42cfd7a",
      "tree": "a754945e76f6b200ca53594e8617cdd458f1486a",
      "parents": [
        "89524ae83818600c6b09b77bfcfc1dc1c09e61e5"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Nov 04 14:21:05 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Nov 04 14:21:05 2025 +0000"
      },
      "message": "chore(release): 2.17.0 [skip ci]\n\n# [2.17.0](https://github.com/casbin/casbin-rs/compare/v2.16.0...v2.17.0) (2025-11-04)\n\n### Features\n\n* use pre-compiled matchers to improve performance ([#399](https://github.com/casbin/casbin-rs/issues/399)) ([89524ae](https://github.com/casbin/casbin-rs/commit/89524ae83818600c6b09b77bfcfc1dc1c09e61e5))\n"
    },
    {
      "commit": "89524ae83818600c6b09b77bfcfc1dc1c09e61e5",
      "tree": "f8a984588c82d5865956ac21f6ac1f95494a00e7",
      "parents": [
        "90d8a9ce664227b8064c8af4ae7658560824766c"
      ],
      "author": {
        "name": "Chris233",
        "email": "h-chris233@outlook.com",
        "time": "Tue Nov 04 22:12:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 22:12:42 2025 +0800"
      },
      "message": "feat: use pre-compiled matchers to improve performance (#399)\n\n"
    },
    {
      "commit": "90d8a9ce664227b8064c8af4ae7658560824766c",
      "tree": "b13ddc510345cd1a66704344e532ee11ee114430",
      "parents": [
        "b27b9d15019972b8fd5197e23b1f7caadeaaa1f8"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Nov 04 11:13:37 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Nov 04 11:13:37 2025 +0000"
      },
      "message": "chore(release): 2.16.0 [skip ci]\n\n# [2.16.0](https://github.com/casbin/casbin-rs/compare/v2.15.0...v2.16.0) (2025-11-04)\n\n### Features\n\n* enhance performance by checking before allocation in default role manager ([#398](https://github.com/casbin/casbin-rs/issues/398)) ([b27b9d1](https://github.com/casbin/casbin-rs/commit/b27b9d15019972b8fd5197e23b1f7caadeaaa1f8))\n"
    },
    {
      "commit": "b27b9d15019972b8fd5197e23b1f7caadeaaa1f8",
      "tree": "3face14f6dabc6bbc552880042cc178f6e1c629f",
      "parents": [
        "2bf528746d1a3c8c859500331eee1ba822fe5fcc"
      ],
      "author": {
        "name": "Chris233",
        "email": "3475310230@qq.com",
        "time": "Tue Nov 04 18:12:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 04 18:12:56 2025 +0800"
      },
      "message": "feat: enhance performance by checking before allocation in default role manager (#398)\n\n"
    },
    {
      "commit": "2bf528746d1a3c8c859500331eee1ba822fe5fcc",
      "tree": "3b68486917ba52937a0a5b135c39cc4a6cddaaf8",
      "parents": [
        "52bc1ad57371aef1b16399cc0b5f338c4b484539"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Fri Oct 24 17:24:55 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Fri Oct 24 17:24:55 2025 +0000"
      },
      "message": "chore(release): 2.15.0 [skip ci]\n\n# [2.15.0](https://github.com/casbin/casbin-rs/compare/v2.14.0...v2.15.0) (2025-10-24)\n\n### Features\n\n* improve custom function support to accept Dynamic types instead of only ImmutableString ([#395](https://github.com/casbin/casbin-rs/issues/395)) ([52bc1ad](https://github.com/casbin/casbin-rs/commit/52bc1ad57371aef1b16399cc0b5f338c4b484539))\n"
    },
    {
      "commit": "52bc1ad57371aef1b16399cc0b5f338c4b484539",
      "tree": "7e513701e6f51d4f2c9d45106f6be30ec993c624",
      "parents": [
        "934ab023504d2511309acef95033d8e5a2facb24"
      ],
      "author": {
        "name": "Copilot",
        "email": "198982749+Copilot@users.noreply.github.com",
        "time": "Sat Oct 25 01:17:08 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 25 01:17:08 2025 +0800"
      },
      "message": "feat: improve custom function support to accept Dynamic types instead of only ImmutableString (#395)\n\n"
    },
    {
      "commit": "934ab023504d2511309acef95033d8e5a2facb24",
      "tree": "e7898aedec7f7a553b91ecb28cdc4b949b3a951c",
      "parents": [
        "35126d060bcb7ecf252804a49e7f1cb0db1e2fef"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Sun Oct 12 06:16:34 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Sun Oct 12 06:16:34 2025 +0000"
      },
      "message": "chore(release): 2.14.0 [skip ci]\n\n# [2.14.0](https://github.com/casbin/casbin-rs/compare/v2.13.0...v2.14.0) (2025-10-12)\n\n### Features\n\n* improve badges in README.md ([35126d0](https://github.com/casbin/casbin-rs/commit/35126d060bcb7ecf252804a49e7f1cb0db1e2fef))\n"
    },
    {
      "commit": "35126d060bcb7ecf252804a49e7f1cb0db1e2fef",
      "tree": "ef4d51e5bce96a2b1f2a41bff4bcce18d5b1235d",
      "parents": [
        "53ddd1da1bf0eb81960e317c98c494179b482035"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Sun Oct 12 14:09:27 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 12 14:09:27 2025 +0800"
      },
      "message": "feat: improve badges in README.md"
    },
    {
      "commit": "53ddd1da1bf0eb81960e317c98c494179b482035",
      "tree": "0d3dba75244beca4f3d388fe8127bb0466cd2d8a",
      "parents": [
        "ba57d3b9630bd4c30e40d7f30af2d28c264c62b3"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Wed Sep 24 16:24:30 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Wed Sep 24 16:24:30 2025 +0000"
      },
      "message": "chore(release): 2.13.0 [skip ci]\n\n# [2.13.0](https://github.com/casbin/casbin-rs/compare/v2.12.0...v2.13.0) (2025-09-24)\n\n### Features\n\n* **watcher:** Add notification payload to watcher callback signature ([#392](https://github.com/casbin/casbin-rs/issues/392)) ([ba57d3b](https://github.com/casbin/casbin-rs/commit/ba57d3b9630bd4c30e40d7f30af2d28c264c62b3))\n"
    },
    {
      "commit": "ba57d3b9630bd4c30e40d7f30af2d28c264c62b3",
      "tree": "d9127ba535043c3d5c1ed246d9c1860d952d974e",
      "parents": [
        "ea85a2b98a10ef3672196416a0a4916daad63d0d"
      ],
      "author": {
        "name": "Phillip chen",
        "email": "156574500+cici0602@users.noreply.github.com",
        "time": "Thu Sep 25 00:17:19 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 25 00:17:19 2025 +0800"
      },
      "message": "feat(watcher): Add notification payload to watcher callback signature (#392)\n\n"
    },
    {
      "commit": "ea85a2b98a10ef3672196416a0a4916daad63d0d",
      "tree": "0221ee8d6a332f03ae483ec0e02d016be0a47b8c",
      "parents": [
        "0d8b9dbb4fdd3b3bb0ffa9cd30208ea20217869b"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Wed Sep 17 13:17:59 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Wed Sep 17 13:17:59 2025 +0000"
      },
      "message": "chore(release): 2.12.0 [skip ci]\n\n# [2.12.0](https://github.com/casbin/casbin-rs/compare/v2.11.0...v2.12.0) (2025-09-17)\n\n### Features\n\n* **rbac:** preload and propagate wildcard/pattern domain role links ([#387](https://github.com/casbin/casbin-rs/issues/387)) ([0d8b9db](https://github.com/casbin/casbin-rs/commit/0d8b9dbb4fdd3b3bb0ffa9cd30208ea20217869b))\n"
    },
    {
      "commit": "0d8b9dbb4fdd3b3bb0ffa9cd30208ea20217869b",
      "tree": "c0c3db7a2a421b90ad117ed40e7c750503ae5d28",
      "parents": [
        "06159a344c99d5ebba928ded78496fe8d91a6808"
      ],
      "author": {
        "name": "Phillip chen",
        "email": "156574500+cici0602@users.noreply.github.com",
        "time": "Wed Sep 17 21:10:04 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 17 21:10:04 2025 +0800"
      },
      "message": "feat(rbac): preload and propagate wildcard/pattern domain role links (#387)\n\n"
    },
    {
      "commit": "06159a344c99d5ebba928ded78496fe8d91a6808",
      "tree": "edd94cf5f7b6f3c95cee488e8174e158b22f4428",
      "parents": [
        "33c165a3d30727dfd87c8c5363c7133c8e5d3ca2"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Wed Sep 17 10:28:44 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Wed Sep 17 10:28:44 2025 +0000"
      },
      "message": "chore(release): 2.11.0 [skip ci]\n\n# [2.11.0](https://github.com/casbin/casbin-rs/compare/v2.10.1...v2.11.0) (2025-09-17)\n\n### Features\n\n* **ci:** update GitHub Actions and optimize CI configuration with code quality improvements ([#391](https://github.com/casbin/casbin-rs/issues/391)) ([33c165a](https://github.com/casbin/casbin-rs/commit/33c165a3d30727dfd87c8c5363c7133c8e5d3ca2))\n"
    },
    {
      "commit": "33c165a3d30727dfd87c8c5363c7133c8e5d3ca2",
      "tree": "f38cb671d89e8d948b241ecf009c9fae8e27badb",
      "parents": [
        "8c1be02599d8350efcfaaa1cdf07b923f1742dfa"
      ],
      "author": {
        "name": "Phillip chen",
        "email": "156574500+cici0602@users.noreply.github.com",
        "time": "Wed Sep 17 18:21:06 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 17 18:21:06 2025 +0800"
      },
      "message": "feat(ci): update GitHub Actions and optimize CI configuration with code quality improvements (#391)\n\n"
    },
    {
      "commit": "8c1be02599d8350efcfaaa1cdf07b923f1742dfa",
      "tree": "012282d65ca38a4b00fca094cc9a24424414418e",
      "parents": [
        "89f94679a98c7da316f280186f85de2e59959774"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Feb 04 16:18:16 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Feb 04 16:18:16 2025 +0000"
      },
      "message": "chore(release): 2.10.1 [skip ci]\n\n## [2.10.1](https://github.com/casbin/casbin-rs/compare/v2.10.0...v2.10.1) (2025-02-04)\n\n### Bug Fixes\n\n* fix wrong range in push_index_if_explain marco ([#370](https://github.com/casbin/casbin-rs/issues/370)) ([89f9467](https://github.com/casbin/casbin-rs/commit/89f94679a98c7da316f280186f85de2e59959774))\n"
    },
    {
      "commit": "89f94679a98c7da316f280186f85de2e59959774",
      "tree": "68bb65321b1c1ac632fe9bcd23d8e447b6e4a63f",
      "parents": [
        "b43e2c9e8cf999e087475e8936d63ab1068673ea"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Wed Feb 05 00:06:18 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 05 00:06:18 2025 +0800"
      },
      "message": "fix: fix wrong range in push_index_if_explain marco (#370)\n\n"
    },
    {
      "commit": "b43e2c9e8cf999e087475e8936d63ab1068673ea",
      "tree": "c5339ac4a90165764b7d1e9cdf0d4c3ff8c56659",
      "parents": [
        "d6923586cbb998d26fba40fbc2c30fa8d02bf4b8"
      ],
      "author": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Feb 04 13:32:40 2025 +0000"
      },
      "committer": {
        "name": "semantic-release-bot",
        "email": "semantic-release-bot@martynus.net",
        "time": "Tue Feb 04 13:32:40 2025 +0000"
      },
      "message": "chore(release): 2.10.0 [skip ci]\n\n# [2.10.0](https://github.com/casbin/casbin-rs/compare/v2.9.0...v2.10.0) (2025-02-04)\n\n### Features\n\n* add condition to CI for auto release ([#369](https://github.com/casbin/casbin-rs/issues/369)) ([d692358](https://github.com/casbin/casbin-rs/commit/d6923586cbb998d26fba40fbc2c30fa8d02bf4b8))\n"
    },
    {
      "commit": "d6923586cbb998d26fba40fbc2c30fa8d02bf4b8",
      "tree": "45cce2c9da26dc87b9f53d94269f3b7dc4a5ee1e",
      "parents": [
        "3eb997b4a50580effaf92e8085371f55a6877d91"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Tue Feb 04 21:28:39 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 04 21:28:39 2025 +0800"
      },
      "message": "feat: add condition to CI for auto release (#369)\n\n"
    },
    {
      "commit": "3eb997b4a50580effaf92e8085371f55a6877d91",
      "tree": "4b37e210d7d7af7489b1de5aa7d9777090498e15",
      "parents": [
        "b6b3be137c0e60dea224d401350eb4f6d5669827"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Tue Feb 04 19:44:42 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 04 19:44:42 2025 +0800"
      },
      "message": "feat(ci): switch auto release action to semantic-release (#368)\n\n"
    },
    {
      "commit": "b6b3be137c0e60dea224d401350eb4f6d5669827",
      "tree": "17d8218356d6c27eafb03acfbb557509208fd0cb",
      "parents": [
        "37a84a9c855eed9a2b144d8bcc09140b9beae35e"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Tue Feb 04 17:54:36 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 04 17:54:36 2025 +0800"
      },
      "message": "feat: Implement key_match4/key_match5 functions and generic EnforceArgs\u003cT\u003e (#367)\n\n* feat: make EnforceArgs implementation generic for Vec\u003cT\u003e\r\n\r\n- Convert impl specifically for Vec\u003cString\u003e to generic impl\u003cT\u003e for Vec\u003cT\u003e\r\n\r\n* feat: implement key_match4 and key_match5 \u0026 convert inline comments to doc comments"
    },
    {
      "commit": "37a84a9c855eed9a2b144d8bcc09140b9beae35e",
      "tree": "586c9983ee91df67ab557b5a187b52ea140bd3ed",
      "parents": [
        "369d2e453636cc971fd1f91428118e533ac35e59"
      ],
      "author": {
        "name": "hsluoyz",
        "email": "hsluoyz@gmail.com",
        "time": "Mon Feb 03 00:43:13 2025 +0800"
      },
      "committer": {
        "name": "hsluoyz",
        "email": "hsluoyz@gmail.com",
        "time": "Mon Feb 03 00:43:13 2025 +0800"
      },
      "message": "feat: bump version to 2.8.0\n"
    },
    {
      "commit": "369d2e453636cc971fd1f91428118e533ac35e59",
      "tree": "c24dd2c384423ca78626bef5234fe718941650db",
      "parents": [
        "43f856ec111a124da29d41ddb23f87cd47eeb6e0"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Sun Feb 02 19:33:51 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 02 19:33:51 2025 +0800"
      },
      "message": "feat: add enforce_ex api (#366)\n\n* feat: add enforce_explain api\r\n\r\n* feat: rename enforce_explain to enforce_ex\r\n\r\n* feat: add enforce_ex test case"
    },
    {
      "commit": "43f856ec111a124da29d41ddb23f87cd47eeb6e0",
      "tree": "a91b34832de1853197f7e5fd2ea5867e04e17b05",
      "parents": [
        "c1d9378167ab7a24dcfc59f6f6272d5dab951aa7"
      ],
      "author": {
        "name": "hsluoyz",
        "email": "hsluoyz@gmail.com",
        "time": "Tue Jan 07 08:56:02 2025 +0800"
      },
      "committer": {
        "name": "hsluoyz",
        "email": "hsluoyz@gmail.com",
        "time": "Tue Jan 07 08:56:02 2025 +0800"
      },
      "message": "feat: bump version to 2.7.0\n"
    },
    {
      "commit": "c1d9378167ab7a24dcfc59f6f6272d5dab951aa7",
      "tree": "16cb8961c868f6831593c1b2caf42daa1f64a090",
      "parents": [
        "d01ccdc3fb9a1cbf54053258bf38af750af854c2"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Tue Jan 07 02:02:27 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 07 02:02:27 2025 +0800"
      },
      "message": "feat: fix \"Rule should start at 2\" bug in MemoryAdapter::load_policy() (#360)\n\n* feat: add string adapter\r\n\r\n* fix: fix MemoryAdapter::load_policy()"
    },
    {
      "commit": "d01ccdc3fb9a1cbf54053258bf38af750af854c2",
      "tree": "85ceceec9c839a5df92c37cda9dbce9ca18b4b50",
      "parents": [
        "8193b5276fdfc0ba4221e2478ad3360b84704461"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Tue Jan 07 00:58:30 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 07 00:58:30 2025 +0800"
      },
      "message": "feat: add string adapter (#359)\n\n"
    },
    {
      "commit": "8193b5276fdfc0ba4221e2478ad3360b84704461",
      "tree": "8804e04f1e9236597da4e3043f6db6f91a418248",
      "parents": [
        "9858402dc2ed794cc21d83cf52d56feaca97c4a3"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Jan 03 20:34:17 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Jan 03 20:34:17 2025 +0800"
      },
      "message": "feat: bump version to 2.6.0\n"
    },
    {
      "commit": "9858402dc2ed794cc21d83cf52d56feaca97c4a3",
      "tree": "1e559a3a6dcd40ac43ac85471a839cede004b3dd",
      "parents": [
        "d7c93e8382212c00abe7b6b1f4c7b7bcd29ef8f1"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Fri Jan 03 19:56:01 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 03 19:56:01 2025 +0800"
      },
      "message": "feat: fix cargo-tarpaulin run failed issue in CI (#357)\n\n* fix: fix cargo-tarpaulin run failed\r\n\r\n* fix: disable default features in cargo-tarpaulin ci"
    },
    {
      "commit": "d7c93e8382212c00abe7b6b1f4c7b7bcd29ef8f1",
      "tree": "3c5755f871c95834308e44e76fd2e39246977673",
      "parents": [
        "c5a05d34894e6a340a7fae5f57d7be0949c74c01"
      ],
      "author": {
        "name": "LiuliFox",
        "email": "88608708+liulifox233@users.noreply.github.com",
        "time": "Fri Jan 03 19:39:57 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 03 19:39:57 2025 +0800"
      },
      "message": "feat: change mut ref to ref in the parameters of get_roles_for_user and other similar functions. (#356)\n\n* feat: change mut ref to ref in the parameters of get_roles_for_user and other similar functions.\r\n\r\n* fix: remove empty line after doc comments in enforce_with_context\r\n\r\n* fix: fix cargo fmt check"
    },
    {
      "commit": "c5a05d34894e6a340a7fae5f57d7be0949c74c01",
      "tree": "5dabd92536e91b8423281e483d29df2994c45d4a",
      "parents": [
        "1303117b8e3ea6eb7a080dc104b1e59f562a2c71"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Oct 05 14:14:41 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 05 14:14:41 2024 +0800"
      },
      "message": "feat: improve README badges"
    },
    {
      "commit": "1303117b8e3ea6eb7a080dc104b1e59f562a2c71",
      "tree": "038d09deb6d752a95ae249ad65e3ed04c750747c",
      "parents": [
        "f51f24ef96c6112ea5a63e311c5b0f009fdad1cf"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Sep 14 15:28:22 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Sep 14 15:28:22 2024 +0800"
      },
      "message": "feat: bump version to 2.5.0\n"
    },
    {
      "commit": "f51f24ef96c6112ea5a63e311c5b0f009fdad1cf",
      "tree": "10be2d42b7a4bb6b774040c6aa440096ea4e1c68",
      "parents": [
        "368d04aa674f0157c256a455debba01869908dec"
      ],
      "author": {
        "name": "沐",
        "email": "MuZhou233@outlook.com",
        "time": "Fri Sep 13 23:57:41 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 13 23:57:41 2024 +0800"
      },
      "message": "feat: add casbin_js_get_permission_for_user (#339)\n\n* feat: add casbin_js_get_permission_for_user\r\n\r\n* fix: cargo fmt\r\n\r\n* fix: pass test\r\n\r\n* fix: pass test under linux"
    },
    {
      "commit": "368d04aa674f0157c256a455debba01869908dec",
      "tree": "38884e0f4eddaf2ca6e2c9508684fc20910e0e40",
      "parents": [
        "b5d3765dbfcb00201a0a56f9d1e19c088300adf1"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Mon Sep 02 23:13:11 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Mon Sep 02 23:13:11 2024 +0800"
      },
      "message": "feat: bump version to 2.4.0\n"
    },
    {
      "commit": "b5d3765dbfcb00201a0a56f9d1e19c088300adf1",
      "tree": "dcec093deb906000fe074372d058318639b0d3b4",
      "parents": [
        "f4c3350d16f9bb3c01b1eb675e63b606c2d47034"
      ],
      "author": {
        "name": "沐",
        "email": "MuZhou233@outlook.com",
        "time": "Mon Sep 02 20:43:07 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 02 20:43:07 2024 +0800"
      },
      "message": "feat: add key_get series built-in operator (#338)\n\n* feat: add key_get series built-in operator\r\n\r\n* fix: pass test\r\n\r\n* fix: pass test\r\n\r\n* fix: cargo fmt"
    },
    {
      "commit": "f4c3350d16f9bb3c01b1eb675e63b606c2d47034",
      "tree": "744c149f0f8b7fec41f07f8074488ad4225bf8ab",
      "parents": [
        "22eb6921282c1e0f0ebf3e8c6228304c1b4cf2d8"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Tue Feb 06 20:14:34 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Tue Feb 06 20:14:34 2024 +0800"
      },
      "message": "feat: bump version to 2.3.0\n"
    },
    {
      "commit": "22eb6921282c1e0f0ebf3e8c6228304c1b4cf2d8",
      "tree": "0dd8c7b548a17a6ff8a4f997e4f308b4c61fbf7c",
      "parents": [
        "4884cd2ae0bdbec350337f4cb683f961437fd820"
      ],
      "author": {
        "name": "ChosunOne",
        "email": "josiah.g.e@protonmail.com",
        "time": "Tue Feb 06 20:07:24 2024 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 06 19:07:24 2024 +0800"
      },
      "message": "feat: replace `ritelinked` with `hashlink` (#327)\n\n* fix: replace ritelinked with hashlink\r\n\r\n* fix: update github workflow to remove amortized\r\n\r\n* chore: apply cargo fmt"
    },
    {
      "commit": "4884cd2ae0bdbec350337f4cb683f961437fd820",
      "tree": "7989d99276eafbafaacaec8148a5df3cd3e19200",
      "parents": [
        "1dd39a03f7bc8a64988c8cc575483b02699c7c3e"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Feb 02 18:01:00 2024 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Feb 02 18:01:00 2024 +0800"
      },
      "message": "feat: bump version to 2.2.0\n"
    },
    {
      "commit": "1dd39a03f7bc8a64988c8cc575483b02699c7c3e",
      "tree": "334ead76625cd3082ed1e6c67b33a07bd1e3daa9",
      "parents": [
        "7a6bedbe4dbf1b255ae96fb14d6753b476a2660b"
      ],
      "author": {
        "name": "codeironman",
        "email": "102459931+codeironman@users.noreply.github.com",
        "time": "Fri Feb 02 17:48:09 2024 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 02 17:48:09 2024 +0800"
      },
      "message": "feat: fix use code to adapt to latest Rust version (#325)\n\n* Fix #6\r\n\r\n* fix #6\r\n\r\n* Fix : #6\r\n\r\n* Fix : #6\r\n\r\n* fix #6\r\n\r\n* Update README.md\r\n\r\n---------\r\n\r\nCo-authored-by: caofengyi \u003ccaofengyi@caofengyideMacBook-Pro.local\u003e\r\nCo-authored-by: hsluoyz \u003chsluoyz@qq.com\u003e"
    },
    {
      "commit": "7a6bedbe4dbf1b255ae96fb14d6753b476a2660b",
      "tree": "c5928ea4b0ac8ac7dd6e719df7bec63334aefb6b",
      "parents": [
        "c68db8336faf752442661f8ef6b316ddb0639eb5"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 02 21:43:21 2023 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sun Dec 03 00:44:10 2023 +0800"
      },
      "message": "fix: bump version to 2.1.0\n"
    },
    {
      "commit": "c68db8336faf752442661f8ef6b316ddb0639eb5",
      "tree": "ffa88df0d1e646a8b931e91f0249ea9e21964096",
      "parents": [
        "f8d28439768be5348ca9bd0303f5ea0de3155b9c"
      ],
      "author": {
        "name": "HGZ-20",
        "email": "jxgzh@qq.com",
        "time": "Sun Dec 03 00:43:34 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 03 00:43:34 2023 +0800"
      },
      "message": "fix: fix CI cargo cannot release issue (#323)\n\n* fix: bump version to 2.1.0\r\n\r\n* fix: Automatic release failed\r\n\r\n* Update Cargo.toml\r\n\r\n* Update README.md\r\n\r\n---------\r\n\r\nCo-authored-by: Yang Luo \u003chsluoyz@qq.com\u003e"
    },
    {
      "commit": "f8d28439768be5348ca9bd0303f5ea0de3155b9c",
      "tree": "8c82262428b3c6a22f88dd39a52c9115ed21644b",
      "parents": [
        "44c0e8ad5df799b2ed5d08f6d27e43973727f57b"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 02 20:45:28 2023 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 02 20:45:28 2023 +0800"
      },
      "message": "fix: remove nightly in CI\n"
    },
    {
      "commit": "44c0e8ad5df799b2ed5d08f6d27e43973727f57b",
      "tree": "650961fdc1cbf814969e331dcb20ace75117e07f",
      "parents": [
        "7d909e8eabfeccb601e89871bebae9f5063336d2"
      ],
      "author": {
        "name": "HGZ-20",
        "email": "jxgzh@qq.com",
        "time": "Sat Dec 02 20:42:06 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 02 20:42:06 2023 +0800"
      },
      "message": "fix: Automatic release failed (#322)\n\n"
    },
    {
      "commit": "7d909e8eabfeccb601e89871bebae9f5063336d2",
      "tree": "ab51989225660c4cda8ce2b0d420cbb9e6655345",
      "parents": [
        "49f090e07dcd5afa1c48a34f4b962efe7d2ac9b6"
      ],
      "author": {
        "name": "HGZ-20",
        "email": "2567430912@qq.com",
        "time": "Fri Dec 01 18:10:05 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 01 18:10:05 2023 +0800"
      },
      "message": "feat: add `new_filtered_adapter()` to FileAdapter to make it act as a FilterAdapter. (#319)\n\n* feat: add new_filtered_adapter() to FileAdapter to make it act as a FilterAdapter.\r\n\r\nfix: #304\r\n\r\nadd new_filtered_adapter() to FileAdapter to make it act as a FilterAdapter.\r\n\r\nAnd does not automatically load the policy when using the filter adapter.\r\n\r\n* feat: add new_filtered_adapter() to FileAdapter to make it act as a FilterAdapter.\r\n\r\nfix: #304\r\n\r\nadd new_filtered_adapter() to FileAdapter to make it act as a FilterAdapter.\r\n\r\nAnd does not automatically load the policy when using the filter adapter."
    },
    {
      "commit": "49f090e07dcd5afa1c48a34f4b962efe7d2ac9b6",
      "tree": "726c13eb445994911ab3bf2533583c1d7f7f4aed",
      "parents": [
        "b429e4dbd8df68f55736cb992cb0aafe1711a6a2"
      ],
      "author": {
        "name": "Worapol Worakunsap",
        "email": "worapol.wor11@gmail.com",
        "time": "Thu Nov 16 23:05:53 2023 +0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 17 00:05:53 2023 +0800"
      },
      "message": "feat: added enforcer context to enable multiple section type (#317)\n\n* feat: added EnforcerContext + enforce_with_context function\r\n\r\n* fix: debug cannot derive on DefaultEffectStream on expl which has (feature \u003d \u0027explain\u0027)\r\n\r\n* fix: fixed wrong macro checking for ctx\r\n\r\n* fix: pub EnforceContext to be able to import\r\n\r\n* fix: fixed nightly and beta ubuntu Error:   --\u003e src/cached_enforcer.rs:77:1 and Error:   --\u003e src/effector.rs:33:9\r\n\r\ndocs: doc on enforce_with_context\r\n\r\n* fix: clippy cleaning"
    },
    {
      "commit": "b429e4dbd8df68f55736cb992cb0aafe1711a6a2",
      "tree": "dddfd2e6b566253a42c2e664b13eb7c3b9572282",
      "parents": [
        "d491cd1499ad157289caa7a6348ddcc7466188ee"
      ],
      "author": {
        "name": "YunShu",
        "email": "im@yunshu.site",
        "time": "Sat Sep 02 23:34:07 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 02 23:34:07 2023 +0800"
      },
      "message": "docs: fix broken links (#313)\n\n"
    },
    {
      "commit": "d491cd1499ad157289caa7a6348ddcc7466188ee",
      "tree": "dd6a5fe69f9eadfe74a02fdbfcf3ec5caac1941d",
      "parents": [
        "eac17dc1e030b69a1f7508f49b98fdf12f8f8e53"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Jul 13 23:15:12 2023 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Jul 13 23:15:12 2023 +0800"
      },
      "message": "fix: fix Cargo fmt checks\n"
    },
    {
      "commit": "eac17dc1e030b69a1f7508f49b98fdf12f8f8e53",
      "tree": "0f6da1dde178455b40e69ea60123075c436be208",
      "parents": [
        "6690e97f097b706641908cd7ed2a51311c13fed4"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Jul 13 22:55:21 2023 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Jul 13 22:55:21 2023 +0800"
      },
      "message": "fix: fix clippy linter errors\n"
    },
    {
      "commit": "6690e97f097b706641908cd7ed2a51311c13fed4",
      "tree": "a5979b05dd7a0355a1fcff863889328317a86a6a",
      "parents": [
        "2bd7ef5723cbf6da58a4905f389bd1a29359243f"
      ],
      "author": {
        "name": "YunShu",
        "email": "YunShuEmail@foxmail.com",
        "time": "Thu Jul 06 19:30:05 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 06 19:30:05 2023 +0800"
      },
      "message": "docs: replace gitter links with discord (#311)\n\n"
    },
    {
      "commit": "2bd7ef5723cbf6da58a4905f389bd1a29359243f",
      "tree": "5c3228c4342cd979506f72a66789ab556cd32fc3",
      "parents": [
        "e161068c3dcfea859e60a5ac1518b9ddd404b376"
      ],
      "author": {
        "name": "kbalt",
        "email": "k.baltruschat@opentalk.eu",
        "time": "Fri Apr 14 15:15:49 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 14 21:15:49 2023 +0800"
      },
      "message": "feat: replace lru with mini-moka for caching (#307)\n\n* feat!: Replace lru with mini-moka for caching and make Cache take \u0026self\r\n\r\nAlso removes the `set_capacity` function as this isn\u0027t supported by\r\n`mini-moka` and doesn\u0027t seem to be used anywhere in casbin.\r\n\r\n* feat!: Make rolemanager\u0027s has_link and get_roles only take \u0026self\r\n\r\nThis allows to only take read lock in g_functions\r\n\r\n* fix: clippy warnings\r\n\r\n* fix: CI coverage job\r\n\r\nSee discussion about solution here https://github.com/actions-rs/tarpaulin/issues/15"
    },
    {
      "commit": "e161068c3dcfea859e60a5ac1518b9ddd404b376",
      "tree": "a10553f9d15daa7cd74306356694041ccc8ddbe1",
      "parents": [
        "663e7648652c130660327d3ad90efa9fbef347b7"
      ],
      "author": {
        "name": "greenhandatsjtu",
        "email": "40566803+greenhandatsjtu@users.noreply.github.com",
        "time": "Sun Jun 26 01:21:55 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 26 01:21:55 2022 +0800"
      },
      "message": "fix: benchmark workflow cannot post comment to PR (#298)\n\n"
    },
    {
      "commit": "663e7648652c130660327d3ad90efa9fbef347b7",
      "tree": "f802d8de24380519e23e2419eeb0871dadb54b04",
      "parents": [
        "5cf0ed55b258859b7943e176215aa910d40b5fc5",
        "ab835e07663e8e24140657d25cb0491c159fb9cf"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Fri Jun 17 22:12:41 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 17 22:12:41 2022 +0800"
      },
      "message": "Merge pull request #295 from greenhandatsjtu/remove-duplicate\n\nfeat: avoid duplicate code in default_role_manager"
    },
    {
      "commit": "ab835e07663e8e24140657d25cb0491c159fb9cf",
      "tree": "f802d8de24380519e23e2419eeb0871dadb54b04",
      "parents": [
        "5cf0ed55b258859b7943e176215aa910d40b5fc5"
      ],
      "author": {
        "name": "greenhandatsjtu",
        "email": "sunhengke@sjtu.edu.cn",
        "time": "Fri Jun 17 21:11:31 2022 +0800"
      },
      "committer": {
        "name": "greenhandatsjtu",
        "email": "sunhengke@sjtu.edu.cn",
        "time": "Fri Jun 17 21:11:31 2022 +0800"
      },
      "message": "feat: avoid duplicate code in default_role_manager\n"
    },
    {
      "commit": "5cf0ed55b258859b7943e176215aa910d40b5fc5",
      "tree": "b047890dc3011a5898b4ca507930f0deea01882c",
      "parents": [
        "4a661f3fbe687665bf4b166617826140d968bbf1",
        "90eea763b7a175419c9ee0bc644cd23c50f17f2d"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Fri Jun 17 12:32:40 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 17 12:32:40 2022 +0800"
      },
      "message": "Merge pull request #296 from greenhandatsjtu/fix-clippy\n\nfix: resolve cargo clippy warnings"
    },
    {
      "commit": "90eea763b7a175419c9ee0bc644cd23c50f17f2d",
      "tree": "b047890dc3011a5898b4ca507930f0deea01882c",
      "parents": [
        "4a661f3fbe687665bf4b166617826140d968bbf1"
      ],
      "author": {
        "name": "greenhandatsjtu",
        "email": "sunhengke@sjtu.edu.cn",
        "time": "Fri Jun 17 11:40:33 2022 +0800"
      },
      "committer": {
        "name": "greenhandatsjtu",
        "email": "sunhengke@sjtu.edu.cn",
        "time": "Fri Jun 17 11:40:33 2022 +0800"
      },
      "message": "fix: resolve cargo clippy warnings\n"
    },
    {
      "commit": "4a661f3fbe687665bf4b166617826140d968bbf1",
      "tree": "787e5ce0e50d6591861db92fd2c203ba17bc7868",
      "parents": [
        "41db26043186b5d708b5d77857acb2295caa5b86",
        "c111b478855010d90e774e6d7081d512cb7ac004"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Thu Jun 16 16:21:05 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 16 16:21:05 2022 +0800"
      },
      "message": "Merge pull request #293 from kbalt/role_manager_petgraph\n\nUse petgraph inside DefaultRoleManager to model relations"
    },
    {
      "commit": "c111b478855010d90e774e6d7081d512cb7ac004",
      "tree": "787e5ce0e50d6591861db92fd2c203ba17bc7868",
      "parents": [
        "91e96639b855897a2abab382dacac7019a4250a8"
      ],
      "author": {
        "name": "Konstantin Baltruschat",
        "email": "k.baltruschat@heinlein-video.de",
        "time": "Thu May 12 17:24:25 2022 +0200"
      },
      "committer": {
        "name": "Konstantin Baltruschat",
        "email": "k.baltruschat@heinlein-video.de",
        "time": "Thu May 12 17:28:43 2022 +0200"
      },
      "message": "fix: clippy warning about using format + push_str instead of write!\n"
    },
    {
      "commit": "91e96639b855897a2abab382dacac7019a4250a8",
      "tree": "084f0f5112d395b9681409d50da29b2cae791915",
      "parents": [
        "41db26043186b5d708b5d77857acb2295caa5b86"
      ],
      "author": {
        "name": "Konstantin Baltruschat",
        "email": "k.baltruschat@heinlein-video.de",
        "time": "Fri May 06 14:36:55 2022 +0200"
      },
      "committer": {
        "name": "Konstantin Baltruschat",
        "email": "k.baltruschat@heinlein-video.de",
        "time": "Thu May 12 15:46:15 2022 +0200"
      },
      "message": "Use petgraph inside DefaultRoleManager to model relations\n\nThis relation model is built after the Go implementation, but uses\nedges inside the graph to model relations instead of having each\nrole store pointers in maps.\n\nEdges with the `EdgeVariant::Link` are relations which in Go are modeled by the\n`roles` and `users` map.\nEdges with the `EdgeVariant::Match` are relations which is Go are modeled by the\n`matched` and `matchedBy` map.\n\nThis change brings significant speedups in benchmarks when compared against the master branch.\n\nCo-authored-by: valkum \u003cr.floren@heinlein-video.de\u003e\n"
    },
    {
      "commit": "41db26043186b5d708b5d77857acb2295caa5b86",
      "tree": "d96d0510d335130ae7ce425effcb9039a4c95f26",
      "parents": [
        "ef5ef67a9257f5864a568ab4eeaae618ab510603",
        "36aaafd1de127364f7591bda64e0e78ca4855978"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Wed May 04 15:10:36 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 04 15:10:36 2022 +0800"
      },
      "message": "Merge pull request #292 from greenhandatsjtu/fix-delete_user\n\nfix: delete_user() should remove both grouping policies and policies"
    },
    {
      "commit": "36aaafd1de127364f7591bda64e0e78ca4855978",
      "tree": "d96d0510d335130ae7ce425effcb9039a4c95f26",
      "parents": [
        "ef5ef67a9257f5864a568ab4eeaae618ab510603"
      ],
      "author": {
        "name": "greenhandatsjtu",
        "email": "sunhengke@sjtu.edu.cn",
        "time": "Mon May 02 22:38:03 2022 +0800"
      },
      "committer": {
        "name": "greenhandatsjtu",
        "email": "sunhengke@sjtu.edu.cn",
        "time": "Mon May 02 22:38:03 2022 +0800"
      },
      "message": "fix: delete_user() should remove both grouping policies and policies\n"
    },
    {
      "commit": "ef5ef67a9257f5864a568ab4eeaae618ab510603",
      "tree": "e9909c57c6ac7925e35406e83507459c58d2621b",
      "parents": [
        "9320add836f2c66204c082e4b4ecf3b4f79fc015"
      ],
      "author": {
        "name": "SiddheshKanawade",
        "email": "85673539+SiddheshKanawade@users.noreply.github.com",
        "time": "Fri Mar 04 10:07:32 2022 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 04 12:37:32 2022 +0800"
      },
      "message": "fix: Initial migration from Rust 2018 to Rust 2021 (#291)\n\n* updated cargo.toml\r\n\r\n* cargo.toml"
    },
    {
      "commit": "9320add836f2c66204c082e4b4ecf3b4f79fc015",
      "tree": "32265cd5ce07b90181041287f513370255b728e7",
      "parents": [
        "0bc4fd947498b5af6384902edbf42eaa87db6126",
        "8419d8b0828d3163f74af71a198b0e6b0f5befd7"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Fri Feb 25 01:54:30 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 25 01:54:30 2022 +0800"
      },
      "message": "Merge pull request #287 from PsiACE/routine-maintenance\n\nrefactor: change to once_cell"
    },
    {
      "commit": "8419d8b0828d3163f74af71a198b0e6b0f5befd7",
      "tree": "32265cd5ce07b90181041287f513370255b728e7",
      "parents": [
        "506a0306fde2723513846f048aaf7856981b509f"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Thu Feb 24 00:12:05 2022 +0800"
      },
      "committer": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Thu Feb 24 00:12:05 2022 +0800"
      },
      "message": "refactor: change to once_cell\n"
    },
    {
      "commit": "506a0306fde2723513846f048aaf7856981b509f",
      "tree": "f0752289cccca385f754170c1a9313a8b3d6e031",
      "parents": [
        "0bc4fd947498b5af6384902edbf42eaa87db6126"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Wed Feb 23 23:51:49 2022 +0800"
      },
      "committer": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Wed Feb 23 23:51:49 2022 +0800"
      },
      "message": "fix: bump rhai to make clippy happy\n\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e\n"
    },
    {
      "commit": "0bc4fd947498b5af6384902edbf42eaa87db6126",
      "tree": "cb997c2de64cb5596259290b59617ed58f97849e",
      "parents": [
        "d355f4e09b3e8c004a5879559623b24c201fc05c",
        "5a99c3f726ab43c7b4a5e816c8b6f96da30037d0"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Sat Jan 15 21:39:28 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 15 21:39:28 2022 +0800"
      },
      "message": "Merge pull request #283 from valkum/282_fix_endless_loop\n\nfix: possible endless loop when passing /{} or /:/ to keyMatch2 and 3"
    },
    {
      "commit": "d355f4e09b3e8c004a5879559623b24c201fc05c",
      "tree": "64e19348b66691d7f788f2d0bc8f0b4a9bda8ac4",
      "parents": [
        "7cce8b8bc57dbd642495672035954d31a5798385",
        "33b0e099535621fadf275fff20d51c129a8d8d30"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Sat Jan 15 20:41:00 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 15 20:41:00 2022 +0800"
      },
      "message": "Merge pull request #285 from PsiACE/fix-clippy\n\nfix: make clippy happy"
    },
    {
      "commit": "33b0e099535621fadf275fff20d51c129a8d8d30",
      "tree": "64e19348b66691d7f788f2d0bc8f0b4a9bda8ac4",
      "parents": [
        "7cce8b8bc57dbd642495672035954d31a5798385"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Fri Jan 14 20:48:49 2022 +0800"
      },
      "committer": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Fri Jan 14 20:48:49 2022 +0800"
      },
      "message": "fix: make clippy happy\n\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e\n"
    },
    {
      "commit": "7cce8b8bc57dbd642495672035954d31a5798385",
      "tree": "ea48613e6bdc2d568a574a8aa43dbdef50fb4b8c",
      "parents": [
        "ec04f45e0aa41f1c00877cffe938b1cf4b612c3f",
        "2dc38415bf7d59e855f5530831aabb2470a82943"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Fri Jan 14 20:01:42 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 14 20:01:42 2022 +0800"
      },
      "message": "Merge pull request #284 from bk138/patch-1\n\nREADME: link example showing how to preload policy"
    },
    {
      "commit": "2dc38415bf7d59e855f5530831aabb2470a82943",
      "tree": "ea48613e6bdc2d568a574a8aa43dbdef50fb4b8c",
      "parents": [
        "ec04f45e0aa41f1c00877cffe938b1cf4b612c3f"
      ],
      "author": {
        "name": "Christian Beier",
        "email": "info@christianbeier.net",
        "time": "Fri Jan 14 11:25:23 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 14 11:25:23 2022 +0100"
      },
      "message": "README: link example showing how to preload policy\n\nCloses #280"
    },
    {
      "commit": "5a99c3f726ab43c7b4a5e816c8b6f96da30037d0",
      "tree": "6007a3341ee4eb9416465c2be995c5d150899121",
      "parents": [
        "ec04f45e0aa41f1c00877cffe938b1cf4b612c3f"
      ],
      "author": {
        "name": "Rudi Floren",
        "email": "r.floren@heinlein-video.de",
        "time": "Mon Jan 10 13:44:42 2022 +0100"
      },
      "committer": {
        "name": "Rudi Floren",
        "email": "r.floren@heinlein-video.de",
        "time": "Thu Jan 13 14:57:22 2022 +0100"
      },
      "message": "fix: possible endless loop when passing /{} or /:/ to keyMatch2 and 3\n\nThe go implementation uses a replace_all instead of this loop which\navoids the possible endless loop.\n\n/{}/ and /:/ will now be replaced by /[^/]+/\n"
    },
    {
      "commit": "ec04f45e0aa41f1c00877cffe938b1cf4b612c3f",
      "tree": "51386911656c7a7b297a8fc297330afb45daf907",
      "parents": [
        "2861ba45e47d576cfabee4d4e3547c5069d8beae",
        "37cc9c8e21ba7581dc85658ed725dfd60b85245f"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Sun Jan 02 22:47:46 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 02 22:47:46 2022 +0800"
      },
      "message": "Merge pull request #281 from PsiACE/clippy\n\nfix(clippy): try to make clippy happy"
    },
    {
      "commit": "2861ba45e47d576cfabee4d4e3547c5069d8beae",
      "tree": "ef389f9bc00387bb9200e589e86f21b5b617e257",
      "parents": [
        "8af4693c7cca679d5fb0da27aab8361d209a9b7e",
        "b9a6be8d2338bf3a0118b97d6b53994117503a52"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Sun Jan 02 21:32:06 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 02 21:32:06 2022 +0800"
      },
      "message": "Merge pull request #279 from bk138/patch-2\n\n docs: mention that Enforcer is not thread-safe"
    },
    {
      "commit": "37cc9c8e21ba7581dc85658ed725dfd60b85245f",
      "tree": "72c972393200db64443e26eb18924c53d4e61e2f",
      "parents": [
        "8af4693c7cca679d5fb0da27aab8361d209a9b7e"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sun Jan 02 21:26:36 2022 +0800"
      },
      "committer": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sun Jan 02 21:26:36 2022 +0800"
      },
      "message": "fix(clippy): try to make clippy happy\n\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e\n"
    },
    {
      "commit": "8af4693c7cca679d5fb0da27aab8361d209a9b7e",
      "tree": "4dba82e1e3b50ee54dbb698a47a7628e37e6c885",
      "parents": [
        "d9bcabc2c3e3f5340658f637700c20757762c86a"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sun Jan 02 15:12:33 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 02 15:12:33 2022 +0800"
      },
      "message": "Add link to README."
    },
    {
      "commit": "b9a6be8d2338bf3a0118b97d6b53994117503a52",
      "tree": "afb43b0a6cb5ddb57119293c79ad6a854be3e50a",
      "parents": [
        "d9bcabc2c3e3f5340658f637700c20757762c86a"
      ],
      "author": {
        "name": "Christian Beier",
        "email": "info@christianbeier.net",
        "time": "Wed Dec 29 14:50:05 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 29 14:50:05 2021 +0100"
      },
      "message": " docs: mention that Enforcer is not thread-safe \n\nCloses #278"
    },
    {
      "commit": "d9bcabc2c3e3f5340658f637700c20757762c86a",
      "tree": "152dad8ce6f29bac4e10e6af13e78aecf2c9a48a",
      "parents": [
        "45e6743289b515af7a91ea0b098f397f2e3243df"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Mon Dec 20 10:32:53 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 20 10:32:53 2021 +0800"
      },
      "message": "Delete FUNDING.yml"
    },
    {
      "commit": "45e6743289b515af7a91ea0b098f397f2e3243df",
      "tree": "3bac8ff9dc4e9306abfea6dcc0d6568922e725c3",
      "parents": [
        "c4d2689378640c3785e326b16e4cd2e8f968be4b",
        "e65643bbf304ffdde859129ad767497a561eeed2"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Sat Oct 09 21:11:07 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 09 21:11:07 2021 +0800"
      },
      "message": "Merge pull request #275 from PsiACE/bump-dep\n\nfeat: bump lru, make clippy happy"
    },
    {
      "commit": "e65643bbf304ffdde859129ad767497a561eeed2",
      "tree": "3bac8ff9dc4e9306abfea6dcc0d6568922e725c3",
      "parents": [
        "c4d2689378640c3785e326b16e4cd2e8f968be4b"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sat Oct 09 00:47:13 2021 +0800"
      },
      "committer": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sat Oct 09 00:47:13 2021 +0800"
      },
      "message": "feat: bump lru, make clippy happy\n\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e\n"
    },
    {
      "commit": "c4d2689378640c3785e326b16e4cd2e8f968be4b",
      "tree": "dd955fdbd0e125980daffaca3367bdf53dd05754",
      "parents": [
        "ed5834754be84955afdfe306e6cc3b55f0ec326c",
        "fa057f4c7e2b5adf50c8bf415daecd67e89a774a"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Tue Aug 24 00:31:08 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 24 00:31:08 2021 +0800"
      },
      "message": "Merge pull request #273 from hackerchai/master\n\nfeat: bump version 2.0.9"
    },
    {
      "commit": "fa057f4c7e2b5adf50c8bf415daecd67e89a774a",
      "tree": "dd955fdbd0e125980daffaca3367bdf53dd05754",
      "parents": [
        "ed5834754be84955afdfe306e6cc3b55f0ec326c"
      ],
      "author": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Tue Aug 24 00:23:30 2021 +0800"
      },
      "committer": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Tue Aug 24 00:23:30 2021 +0800"
      },
      "message": "feat: bump version 2.0.9\n\nSigned-off-by: hackerchai \u003ci@hackerchai.com\u003e\n"
    },
    {
      "commit": "ed5834754be84955afdfe306e6cc3b55f0ec326c",
      "tree": "24a3cac6e6f132962265b83e1e52e16582ac0595",
      "parents": [
        "79481b89b19f45ed58c800e0325f6db4003f4f5b",
        "7395ad606510208a2a11fdfe6f23d20f35044b8a"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Tue Aug 24 00:04:19 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 24 00:04:19 2021 +0800"
      },
      "message": "Merge pull request #272 from smrpn/master\n\nft: remove borrow errors and made Assertion struct fields public"
    },
    {
      "commit": "7395ad606510208a2a11fdfe6f23d20f35044b8a",
      "tree": "127075f2194c861205101aa65e253b3cee78562d",
      "parents": [
        "613a74ae0194cb7f67e3f4687cfc6a5b513ebeab"
      ],
      "author": {
        "name": "smrpn",
        "email": "samarpan_d@pp.iitr.ac.in",
        "time": "Mon Aug 23 21:04:06 2021 +0530"
      },
      "committer": {
        "name": "smrpn",
        "email": "samarpan_d@pp.iitr.ac.in",
        "time": "Mon Aug 23 21:04:10 2021 +0530"
      },
      "message": "ft: remove borrow errors and made Assertion struct fields public\n\nSigned-off-by: smrpn \u003csamarpan_d@pp.iitr.ac.in\u003e\n"
    },
    {
      "commit": "79481b89b19f45ed58c800e0325f6db4003f4f5b",
      "tree": "043e95216f72aa36582100740d081c555937ae9a",
      "parents": [
        "259fbb62a610a6e62d3c5a786ce176323c7c5f57",
        "ac5566a5d69bbb2f40d8c198f62c8ba29faa8032"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 11:17:36 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 19 11:17:36 2021 +0800"
      },
      "message": "Merge pull request #271 from hackerchai/version/v2.0.8\n\nfeat: bump version 2.0.8"
    },
    {
      "commit": "ac5566a5d69bbb2f40d8c198f62c8ba29faa8032",
      "tree": "043e95216f72aa36582100740d081c555937ae9a",
      "parents": [
        "30be6fd49930a5b1662c091783ee528e70fa1f5c",
        "6254e50edb5bfa6cf46976a649e9dcb45f88bf7c"
      ],
      "author": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:50:26 2021 +0800"
      },
      "committer": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:50:26 2021 +0800"
      },
      "message": "Merge branch \u0027version/v2.0.8\u0027 of github.com:hackerchai/casbin-rs into version/v2.0.8\n"
    },
    {
      "commit": "30be6fd49930a5b1662c091783ee528e70fa1f5c",
      "tree": "c8b74753fae0ab934fc59a9b05b279e6c0711520",
      "parents": [
        "6d4b50d4a5106e14a0364c32cec945de3e8af883"
      ],
      "author": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:44:09 2021 +0800"
      },
      "committer": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:44:09 2021 +0800"
      },
      "message": "fix: cargo fmt\n\nSigned-off-by: hackerchai \u003ci@hackerchai.com\u003e\n"
    },
    {
      "commit": "6254e50edb5bfa6cf46976a649e9dcb45f88bf7c",
      "tree": "1c34711b73f854bcfbe854b15425b6953496f64d",
      "parents": [
        "6d4b50d4a5106e14a0364c32cec945de3e8af883",
        "259fbb62a610a6e62d3c5a786ce176323c7c5f57"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:33:13 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 19 10:33:13 2021 +0800"
      },
      "message": "Merge branch \u0027master\u0027 into version/v2.0.8"
    },
    {
      "commit": "6d4b50d4a5106e14a0364c32cec945de3e8af883",
      "tree": "4972041c18862b99c0333284416f1d9497d4fe1c",
      "parents": [
        "ad64438cd4689eef3b343ba5f52ab9902708fdd8"
      ],
      "author": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:27:21 2021 +0800"
      },
      "committer": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:27:21 2021 +0800"
      },
      "message": "feat: bump version 2.0.8\n\nSigned-off-by: hackerchai \u003ci@hackerchai.com\u003e\n"
    },
    {
      "commit": "ad64438cd4689eef3b343ba5f52ab9902708fdd8",
      "tree": "cd7bc998ac95b6ac0007d268cf185992753a098c",
      "parents": [
        "613a74ae0194cb7f67e3f4687cfc6a5b513ebeab"
      ],
      "author": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:26:31 2021 +0800"
      },
      "committer": {
        "name": "hackerchai",
        "email": "i@hackerchai.com",
        "time": "Thu Aug 19 10:26:31 2021 +0800"
      },
      "message": "feat: bump dependency version\n\nSigned-off-by: hackerchai \u003ci@hackerchai.com\u003e\n"
    },
    {
      "commit": "259fbb62a610a6e62d3c5a786ce176323c7c5f57",
      "tree": "3512c69b01fb9a761ea6d9eb4ba7175d8d651ae4",
      "parents": [
        "613a74ae0194cb7f67e3f4687cfc6a5b513ebeab",
        "719ea4995db11860a2d2a7dbf5040bb2edd006c6"
      ],
      "author": {
        "name": "Eason Chai",
        "email": "i@hackerchai.com",
        "time": "Sun Jul 18 19:06:18 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 18 19:06:18 2021 +0800"
      },
      "message": "Merge pull request #269 from PsiACE/bump-deps\n\nbuild(deps): update ip_network and rhai"
    },
    {
      "commit": "719ea4995db11860a2d2a7dbf5040bb2edd006c6",
      "tree": "3512c69b01fb9a761ea6d9eb4ba7175d8d651ae4",
      "parents": [
        "31dcc836cdb298754e4c42fc1fa5b85df9b7e379"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sun Jul 18 17:11:33 2021 +0800"
      },
      "committer": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sun Jul 18 17:11:33 2021 +0800"
      },
      "message": "fix(clippy): try to make clippy happy\n\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e\n"
    },
    {
      "commit": "31dcc836cdb298754e4c42fc1fa5b85df9b7e379",
      "tree": "0ce97256666951ace2e7860d299c1b4d7cb0cd46",
      "parents": [
        "613a74ae0194cb7f67e3f4687cfc6a5b513ebeab"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sun Jul 18 17:05:45 2021 +0800"
      },
      "committer": {
        "name": "Chojan Shang",
        "email": "psiace@outlook.com",
        "time": "Sun Jul 18 17:05:45 2021 +0800"
      },
      "message": "build(deps): bump ip_network and rhai\n\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e\n"
    },
    {
      "commit": "613a74ae0194cb7f67e3f4687cfc6a5b513ebeab",
      "tree": "463b6f02220760317215f73ecf3ff7a5963e3144",
      "parents": [
        "9873af2093b72bc6b96ce0683a484ec4769e3015"
      ],
      "author": {
        "name": "Chojan Shang",
        "email": "PsiACE@Outlook.com",
        "time": "Thu May 20 18:56:52 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 20 18:56:52 2021 +0800"
      },
      "message": "feat: switch to ritelinked and provide amortized feature (#261)\n\n* feat: switch to ritelinked for performance, and provide amortized feature\r\n\r\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e\r\n\r\n* fix: replace get_index with nth\r\n\r\nSigned-off-by: Chojan Shang \u003cpsiace@outlook.com\u003e"
    }
  ],
  "next": "9873af2093b72bc6b96ce0683a484ec4769e3015"
}
