)]}'
{
  "log": [
    {
      "commit": "06d09e508f0fd15c88df3fc8272e4073565bb710",
      "tree": "b07cf31118e02bba31760c00730eab35fc0d9a27",
      "parents": [
        "843cf7b3cbcc32bfa831ed45ffb8bb77f6a4f636"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Nov 07 20:11:05 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Fri Nov 07 20:11:05 2025 +0800"
      },
      "message": "feat: fix SavePolicy bug to preserve unique indexes by using DeleteMany instead of Drop (#73)\n"
    },
    {
      "commit": "843cf7b3cbcc32bfa831ed45ffb8bb77f6a4f636",
      "tree": "6129ee0da64ca7e0b085d14710c3218070532f16",
      "parents": [
        "808774d32eb3899caddb19ce4228f7a381a46e65"
      ],
      "author": {
        "name": "slhmy",
        "email": "slhmy.zzy@gmail.com",
        "time": "Sat May 24 23:27:10 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 24 23:27:10 2025 +0800"
      },
      "message": "feat: fix csv parsing error in loadPolicyLine by using persist.LoadPolicyArray() (#71)\n\n"
    },
    {
      "commit": "808774d32eb3899caddb19ce4228f7a381a46e65",
      "tree": "8801290dc835eed3e6b7274bd6e80ba7ac362786",
      "parents": [
        "c1cb7f71a207d0c0fd6dec73b8ff18a91adbe844"
      ],
      "author": {
        "name": "slhmy",
        "email": "slhmy.zzy@gmail.com",
        "time": "Fri May 23 15:07:28 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 23 15:07:28 2025 +0800"
      },
      "message": "feat: fix CI workflow to use the correct go version (#70)\n\n"
    },
    {
      "commit": "c1cb7f71a207d0c0fd6dec73b8ff18a91adbe844",
      "tree": "1388650baad7c085d52fc25b1964a98d446e583b",
      "parents": [
        "b17c460a9a1e090ccdfee576968b56c602811ea1"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu May 22 23:04:23 2025 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@gmail.com",
        "time": "Thu May 22 23:04:42 2025 +0800"
      },
      "message": "feat: upgrade casbin/mongodb-adapter to v4 to use mongodb v2\n"
    },
    {
      "commit": "b17c460a9a1e090ccdfee576968b56c602811ea1",
      "tree": "9380b62487567d6f13d2f6907efd3d80e0fbec9c",
      "parents": [
        "3a26594fc7942cf1111319a30f1009741c03fa5d"
      ],
      "author": {
        "name": "slhmy",
        "email": "slhmy.zzy@gmail.com",
        "time": "Thu May 22 23:00:58 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 22 23:00:58 2025 +0800"
      },
      "message": "feat: upgrade mongodb to v2 (#68)\n\n"
    },
    {
      "commit": "3a26594fc7942cf1111319a30f1009741c03fa5d",
      "tree": "4d6182b8be39368cf9b3a3ba3b33ce243dddf8e0",
      "parents": [
        "8560937023ab70e9fcbc38663da4143670badc88"
      ],
      "author": {
        "name": "Anirut Kamchai",
        "email": "anirut.k@kbtg.tech",
        "time": "Mon Jul 22 07:54:46 2024 +0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 22 08:54:46 2024 +0800"
      },
      "message": "feat: add prepareIndexes() method to NewAdapterByDB() (#64)\n\n* feat: go mod tidy\r\n\r\n* feat: create reuse able prepareIndexes function and apply to NewAdapterByDB and open functions"
    },
    {
      "commit": "8560937023ab70e9fcbc38663da4143670badc88",
      "tree": "2e7e9ed4558796c9851ef5cd09825486319b945f",
      "parents": [
        "e87187cf179a65d807effdf5da662603b7eaa528"
      ],
      "author": {
        "name": "石川 諒",
        "email": "ishikawa.pro@gmail.com",
        "time": "Thu Jan 11 20:18:42 2024 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 11 19:18:42 2024 +0800"
      },
      "message": "feat: improve performance of AddPolicies (#62)\n\n"
    },
    {
      "commit": "e87187cf179a65d807effdf5da662603b7eaa528",
      "tree": "e0cfa920c398f65bd6cf02fb6ca1fa3f7df2ca6a",
      "parents": [
        "2f0247ca1717677f157965b1f5bbacfd08f9b113"
      ],
      "author": {
        "name": "YunShu",
        "email": "YunShuEmail@foxmail.com",
        "time": "Thu Aug 10 21:30:17 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 10 21:30:17 2023 +0800"
      },
      "message": "docs: fix broken links (#61)\n\n* fix: fix broken links\r\n\r\n* docs: add badge"
    },
    {
      "commit": "2f0247ca1717677f157965b1f5bbacfd08f9b113",
      "tree": "2223b38683642ada2b3bee7aae534bd3d34476ed",
      "parents": [
        "e12d797efbb9d3da13f51c85ba357837608633bf"
      ],
      "author": {
        "name": "于文龙",
        "email": "yuwenlong@aliyun.com",
        "time": "Thu Jul 13 01:05:12 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 13 01:05:12 2023 +0800"
      },
      "message": "feat: upgrade mongo-driver version to use bson.D (#60)\n\n"
    },
    {
      "commit": "e12d797efbb9d3da13f51c85ba357837608633bf",
      "tree": "43982e502db9c69ba8bb6506451b26ccd8c61eed",
      "parents": [
        "e114641e7f531fe2f61ab6a2e8d6dfc33a270a92"
      ],
      "author": {
        "name": "Jalin Wang",
        "email": "JalinWang@outlook.com",
        "time": "Fri Sep 16 14:19:58 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 16 14:19:58 2022 +0800"
      },
      "message": "fix: handle the returned error of LoadPolicyArray (#53)\n\n"
    },
    {
      "commit": "e114641e7f531fe2f61ab6a2e8d6dfc33a270a92",
      "tree": "64a0f5e7aa00b6fb04da6bbe46e5e23bdf7bc1f2",
      "parents": [
        "293a343800d46f1b23f24d9c85b7c16c0de087e4"
      ],
      "author": {
        "name": "Jalin Wang",
        "email": "JalinWang@outlook.com",
        "time": "Thu Sep 15 18:45:46 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 15 18:45:46 2022 +0800"
      },
      "message": "feat: add api NewAdapterByDB (#54)\n\n"
    },
    {
      "commit": "293a343800d46f1b23f24d9c85b7c16c0de087e4",
      "tree": "1b6ac5e8efece3fb0db46154fe384b253310e2bf",
      "parents": [
        "a1f441b5fdd934ef13c3399e79b064992f7ed759"
      ],
      "author": {
        "name": "houxul",
        "email": "1056105902@qq.com",
        "time": "Fri Aug 12 20:57:15 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 12 20:57:15 2022 +0800"
      },
      "message": "fix: decode CasbinRule (#49)\n\nWhen a field does not exist in the mongodb document, CasbinRule uses the last value, expecting the field to be empty"
    },
    {
      "commit": "a1f441b5fdd934ef13c3399e79b064992f7ed759",
      "tree": "96adf35f86751f4152151f8151033047a85d8b8e",
      "parents": [
        "b207188865d34ddef3db09d005499a143fa0bfb9"
      ],
      "author": {
        "name": "Bingchang Chen",
        "email": "19990626.love@163.com",
        "time": "Fri Feb 11 14:45:54 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 11 14:45:54 2022 +0800"
      },
      "message": "feat: support updating policy (#47)\n\nSigned-off-by: abingcbc \u003cabingcbc626@gmail.com\u003e"
    },
    {
      "commit": "b207188865d34ddef3db09d005499a143fa0bfb9",
      "tree": "61a9775062d41a285cc75f4bfb482335276c3e12",
      "parents": [
        "e6458bb7b54014d80938fef6716c375225626515",
        "a9cb818a9f6fa673047602c83264b59d342f7ab0"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sun Jul 11 20:33:31 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 11 20:33:31 2021 +0800"
      },
      "message": "Merge pull request #43 from closetool/master\n\nfix: update dependency and make github action ci"
    },
    {
      "commit": "a9cb818a9f6fa673047602c83264b59d342f7ab0",
      "tree": "61a9775062d41a285cc75f4bfb482335276c3e12",
      "parents": [
        "e6458bb7b54014d80938fef6716c375225626515"
      ],
      "author": {
        "name": "closetool",
        "email": "c299999999@qq.com",
        "time": "Sat Jul 10 16:12:28 2021 +0800"
      },
      "committer": {
        "name": "closetool",
        "email": "c299999999@qq.com",
        "time": "Sun Jul 11 11:05:12 2021 +0800"
      },
      "message": "fix: update dependency and make github action ci\n\nSigned-off-by: closetool \u003cc299999999@qq.com\u003e\n"
    },
    {
      "commit": "e6458bb7b54014d80938fef6716c375225626515",
      "tree": "56bdd0c65cefa91ccccab27e6f19aa5e88919f1a",
      "parents": [
        "6e29879ce2b90f6def4be45d0e52cea8ec4ecf41",
        "889de6f3877c9a45b0749b03cbabd5263c5399c6"
      ],
      "author": {
        "name": "hsluoyz",
        "email": "hsluoyz@qq.com",
        "time": "Tue Mar 23 17:58:06 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 23 17:58:06 2021 +0800"
      },
      "message": "Merge pull request #41 from dimensionfour/feat/collection-name\n\ndynamic collection name"
    },
    {
      "commit": "889de6f3877c9a45b0749b03cbabd5263c5399c6",
      "tree": "56bdd0c65cefa91ccccab27e6f19aa5e88919f1a",
      "parents": [
        "6e29879ce2b90f6def4be45d0e52cea8ec4ecf41"
      ],
      "author": {
        "name": "0xb4lamx",
        "email": "medghaith.sellami@gmail.com",
        "time": "Mon Mar 22 15:11:28 2021 +0100"
      },
      "committer": {
        "name": "0xb4lamx",
        "email": "medghaith.sellami@gmail.com",
        "time": "Tue Mar 23 10:37:59 2021 +0100"
      },
      "message": "feat: dynamic collection name\n\nSigned-off-by: 0xb4lamx \u003cmedghaith.sellami@gmail.com\u003e\n"
    },
    {
      "commit": "6e29879ce2b90f6def4be45d0e52cea8ec4ecf41",
      "tree": "8e96f2f4eff4f5ba1bcde3d85b2b99f73d52ddbf",
      "parents": [
        "24870cdee58e6d73a049671a992faf3b1f68c2ff"
      ],
      "author": {
        "name": "Luffy",
        "email": "10105704+SoaringTiger@users.noreply.github.com",
        "time": "Sat Mar 20 16:33:25 2021 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 20 16:33:25 2021 +0800"
      },
      "message": "fix: Modify the way of parse and validate mongo url (#40)\n\n* Fixing bug where parse and validate mongo url\r\n\r\nSigned-off-by: SoaringTiger \u003csoaring.tiger.2022@gmail.com\u003e\r\n\r\n* fixup! Fixing bug where parse and validate mongo url\r\n\r\nSigned-off-by: SoaringTiger \u003csoaring.tiger.2022@gmail.com\u003e\r\n\r\nCo-authored-by: SoaringTiger \u003csoaring.tiger.2022@gmail.com\u003e"
    },
    {
      "commit": "24870cdee58e6d73a049671a992faf3b1f68c2ff",
      "tree": "0a6e4fee74623578d0d8cd47533fd793fd24cc6e",
      "parents": [
        "7605856d81dd82ec5b0b11dbe48b4788d0f8ee1b",
        "36726a1bfcc10e6c4e6079679a1b57a31fe86746"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Dec 16 16:09:06 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 16 16:09:06 2020 +0800"
      },
      "message": "Merge pull request #36 from yyellowsun/master\n\nfeat: add batch operations"
    },
    {
      "commit": "36726a1bfcc10e6c4e6079679a1b57a31fe86746",
      "tree": "0a6e4fee74623578d0d8cd47533fd793fd24cc6e",
      "parents": [
        "5c1ea3fb8dbe9be204b3e6b6f0f4f77da2f92932"
      ],
      "author": {
        "name": "yyellowsun",
        "email": "coder328@163.com",
        "time": "Sun Dec 13 17:48:37 2020 +0800"
      },
      "committer": {
        "name": "yyellowsun",
        "email": "coder328@163.com",
        "time": "Wed Dec 16 14:23:01 2020 +0800"
      },
      "message": "feat: add batch operations\n\nSigned-off-by: yyellowsun \u003ccoder328@163.com\u003e\n"
    },
    {
      "commit": "7605856d81dd82ec5b0b11dbe48b4788d0f8ee1b",
      "tree": "436d0d38367dfc4497f96c0ec6d6e551644d5c13",
      "parents": [
        "ddc19c8409cc5069d2d566354da21809e4f3356e",
        "5c1ea3fb8dbe9be204b3e6b6f0f4f77da2f92932"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Sep 23 23:46:39 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 23 23:46:39 2020 +0800"
      },
      "message": "Merge pull request #31 from alexferl/master\n\nincrement major version to v3 and update dependencies"
    },
    {
      "commit": "5c1ea3fb8dbe9be204b3e6b6f0f4f77da2f92932",
      "tree": "436d0d38367dfc4497f96c0ec6d6e551644d5c13",
      "parents": [
        "ddc19c8409cc5069d2d566354da21809e4f3356e"
      ],
      "author": {
        "name": "Alexandre Ferland",
        "email": "alf@pixmob.com",
        "time": "Wed Sep 23 10:54:05 2020 -0400"
      },
      "committer": {
        "name": "Alexandre Ferland",
        "email": "aferlandqc@gmail.com",
        "time": "Wed Sep 23 11:33:15 2020 -0400"
      },
      "message": "increment major version to v3 and update dependencies\n\nSigned-off-by: Alexandre Ferland \u003caferlandqc@gmail.com\u003e\n"
    },
    {
      "commit": "ddc19c8409cc5069d2d566354da21809e4f3356e",
      "tree": "6d32ff03c849d171748c73a5296adca49ccb15bb",
      "parents": [
        "92b21a8aac961ba3ca5fe780c73ad96e62ef9359",
        "9002a919a5c77f7903a4edb9786b33e6deb97b21"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Tue Sep 15 19:47:57 2020 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 19:47:57 2020 -0500"
      },
      "message": "Merge pull request #28 from lxzan/master\n\nuse unique index"
    },
    {
      "commit": "92b21a8aac961ba3ca5fe780c73ad96e62ef9359",
      "tree": "ac5766d3f425d544c1a881f570cac9e3076a8758",
      "parents": [
        "b60b442db74161bbb1b59d9f73bec2ab148e6f2a",
        "3407715f4cb38944b011c1d4ae38d39e0fd11fe9"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Tue Sep 15 19:44:41 2020 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 15 19:44:41 2020 -0500"
      },
      "message": "Merge pull request #30 from 00LT00/master\n\nupdate README"
    },
    {
      "commit": "3407715f4cb38944b011c1d4ae38d39e0fd11fe9",
      "tree": "ac5766d3f425d544c1a881f570cac9e3076a8758",
      "parents": [
        "b60b442db74161bbb1b59d9f73bec2ab148e6f2a"
      ],
      "author": {
        "name": "00LT00",
        "email": "lightning@zerokirin.online",
        "time": "Tue Sep 15 16:43:06 2020 +0800"
      },
      "committer": {
        "name": "00LT00",
        "email": "lightning@zerokirin.online",
        "time": "Tue Sep 15 16:43:06 2020 +0800"
      },
      "message": "update readme\n\nSigned-off-by: 00LT00 \u003clightning@zerokirin.online\u003e\n"
    },
    {
      "commit": "9002a919a5c77f7903a4edb9786b33e6deb97b21",
      "tree": "1388c0ccd273960bea38028b3662325ad63f5227",
      "parents": [
        "b60b442db74161bbb1b59d9f73bec2ab148e6f2a"
      ],
      "author": {
        "name": "casterlee",
        "email": "lxzan@foxmail.com",
        "time": "Sat Aug 01 00:16:52 2020 +0800"
      },
      "committer": {
        "name": "casterlee",
        "email": "lxzan@foxmail.com",
        "time": "Sat Aug 01 00:16:52 2020 +0800"
      },
      "message": "use unique index\n"
    },
    {
      "commit": "b60b442db74161bbb1b59d9f73bec2ab148e6f2a",
      "tree": "4cc1ef1291a8729633e619f1b07db8fc54736d37",
      "parents": [
        "963214de49dec26c944987af3338874bdb634643",
        "fec0e9883a4fe217c8977c8ae3c0e2880bc196fc"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Tue Jun 16 21:27:33 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 21:27:33 2020 +0800"
      },
      "message": "Merge pull request #24 from dovics/master\n\nfix: the way of loadPolicyLine"
    },
    {
      "commit": "fec0e9883a4fe217c8977c8ae3c0e2880bc196fc",
      "tree": "4cc1ef1291a8729633e619f1b07db8fc54736d37",
      "parents": [
        "963214de49dec26c944987af3338874bdb634643"
      ],
      "author": {
        "name": "dovics",
        "email": "wrs369@163.com",
        "time": "Mon Jun 15 17:08:43 2020 +0800"
      },
      "committer": {
        "name": "dovics",
        "email": "wrs369@163.com",
        "time": "Mon Jun 15 17:19:56 2020 +0800"
      },
      "message": "fix: the way of loadPolicyLine\n"
    },
    {
      "commit": "963214de49dec26c944987af3338874bdb634643",
      "tree": "a077211c389e6b0474803e226cc9eb91e5fc0afa",
      "parents": [
        "78ec044651841b70e33dc3cf258a6bf6e39c0d58",
        "94e4ec3caf989bcdeeb5bbbf495284966483b0a5"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu May 14 10:23:42 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 10:23:42 2020 +0800"
      },
      "message": "Merge pull request #23 from DivyPatel9881/typo\n\nfix: typos"
    },
    {
      "commit": "94e4ec3caf989bcdeeb5bbbf495284966483b0a5",
      "tree": "a077211c389e6b0474803e226cc9eb91e5fc0afa",
      "parents": [
        "78ec044651841b70e33dc3cf258a6bf6e39c0d58"
      ],
      "author": {
        "name": "DivyPatel9881",
        "email": "divy9881@gmail.com",
        "time": "Mon May 11 13:25:10 2020 +0530"
      },
      "committer": {
        "name": "DivyPatel9881",
        "email": "divy9881@gmail.com",
        "time": "Mon May 11 13:26:29 2020 +0530"
      },
      "message": "fix: typos\n"
    },
    {
      "commit": "78ec044651841b70e33dc3cf258a6bf6e39c0d58",
      "tree": "b56297ce780e36a484e674c904f062cf0f373609",
      "parents": [
        "2c83387195d914380b1c41b1de3e20d503c6bd92"
      ],
      "author": {
        "name": "dovics",
        "email": "45029442+dovics@users.noreply.github.com",
        "time": "Sat Mar 21 06:35:40 2020 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Mar 21 19:35:40 2020 +0800"
      },
      "message": "Move to mongodb offical driver (#22)\n\n* move for offical driver\r\n\r\n* Remove useless dependencies\r\n\r\n* return panic error\r\n\r\n* customize the databaseName\r\n\r\nfix database name\r\n\r\n* Use alias for net/url"
    },
    {
      "commit": "2c83387195d914380b1c41b1de3e20d503c6bd92",
      "tree": "53da9f986433570c2f8e22564fbf3ce64d3ce0f4",
      "parents": [
        "61ad238eb7638d6d059a1185654d047981606c31",
        "32c50777b2eaff21b4361fe196a4f0f51f38e9ec"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Aug 09 07:01:53 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 09 07:01:53 2019 +0800"
      },
      "message": "Merge pull request #20 from adamwasila/casbin_v2\n\nUpdate to use v2 major version of Casbin"
    },
    {
      "commit": "32c50777b2eaff21b4361fe196a4f0f51f38e9ec",
      "tree": "53da9f986433570c2f8e22564fbf3ce64d3ce0f4",
      "parents": [
        "1875b8508aec6e596012f80af64d2e4626dc6fb4"
      ],
      "author": {
        "name": "Adam Wasila",
        "email": "adam.wasila@gmail.com",
        "time": "Thu Aug 08 23:12:07 2019 +0200"
      },
      "committer": {
        "name": "Adam Wasila",
        "email": "adam.wasila@gmail.com",
        "time": "Thu Aug 08 23:30:31 2019 +0200"
      },
      "message": "Update README to use new major version of package (v2)\n"
    },
    {
      "commit": "1875b8508aec6e596012f80af64d2e4626dc6fb4",
      "tree": "4f705e687e95108b5b548813c0cd1e1dd6751b85",
      "parents": [
        "61ad238eb7638d6d059a1185654d047981606c31"
      ],
      "author": {
        "name": "Adam Wasila",
        "email": "adam.wasila@gmail.com",
        "time": "Thu Aug 08 23:10:02 2019 +0200"
      },
      "committer": {
        "name": "Adam Wasila",
        "email": "adam.wasila@gmail.com",
        "time": "Thu Aug 08 23:20:54 2019 +0200"
      },
      "message": "Update dependencies to v2 major version of Casbin\n"
    },
    {
      "commit": "61ad238eb7638d6d059a1185654d047981606c31",
      "tree": "a7ca3e566b0adf28c267cc3573781ca4a72f4c69",
      "parents": [
        "be5dfdc5b197d95199072444a87b4f0743c249a6",
        "af10768001b9e16ab7c127e9305359e832e530cb"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sun Jul 14 21:36:58 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 14 21:36:58 2019 +0800"
      },
      "message": "Merge pull request #18 from adamwasila/add_modules\n\nAdd modules files"
    },
    {
      "commit": "af10768001b9e16ab7c127e9305359e832e530cb",
      "tree": "a7ca3e566b0adf28c267cc3573781ca4a72f4c69",
      "parents": [
        "be5dfdc5b197d95199072444a87b4f0743c249a6"
      ],
      "author": {
        "name": "Adam Wasila",
        "email": "adam.wasila@gmail.com",
        "time": "Sun Jul 14 12:41:48 2019 +0200"
      },
      "committer": {
        "name": "Adam Wasila",
        "email": "adam.wasila@gmail.com",
        "time": "Sun Jul 14 12:41:48 2019 +0200"
      },
      "message": "Init modules files\n\nInitialized with:\n- go mod init\n- go mod tidy (which adds additional transitive dependencies)\n"
    },
    {
      "commit": "be5dfdc5b197d95199072444a87b4f0743c249a6",
      "tree": "92f27538d05c0fd8089b4dbe7222117c86aac973",
      "parents": [
        "0036bce266dd52217e76163aac798c07aa994999",
        "f84b63cc901657bb4e1d93694d774293ef14defd"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Apr 04 00:47:13 2019 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 04 00:47:13 2019 +0800"
      },
      "message": "Merge pull request #17 from levimm/fixGlobalSessionIssue\n\navoid using global session"
    },
    {
      "commit": "f84b63cc901657bb4e1d93694d774293ef14defd",
      "tree": "92f27538d05c0fd8089b4dbe7222117c86aac973",
      "parents": [
        "0036bce266dd52217e76163aac798c07aa994999"
      ],
      "author": {
        "name": "levimm",
        "email": "mali_no2@hotmail.com",
        "time": "Wed Mar 06 15:42:57 2019 +0800"
      },
      "committer": {
        "name": "levimm",
        "email": "mali_no2@hotmail.com",
        "time": "Wed Mar 06 15:42:57 2019 +0800"
      },
      "message": "avoid using global session\n"
    },
    {
      "commit": "0036bce266dd52217e76163aac798c07aa994999",
      "tree": "4af7baefdeb848b103c741dbbd76ef2f3a170c9e",
      "parents": [
        "595d14f2fb80586ccb7c5f005cbde961455a3c11",
        "c781571b7f34d2ec8131617716ba2746498f7e24"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Dec 14 22:58:54 2018 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 14 22:58:54 2018 +0800"
      },
      "message": "Merge pull request #15 from Schubbcasten/mongodialinfo-option\n\nAdd mgo.DialInfo as an alternative option for the Adapter constructor"
    },
    {
      "commit": "c781571b7f34d2ec8131617716ba2746498f7e24",
      "tree": "4af7baefdeb848b103c741dbbd76ef2f3a170c9e",
      "parents": [
        "595d14f2fb80586ccb7c5f005cbde961455a3c11"
      ],
      "author": {
        "name": "Carsten Griessmann",
        "email": "carsten-griessmann@t-online.de",
        "time": "Fri Dec 14 15:14:11 2018 +0100"
      },
      "committer": {
        "name": "Carsten Griessmann",
        "email": "carsten-griessmann@t-online.de",
        "time": "Fri Dec 14 15:32:07 2018 +0100"
      },
      "message": "added new adapter constructor that works with mgo.DialInfo as argument\n"
    },
    {
      "commit": "595d14f2fb80586ccb7c5f005cbde961455a3c11",
      "tree": "8b06a7162b4e3c4161ffe9f03a3c9745e9cf88b2",
      "parents": [
        "a381e1432214376437738d643343f123fe02ac8d",
        "f81b666602715dd2fc648f1f972e6c787fda82f9"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 08 12:18:02 2018 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Dec 08 12:18:02 2018 +0800"
      },
      "message": "Merge pull request #14 from GNURub/feature/mgo-umaintained\n\nChanged mgo repository to github.com/globalsign/mgo"
    },
    {
      "commit": "a381e1432214376437738d643343f123fe02ac8d",
      "tree": "de2cb29d41f2bd35d526b1bd3a21e39a52f42b7d",
      "parents": [
        "cedbb3fcf10d82b147399c3646dfbcd7bff90abe"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 08 12:16:07 2018 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 08 12:16:07 2018 +0800"
      },
      "message": "Use filtered to determine whether it\u0027s a filtered adapter.\n"
    },
    {
      "commit": "cedbb3fcf10d82b147399c3646dfbcd7bff90abe",
      "tree": "483b5717f6374bf1de47f427fa61ac81fbdac561",
      "parents": [
        "f79831b3b10076b233728f2bd2a4b50268c854eb"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 08 11:53:36 2018 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Dec 08 11:53:36 2018 +0800"
      },
      "message": "Improve test helper function.\n"
    },
    {
      "commit": "f81b666602715dd2fc648f1f972e6c787fda82f9",
      "tree": "4ebab3aec1f494bfd9b5f25118f2cbd7edc02cfd",
      "parents": [
        "c8328b47f4b98176051b3cca43e56d8a6397593e"
      ],
      "author": {
        "name": "Ruben Cid",
        "email": "rubencidlara@gmail.com",
        "time": "Sun Sep 23 17:35:46 2018 +0200"
      },
      "committer": {
        "name": "Ruben Cid",
        "email": "rubencidlara@gmail.com",
        "time": "Sun Sep 23 17:35:46 2018 +0200"
      },
      "message": "Removed go.mod and go.sum\n"
    },
    {
      "commit": "c8328b47f4b98176051b3cca43e56d8a6397593e",
      "tree": "95eb05169007ead806a55645669c81a4d9b827fc",
      "parents": [
        "f79831b3b10076b233728f2bd2a4b50268c854eb"
      ],
      "author": {
        "name": "Ruben Cid",
        "email": "rubencidlara@gmail.com",
        "time": "Sun Sep 23 13:31:45 2018 +0200"
      },
      "committer": {
        "name": "Ruben Cid",
        "email": "rubencidlara@gmail.com",
        "time": "Sun Sep 23 13:31:45 2018 +0200"
      },
      "message": "Changed mgo repository to github.com/globalsign/mgo\n"
    },
    {
      "commit": "f79831b3b10076b233728f2bd2a4b50268c854eb",
      "tree": "58704782a44c7a8bd7bbb43e708b4b61a865d08b",
      "parents": [
        "94a6b8a052e6727dfe20d7bfc4d6e8fa8a76a71f",
        "ff8c9937931257f454d261822301593f75cc533c"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Sep 19 17:11:23 2018 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 19 17:11:23 2018 +0800"
      },
      "message": "Merge pull request #11 from Wynnfan/mongodb-adapter-wy\n\nmodify readme"
    },
    {
      "commit": "ff8c9937931257f454d261822301593f75cc533c",
      "tree": "58704782a44c7a8bd7bbb43e708b4b61a865d08b",
      "parents": [
        "94a6b8a052e6727dfe20d7bfc4d6e8fa8a76a71f"
      ],
      "author": {
        "name": "fan_wang",
        "email": "fan_wang@guanyun.com.cn",
        "time": "Wed Sep 19 17:06:15 2018 +0800"
      },
      "committer": {
        "name": "fan_wang",
        "email": "fan_wang@guanyun.com.cn",
        "time": "Wed Sep 19 17:06:15 2018 +0800"
      },
      "message": "modify readme\n"
    },
    {
      "commit": "94a6b8a052e6727dfe20d7bfc4d6e8fa8a76a71f",
      "tree": "9f056e1d9dc48f934265debc11f0a080d80a321e",
      "parents": [
        "52263223b24e49ba2e0673e811e20aadf3c5d59f",
        "f1de852e920543d4d55c87dcf907d725df5f86bc"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Sat Apr 21 20:55:03 2018 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Apr 21 20:55:03 2018 +0800"
      },
      "message": "Merge pull request #9 from Hellobigxu/adapter-filternull\n\nFixed a bug. When do RemoveFilteredPolicy(0,sub,,act) doesn\u0027t affect …"
    },
    {
      "commit": "f1de852e920543d4d55c87dcf907d725df5f86bc",
      "tree": "9f056e1d9dc48f934265debc11f0a080d80a321e",
      "parents": [
        "52263223b24e49ba2e0673e811e20aadf3c5d59f"
      ],
      "author": {
        "name": "guoxing.xu",
        "email": "guoxing.xu@hobot.cc",
        "time": "Sat Apr 21 18:02:47 2018 +0800"
      },
      "committer": {
        "name": "guoxing.xu",
        "email": "guoxing.xu@hobot.cc",
        "time": "Sat Apr 21 18:54:52 2018 +0800"
      },
      "message": "Fixed a bug. When do RemoveFilteredPolicy(0,sub,,act) doesn\u0027t affect the policy in the storage\n"
    },
    {
      "commit": "52263223b24e49ba2e0673e811e20aadf3c5d59f",
      "tree": "feb8064b00e896a4eb27090f409cecd0bb60f617",
      "parents": [
        "64adc23c86819701254d224ff58703bed9882619",
        "14e613da954eebc55b193cc24e50e88a7128d6f7"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Mar 16 09:28:24 2018 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 16 09:28:24 2018 +0800"
      },
      "message": "Merge pull request #5 from faceless-saint/master\n\n[feature] Add policy filtering"
    },
    {
      "commit": "14e613da954eebc55b193cc24e50e88a7128d6f7",
      "tree": "feb8064b00e896a4eb27090f409cecd0bb60f617",
      "parents": [
        "64adc23c86819701254d224ff58703bed9882619"
      ],
      "author": {
        "name": "Ryan Clarke",
        "email": "faceless.saint@gmail.com",
        "time": "Thu Mar 15 15:13:57 2018 -0400"
      },
      "committer": {
        "name": "Ryan Clarke",
        "email": "faceless.saint@gmail.com",
        "time": "Thu Mar 15 15:13:57 2018 -0400"
      },
      "message": "[feature] Add policy filtering\n\nAllow for filtered policy loading, so that the loaded policy is\na targeted subset of the policy in storage. This allows the policy\nenforcement to more effectively scale for very large policies in\na multi-tenant environment by only loading the policies relevant\nto the requested tenant.\n\nTo protect the full policy from accidental corruption, a filtered\npolicy cannot be saved back to storage.\n"
    },
    {
      "commit": "64adc23c86819701254d224ff58703bed9882619",
      "tree": "e70c70556b711b89cadc69ad7bbc59b872e8831f",
      "parents": [
        "654a9aa508fdea9ee1b8a13b40f30dac22edb2db",
        "eb2165965df756377d4238f68d8834bd3097d787"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Thu Sep 07 14:36:42 2017 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 07 14:36:42 2017 +0800"
      },
      "message": "Merge pull request #4 from kenjones-cisco/feature/add-remove-policy\n\nFeature: Implements AddPolicy/RemovePolicy/RemoveFilteredPolicy"
    },
    {
      "commit": "eb2165965df756377d4238f68d8834bd3097d787",
      "tree": "e70c70556b711b89cadc69ad7bbc59b872e8831f",
      "parents": [
        "654a9aa508fdea9ee1b8a13b40f30dac22edb2db"
      ],
      "author": {
        "name": "kenjones-cisco",
        "email": "kenjones@cisco.com",
        "time": "Wed Sep 06 22:27:27 2017 -0400"
      },
      "committer": {
        "name": "kenjones-cisco",
        "email": "kenjones@cisco.com",
        "time": "Wed Sep 06 22:27:27 2017 -0400"
      },
      "message": "Feature: Implements AddPolicy/RemovePolicy/RemoveFilteredPolicy\n\nAdds implementations for AddPolicy/RemovePolicy/RemoveFilteredPolicy.\nAdds unit test cases to cover new functionality.\nAlso code simplification.\n"
    },
    {
      "commit": "654a9aa508fdea9ee1b8a13b40f30dac22edb2db",
      "tree": "864ffd364cb13206ff0f75a356351f2018342b13",
      "parents": [
        "50636fcd4caa7ec61ea269c02c6f5d647289f53f",
        "77c11b559c77c77b39d1089b3e7529694da051ca"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Tue Aug 22 21:54:47 2017 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 22 21:54:47 2017 +0800"
      },
      "message": "Merge pull request #2 from shivylp/master\n\nremoved dbSpecified parameter for NewAdapter"
    },
    {
      "commit": "77c11b559c77c77b39d1089b3e7529694da051ca",
      "tree": "864ffd364cb13206ff0f75a356351f2018342b13",
      "parents": [
        "50636fcd4caa7ec61ea269c02c6f5d647289f53f"
      ],
      "author": {
        "name": "Shivaprasad",
        "email": "shivaprasad.b@endurance.com",
        "time": "Tue Aug 22 19:04:55 2017 +0530"
      },
      "committer": {
        "name": "Shivaprasad",
        "email": "shivaprasad.b@endurance.com",
        "time": "Tue Aug 22 19:04:55 2017 +0530"
      },
      "message": "removed dbSpecified parameter for NewAdapter\n"
    },
    {
      "commit": "50636fcd4caa7ec61ea269c02c6f5d647289f53f",
      "tree": "20b93fd813aa7f46ccb60a30a2079bf52b7acf85",
      "parents": [
        "f80a2680c9b447f93cc0cc1eff3a88575262c7b5"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Aug 11 14:57:35 2017 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Fri Aug 11 14:57:35 2017 +0800"
      },
      "message": "Add SQL index to gain speed.\n"
    },
    {
      "commit": "f80a2680c9b447f93cc0cc1eff3a88575262c7b5",
      "tree": "b9a68f89353bf98f7cc50a66084a8a084de3ceb7",
      "parents": [
        "1e3de56284ce46bd782305dc3eec216a2d2e2ab4"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:19:56 2017 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:19:56 2017 +0800"
      },
      "message": "Add Travis CI and coverage.\n"
    },
    {
      "commit": "1e3de56284ce46bd782305dc3eec216a2d2e2ab4",
      "tree": "c618c8b8d082a73f52ccb93e1ea1fae6b8d16b7c",
      "parents": [
        "c623d90da0c3312bdb4f0e6f12acb825e66902af"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:11:42 2017 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:11:42 2017 +0800"
      },
      "message": "Add README.\n"
    },
    {
      "commit": "c623d90da0c3312bdb4f0e6f12acb825e66902af",
      "tree": "1c8718469af398a7a62c214fadfd8ea3421abb8b",
      "parents": [
        "e4fc13ddaf8a9031e928c9e59d1c476f0a7b1057"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:04:33 2017 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:04:33 2017 +0800"
      },
      "message": "Add the code.\n"
    },
    {
      "commit": "e4fc13ddaf8a9031e928c9e59d1c476f0a7b1057",
      "tree": "f4d5bb00967d589d63a12ef38e096646429f0a9f",
      "parents": [
        "03bb626a332a18e5c8a2673259662219e2b7f0dd"
      ],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:04:15 2017 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 17:04:15 2017 +0800"
      },
      "message": "Ignore IDEA files.\n"
    },
    {
      "commit": "03bb626a332a18e5c8a2673259662219e2b7f0dd",
      "tree": "5d6667a39c13c0c31f555c2cc49930743f7efd55",
      "parents": [],
      "author": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 14:24:39 2017 +0800"
      },
      "committer": {
        "name": "Yang Luo",
        "email": "hsluoyz@qq.com",
        "time": "Wed Aug 09 14:24:39 2017 +0800"
      },
      "message": "Initial commit"
    }
  ]
}
