casbin 5.49.0 → 5.51.0-snapshot.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Node-Casbin
2
2
 
3
- [![GitHub Actions](https://github.com/casbin/node-casbin/workflows/main/badge.svg)](https://github.com/casbin/node-casbin/actions)
4
- [![Coverage Status](https://coveralls.io/repos/github/casbin/node-casbin/badge.svg?branch=master)](https://coveralls.io/github/casbin/node-casbin?branch=master)
5
- [![Release](https://img.shields.io/github/release/casbin/node-casbin.svg)](https://github.com/casbin/node-casbin/releases/latest)
3
+ [![GitHub Actions](https://github.com/apache/casbin-node-casbin/workflows/main/badge.svg)](https://github.com/apache/casbin-node-casbin/actions)
4
+ [![Coverage Status](https://codecov.io/gh/apache/casbin-node-casbin/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/casbin-node-casbin)
5
+ [![Release](https://img.shields.io/github/release/apache/casbin-node-casbin.svg)](https://github.com/apache/casbin-node-casbin/releases/latest)
6
6
  [![NPM version][npm-image]][npm-url]
7
7
  [![NPM download][download-image]][download-url]
8
8
  [![install size](https://packagephobia.now.sh/badge?p=casbin)](https://packagephobia.now.sh/result?p=casbin)
@@ -13,7 +13,7 @@
13
13
  [download-image]: https://img.shields.io/npm/dm/casbin.svg?style=flat-square
14
14
  [download-url]: https://npmjs.org/package/casbin
15
15
 
16
- **News**: still worry about how to write the correct `node-casbin` policy? [Casbin online editor](http://casbin.org/editor) is coming to help!
16
+ **News**: still worry about how to write the correct `node-casbin` policy? [Casbin online editor](https://casbin.apache.org/editor) is coming to help!
17
17
 
18
18
  ![casbin Logo](casbin-logo.png)
19
19
 
@@ -21,19 +21,19 @@
21
21
 
22
22
  ## All the languages supported by Casbin:
23
23
 
24
- | [![golang](https://casbin.org/img/langs/golang.png)](https://github.com/casbin/casbin) | [![java](https://casbin.org/img/langs/java.png)](https://github.com/casbin/jcasbin) | [![nodejs](https://casbin.org/img/langs/nodejs.png)](https://github.com/casbin/node-casbin) | [![php](https://casbin.org/img/langs/php.png)](https://github.com/php-casbin/php-casbin) |
25
- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
26
- | [Casbin](https://github.com/casbin/casbin) | [jCasbin](https://github.com/casbin/jcasbin) | [node-Casbin](https://github.com/casbin/node-casbin) | [PHP-Casbin](https://github.com/php-casbin/php-casbin) |
27
- | production-ready | production-ready | production-ready | production-ready |
24
+ | [![golang](https://casbin.apache.org/img/langs/golang.png)](https://github.com/casbin/casbin) | [![java](https://casbin.apache.org/img/langs/java.png)](https://github.com/casbin/jcasbin) | [![nodejs](https://casbin.apache.org/img/langs/nodejs.png)](https://github.com/apache/casbin-node-casbin) | [![php](https://casbin.apache.org/img/langs/php.png)](https://github.com/php-casbin/php-casbin) |
25
+ | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
26
+ | [Casbin](https://github.com/casbin/casbin) | [jCasbin](https://github.com/casbin/jcasbin) | [node-Casbin](https://github.com/apache/casbin-node-casbin) | [PHP-Casbin](https://github.com/php-casbin/php-casbin) |
27
+ | production-ready | production-ready | production-ready | production-ready |
28
28
 
29
- | [![python](https://casbin.org/img/langs/python.png)](https://github.com/casbin/pycasbin) | [![dotnet](https://casbin.org/img/langs/dotnet.png)](https://github.com/casbin-net/Casbin.NET) | [![c++](https://casbin.org/img/langs/cpp.png)](https://github.com/casbin/casbin-cpp) | [![rust](https://casbin.org/img/langs/rust.png)](https://github.com/casbin/casbin-rs) |
30
- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
31
- | [PyCasbin](https://github.com/casbin/pycasbin) | [Casbin.NET](https://github.com/casbin-net/Casbin.NET) | [Casbin-CPP](https://github.com/casbin/casbin-cpp) | [Casbin-RS](https://github.com/casbin/casbin-rs) |
32
- | production-ready | production-ready | beta-test | production-ready |
29
+ | [![python](https://casbin.apache.org/img/langs/python.png)](https://github.com/casbin/pycasbin) | [![dotnet](https://casbin.apache.org/img/langs/dotnet.png)](https://github.com/casbin-net/Casbin.NET) | [![c++](https://casbin.apache.org/img/langs/cpp.png)](https://github.com/casbin/casbin-cpp) | [![rust](https://casbin.apache.org/img/langs/rust.png)](https://github.com/casbin/casbin-rs) |
30
+ | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
31
+ | [PyCasbin](https://github.com/casbin/pycasbin) | [Casbin.NET](https://github.com/casbin-net/Casbin.NET) | [Casbin-CPP](https://github.com/casbin/casbin-cpp) | [Casbin-RS](https://github.com/casbin/casbin-rs) |
32
+ | production-ready | production-ready | beta-test | production-ready |
33
33
 
34
34
  ## Documentation
35
35
 
36
- https://casbin.org/docs/overview
36
+ https://casbin.apache.org/docs/overview
37
37
 
38
38
  ## Installation
39
39
 
@@ -92,33 +92,33 @@ See [Policy management APIs](#policy-management) for more usage.
92
92
 
93
93
  Casbin provides two sets of APIs to manage permissions:
94
94
 
95
- - [Management API](https://casbin.org/docs/management-api): the primitive API that provides full support for Casbin policy management.
96
- - [RBAC API](https://casbin.org/docs/rbac-api): a more friendly API for RBAC. This API is a subset of Management API. The RBAC users could use this API to simplify the code.
95
+ - [Management API](https://casbin.apache.org/docs/management-api): the primitive API that provides full support for Casbin policy management.
96
+ - [RBAC API](https://casbin.apache.org/docs/rbac-api): a more friendly API for RBAC. This API is a subset of Management API. The RBAC users could use this API to simplify the code.
97
97
 
98
98
  ## Official Model
99
99
 
100
- https://casbin.org/docs/supported-models
100
+ https://casbin.apache.org/docs/supported-models
101
101
 
102
102
  ## Policy persistence
103
103
 
104
- https://casbin.org/docs/adapters
104
+ https://casbin.apache.org/docs/adapters
105
105
 
106
106
  ## Policy consistence between multiple nodes
107
107
 
108
- https://casbin.org/docs/watchers
108
+ https://casbin.apache.org/docs/watchers
109
109
 
110
110
  ## Role manager
111
111
 
112
- https://casbin.org/docs/role-managers
112
+ https://casbin.apache.org/docs/role-managers
113
113
 
114
114
  ## Contributors
115
115
 
116
116
  This project exists thanks to all the people who contribute.
117
- <a href="https://github.com/casbin/node-casbin/graphs/contributors"><img src="https://opencollective.com/node-casbin/contributors.svg?width=890&button=false" /></a>
117
+ <a href="https://github.com/apache/casbin-node-casbin/graphs/contributors"><img src="https://opencollective.com/node-casbin/contributors.svg?width=890&button=false" /></a>
118
118
 
119
119
  ## Star History
120
120
 
121
- [![Star History Chart](https://api.star-history.com/svg?repos=casbin/node-casbin&type=Date)](https://star-history.com/#casbin/node-casbin&Date)
121
+ [![Star History Chart](https://api.star-history.com/svg?repos=apache/casbin-node-casbin&type=Date)](https://star-history.com/#apache/casbin-node-casbin&Date)
122
122
 
123
123
  ## License
124
124
 
@@ -127,5 +127,6 @@ This project is licensed under the [Apache 2.0 license](LICENSE).
127
127
  ## Contact
128
128
 
129
129
  If you have any issues or feature requests, please contact us. PR is welcomed.
130
- - https://github.com/casbin/node-casbin/issues
130
+
131
+ - https://github.com/apache/casbin-node-casbin/issues
131
132
  - https://discord.gg/S5UjpzGZjN
@@ -50,8 +50,7 @@ class DefaultFilteredAdapter extends fileAdapter_1.FileAdapter {
50
50
  if (this.filtered) {
51
51
  throw new Error('cannot save a filtered policy');
52
52
  }
53
- await super.savePolicy(model);
54
- return true;
53
+ return super.savePolicy(model);
55
54
  }
56
55
  static filterLine(line, filter) {
57
56
  if (!filter) {
@@ -46,27 +46,25 @@ class FileAdapter {
46
46
  }
47
47
  let result = '';
48
48
  const pList = model.model.get('p');
49
- if (!pList) {
50
- return false;
51
- }
52
- pList.forEach((n) => {
53
- n.policy.forEach((m) => {
54
- result += n.key + ', ';
55
- result += (0, util_1.arrayToString)(m);
56
- result += '\n';
49
+ if (pList) {
50
+ pList.forEach((n) => {
51
+ n.policy.forEach((m) => {
52
+ result += n.key + ', ';
53
+ result += (0, util_1.arrayToString)(m);
54
+ result += '\n';
55
+ });
57
56
  });
58
- });
59
- const gList = model.model.get('g');
60
- if (!gList) {
61
- return false;
62
57
  }
63
- gList.forEach((n) => {
64
- n.policy.forEach((m) => {
65
- result += n.key + ', ';
66
- result += (0, util_1.arrayToString)(m.map((element) => this.escapeCsv(element)));
67
- result += '\n';
58
+ const gList = model.model.get('g');
59
+ if (gList) {
60
+ gList.forEach((n) => {
61
+ n.policy.forEach((m) => {
62
+ result += n.key + ', ';
63
+ result += (0, util_1.arrayToString)(m.map((element) => this.escapeCsv(element)));
64
+ result += '\n';
65
+ });
68
66
  });
69
- });
67
+ }
70
68
  await this.savePolicyFile(result.trim());
71
69
  return true;
72
70
  }
@@ -29,7 +29,7 @@
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.ip = void 0;
31
31
  const buffer_1 = require("buffer/");
32
- const ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/;
32
+ const ipv4Regex = /^(25[0-5]|2[0-4]\d|1\d\d|\d?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|\d?\d)){3}$/;
33
33
  const ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i;
34
34
  exports.ip = {
35
35
  toBuffer: function (ip, buff, offset) {
@@ -125,15 +125,13 @@ exports.ip = {
125
125
  return ipv4Regex.test(ip);
126
126
  },
127
127
  isV6Format: function (ip) {
128
- return ipv6Regex.test(ip);
128
+ return ip.includes(':') && ipv6Regex.test(ip);
129
129
  },
130
130
  fromPrefixLen: function (prefixlen, family) {
131
+ family = _normalizeFamily(typeof family === 'string' ? family : 'ipv4');
131
132
  if (prefixlen > 32) {
132
133
  family = 'ipv6';
133
134
  }
134
- else {
135
- family = _normalizeFamily(typeof family === 'string' ? family : '');
136
- }
137
135
  let len = 4;
138
136
  if (family === 'ipv6') {
139
137
  len = 16;
@@ -185,7 +183,7 @@ exports.ip = {
185
183
  return exports.ip.toString(result);
186
184
  },
187
185
  subnet: function (addr, mask) {
188
- const networkAddress = exports.ip.toLong(exports.ip.mask(addr, mask));
186
+ const networkBuffer = exports.ip.toBuffer(exports.ip.mask(addr, mask));
189
187
  // Calculate the mask's length.
190
188
  const maskBuffer = exports.ip.toBuffer(mask);
191
189
  let maskLength = 0;
@@ -203,7 +201,20 @@ exports.ip = {
203
201
  }
204
202
  return {
205
203
  contains: function (other) {
206
- return networkAddress === exports.ip.toLong(exports.ip.mask(other, mask));
204
+ let otherBuffer;
205
+ try {
206
+ otherBuffer = exports.ip.toBuffer(exports.ip.mask(other, mask));
207
+ }
208
+ catch (_a) {
209
+ return false;
210
+ }
211
+ if (networkBuffer.length !== otherBuffer.length)
212
+ return false;
213
+ for (let i = 0; i < networkBuffer.length; i++) {
214
+ if (networkBuffer[i] !== otherBuffer[i])
215
+ return false;
216
+ }
217
+ return true;
207
218
  },
208
219
  };
209
220
  },
@@ -212,7 +223,8 @@ exports.ip = {
212
223
  const addr = cidrParts[0];
213
224
  if (cidrParts.length !== 2)
214
225
  throw new Error('invalid CIDR subnet: ' + addr);
215
- const mask = exports.ip.fromPrefixLen(parseInt(cidrParts[1], 10));
226
+ const family = exports.ip.isV6Format(addr) ? 'ipv6' : 'ipv4';
227
+ const mask = exports.ip.fromPrefixLen(parseInt(cidrParts[1], 10), family);
216
228
  return exports.ip.subnet(addr, mask);
217
229
  },
218
230
  isEqual: function (a, b) {
@@ -46,8 +46,7 @@ export class DefaultFilteredAdapter extends FileAdapter {
46
46
  if (this.filtered) {
47
47
  throw new Error('cannot save a filtered policy');
48
48
  }
49
- await super.savePolicy(model);
50
- return true;
49
+ return super.savePolicy(model);
51
50
  }
52
51
  static filterLine(line, filter) {
53
52
  if (!filter) {
@@ -43,27 +43,25 @@ export class FileAdapter {
43
43
  }
44
44
  let result = '';
45
45
  const pList = model.model.get('p');
46
- if (!pList) {
47
- return false;
48
- }
49
- pList.forEach((n) => {
50
- n.policy.forEach((m) => {
51
- result += n.key + ', ';
52
- result += arrayToString(m);
53
- result += '\n';
46
+ if (pList) {
47
+ pList.forEach((n) => {
48
+ n.policy.forEach((m) => {
49
+ result += n.key + ', ';
50
+ result += arrayToString(m);
51
+ result += '\n';
52
+ });
54
53
  });
55
- });
56
- const gList = model.model.get('g');
57
- if (!gList) {
58
- return false;
59
54
  }
60
- gList.forEach((n) => {
61
- n.policy.forEach((m) => {
62
- result += n.key + ', ';
63
- result += arrayToString(m.map((element) => this.escapeCsv(element)));
64
- result += '\n';
55
+ const gList = model.model.get('g');
56
+ if (gList) {
57
+ gList.forEach((n) => {
58
+ n.policy.forEach((m) => {
59
+ result += n.key + ', ';
60
+ result += arrayToString(m.map((element) => this.escapeCsv(element)));
61
+ result += '\n';
62
+ });
65
63
  });
66
- });
64
+ }
67
65
  await this.savePolicyFile(result.trim());
68
66
  return true;
69
67
  }
@@ -26,7 +26,7 @@
26
26
  // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
27
27
  // USE OR OTHER DEALINGS IN THE SOFTWARE.
28
28
  import { Buffer } from 'buffer/';
29
- const ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/;
29
+ const ipv4Regex = /^(25[0-5]|2[0-4]\d|1\d\d|\d?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|\d?\d)){3}$/;
30
30
  const ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i;
31
31
  export const ip = {
32
32
  toBuffer: function (ip, buff, offset) {
@@ -122,15 +122,13 @@ export const ip = {
122
122
  return ipv4Regex.test(ip);
123
123
  },
124
124
  isV6Format: function (ip) {
125
- return ipv6Regex.test(ip);
125
+ return ip.includes(':') && ipv6Regex.test(ip);
126
126
  },
127
127
  fromPrefixLen: function (prefixlen, family) {
128
+ family = _normalizeFamily(typeof family === 'string' ? family : 'ipv4');
128
129
  if (prefixlen > 32) {
129
130
  family = 'ipv6';
130
131
  }
131
- else {
132
- family = _normalizeFamily(typeof family === 'string' ? family : '');
133
- }
134
132
  let len = 4;
135
133
  if (family === 'ipv6') {
136
134
  len = 16;
@@ -182,7 +180,7 @@ export const ip = {
182
180
  return ip.toString(result);
183
181
  },
184
182
  subnet: function (addr, mask) {
185
- const networkAddress = ip.toLong(ip.mask(addr, mask));
183
+ const networkBuffer = ip.toBuffer(ip.mask(addr, mask));
186
184
  // Calculate the mask's length.
187
185
  const maskBuffer = ip.toBuffer(mask);
188
186
  let maskLength = 0;
@@ -200,7 +198,20 @@ export const ip = {
200
198
  }
201
199
  return {
202
200
  contains: function (other) {
203
- return networkAddress === ip.toLong(ip.mask(other, mask));
201
+ let otherBuffer;
202
+ try {
203
+ otherBuffer = ip.toBuffer(ip.mask(other, mask));
204
+ }
205
+ catch (_a) {
206
+ return false;
207
+ }
208
+ if (networkBuffer.length !== otherBuffer.length)
209
+ return false;
210
+ for (let i = 0; i < networkBuffer.length; i++) {
211
+ if (networkBuffer[i] !== otherBuffer[i])
212
+ return false;
213
+ }
214
+ return true;
204
215
  },
205
216
  };
206
217
  },
@@ -209,7 +220,8 @@ export const ip = {
209
220
  const addr = cidrParts[0];
210
221
  if (cidrParts.length !== 2)
211
222
  throw new Error('invalid CIDR subnet: ' + addr);
212
- const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
223
+ const family = ip.isV6Format(addr) ? 'ipv6' : 'ipv4';
224
+ const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10), family);
213
225
  return ip.subnet(addr, mask);
214
226
  },
215
227
  isEqual: function (a, b) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "casbin",
3
- "version": "5.49.0",
3
+ "version": "5.51.0-snapshot.1",
4
4
  "description": "An authorization library that supports access control models like ACL, RBAC, ABAC in Node.JS",
5
5
  "main": "lib/cjs/index.js",
6
6
  "typings": "lib/cjs/index.d.ts",
@@ -29,7 +29,6 @@
29
29
  "@types/picomatch": "^2.2.2",
30
30
  "@typescript-eslint/eslint-plugin": "^4.17.0",
31
31
  "@typescript-eslint/parser": "^4.17.0",
32
- "coveralls": "^3.0.2",
33
32
  "cz-conventional-changelog": "^3.2.0",
34
33
  "eslint": "^7.22.0",
35
34
  "eslint-config-prettier": "^6.12.0",
@@ -57,10 +56,10 @@
57
56
  "lib",
58
57
  "examples"
59
58
  ],
60
- "homepage": "http://casbin.org",
59
+ "homepage": "https://casbin.apache.org",
61
60
  "repository": {
62
61
  "type": "git",
63
- "url": "https://github.com/casbin/node-casbin.git"
62
+ "url": "https://github.com/apache/casbin-node-casbin.git"
64
63
  },
65
64
  "license": "Apache-2.0",
66
65
  "husky": {
package/CHANGELOG.md DELETED
@@ -1,812 +0,0 @@
1
- # [5.43.0](https://github.com/casbin/node-casbin/compare/v5.42.0...v5.43.0) (2025-12-08)
2
-
3
-
4
- ### Features
5
-
6
- * add no-policy ABAC example and test ([#523](https://github.com/casbin/node-casbin/issues/523)) ([d982c05](https://github.com/casbin/node-casbin/commit/d982c058ef098716dbc5c7d4b218cc19950421a8))
7
-
8
- # [5.42.0](https://github.com/casbin/node-casbin/compare/v5.41.0...v5.42.0) (2025-12-08)
9
-
10
-
11
- ### Features
12
-
13
- * configure CI workflow to trigger on master branch ([#521](https://github.com/casbin/node-casbin/issues/521)) ([02ec045](https://github.com/casbin/node-casbin/commit/02ec04525b95691ff5f9b76e6b42ade194e9745f))
14
- * fix duplicate CI runs on pull requests ([#513](https://github.com/casbin/node-casbin/issues/513)) ([67ab8ee](https://github.com/casbin/node-casbin/commit/67ab8ee43a8b695d11dd73558a0c0cf0348756a7))
15
- * fix escapeAssertion to preserve string literals ([#514](https://github.com/casbin/node-casbin/issues/514)) ([7801732](https://github.com/casbin/node-casbin/commit/7801732d5f050093a2d844917c7ad9862af78bd2))
16
- * Support multiple policy definitions (p, p2) ([#518](https://github.com/casbin/node-casbin/issues/518)) ([1b1f1bb](https://github.com/casbin/node-casbin/commit/1b1f1bb181ea6c5bb43c330802a435d93f2fa2f0))
17
-
18
- # [5.41.0](https://github.com/casbin/node-casbin/compare/v5.40.0...v5.41.0) (2025-11-11)
19
-
20
-
21
- ### Features
22
-
23
- * upgrade CI Node.js versions from 18/20 to 20/22 ([#511](https://github.com/casbin/node-casbin/issues/511)) ([657ce9a](https://github.com/casbin/node-casbin/commit/657ce9a14d8615b68364018aa89301d9aaa77f94))
24
-
25
- # [5.40.0](https://github.com/casbin/node-casbin/compare/v5.39.0...v5.40.0) (2025-10-12)
26
-
27
-
28
- ### Features
29
-
30
- * remove codebeat badge in README ([015251e](https://github.com/casbin/node-casbin/commit/015251e7b93fa591ccfccc2183ac922e038b005a))
31
-
32
- # [5.39.0](https://github.com/casbin/node-casbin/compare/v5.38.0...v5.39.0) (2025-09-22)
33
-
34
-
35
- ### Features
36
-
37
- * **adapter:** add lazyLoad parameter to initWithAdapter in newEnforcerWithClass ([#503](https://github.com/casbin/node-casbin/issues/503)) ([b9a3d45](https://github.com/casbin/node-casbin/commit/b9a3d451baabc60f2de0e64807b9930c888b3774))
38
-
39
- # [5.38.0](https://github.com/casbin/node-casbin/compare/v5.37.0...v5.38.0) (2025-01-23)
40
-
41
-
42
- ### Features
43
-
44
- * implement `enableAcceptJsonRequest` API ([#497](https://github.com/casbin/node-casbin/issues/497)) ([650db88](https://github.com/casbin/node-casbin/commit/650db88d6703db9ef934a371ba782791376e0088))
45
-
46
- # [5.37.0](https://github.com/casbin/node-casbin/compare/v5.36.0...v5.37.0) (2025-01-10)
47
-
48
-
49
- ### Features
50
-
51
- * use empty array [] as reason for enforceEx() ([#496](https://github.com/casbin/node-casbin/issues/496)) ([c951a8f](https://github.com/casbin/node-casbin/commit/c951a8fd6afb70ecdbbf76e3424ec5107133e254))
52
-
53
- # [5.36.0](https://github.com/casbin/node-casbin/compare/v5.35.0...v5.36.0) (2024-11-22)
54
-
55
-
56
- ### Features
57
-
58
- * add BracketAwareCsvParser to parse CSV file better ([#494](https://github.com/casbin/node-casbin/issues/494)) ([4c73883](https://github.com/casbin/node-casbin/commit/4c738831ebbf71f8f3a6ccac8495644c09a5e5dd))
59
-
60
- # [5.35.0](https://github.com/casbin/node-casbin/compare/v5.34.0...v5.35.0) (2024-11-20)
61
-
62
-
63
- ### Features
64
-
65
- * update to @casbin/expression-eval 5.3.0 to fix short-circuit bug ([#495](https://github.com/casbin/node-casbin/issues/495)) ([094bef7](https://github.com/casbin/node-casbin/commit/094bef7aec70eac4c5a0e4c79dea8178f81b4626))
66
-
67
- # [5.34.0](https://github.com/casbin/node-casbin/compare/v5.33.0...v5.34.0) (2024-11-04)
68
-
69
-
70
- ### Features
71
-
72
- * switch dependency to our own package: @casbin/expression-eval 5.2.0 ([#489](https://github.com/casbin/node-casbin/issues/489)) ([acf39c2](https://github.com/casbin/node-casbin/commit/acf39c26e578d0125f8246aafafa75e52b17109a))
73
-
74
- # [5.32.0](https://github.com/casbin/node-casbin/compare/v5.31.0...v5.32.0) (2024-10-20)
75
-
76
-
77
- ### Features
78
-
79
- * use `import { Buffer } from 'buffer/'` to be compatible with Bun ([#486](https://github.com/casbin/node-casbin/issues/486)) ([738b2b6](https://github.com/casbin/node-casbin/commit/738b2b67c6369381a34a2fe01a978249205c5802))
80
-
81
- # [5.31.0](https://github.com/casbin/node-casbin/compare/v5.30.0...v5.31.0) (2024-09-28)
82
-
83
-
84
- ### Features
85
-
86
- * prevent duplicated sections and invalid operators in config and model ([#484](https://github.com/casbin/node-casbin/issues/484)) ([79e0f1c](https://github.com/casbin/node-casbin/commit/79e0f1c8fa551ce456b97729d52a49c762d91169))
87
-
88
- # [5.30.0](https://github.com/casbin/node-casbin/compare/v5.29.0...v5.30.0) (2024-04-26)
89
-
90
-
91
- ### Features
92
-
93
- * ensure eft and priority are respected in p2, r2, etc ([#475](https://github.com/casbin/node-casbin/issues/475)) ([8ef3deb](https://github.com/casbin/node-casbin/commit/8ef3debae7d8f081629b038d78e3d869c32be7f2)), closes [#474](https://github.com/casbin/node-casbin/issues/474)
94
-
95
- # [5.29.0](https://github.com/casbin/node-casbin/compare/v5.28.0...v5.29.0) (2024-04-10)
96
-
97
-
98
- ### Features
99
-
100
- * update CI Node.js version to 18 and 20 ([4aa74ab](https://github.com/casbin/node-casbin/commit/4aa74ab710aa300c172c71b802453dd64b3ec1a7))
101
-
102
- # [5.28.0](https://github.com/casbin/node-casbin/compare/v5.27.1...v5.28.0) (2023-11-21)
103
-
104
-
105
- ### Features
106
-
107
- * fix WatcherEx not triggered issue ([61c1595](https://github.com/casbin/node-casbin/commit/61c159533904f38d82eb0418a1de949666cc381a))
108
-
109
- ## [5.27.1](https://github.com/casbin/node-casbin/compare/v5.27.0...v5.27.1) (2023-09-19)
110
-
111
-
112
- ### Bug Fixes
113
-
114
- * KeyMatch5 does not match the expected result ([#458](https://github.com/casbin/node-casbin/issues/458)) ([0df458d](https://github.com/casbin/node-casbin/commit/0df458dde1f7a061167b978e16e712d208944f39))
115
-
116
- # [5.27.0](https://github.com/casbin/node-casbin/compare/v5.26.2...v5.27.0) (2023-08-30)
117
-
118
-
119
- ### Features
120
-
121
- * add `enforceWithMatcher` & `enforceExWithMatcher` ([#453](https://github.com/casbin/node-casbin/issues/453)) ([a85192f](https://github.com/casbin/node-casbin/commit/a85192f382fc164107d3117b4490cf8dd072c0e5))
122
-
123
- ## [5.26.2](https://github.com/casbin/node-casbin/compare/v5.26.1...v5.26.2) (2023-07-29)
124
-
125
-
126
- ### Bug Fixes
127
-
128
- * add escapeCsv() for CSV file saving ([17c542a](https://github.com/casbin/node-casbin/commit/17c542ad894cc19b592e3c54495fb05eff02f215))
129
-
130
- ## [5.26.1](https://github.com/casbin/node-casbin/compare/v5.26.0...v5.26.1) (2023-03-29)
131
-
132
-
133
- ### Bug Fixes
134
-
135
- * escapeAssertion is compatible with safari ([#444](https://github.com/casbin/node-casbin/issues/444)) ([d13a3b9](https://github.com/casbin/node-casbin/commit/d13a3b9030da1603f746dd20bc93354df81b182a))
136
-
137
- # [5.26.0](https://github.com/casbin/node-casbin/compare/v5.25.0...v5.26.0) (2023-03-26)
138
-
139
-
140
- ### Features
141
-
142
- * Multiple sections type ([#442](https://github.com/casbin/node-casbin/issues/442)) ([48b0d8f](https://github.com/casbin/node-casbin/commit/48b0d8fbbf302f61aed20bb6d0f2354354df9941))
143
-
144
- # [5.25.0](https://github.com/casbin/node-casbin/compare/v5.24.4...v5.25.0) (2023-03-20)
145
-
146
-
147
- ### Features
148
-
149
- * replace picomatch with minimatch ([#440](https://github.com/casbin/node-casbin/issues/440)) ([4e977b3](https://github.com/casbin/node-casbin/commit/4e977b33fdece9b8934693d05a1da9a7f10cfa05))
150
-
151
- ## [5.24.4](https://github.com/casbin/node-casbin/compare/v5.24.3...v5.24.4) (2023-03-12)
152
-
153
-
154
- ### Bug Fixes
155
-
156
- * **./src/util/util.ts:** fixed unwanted replacement of .r in evals according to issue [#438](https://github.com/casbin/node-casbin/issues/438) ([#439](https://github.com/casbin/node-casbin/issues/439)) ([39878be](https://github.com/casbin/node-casbin/commit/39878be7e22ff9f18c0898c5828328bc1cc95aba))
157
-
158
- ## [5.24.3](https://github.com/casbin/node-casbin/compare/v5.24.2...v5.24.3) (2023-02-27)
159
-
160
-
161
- ### Bug Fixes
162
-
163
- * built-in buffer and upgrade csv-parse ([#436](https://github.com/casbin/node-casbin/issues/436)) ([0f40bee](https://github.com/casbin/node-casbin/commit/0f40beed52d5cae9e47ce2da9ebfcab5c52a4038))
164
-
165
- ## [5.24.2](https://github.com/casbin/node-casbin/compare/v5.24.1...v5.24.2) (2023-02-24)
166
-
167
-
168
- ### Bug Fixes
169
-
170
- * using import() to load the fs ([#435](https://github.com/casbin/node-casbin/issues/435)) ([e90a8bf](https://github.com/casbin/node-casbin/commit/e90a8bf064963dd448cfa67da5af0f9aad957999))
171
-
172
- ## [5.24.1](https://github.com/casbin/node-casbin/compare/v5.24.0...v5.24.1) (2023-02-17)
173
-
174
-
175
- ### Bug Fixes
176
-
177
- * remove lodash usage and types ([#432](https://github.com/casbin/node-casbin/issues/432)) ([9c227d5](https://github.com/casbin/node-casbin/commit/9c227d51ef3feb6f6a3d30705d2784921d85dece))
178
-
179
- # [5.24.0](https://github.com/casbin/node-casbin/compare/v5.23.2...v5.24.0) (2023-02-17)
180
-
181
-
182
- ### Features
183
-
184
- * add built-in FileSystem ([#430](https://github.com/casbin/node-casbin/issues/430)) ([999c34c](https://github.com/casbin/node-casbin/commit/999c34c620c7b8d608c7405550737bc0dfa974f5))
185
-
186
- ## [5.23.2](https://github.com/casbin/node-casbin/compare/v5.23.1...v5.23.2) (2023-02-04)
187
-
188
-
189
- ### Bug Fixes
190
-
191
- * fix typo in subject_priority_policy.csv ([#425](https://github.com/casbin/node-casbin/issues/425)) ([ada2543](https://github.com/casbin/node-casbin/commit/ada25436fe7baa37959e1d4f67a644e833e88656))
192
-
193
- ## [5.23.1](https://github.com/casbin/node-casbin/compare/v5.23.0...v5.23.1) (2023-02-02)
194
-
195
-
196
- ### Bug Fixes
197
-
198
- * avoid the impact of line breaks CRLF in frontend.test.ts ([#420](https://github.com/casbin/node-casbin/issues/420)) ([7c32e23](https://github.com/casbin/node-casbin/commit/7c32e237a0881d74d8792e4ea7695999960e2e21))
199
-
200
- # [5.23.0](https://github.com/casbin/node-casbin/compare/v5.22.0...v5.23.0) (2023-02-01)
201
-
202
-
203
- ### Features
204
-
205
- * support `updateGroupingPolicy()`, `updateNamedGroupingPolicy()`, `getImplicitResourcesForUser()` ([#419](https://github.com/casbin/node-casbin/issues/419)) ([46c0f3a](https://github.com/casbin/node-casbin/commit/46c0f3ad09c4e8cf673d9d9b9b8fcf00251caaaf))
206
-
207
- # [5.22.0](https://github.com/casbin/node-casbin/compare/v5.21.0...v5.22.0) (2023-01-31)
208
-
209
-
210
- ### Features
211
-
212
- * support subjectPriority ([#417](https://github.com/casbin/node-casbin/issues/417)) ([e83d505](https://github.com/casbin/node-casbin/commit/e83d5058872e65be7dc9b374ca8c6640a1f2ca9d))
213
-
214
- # [5.21.0](https://github.com/casbin/node-casbin/compare/v5.20.4...v5.21.0) (2023-01-21)
215
-
216
-
217
- ### Features
218
-
219
- * support setNamedRoleManager() ([#416](https://github.com/casbin/node-casbin/issues/416)) ([869e8f9](https://github.com/casbin/node-casbin/commit/869e8f989b899073e071fa90777584f12cde0856))
220
-
221
- ## [5.20.4](https://github.com/casbin/node-casbin/compare/v5.20.3...v5.20.4) (2023-01-20)
222
-
223
-
224
- ### Bug Fixes
225
-
226
- * add groupPolicy for GetPermissionForUser in frontend.ts ([#415](https://github.com/casbin/node-casbin/issues/415)) ([5d1a679](https://github.com/casbin/node-casbin/commit/5d1a6795f94af487218f10dce85fe191fb0dea37))
227
-
228
- ## [5.20.3](https://github.com/casbin/node-casbin/compare/v5.20.2...v5.20.3) (2023-01-10)
229
-
230
-
231
- ### Bug Fixes
232
-
233
- * Multiline Separator Handling ([#411](https://github.com/casbin/node-casbin/issues/411)) ([ab3467a](https://github.com/casbin/node-casbin/commit/ab3467a40004d48d323ebc79078077c8e1593514))
234
-
235
- ## [5.20.2](https://github.com/casbin/node-casbin/compare/v5.20.1...v5.20.2) (2023-01-08)
236
-
237
-
238
- ### Bug Fixes
239
-
240
- * Upgraded CI Nodejs version to v14.16.18. ([#410](https://github.com/casbin/node-casbin/issues/410)) ([9aadcd7](https://github.com/casbin/node-casbin/commit/9aadcd796cc474e8417b7ce78ecebb7096010a77))
241
-
242
- ## [5.20.1](https://github.com/casbin/node-casbin/compare/v5.20.0...v5.20.1) (2022-12-31)
243
-
244
-
245
- ### Bug Fixes
246
-
247
- * delete unused files in examples ([#407](https://github.com/casbin/node-casbin/issues/407)) ([323a750](https://github.com/casbin/node-casbin/commit/323a7500e9860e5530b858d09344d92d3a15706a))
248
-
249
- # [5.20.0](https://github.com/casbin/node-casbin/compare/v5.19.3...v5.20.0) (2022-12-29)
250
-
251
-
252
- ### Features
253
-
254
- * **defaultrolemanager.ts:** add hierarchical domain support for rbac ([#380](https://github.com/casbin/node-casbin/issues/380)) ([da980af](https://github.com/casbin/node-casbin/commit/da980afd80303d37a5c3e073250ed64c217c3225)), closes [#377](https://github.com/casbin/node-casbin/issues/377)
255
-
256
- ## [5.19.3](https://github.com/casbin/node-casbin/compare/v5.19.2...v5.19.3) (2022-12-02)
257
-
258
-
259
- ### Bug Fixes
260
-
261
- * update express-eval dependency to v5 ([#400](https://github.com/casbin/node-casbin/issues/400)) ([02a9496](https://github.com/casbin/node-casbin/commit/02a94967aa182fbc588e4ca7da70c7b55e5e8407))
262
-
263
- ## [5.19.2](https://github.com/casbin/node-casbin/compare/v5.19.1...v5.19.2) (2022-11-12)
264
-
265
-
266
- ### Bug Fixes
267
-
268
- * Revert "fix: escape assertion bug ([#394](https://github.com/casbin/node-casbin/issues/394))" ([#398](https://github.com/casbin/node-casbin/issues/398)) ([6127584](https://github.com/casbin/node-casbin/commit/61275848007386550dc211e3ed0b13388e654a29))
269
-
270
- ## [5.19.1](https://github.com/casbin/node-casbin/compare/v5.19.0...v5.19.1) (2022-10-04)
271
-
272
-
273
- ### Bug Fixes
274
-
275
- * escape assertion bug ([#394](https://github.com/casbin/node-casbin/issues/394)) ([5a339d8](https://github.com/casbin/node-casbin/commit/5a339d858a9cfb7d8899355cbd179ec962b43cfa))
276
-
277
- # [5.19.0](https://github.com/casbin/node-casbin/compare/v5.18.0...v5.19.0) (2022-09-24)
278
-
279
-
280
- ### Features
281
-
282
- * add `fieldIndexMap` ([#391](https://github.com/casbin/node-casbin/issues/391)) ([8f6e2c3](https://github.com/casbin/node-casbin/commit/8f6e2c39a19725e467aafda8b7fa948e3e471ce8))
283
-
284
- # [5.18.0](https://github.com/casbin/node-casbin/compare/v5.17.0...v5.18.0) (2022-09-14)
285
-
286
-
287
- ### Features
288
-
289
- * add management api for watcherEx callbacks ([#384](https://github.com/casbin/node-casbin/issues/384)) ([591233f](https://github.com/casbin/node-casbin/commit/591233f4b80dec422a7dc299c605f7a0e22dba9f))
290
-
291
- # [5.17.0](https://github.com/casbin/node-casbin/compare/v5.16.0...v5.17.0) (2022-08-18)
292
-
293
-
294
- ### Features
295
-
296
- * add WatcherEx ([#381](https://github.com/casbin/node-casbin/issues/381)) ([10d7086](https://github.com/casbin/node-casbin/commit/10d7086c810ff18d9a3c792a3ec1173744bceeef))
297
-
298
- # [5.16.0](https://github.com/casbin/node-casbin/compare/v5.15.2...v5.16.0) (2022-08-11)
299
-
300
-
301
- ### Features
302
-
303
- * add support for g() in SyncedEnforcer ([#378](https://github.com/casbin/node-casbin/issues/378)) ([a74067a](https://github.com/casbin/node-casbin/commit/a74067a66aec755e89bd32964e9da4252c117881))
304
-
305
- ## [5.15.2](https://github.com/casbin/node-casbin/compare/v5.15.1...v5.15.2) (2022-06-22)
306
-
307
-
308
- ### Bug Fixes
309
-
310
- * enable esModuleInterop support ([#366](https://github.com/casbin/node-casbin/issues/366)) ([20db339](https://github.com/casbin/node-casbin/commit/20db3390ef70656b8e06a6738d4c377b4dbe5017))
311
-
312
- ## [5.15.1](https://github.com/casbin/node-casbin/compare/v5.15.0...v5.15.1) (2022-04-27)
313
-
314
-
315
- ### Bug Fixes
316
-
317
- * EnforceEx return allow reason ([#363](https://github.com/casbin/node-casbin/issues/363)) ([6353283](https://github.com/casbin/node-casbin/commit/635328328caf200093e89443d32e9f2fa736509a))
318
-
319
- # [5.15.0](https://github.com/casbin/node-casbin/compare/v5.14.0...v5.15.0) (2022-04-15)
320
-
321
-
322
- ### Features
323
-
324
- * [#357](https://github.com/casbin/node-casbin/issues/357) Support keyMatch5 ([#359](https://github.com/casbin/node-casbin/issues/359)) ([e6a6d8a](https://github.com/casbin/node-casbin/commit/e6a6d8ab253af70bb46ef7c27c6ebf48c55d76c8))
325
-
326
- # [5.14.0](https://github.com/casbin/node-casbin/compare/v5.13.2...v5.14.0) (2022-03-18)
327
-
328
-
329
- ### Features
330
-
331
- * **rbac:** add `getUsersForRoleInDomain` & `getRolesForUserInDomain` ([#351](https://github.com/casbin/node-casbin/issues/351)) ([4896ca2](https://github.com/casbin/node-casbin/commit/4896ca260c2f35672b9b520969898155ec616f0b)), closes [#304](https://github.com/casbin/node-casbin/issues/304)
332
-
333
- ## [5.13.2](https://github.com/casbin/node-casbin/compare/v5.13.1...v5.13.2) (2022-03-02)
334
-
335
-
336
- ### Bug Fixes
337
-
338
- * *matcher result should be boolean or number* for KeyGet2 ([#347](https://github.com/casbin/node-casbin/issues/347)) ([0257078](https://github.com/casbin/node-casbin/commit/0257078e1302f5ef081ec143afe5c470f4f862e9))
339
-
340
- ## [5.13.1](https://github.com/casbin/node-casbin/compare/v5.13.0...v5.13.1) (2022-02-22)
341
-
342
-
343
- ### Bug Fixes
344
-
345
- * 'eval' not detected ([86e2add](https://github.com/casbin/node-casbin/commit/86e2add7c5aaa7901d21c1c4b9cb8e6d0b8bef75))
346
- * created two regex expressions ([de5f2f4](https://github.com/casbin/node-casbin/commit/de5f2f4f27f40941b125bf068b8f90e44ba69fb1))
347
-
348
- # [5.13.0](https://github.com/casbin/node-casbin/compare/v5.12.0...v5.13.0) (2022-01-25)
349
-
350
-
351
- ### Features
352
-
353
- * getImplicitUsersForRole ([#341](https://github.com/casbin/node-casbin/issues/341)) ([ebfaede](https://github.com/casbin/node-casbin/commit/ebfaede003cf0a4eef8a16f815f06518e74974fb))
354
-
355
- # [5.12.0](https://github.com/casbin/node-casbin/compare/v5.11.5...v5.12.0) (2022-01-16)
356
-
357
-
358
- ### Features
359
-
360
- * **batchenforce:** added batchEnforce ([#338](https://github.com/casbin/node-casbin/issues/338)) ([56e55bd](https://github.com/casbin/node-casbin/commit/56e55bd58b0f5be4a45e753f5ad58b01a27ef8b2)), closes [#321](https://github.com/casbin/node-casbin/issues/321)
361
-
362
- ## [5.11.5](https://github.com/casbin/node-casbin/compare/v5.11.4...v5.11.5) (2021-08-18)
363
-
364
-
365
- ### Bug Fixes
366
-
367
- * fix error overloading for role manager ([#319](https://github.com/casbin/node-casbin/issues/319)) ([e69450b](https://github.com/casbin/node-casbin/commit/e69450b53a06be4abda9b1669d578ef1e27dc19d))
368
-
369
- ## [5.11.4](https://github.com/casbin/node-casbin/compare/v5.11.3...v5.11.4) (2021-08-17)
370
-
371
-
372
- ### Bug Fixes
373
-
374
- * **replaceeval:** add third param to replaceEval and only replace eval() w/ matching ruleName ([#316](https://github.com/casbin/node-casbin/issues/316)) ([bd4f5bf](https://github.com/casbin/node-casbin/commit/bd4f5bfb726c56b323d1417dc415deca21d2c170)), closes [#315](https://github.com/casbin/node-casbin/issues/315) [#315](https://github.com/casbin/node-casbin/issues/315)
375
-
376
- ## [5.11.3](https://github.com/casbin/node-casbin/compare/v5.11.2...v5.11.3) (2021-08-13)
377
-
378
-
379
- ### Bug Fixes
380
-
381
- * add support for legacy array definition method ([#313](https://github.com/casbin/node-casbin/issues/313)) ([635eece](https://github.com/casbin/node-casbin/commit/635eece1bead0bb365b9ea50f325860d1df3abc6))
382
-
383
- ## [5.11.2](https://github.com/casbin/node-casbin/compare/v5.11.1...v5.11.2) (2021-08-13)
384
-
385
-
386
- ### Bug Fixes
387
-
388
- * add full supoort for `in` operator ([#310](https://github.com/casbin/node-casbin/issues/310)) ([446f8c7](https://github.com/casbin/node-casbin/commit/446f8c700ab13cea5413d311da33e80dd6165f0e))
389
-
390
- ## [5.11.1](https://github.com/casbin/node-casbin/compare/v5.11.0...v5.11.1) (2021-07-29)
391
-
392
-
393
- ### Bug Fixes
394
-
395
- * fix `in` opertor ([17f3588](https://github.com/casbin/node-casbin/commit/17f35881522d1ad454de1a70ee1b12db7735788a))
396
-
397
- # [5.11.0](https://github.com/casbin/node-casbin/compare/v5.10.0...v5.11.0) (2021-07-23)
398
-
399
-
400
- ### Features
401
-
402
- * add keyGet and keyGet2 ([#302](https://github.com/casbin/node-casbin/issues/302)) ([36e83cf](https://github.com/casbin/node-casbin/commit/36e83cf6fef78d954062ae61d26a74842e6367d2))
403
-
404
- # [5.10.0](https://github.com/casbin/node-casbin/compare/v5.9.0...v5.10.0) (2021-07-19)
405
-
406
-
407
- ### Features
408
-
409
- * use new license format ([284d2a4](https://github.com/casbin/node-casbin/commit/284d2a48cd67db8c197de24a99029858dbbe2da8))
410
-
411
- # [5.9.0](https://github.com/casbin/node-casbin/compare/v5.8.0...v5.9.0) (2021-06-18)
412
-
413
-
414
- ### Features
415
-
416
- * Add lazyload option at enforcer init method ([#289](https://github.com/casbin/node-casbin/issues/289)) ([e858dcb](https://github.com/casbin/node-casbin/commit/e858dcbab2351de038e2c5385bbfd20b7aa255ad))
417
-
418
- # [5.8.0](https://github.com/casbin/node-casbin/compare/v5.7.2...v5.8.0) (2021-06-14)
419
-
420
-
421
- ### Features
422
-
423
- * add support for `in` operator ([a44c6a9](https://github.com/casbin/node-casbin/commit/a44c6a99ed36634a67e7888472e8f6d324b257f4))
424
-
425
- ## [5.7.2](https://github.com/casbin/node-casbin/compare/v5.7.1...v5.7.2) (2021-06-12)
426
-
427
-
428
- ### Bug Fixes
429
-
430
- * Support for loadIncrementalFilteredPolicy ([72c2001](https://github.com/casbin/node-casbin/commit/72c2001ab064d190bfa5bcd305829d083eca52f7))
431
-
432
- ## [5.7.1](https://github.com/casbin/node-casbin/compare/v5.7.0...v5.7.1) (2021-05-19)
433
-
434
-
435
- ### Bug Fixes
436
-
437
- * `getImplicitPermissionsForUser` works with rmMap ([#272](https://github.com/casbin/node-casbin/issues/272)) ([0d59239](https://github.com/casbin/node-casbin/commit/0d5923998fa71648c8f77a23f67ffffac2a09343))
438
-
439
- # [5.7.0](https://github.com/casbin/node-casbin/compare/v5.6.3...v5.7.0) (2021-05-14)
440
-
441
-
442
- ### Features
443
-
444
- * add enforceEx() ([#271](https://github.com/casbin/node-casbin/issues/271)) ([762efd9](https://github.com/casbin/node-casbin/commit/762efd9d9766fbc8e95f9d5160413ed2a8c6ce88))
445
-
446
- ## [5.6.3](https://github.com/casbin/node-casbin/compare/v5.6.2...v5.6.3) (2021-05-07)
447
-
448
-
449
- ### Bug Fixes
450
-
451
- * fix buildRoleLinks to isolate groups ([0fb6ae7](https://github.com/casbin/node-casbin/commit/0fb6ae798ef692aaef890472421f980b58a4dfec))
452
-
453
- ## [5.6.2](https://github.com/casbin/node-casbin/compare/v5.6.1...v5.6.2) (2021-05-02)
454
-
455
-
456
- ### Bug Fixes
457
-
458
- * transfer from micromatch to picomatch ([#264](https://github.com/casbin/node-casbin/issues/264)) ([6be1b06](https://github.com/casbin/node-casbin/commit/6be1b06f2225bc906b2a0e215ff8635c6dd3422f))
459
-
460
- ## [5.6.1](https://github.com/casbin/node-casbin/compare/v5.6.0...v5.6.1) (2021-04-05)
461
-
462
-
463
- ### Bug Fixes
464
-
465
- * fix CasbinJsGetPermissionForUser() ([#251](https://github.com/casbin/node-casbin/issues/251)) ([98c11f1](https://github.com/casbin/node-casbin/commit/98c11f1451e71b0b002b140387f2a38bb9957c38))
466
-
467
- # [5.6.0](https://github.com/casbin/node-casbin/compare/v5.5.0...v5.6.0) (2021-03-23)
468
-
469
-
470
- ### Features
471
-
472
- * add priority_policy_explicit support ([#250](https://github.com/casbin/node-casbin/issues/250)) ([763c18e](https://github.com/casbin/node-casbin/commit/763c18e7f3cfa068e7b61fdd7491dd0365b86dca))
473
-
474
- # [5.5.0](https://github.com/casbin/node-casbin/compare/v5.4.2...v5.5.0) (2021-03-19)
475
-
476
-
477
- ### Bug Fixes
478
-
479
- * add missing await ([523ce85](https://github.com/casbin/node-casbin/commit/523ce8508ce45d7e79673bb0b498ed017772815d))
480
- * fix errror type ([dc9e5b5](https://github.com/casbin/node-casbin/commit/dc9e5b5db766d64918a7670f6b3b72f70e84ca28))
481
- * remove unused import ([2f8801c](https://github.com/casbin/node-casbin/commit/2f8801c47e716f69c36b49a73a45c67d9c751b92))
482
-
483
-
484
- ### Features
485
-
486
- * add initRmMap ([87f8011](https://github.com/casbin/node-casbin/commit/87f801109e9cf4b0b423e3b76e1a8b9987b1b600))
487
- * add named addMatchingFunc ([65d3a26](https://github.com/casbin/node-casbin/commit/65d3a2655c638085938de9df4efa5a7d16bfa788))
488
- * add sync mode ([70e4e12](https://github.com/casbin/node-casbin/commit/70e4e12610dc42b6f25f8df268611ee1a0cbc7bd))
489
- * add unittest ([3cd5b73](https://github.com/casbin/node-casbin/commit/3cd5b7307b54342849029c957ceec81fc84f0fdd))
490
-
491
- ## [5.4.2](https://github.com/casbin/node-casbin/compare/v5.4.1...v5.4.2) (2021-03-04)
492
-
493
-
494
- ### Bug Fixes
495
-
496
- * improve load policy line ([9f12511](https://github.com/casbin/node-casbin/commit/9f12511e5fbfb16646b38ad30e345beee5179c9d))
497
-
498
- ## [5.4.1](https://github.com/casbin/node-casbin/compare/v5.4.0...v5.4.1) (2021-02-19)
499
-
500
-
501
- ### Bug Fixes
502
-
503
- * fix unexpected parser action ([3074fa9](https://github.com/casbin/node-casbin/commit/3074fa9050ca073eb4c0f4197c63f13e9e7f9ebf))
504
-
505
- # [5.4.0](https://github.com/casbin/node-casbin/compare/v5.3.1...v5.4.0) (2021-02-06)
506
-
507
-
508
- ### Features
509
-
510
- * add updatePolicy() ([#234](https://github.com/casbin/node-casbin/issues/234)) ([a3218f1](https://github.com/casbin/node-casbin/commit/a3218f1a5d134838c0fb90c8ad1c8751e26c6332)), closes [#235](https://github.com/casbin/node-casbin/issues/235)
511
-
512
- ## [5.3.1](https://github.com/casbin/node-casbin/compare/v5.3.0...v5.3.1) (2021-01-29)
513
-
514
-
515
- ### Bug Fixes
516
-
517
- * downgrade expression-eval back to v2.0.0 to avoid semantic-release failure, revert: https://github.com/casbin/node-casbin/pull/222 ([8c0b1fd](https://github.com/casbin/node-casbin/commit/8c0b1fd6b59c39350e90c768c54577396f89fefe))
518
-
519
- # [5.3.0](https://github.com/casbin/node-casbin/compare/v5.2.2...v5.3.0) (2021-01-28)
520
-
521
-
522
- ### Bug Fixes
523
-
524
- * downgrade target from ESNext to ES2017 for building esm ([7dfcf93](https://github.com/casbin/node-casbin/commit/7dfcf93a2eb7a9c9116f55341537a4c81840e3d4))
525
- * update expression-eval ([95de296](https://github.com/casbin/node-casbin/commit/95de29650251af781d8638011dcc5cabeef2784c))
526
-
527
-
528
- ### Features
529
-
530
- * enforceSync ([ff41f0a](https://github.com/casbin/node-casbin/commit/ff41f0a7c6eebbfafe985a929eba9e70f2c4b162))
531
-
532
- ## [5.2.3](https://github.com/casbin/node-casbin/compare/v5.2.2...v5.2.3) (2021-01-08)
533
-
534
-
535
- ### Bug Fixes
536
-
537
- * downgrade target from ESNext to ES2017 for building esm ([7dfcf93](https://github.com/casbin/node-casbin/commit/7dfcf93a2eb7a9c9116f55341537a4c81840e3d4))
538
- * update expression-eval ([95de296](https://github.com/casbin/node-casbin/commit/95de29650251af781d8638011dcc5cabeef2784c))
539
-
540
- ## [5.2.3](https://github.com/casbin/node-casbin/compare/v5.2.2...v5.2.3) (2021-01-08)
541
-
542
-
543
- ### Bug Fixes
544
-
545
- * downgrade target from ESNext to ES2017 for building esm ([7dfcf93](https://github.com/casbin/node-casbin/commit/7dfcf93a2eb7a9c9116f55341537a4c81840e3d4))
546
-
547
- ## [5.2.3](https://github.com/casbin/node-casbin/compare/v5.2.2...v5.2.3) (2020-12-19)
548
-
549
-
550
- ### Bug Fixes
551
-
552
- * downgrade target from ESNext to ES2017 for building esm ([7dfcf93](https://github.com/casbin/node-casbin/commit/7dfcf93a2eb7a9c9116f55341537a4c81840e3d4))
553
-
554
- ## [5.2.2](https://github.com/casbin/node-casbin/compare/v5.2.1...v5.2.2) (2020-11-29)
555
-
556
-
557
- ### Bug Fixes
558
-
559
- * **builtinoperators:** fix function keyMatch3 ([1245aa0](https://github.com/casbin/node-casbin/commit/1245aa072b47135b49cb70abeed0796908a8feb7)), closes [#214](https://github.com/casbin/node-casbin/issues/214)
560
-
561
- ## [5.2.1](https://github.com/casbin/node-casbin/compare/v5.2.0...v5.2.1) (2020-11-15)
562
-
563
-
564
- ### Bug Fixes
565
-
566
- * **rbac:** fix defaultRoleManager hasRole method ([#211](https://github.com/casbin/node-casbin/issues/211)) ([4f3ba65](https://github.com/casbin/node-casbin/commit/4f3ba65429f91250485b8a0b070f16cb750955cd))
567
-
568
- # [5.2.0](https://github.com/casbin/node-casbin/compare/v5.1.6...v5.2.0) (2020-10-26)
569
-
570
-
571
- ### Features
572
-
573
- * changing TypeScript target from ES6 to ES2017 ([6f4f50f](https://github.com/casbin/node-casbin/commit/6f4f50f205dfb7187e34a0439f2b4f0bf6ed5a47))
574
-
575
- ## [5.1.6](https://github.com/casbin/node-casbin/compare/v5.1.5...v5.1.6) (2020-10-07)
576
-
577
-
578
- ### Bug Fixes
579
-
580
- * support pattern function in 3rd args of g ([#199](https://github.com/casbin/node-casbin/issues/199)) ([27005f8](https://github.com/casbin/node-casbin/commit/27005f85829f11193cb4ecfd14be5ed6e64ad63c))
581
-
582
- ## [5.1.5](https://github.com/casbin/node-casbin/compare/v5.1.4...v5.1.5) (2020-09-14)
583
-
584
-
585
- ### Bug Fixes
586
-
587
- * ignore print model ([f426131](https://github.com/casbin/node-casbin/commit/f426131e752143251db6c11a7352d91d959cb503))
588
-
589
- ## [5.1.4](https://github.com/casbin/node-casbin/compare/v5.1.3...v5.1.4) (2020-09-10)
590
-
591
-
592
- ### Bug Fixes
593
-
594
- * add cache to generateGFunction ([e90bed2](https://github.com/casbin/node-casbin/commit/e90bed24f6e6e3cd5b33a433c4fe7a27e494cabe))
595
-
596
- ## [5.1.3](https://github.com/casbin/node-casbin/compare/v5.1.2...v5.1.3) (2020-08-30)
597
-
598
-
599
- ### Bug Fixes
600
-
601
- * update casbinJsGetPermissionForUser for v0.1.0 Casbin.js ([#186](https://github.com/casbin/node-casbin/issues/186)) ([6c277e8](https://github.com/casbin/node-casbin/commit/6c277e8858cf07d9a098817b72710a30c4117fa9))
602
-
603
- ## [5.1.2](https://github.com/casbin/node-casbin/compare/v5.1.1...v5.1.2) (2020-08-12)
604
-
605
-
606
- ### Bug Fixes
607
-
608
- * add checks fieldValues to remove filtered policy ([6e144fb](https://github.com/casbin/node-casbin/commit/6e144fb9a895332245006ef3a28c47d022654895))
609
-
610
- ## [5.1.1](https://github.com/casbin/node-casbin/compare/v5.1.0...v5.1.1) (2020-08-12)
611
-
612
-
613
- ### Bug Fixes
614
-
615
- * add check if the adapter implements BatchAdapter ([a415838](https://github.com/casbin/node-casbin/commit/a415838a514706af8a9399c899959bdb069619d4))
616
-
617
- # [5.1.0](https://github.com/casbin/node-casbin/compare/v5.0.7...v5.1.0) (2020-08-11)
618
-
619
-
620
- ### Features
621
-
622
- * add casbinJsGetPermissionForUser ([30ae126](https://github.com/casbin/node-casbin/commit/30ae126b962df6fc580ce943f20e8bf0ce5349c3))
623
-
624
- ## [5.0.6](https://github.com/casbin/node-casbin/compare/v5.0.5...v5.0.6) (2020-07-16)
625
-
626
-
627
- ### Bug Fixes
628
-
629
- * add casbin-cpp to supported languages. ([b856734](https://github.com/casbin/node-casbin/commit/b85673432f8a150490fd5134797508ccd368b81f))
630
-
631
- ## [5.0.5](https://github.com/casbin/node-casbin/compare/v5.0.4...v5.0.5) (2020-07-08)
632
-
633
-
634
- ### Bug Fixes
635
-
636
- * improve tokens separator ([687e96f](https://github.com/casbin/node-casbin/commit/687e96f1495de12bc7acd37bf56af57af490b0b6))
637
-
638
- ## [5.0.4](https://github.com/casbin/node-casbin/compare/v5.0.3...v5.0.4) (2020-06-08)
639
-
640
- ### Bug Fixes
641
-
642
- - remove lodash ([293a852](https://github.com/casbin/node-casbin/commit/293a852803d5e83562a36bc35cdf48def0f0088b))
643
-
644
- ## [5.0.3](https://github.com/casbin/node-casbin/compare/v5.0.2...v5.0.3) (2020-05-27)
645
-
646
- ### Bug Fixes
647
-
648
- - check adapter type ([a74314d](https://github.com/casbin/node-casbin/commit/a74314d6c4e1e1c8731128e6bfe9e2de1b3f45ce))
649
-
650
- ## [5.0.2](https://github.com/casbin/node-casbin/compare/v5.0.1...v5.0.2) (2020-05-25)
651
-
652
- ### Bug Fixes
653
-
654
- - Add imports and batchFileAdapter implementation. ([3804c3d](https://github.com/casbin/node-casbin/commit/3804c3d76802614104016a011c07c11c54a94632))
655
- - Add tests for batch operations. ([e6ad7af](https://github.com/casbin/node-casbin/commit/e6ad7af69344a5bd95b6490f162dba83d10c98fb))
656
- - Merge conflicts. ([7179b17](https://github.com/casbin/node-casbin/commit/7179b17f7733f72fdd1d13ca6a7818415deb6d9c))
657
-
658
- ## [5.0.1](https://github.com/casbin/node-casbin/compare/v5.0.0...v5.0.1) (2020-05-22)
659
-
660
- ### Bug Fixes
661
-
662
- - support comments after expression ([c97cb26](https://github.com/casbin/node-casbin/commit/c97cb26441d79316960a0464e8d56918859d969c))
663
-
664
- # [5.0.0](https://github.com/casbin/node-casbin/compare/v4.7.2...v5.0.0) (2020-05-18)
665
-
666
- ### Features
667
-
668
- - add BuildIncrementalRoleLinks ([b565005](https://github.com/casbin/node-casbin/commit/b5650055a6e8c47da49dc3b7eb8646bb5bda90d9))
669
- - improve effector for improve performance ([57de7b2](https://github.com/casbin/node-casbin/commit/57de7b2f1d21ceebb7097552c86721d94cac2275))
670
-
671
- ### BREAKING CHANGES
672
-
673
- - **model** addPolicies, removePolicies and removeFilteredPolicy returns [boolean, string[][]]
674
- - - provides a new interface for Effector
675
-
676
- ## [4.7.2](https://github.com/casbin/node-casbin/compare/v4.7.1...v4.7.2) (2020-05-09)
677
-
678
- ### Bug Fixes
679
-
680
- - stackoverflow in getImplicitRolesForUser ([d0fc49f](https://github.com/casbin/node-casbin/commit/d0fc49fb12c7cbb9f985d444c1ed7613ded0121b))
681
-
682
- ## [4.7.1](https://github.com/casbin/node-casbin/compare/v4.7.0...v4.7.1) (2020-05-08)
683
-
684
- ### Bug Fixes
685
-
686
- - Add examples. ([5cf950a](https://github.com/casbin/node-casbin/commit/5cf950ad25eecfad59281d5ba9d6ddae5cde199e))
687
- - Added ABAC policy logic to the private enforcer. ([c6fc487](https://github.com/casbin/node-casbin/commit/c6fc48750313b400fb98e12802b3422bfc1921bf))
688
- - Added util functions and util tests. ([72918bc](https://github.com/casbin/node-casbin/commit/72918bc677e898251dd4375516c31254e79eb6b8))
689
- - compatible types ([58242a5](https://github.com/casbin/node-casbin/commit/58242a56f9f72b1a06e4901867f502b73674d640))
690
- - tests. ([4da5291](https://github.com/casbin/node-casbin/commit/4da52916d27f262a4813d2b4ff78461312b67c22))
691
-
692
- # [4.7.0](https://github.com/casbin/node-casbin/compare/v4.6.0...v4.7.0) (2020-05-03)
693
-
694
- ### Features
695
-
696
- - add getImplicitUsersForPermission ([ad9df14](https://github.com/casbin/node-casbin/commit/ad9df1417cbdb7e0d9065c78e86181d193778adf))
697
-
698
- # [4.6.0](https://github.com/casbin/node-casbin/compare/v4.5.0...v4.6.0) (2020-05-02)
699
-
700
- # [4.5.0](https://github.com/casbin/node-casbin/compare/v4.4.0...v4.5.0) (2020-04-30)
701
-
702
- ### Features
703
-
704
- - avoid miss initialize() ([1394e8d](https://github.com/casbin/node-casbin/commit/1394e8ddfdc4cc9d8859ae034a8f36fb9e3b54e7))
705
-
706
- # [4.4.0](https://github.com/casbin/node-casbin/compare/v4.3.1...v4.4.0) (2020-04-25)
707
-
708
- ### Features
709
-
710
- - add addMatchingFunc to DefaultRoleManager ([cc04e65](https://github.com/casbin/node-casbin/commit/cc04e659a1c3b78bb12dcccbb2149bfd9d96c97c))
711
-
712
- ## [4.3.1](https://github.com/casbin/node-casbin/compare/v4.3.0...v4.3.1) (2020-04-21)
713
-
714
- ### Bug Fixes
715
-
716
- - improve update into adapter before model ([0e9ccc6](https://github.com/casbin/node-casbin/commit/0e9ccc6b2e4387b9130df8af4fa0e23f7e73958b))
717
-
718
- # [4.3.0](https://github.com/casbin/node-casbin/compare/v4.2.1...v4.3.0) (2020-04-20)
719
-
720
- ### Features
721
-
722
- - controls whether to automatically notify Watcher ([2ce07c2](https://github.com/casbin/node-casbin/commit/2ce07c29cd49c6da304063e8075923b739fc5145))
723
-
724
- ## [4.2.1](https://github.com/casbin/node-casbin/compare/v4.2.0...v4.2.1) (2020-04-05)
725
-
726
- ### Bug Fixes
727
-
728
- - remove use spread operator with await in array ([6e4f876](https://github.com/casbin/node-casbin/commit/6e4f87676301470a178ccd10efd28f6758cc738e))
729
-
730
- # [4.2.0](https://github.com/casbin/node-casbin/compare/v4.1.1...v4.2.0) (2020-04-05)
731
-
732
- ### Features
733
-
734
- - add glob pattern to built-in function ([8415fc2](https://github.com/casbin/node-casbin/commit/8415fc2648796d033c85771e27219bd32541982e))
735
-
736
- ## [4.1.1](https://github.com/casbin/node-casbin/compare/v4.1.0...v4.1.1) (2020-02-20)
737
-
738
- ### Bug Fixes
739
-
740
- - **enforcer.ts:** fix deleteUser and improve deleteRole description ([1e6af16](https://github.com/casbin/node-casbin/commit/1e6af16e939543a56dbf9cb5d39924263186fc9a)), closes [#118](https://github.com/casbin/node-casbin/issues/118)
741
-
742
- # [4.1.0](https://github.com/casbin/node-casbin/compare/v4.0.0...v4.1.0) (2020-02-13)
743
-
744
- ### Features
745
-
746
- - synchronized enforcer ([ecec514](https://github.com/casbin/node-casbin/commit/ecec514a582f1bfad94214b61ee06fc1cab3fc36))
747
-
748
- # [4.0.0](https://github.com/casbin/node-casbin/compare/v3.1.0...v4.0.0) (2020-02-11)
749
-
750
- ### improvement
751
-
752
- - convert all management_api to async function ([e9f4d38](https://github.com/casbin/node-casbin/commit/e9f4d38e153b10ffbd4fa09355ec72eb3dae47cd))
753
-
754
- ### BREAKING CHANGES
755
-
756
- - see #
757
-
758
- # [3.1.0](https://github.com/casbin/node-casbin/compare/v3.0.9...v3.1.0) (2020-01-22)
759
-
760
- ### Features
761
-
762
- - implementation cachedEnforcer ([0ace1a6](https://github.com/casbin/node-casbin/commit/0ace1a66a36d5fe3ada37bfaaa938b84fc001c58))
763
-
764
- ## [3.0.9](https://github.com/casbin/node-casbin/compare/v3.0.8...v3.0.9) (2020-01-14)
765
-
766
- ### Bug Fixes
767
-
768
- - getImplicitPermissionsForUser missing domain parameter ([584624c](https://github.com/casbin/node-casbin/commit/584624c99eabca68fc790d66fc4737511d92b074))
769
-
770
- ## [3.0.8](https://github.com/casbin/node-casbin/compare/v3.0.7...v3.0.8) (2019-12-12)
771
-
772
- ## [3.0.7](https://github.com/casbin/node-casbin/compare/v3.0.6...v3.0.7) (2019-11-18)
773
-
774
- ## [3.0.6](https://github.com/casbin/node-casbin/compare/v3.0.5...v3.0.6) (2019-11-07)
775
-
776
- ## [3.0.5](https://github.com/casbin/node-casbin/compare/v3.0.4...v3.0.5) (2019-10-29)
777
-
778
- ## [3.0.3](https://github.com/casbin/node-casbin/compare/v3.0.2...v3.0.3) (2019-07-06)
779
-
780
- ## [3.0.2](https://github.com/casbin/node-casbin/compare/v3.0.1...v3.0.2) (2019-07-06)
781
-
782
- ## [3.0.1](https://github.com/casbin/node-casbin/compare/v3.0.0...v3.0.1) (2019-06-14)
783
-
784
- # [3.0.0](https://github.com/casbin/node-casbin/compare/v3.0.0-beta.1...v3.0.0) (2019-06-05)
785
-
786
- # [3.0.0-beta.1](https://github.com/casbin/node-casbin/compare/v2.0.3...v3.0.0-beta.1) (2019-04-29)
787
-
788
- ## [2.0.3](https://github.com/casbin/node-casbin/compare/v2.0.1...v2.0.3) (2019-04-22)
789
-
790
- ## [2.0.1](https://github.com/casbin/node-casbin/compare/v2.0.0...v2.0.1) (2019-02-08)
791
-
792
- # [2.0.0](https://github.com/casbin/node-casbin/compare/v1.1.9...v2.0.0) (2019-01-05)
793
-
794
- ## [1.1.9](https://github.com/casbin/node-casbin/compare/v1.1.8...v1.1.9) (2018-12-20)
795
-
796
- ## [1.1.8](https://github.com/casbin/node-casbin/compare/v1.1.7...v1.1.8) (2018-12-18)
797
-
798
- ## [1.1.7](https://github.com/casbin/node-casbin/compare/v1.1.6...v1.1.7) (2018-12-14)
799
-
800
- ## [1.1.6](https://github.com/casbin/node-casbin/compare/v1.1.5...v1.1.6) (2018-12-07)
801
-
802
- ## [1.1.5](https://github.com/casbin/node-casbin/compare/v1.1.4...v1.1.5) (2018-11-02)
803
-
804
- ## [1.1.4](https://github.com/casbin/node-casbin/compare/v1.1.2...v1.1.4) (2018-11-01)
805
-
806
- ## [1.1.2](https://github.com/casbin/node-casbin/compare/v1.1.1...v1.1.2) (2018-08-27)
807
-
808
- ## [1.1.1](https://github.com/casbin/node-casbin/compare/v1.1.0...v1.1.1) (2018-08-20)
809
-
810
- # [1.1.0](https://github.com/casbin/node-casbin/compare/v1.0.9...v1.1.0) (2018-08-17)
811
-
812
- ## [1.0.5](https://github.com/casbin/node-casbin/compare/v1.0.0...v1.0.5) (2018-08-09)