Releases
v1.0.0
1.0.0 (2024-11-29)
Bug Fixes
'in' operator causes the expression to lose content (#253 ) (629f545 )
add 2 test cases from go to java (#383 ) (76e97d7 )
add cache for g function (5ec8f0c )
add casbin-cpp to supported languages. (fe9a77a )
add duplicate check (2551eeb )
add rbac with resource roles and domain example (#329 ) (9d2f491 )
add the batchEnforce API. (67ad6ed )
add the getRoleManager function (09d9405 )
add unit tests and fix some bugs for BuiltInFunctions (0a1ab3f )
another way fix the bug for failing to disable casbin log (2be64f3 )
bugs in KeyGet2Func and KeyGetFunc (0efc4ad )
change 'in' op to 'include' (0d37db5 )
change the scope of slf4j to test (31a0f65 )
change type to use correct FilteredAdapter type cast when loading filtered policies (e7dc1b6 )
compile cache doesn't take effect and add md5 string as cacheKey (#259 ) (5b43351 )
correct supported matcher types (#320 ) (c35739e )
CustomFunction.replaceTargets replaces too much (02e463f )
DistributedEnforcer addPolicySelf and InternalEnforcer to use dispatcher in methods (#282 ) (fc4ebaa )
do not printPolicy if logs disabled (#302 ) (bdf2a6c )
EscapeAssertion should escapes "r[0-9]." instead "r" (#268 ) (c2da3e3 )
fix ABAC rule with attribute that does not exist (#333 ) (424486f )
fix hashmap thread unsafe (#294 ) (1281720 )
fix hashmap thread unsafe (#299 ) (9fd266f )
fix no enforceExplain in eft.Deny (#338 ) (5cb8846 )
fix not using policy bug for enforcer (testABACJsonRequest, testABACNotUsingPolicy) (#378 ) (8d2aff1 )
fix the cache for g function (#240 ) (87e155d )
fix the codecov. (9ba817c )
fixed the ArrayIndexOutOfBoundsException (#314 ) (1da0a44 )
for Enforcer pass FilteredAdapter will load all policy (c61a1ab )
Implemented arrayRemoveDuplicates (#263 ) (92bf9a4 )
make ecforceEx return a result which include `is (#308 ) (783030c )
optimize enforce method by moving common code before 'for' loop (#341 ) (b8df7d8 )
optimize the deleteRole method (#272 ) (24826bc )
PatternSyntaxException in Android (c81b481 )
priority cannot be non first policy element (6a40ed3 ), closes #177
remove guava (#280 ) (e777aec )
remove multiple domains in gFunction and simplify cache (#265 ) (2d718e5 )
Removed repeated section in loadModel and loadModelFromText in Model.java (0f8c1a1 )
return empty list when name does not exist in getRoles function. (42da984 )
sync config test case from Go to Java (#369 ) (05eeadd )
update aviator-5.3.0-beta2 to support android (bca10e4 )
update getImplicitPermissionsForUser API (4d91e84 ), closes #174
Update helper for loading policies (#293 ) (41bf788 )
update keyMatch2 for key2 == * (#344 ) (98432aa )
update pom.xml. (d46d1a0 )
upgrade dependencies (#260 ) (5b7bfe0 )
use "github-actions" to send release notice (ea094c5 ), closes #190
use CSV parsing instead of string splitting for built-in file adapter. (#171 ) (108dcb0 )
use github action rather than travis. (0a7314e )
use janino rather than bsh. (db1a676 )
use rtype to get request tokens in CoreEnforcer (#355 ) (8c50f92 )
Features
add 'in' sytanx support (8daa357 )
add ABAC & JSON related test cases (#376 ) (2c363e1 )
add addMatchingFunc() and addDomainMatchingFunc() API (80591c6 ), closes #204
add DefaultLogger feature (#371 ) (80502d4 )
add flexible EnforceContext constructor (#354 ) (154fa26 )
add getRoleManager() and benchmark the role manager (#287 ) (f5e38b6 )
add getUsersForRoleInDomain() (#296 ) (f43e679 )
add keyGet and keyGet2 functions. (142c011 )
add keyMatch5 for ignoring params in url (23576a2 )
add multiple add and remove grouping policies API for ManagementEnforcer (c7d4769 )
add multiple add and remove policies API for ManagementEnforcer (40b8842 )
add setUpdateCallback API for Watcher (781849f ), closes #201
add support for custom function (d16820b ), closes #183
add support for dynamic matching (fd4690e ), closes #169
add support for priority matching (36470f4 ), closes #173
add SyncedCachedEnforcer class (#438 ) (6fc0c4e )
add synchronized version of methods into SyncedEnforcer (#291 ) (0cf9d18 )
add update group API (324b192 )
add user interactions in casbinJsGetPermissionForUser method (#397 ) (1dab612 )
add watcher test (ported from Go's watcher_test.go) (#386 ) (518a92c )
allow permissions management to use additional p-types (#269 ) (5f78e43 )
allow RBAC g policy to have more than 4 elements (#350 ) (a13ba2f )
casbinJsGetPermissionForUser (#248 ) (c4b9379 )
change aviator dependency to org.casbin.aviator.5.1.4-fix to support below Android 8.0 (API level 26) (#326 ) (a104356 )
change g function params to list (10f53ff )
change pom.xml version from 1.7.1-SNAPSHOT to 1.7.1 (#422 ) (4f13723 )
Expose getter and setter of aviatorEval for more customization (#359 ) (7297b01 )
fix bug to make batchEnforce method take all passes policy arguments (#415 ) (bc46d49 )
fix ConcurrentModificationException bug that breaks Enforcer when calling Enforce() (#390 ) (c56af29 )
fix g2 bug in addNamedDomainMatchingFunc() (#363 ) (55eac5b )
fix GraalVM bug by switching back to dependency com.googlecode.aviator 5.3.0, revert PR: #326 (#349 ) (fa605df )
fix javadoc (#432 ) (08333cb )
fix javadoc badge and comment typo (#433 ) (29bbc18 )
fix pom.xml to fix CI (#421 ) (b2777e7 )
fix potential null pointer issue in loadPolicyLine() (#439 ) (7e28e62 )
fix the comma separater bug (#408 ) (bab3550 )
fix the double quotes bug (060c258 )
Implement subject Priority in jcasbin (#306 ) (c61f3e4 )
Improve CSV file parsing (#357 ) (3d22ec5 )
improve keyMatch4(), align with Casbin Editor (#353 ) (cf4dd31 )
improve README (c8385a6 )
modify pom.xml to publish automatically (#423 ) (de2d648 )
optimize eval and error logs (#360 ) (a2067cc )
pass in the domain array as the enforce method parameter (54bbfe7 )
port 2 new test cases to jCasbin (#385 ) (c2c0df8 )
port CachedEnforcer API from Go to Java (#435 ) (9b60f70 )
reimplement default role manager (#285 ) (aaa4f18 )
remove CLI code, revert PR: casbin#402 (d2e2f78 )
Revert "feat: fix the comma separater bug" (#431 ) (89b4c56 )
support addNamedMatchingFunc and addNamedDomainMatchingFunc (#276 ) (a21b219 )
support AddNamedPoliciesEx API (#417 ) (1d89844 )
support AutoSave in built-in FileAdapter (#391 ) (c7d1c21 )
support CLI usage for enforceEx (#406 ) (4abeb4a )
support CLI usage for jCasbin (#402 ) (4ab6346 )
support comment ("#",";") in model (testCommentModel) (#381 ) (eb7f931 )
support enforceEx (#300 ) (fc8ef73 )
support escape character in policy rule (#244 ) (15d4437 )
support map in ABAC (mainly add test case) (#366 ) (4fb873f )
support multiple request, policy, effect, matcher type (#242 ) (64b984d )
support rbac-with-conditions for jcasbin (#392 ) (536d194 )
support stream effector (#238 ) (51e949a )
sync conditional roles to regular roles to fix ConditionalRoleManager bug (#410 ) (6776f75 )
sync ModelTest case from Go to Java (#373 ) (899dc83 )
sync rbac_with_pattern model test cases (#374 ) (00bc8e8 )
sync test cases in ModelUnitTest (#379 ) (1723946 )
Update com.github.seancfoley:ipaddress version (#382 ) (7be5584 )
update WatcherEx interface (#342 ) (d9564ef )
upgrade all jCasbin dependencies to latest (#441 ) (8dd4940 )
upgrade aviator dependency to latest v5.4.3 (#427 ) (f49fddb )
upgrade jackson-databind dependency to 2.16.1 (95ed353 )
use map to store policy index (#283 ) (51d1294 )
You can’t perform that action at this time.