EmryZhang opened a new pull request, #438: URL: https://github.com/apache/casbin-pycasbin/pull/438
Support the pending PyCasbin release requested in #432 with one preparation change for `apache-casbin` 2.9.0, retaining `import casbin`. - Align the version, Apache metadata, incubation disclaimer and source/wheel/sdist legal contents; preserve historical copyright notices in NOTICE and document the legacy-package migration. - Raise the simpleeval floor to 1.0.5 and update development tools. Align Python support with the existing runtime dependencies (>=3.9). - Return independent `enforce_ex()` explanations and keep conditional-role caching bypassed for unbounded expiry values. Add query-isolation and cache regressions, including first-call/cache-hit and sync/async paths. - Replace the historical Wikipedia-adapted lock implementation with a compatibility layer over the separately installed MIT-licensed readerwriterlock dependency. Preserve shared read contexts, writer preference and the existing direct/context API. - Include tests/examples in the sdist; pin Actions and conformance inputs. Export unsigned RC candidates only, and require an explicit final dispatch that verifies promoted ASF originals before building/publishing convenience packages. Validation: extracted-source suites pass on Windows Python 3.9, 3.10 (minimum direct dependencies) and 3.12: 474 executions each, with warnings treated as errors and conformance enabled. An independently installed wheel passes the same 474-execution suite; separate wheel/sdist installation and legacy-uninstall migration checks pass. All 40 benchmark cases execute with reduced measurement rounds; 26 release-helper safeguards, Black, actionlint, strict Twine and source/distribution metadata checks pass. RAT accounts for all 190 source files: 186 approved, 3 notice files and one documented CC0 ignore-template exception. Resolved runtime/tool dependency advisory checks are clear after the updates. The large file count primarily reflects ASF header normalization across code, tests and examples. Library AST changes are limited to the explanation copy, conditional-cache expiry check and lock replacement. Other OS/Python combinations still require hosted CI. No release tag, signing, staging, vote, registry publication or announcement is performed by this PR; actual release approval, channel administration and final human archive review remain separate gates. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
