diff --git a/last_commit.txt b/last_commit.txt index 16ddaf8dcc..9f5ce737cc 100644 --- a/last_commit.txt +++ b/last_commit.txt @@ -2,97 +2,35 @@ Repository: Products.PlonePAS Branch: refs/heads/master -Date: 2024-06-03T19:59:27Z -Author: pre-commit-ci[bot] (pre-commit-ci[bot]) <66853113+pre-commit-ci[bot]@users.noreply.github.com> -Commit: https://github.com/plone/Products.PlonePAS/commit/bc793090db922a751f1000a84c47e46898d65cc3 - -[pre-commit.ci] pre-commit autoupdate - -updates: -- [github.com/codespell-project/codespell: v2.2.6 → v2.3.0](https://github.com/codespell-project/codespell/compare/v2.2.6...v2.3.0) - -Files changed: -M .pre-commit-config.yaml - -b'diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml\nindex 69b04522..923ac210 100644\n--- a/.pre-commit-config.yaml\n+++ b/.pre-commit-config.yaml\n@@ -44,7 +44,7 @@ repos:\n # """\n ##\n - repo: https://github.com/codespell-project/codespell\n- rev: v2.2.6\n+ rev: v2.3.0\n hooks:\n - id: codespell\n additional_dependencies:\n' - -Repository: Products.PlonePAS - - -Branch: refs/heads/master -Date: 2024-06-05T20:23:55+02:00 -Author: Gil Forcada Codinachs (gforcada) -Commit: https://github.com/plone/Products.PlonePAS/commit/672dc0581a06b314e4a61e6783eb8ddf3a22523f - -Configuring with plone/meta - -Files changed: -A dependabot.yml -M .editorconfig -M .flake8 -M .github/workflows/meta.yml -M .gitignore -M .meta.toml -M .pre-commit-config.yaml -M pyproject.toml -M tox.ini - -b'diff --git a/.editorconfig b/.editorconfig\nindex 919b4116..5b3c112c 100644\n--- a/.editorconfig\n+++ b/.editorconfig\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n #\n # EditorConfig Configuration file, for more details see:\n@@ -13,7 +13,8 @@\n root = true\n \n \n-[*] # For All Files\n+[*]\n+# Default settings for all files.\n # Unix-style newlines with a newline ending every file\n end_of_line = lf\n insert_final_newline = true\n@@ -29,13 +30,15 @@ max_line_length = off\n # 4 space indentation\n indent_size = 4\n \n-[*.{yml,zpt,pt,dtml,zcml}]\n+[*.{yml,zpt,pt,dtml,zcml,html,xml}]\n # 2 space indentation\n indent_size = 2\n \n-[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development\n+[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss}]\n+# Frontend development\n # 2 space indentation\n indent_size = 2\n+max_line_length = 80\n \n [{Makefile,.gitmodules}]\n # Tab indentation (no size specified, but view as 4 spaces)\ndiff --git a/.flake8 b/.flake8\nindex 7ef4f64d..38918f42 100644\n--- a/.flake8\n+++ b/.flake8\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [flake8]\n doctests = 1\ndiff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml\nindex a7f25e02..c9848bcb 100644\n--- a/.github/workflows/meta.yml\n+++ b/.github/workflows/meta.yml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n name: Meta\n on:\n@@ -13,6 +13,16 @@ on:\n - main\n workflow_dispatch:\n \n+##\n+# To set environment variables for all jobs, add in .meta.toml:\n+# [github]\n+# env = """\n+# debug: 1\n+# image-name: \'org/image\'\n+# image-tag: \'latest\'\n+# """\n+##\n+\n jobs:\n qa:\n uses: plone/meta/.github/workflows/qa.yml@main\n@@ -22,7 +32,44 @@ jobs:\n uses: plone/meta/.github/workflows/coverage.yml@main\n dependencies:\n uses: plone/meta/.github/workflows/dependencies.yml@main\n- release-ready:\n+ release_ready:\n uses: plone/meta/.github/workflows/release_ready.yml@main\n circular:\n uses: plone/meta/.github/workflows/circular.yml@main\n+\n+##\n+# To modify the list of default jobs being created add in .meta.toml:\n+# [github]\n+# jobs = [\n+# "qa",\n+# "test",\n+# "coverage",\n+# "dependencies",\n+# "release_ready",\n+# "circular",\n+# ]\n+##\n+\n+##\n+# To request that some OS level dependencies get installed\n+# when running tests/coverage jobs, add in .meta.toml:\n+# [github]\n+# os_dependencies = "git libxml2 libxslt"\n+##\n+\n+##\n+# To test against a specific matrix of python versions\n+# when running tests jobs, add in .meta.toml:\n+# [github]\n+# py_versions = "[\'3.12\', \'3.11\']"\n+##\n+\n+\n+##\n+# Specify additional jobs in .meta.toml:\n+# [github]\n+# extra_lines = """\n+# another:\n+# uses: org/repo/.github/workflows/file.yml@main\n+# """\n+##\ndiff --git a/.gitignore b/.gitignore\nindex 81594fde..486392f6 100644\n--- a/.gitignore\n+++ b/.gitignore\n@@ -1,14 +1,18 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n # python related\n *.egg-info\n *.pyc\n *.pyo\n \n+# translation related\n+*.mo\n+\n # tools related\n build/\n .coverage\n+.*project\n coverage.xml\n dist/\n docs/_build\n@@ -31,6 +35,7 @@ lib64\n parts/\n pyvenv.cfg\n var/\n+local.cfg\n \n # mxdev\n /instance/\ndiff --git a/.meta.toml b/.meta.toml\nindex c3f6e9a4..161dba04 100644\n--- a/.meta.toml\n+++ b/.meta.toml\n@@ -1,9 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [meta]\n template = "default"\n-commit-id = "cfffba8c"\n+commit-id = "a89af8f2"\n \n [pyproject]\n dependencies_ignores = "[\'plone.openid\']"\ndiff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml\nindex 923ac210..da56023f 100644\n--- a/.pre-commit-config.yaml\n+++ b/.pre-commit-config.yaml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n ci:\n autofix_prs: false\n@@ -75,6 +75,16 @@ repos:\n hooks:\n - id: i18ndude\n \n+\n+##\n+# Add extra configuration options in .meta.toml:\n+# [pre_commit]\n+# i18ndude_extra_lines = """\n+# _your own configuration lines_\n+# """\n+##\n+\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pre_commit]\ndiff --git a/dependabot.yml b/dependabot.yml\nnew file mode 100644\nindex 00000000..bbd3ab05\n--- /dev/null\n+++ b/dependabot.yml\n@@ -0,0 +1,11 @@\n+# Generated from:\n+# https://github.com/plone/meta/tree/main/config/default\n+# See the inline comments on how to expand/tweak this configuration file\n+version: 2\n+updates:\n+\n+ - package-ecosystem: "github-actions"\n+ directory: "/"\n+ schedule:\n+ # Check for updates to GitHub Actions every week\n+ interval: "weekly"\ndiff --git a/pyproject.toml b/pyproject.toml\nindex eef1d190..c918bab4 100644\n--- a/pyproject.toml\n+++ b/pyproject.toml\n@@ -1,6 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n+[build-system]\n+requires = ["setuptools>=68.2"]\n+\n [tool.towncrier]\n directory = "news/"\n filename = "CHANGES.rst"\n@@ -68,7 +71,7 @@ target-version = ["py38"]\n ##\n \n [tool.codespell]\n-ignore-words-list = "discreet,"\n+ignore-words-list = "discreet,assertin,"\n skip = "*.po,"\n ##\n # Add extra configuration options in .meta.toml:\n@@ -127,19 +130,20 @@ Pillow = [\'PIL\']\n # "gitpython = [\'git\']",\n # "pygithub = [\'github\']",\n # ]\n-# """\n ##\n \n [tool.check-manifest]\n ignore = [\n ".editorconfig",\n+ ".flake8",\n ".meta.toml",\n ".pre-commit-config.yaml",\n- "tox.ini",\n- ".flake8",\n+ "dependabot.yml",\n "mx.ini",\n+ "tox.ini",\n \n ]\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pyproject]\n@@ -147,6 +151,11 @@ ignore = [\n # "*.map.js",\n # "*.pyc",\n # """\n+# check_manifest_extra_lines = """\n+# ignore-bad-ideas = [\n+# "some/test/file/PKG-INFO",\n+# ]\n+# """\n ##\n \n \ndiff --git a/tox.ini b/tox.ini\nindex 148676eb..513bfede 100644\n--- a/tox.ini\n+++ b/tox.ini\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [tox]\n # We need 4.4.0 for constrain_package_deps.\n@@ -32,6 +32,21 @@ commands =\n echo "Unrecognized environment name {envname}"\n false\n \n+##\n+# Add extra configuration options in .meta.toml:\n+# [tox]\n+# testenv_options = """\n+# basepython = /usr/bin/python3.8\n+# """\n+##\n+\n+[testenv:init]\n+description = Prepare environment\n+skip_install = true\n+commands =\n+ echo "Initial setup complete"\n+\n+\n [testenv:format]\n description = automatically reformat code\n skip_install = true\n@@ -56,9 +71,9 @@ description = check if the package defines all its dependencies\n skip_install = true\n deps =\n build\n- z3c.dependencychecker==2.11\n+ z3c.dependencychecker==2.14.3\n commands =\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n dependencychecker\n \n [testenv:dependencies-graph]\n@@ -86,11 +101,20 @@ set_env =\n # test_environment_variables = """\n # PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/\n # """\n+#\n+# Set constrain_package_deps .meta.toml:\n+# [tox]\n+# constrain_package_deps = "false"\n ##\n deps =\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n ##\n+# Specify additional deps in .meta.toml:\n+# [tox]\n+# test_deps_additional = "-esources/plonegovbr.portal_base[test]"\n+#\n # Specify a custom constraints file in .meta.toml:\n # [tox]\n # constraints_file = "https://my-server.com/constraints.txt"\n@@ -128,10 +152,12 @@ deps =\n coverage\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n coverage run --branch --source Products.PlonePAS {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir}/src -s Products.PlonePAS {posargs}\n coverage report -m --format markdown\n coverage xml\n+ coverage html\n extras =\n test\n \n@@ -144,18 +170,22 @@ deps =\n build\n towncrier\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # fake version to not have to install the package\n # we build the change log as news entries might break\n # the README that is displayed on PyPI\n towncrier build --version=100.0.0 --yes\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n twine check dist/*\n \n [testenv:circular]\n description = ensure there are no cyclic dependencies\n use_develop = true\n skip_install = false\n+# Here we must always constrain the package deps to what is already installed,\n+# otherwise we simply get the latest from PyPI, which may not work.\n+constrain_package_deps = true\n set_env =\n \n ##\n@@ -171,6 +201,7 @@ deps =\n pipdeptree\n pipforester\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # Generate the full dependency tree\n sh -c \'pipdeptree -j > forest.json\'\n' - -Repository: Products.PlonePAS - - -Branch: refs/heads/master -Date: 2024-06-05T20:24:51+02:00 -Author: Gil Forcada Codinachs (gforcada) -Commit: https://github.com/plone/Products.PlonePAS/commit/a597785eeddeb577a4b65c71e850bd8d9fee10cc - -chore: typo - -Files changed: -M CHANGES.rst - -b'diff --git a/CHANGES.rst b/CHANGES.rst\nindex b54cade2..d1ba95d8 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -1235,7 +1235,7 @@ Fixes:\n 2.4 - 2007-04-15\n ----------------\n \n-- Optomise the local roles plugin for the common case where\n+- Optimise the local roles plugin for the common case where\n local_roles is empty\n [dreamcatcher]\n \n' - -Repository: Products.PlonePAS - - -Branch: refs/heads/master -Date: 2024-06-06T23:44:46+02:00 +Date: 2024-06-07T00:07:41+02:00 Author: Maurits van Rees (mauritsvanrees) -Commit: https://github.com/plone/Products.PlonePAS/commit/12ecfc33426d3a8f2bf3e8465c462cc433e33681 +Commit: https://github.com/plone/Products.PlonePAS/commit/c03dccbea54be35c6410379db7f58ccf08ff282f + +Do not test with visible_ids boolean property, as this may get removed. -Fix dependencycheck by depending on Zope. +See https://github.com/plone/plone.app.contenttypes/pull/693 Files changed: -M setup.py +A news/125.tests +M src/Products/PlonePAS/tests/test_properties.py -b'diff --git a/setup.py b/setup.py\nindex 03c57193..578c44cf 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -10,8 +10,6 @@\n )\n \n install_requires = [\n- "AuthEncoding",\n- "BTrees",\n "Pillow",\n "plone.base",\n "plone.i18n",\n@@ -23,6 +21,7 @@\n "Products.GenericSetup",\n "Products.PluggableAuthService>=2.0",\n "setuptools",\n+ "Zope",\n ]\n \n setup(\n' +b'diff --git a/news/125.tests b/news/125.tests\nnew file mode 100644\nindex 00000000..3bd3285d\n--- /dev/null\n+++ b/news/125.tests\n@@ -0,0 +1,2 @@\n+Do not test with ``visible_ids`` boolean property, as this may get removed.\n+[maurits]\ndiff --git a/src/Products/PlonePAS/tests/test_properties.py b/src/Products/PlonePAS/tests/test_properties.py\nindex 37ee865c..e0e0afc0 100644\n--- a/src/Products/PlonePAS/tests/test_properties.py\n+++ b/src/Products/PlonePAS/tests/test_properties.py\n@@ -211,6 +211,10 @@ def setUp(self):\n self.md = getToolByName(self.portal, "portal_memberdata")\n self.gt = getToolByName(self.portal, "portal_groups")\n \n+ # All existing boolean properties might get removed at some point,\n+ # so add a new one for testing.\n+ self.md.manage_addProperty("fluffy", False, "boolean")\n+\n # Create a new Member\n self.mt.addMember(\n "member1",\n@@ -273,11 +277,11 @@ def testInexactStringSearch(self):\n self.assertEqual(results, [])\n \n def testBooleanSearch(self):\n- results = self.pas.searchUsers(visible_ids=True)\n+ results = self.pas.searchUsers(fluffy=True)\n results = [info["userid"] for info in results]\n self.assertEqual(results, [])\n \n- results = self.pas.searchUsers(visible_ids=False)\n+ results = self.pas.searchUsers(fluffy=False)\n results = [info["userid"] for info in results]\n self.assertEqual(results, ["member1", "member2"])\n \n' Repository: Products.PlonePAS Branch: refs/heads/master -Date: 2024-06-06T23:49:26+02:00 -Author: Maurits van Rees (mauritsvanrees) -Commit: https://github.com/plone/Products.PlonePAS/commit/894a054e720bfe210c2cfb4d643688119938851e +Date: 2024-06-07T05:45:44-04:00 +Author: Jens W. Klein (jensens) +Commit: https://github.com/plone/Products.PlonePAS/commit/f755f201651eb955865167c60f6d3d2d2d9f16af -Merge pull request #87 from plone/pre-commit-ci-update-config +Merge pull request #88 from plone/remove-portal-properties-tool -[pre-commit.ci] pre-commit autoupdate +Do not test with visible_ids boolean property, as this may get removed. Files changed: -A dependabot.yml -M .editorconfig -M .flake8 -M .github/workflows/meta.yml -M .gitignore -M .meta.toml -M .pre-commit-config.yaml -M CHANGES.rst -M pyproject.toml -M setup.py -M tox.ini +A news/125.tests +M src/Products/PlonePAS/tests/test_properties.py -b'diff --git a/.editorconfig b/.editorconfig\nindex 919b4116..5b3c112c 100644\n--- a/.editorconfig\n+++ b/.editorconfig\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n #\n # EditorConfig Configuration file, for more details see:\n@@ -13,7 +13,8 @@\n root = true\n \n \n-[*] # For All Files\n+[*]\n+# Default settings for all files.\n # Unix-style newlines with a newline ending every file\n end_of_line = lf\n insert_final_newline = true\n@@ -29,13 +30,15 @@ max_line_length = off\n # 4 space indentation\n indent_size = 4\n \n-[*.{yml,zpt,pt,dtml,zcml}]\n+[*.{yml,zpt,pt,dtml,zcml,html,xml}]\n # 2 space indentation\n indent_size = 2\n \n-[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss,html}] # Frontend development\n+[*.{json,jsonl,js,jsx,ts,tsx,css,less,scss}]\n+# Frontend development\n # 2 space indentation\n indent_size = 2\n+max_line_length = 80\n \n [{Makefile,.gitmodules}]\n # Tab indentation (no size specified, but view as 4 spaces)\ndiff --git a/.flake8 b/.flake8\nindex 7ef4f64d..38918f42 100644\n--- a/.flake8\n+++ b/.flake8\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [flake8]\n doctests = 1\ndiff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml\nindex a7f25e02..c9848bcb 100644\n--- a/.github/workflows/meta.yml\n+++ b/.github/workflows/meta.yml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n name: Meta\n on:\n@@ -13,6 +13,16 @@ on:\n - main\n workflow_dispatch:\n \n+##\n+# To set environment variables for all jobs, add in .meta.toml:\n+# [github]\n+# env = """\n+# debug: 1\n+# image-name: \'org/image\'\n+# image-tag: \'latest\'\n+# """\n+##\n+\n jobs:\n qa:\n uses: plone/meta/.github/workflows/qa.yml@main\n@@ -22,7 +32,44 @@ jobs:\n uses: plone/meta/.github/workflows/coverage.yml@main\n dependencies:\n uses: plone/meta/.github/workflows/dependencies.yml@main\n- release-ready:\n+ release_ready:\n uses: plone/meta/.github/workflows/release_ready.yml@main\n circular:\n uses: plone/meta/.github/workflows/circular.yml@main\n+\n+##\n+# To modify the list of default jobs being created add in .meta.toml:\n+# [github]\n+# jobs = [\n+# "qa",\n+# "test",\n+# "coverage",\n+# "dependencies",\n+# "release_ready",\n+# "circular",\n+# ]\n+##\n+\n+##\n+# To request that some OS level dependencies get installed\n+# when running tests/coverage jobs, add in .meta.toml:\n+# [github]\n+# os_dependencies = "git libxml2 libxslt"\n+##\n+\n+##\n+# To test against a specific matrix of python versions\n+# when running tests jobs, add in .meta.toml:\n+# [github]\n+# py_versions = "[\'3.12\', \'3.11\']"\n+##\n+\n+\n+##\n+# Specify additional jobs in .meta.toml:\n+# [github]\n+# extra_lines = """\n+# another:\n+# uses: org/repo/.github/workflows/file.yml@main\n+# """\n+##\ndiff --git a/.gitignore b/.gitignore\nindex 81594fde..486392f6 100644\n--- a/.gitignore\n+++ b/.gitignore\n@@ -1,14 +1,18 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n # python related\n *.egg-info\n *.pyc\n *.pyo\n \n+# translation related\n+*.mo\n+\n # tools related\n build/\n .coverage\n+.*project\n coverage.xml\n dist/\n docs/_build\n@@ -31,6 +35,7 @@ lib64\n parts/\n pyvenv.cfg\n var/\n+local.cfg\n \n # mxdev\n /instance/\ndiff --git a/.meta.toml b/.meta.toml\nindex c3f6e9a4..161dba04 100644\n--- a/.meta.toml\n+++ b/.meta.toml\n@@ -1,9 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [meta]\n template = "default"\n-commit-id = "cfffba8c"\n+commit-id = "a89af8f2"\n \n [pyproject]\n dependencies_ignores = "[\'plone.openid\']"\ndiff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml\nindex 69b04522..da56023f 100644\n--- a/.pre-commit-config.yaml\n+++ b/.pre-commit-config.yaml\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n ci:\n autofix_prs: false\n@@ -44,7 +44,7 @@ repos:\n # """\n ##\n - repo: https://github.com/codespell-project/codespell\n- rev: v2.2.6\n+ rev: v2.3.0\n hooks:\n - id: codespell\n additional_dependencies:\n@@ -75,6 +75,16 @@ repos:\n hooks:\n - id: i18ndude\n \n+\n+##\n+# Add extra configuration options in .meta.toml:\n+# [pre_commit]\n+# i18ndude_extra_lines = """\n+# _your own configuration lines_\n+# """\n+##\n+\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pre_commit]\ndiff --git a/CHANGES.rst b/CHANGES.rst\nindex b54cade2..d1ba95d8 100644\n--- a/CHANGES.rst\n+++ b/CHANGES.rst\n@@ -1235,7 +1235,7 @@ Fixes:\n 2.4 - 2007-04-15\n ----------------\n \n-- Optomise the local roles plugin for the common case where\n+- Optimise the local roles plugin for the common case where\n local_roles is empty\n [dreamcatcher]\n \ndiff --git a/dependabot.yml b/dependabot.yml\nnew file mode 100644\nindex 00000000..bbd3ab05\n--- /dev/null\n+++ b/dependabot.yml\n@@ -0,0 +1,11 @@\n+# Generated from:\n+# https://github.com/plone/meta/tree/main/config/default\n+# See the inline comments on how to expand/tweak this configuration file\n+version: 2\n+updates:\n+\n+ - package-ecosystem: "github-actions"\n+ directory: "/"\n+ schedule:\n+ # Check for updates to GitHub Actions every week\n+ interval: "weekly"\ndiff --git a/pyproject.toml b/pyproject.toml\nindex eef1d190..c918bab4 100644\n--- a/pyproject.toml\n+++ b/pyproject.toml\n@@ -1,6 +1,9 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n+[build-system]\n+requires = ["setuptools>=68.2"]\n+\n [tool.towncrier]\n directory = "news/"\n filename = "CHANGES.rst"\n@@ -68,7 +71,7 @@ target-version = ["py38"]\n ##\n \n [tool.codespell]\n-ignore-words-list = "discreet,"\n+ignore-words-list = "discreet,assertin,"\n skip = "*.po,"\n ##\n # Add extra configuration options in .meta.toml:\n@@ -127,19 +130,20 @@ Pillow = [\'PIL\']\n # "gitpython = [\'git\']",\n # "pygithub = [\'github\']",\n # ]\n-# """\n ##\n \n [tool.check-manifest]\n ignore = [\n ".editorconfig",\n+ ".flake8",\n ".meta.toml",\n ".pre-commit-config.yaml",\n- "tox.ini",\n- ".flake8",\n+ "dependabot.yml",\n "mx.ini",\n+ "tox.ini",\n \n ]\n+\n ##\n # Add extra configuration options in .meta.toml:\n # [pyproject]\n@@ -147,6 +151,11 @@ ignore = [\n # "*.map.js",\n # "*.pyc",\n # """\n+# check_manifest_extra_lines = """\n+# ignore-bad-ideas = [\n+# "some/test/file/PKG-INFO",\n+# ]\n+# """\n ##\n \n \ndiff --git a/setup.py b/setup.py\nindex 03c57193..578c44cf 100644\n--- a/setup.py\n+++ b/setup.py\n@@ -10,8 +10,6 @@\n )\n \n install_requires = [\n- "AuthEncoding",\n- "BTrees",\n "Pillow",\n "plone.base",\n "plone.i18n",\n@@ -23,6 +21,7 @@\n "Products.GenericSetup",\n "Products.PluggableAuthService>=2.0",\n "setuptools",\n+ "Zope",\n ]\n \n setup(\ndiff --git a/tox.ini b/tox.ini\nindex 148676eb..513bfede 100644\n--- a/tox.ini\n+++ b/tox.ini\n@@ -1,5 +1,5 @@\n # Generated from:\n-# https://github.com/plone/meta/tree/master/config/default\n+# https://github.com/plone/meta/tree/main/config/default\n # See the inline comments on how to expand/tweak this configuration file\n [tox]\n # We need 4.4.0 for constrain_package_deps.\n@@ -32,6 +32,21 @@ commands =\n echo "Unrecognized environment name {envname}"\n false\n \n+##\n+# Add extra configuration options in .meta.toml:\n+# [tox]\n+# testenv_options = """\n+# basepython = /usr/bin/python3.8\n+# """\n+##\n+\n+[testenv:init]\n+description = Prepare environment\n+skip_install = true\n+commands =\n+ echo "Initial setup complete"\n+\n+\n [testenv:format]\n description = automatically reformat code\n skip_install = true\n@@ -56,9 +71,9 @@ description = check if the package defines all its dependencies\n skip_install = true\n deps =\n build\n- z3c.dependencychecker==2.11\n+ z3c.dependencychecker==2.14.3\n commands =\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n dependencychecker\n \n [testenv:dependencies-graph]\n@@ -86,11 +101,20 @@ set_env =\n # test_environment_variables = """\n # PIP_EXTRA_INDEX_URL=https://my-pypi.my-server.com/\n # """\n+#\n+# Set constrain_package_deps .meta.toml:\n+# [tox]\n+# constrain_package_deps = "false"\n ##\n deps =\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n ##\n+# Specify additional deps in .meta.toml:\n+# [tox]\n+# test_deps_additional = "-esources/plonegovbr.portal_base[test]"\n+#\n # Specify a custom constraints file in .meta.toml:\n # [tox]\n # constraints_file = "https://my-server.com/constraints.txt"\n@@ -128,10 +152,12 @@ deps =\n coverage\n zope.testrunner\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n coverage run --branch --source Products.PlonePAS {envbindir}/zope-testrunner --quiet --all --test-path={toxinidir}/src -s Products.PlonePAS {posargs}\n coverage report -m --format markdown\n coverage xml\n+ coverage html\n extras =\n test\n \n@@ -144,18 +170,22 @@ deps =\n build\n towncrier\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # fake version to not have to install the package\n # we build the change log as news entries might break\n # the README that is displayed on PyPI\n towncrier build --version=100.0.0 --yes\n- python -m build --sdist --no-isolation\n+ python -m build --sdist\n twine check dist/*\n \n [testenv:circular]\n description = ensure there are no cyclic dependencies\n use_develop = true\n skip_install = false\n+# Here we must always constrain the package deps to what is already installed,\n+# otherwise we simply get the latest from PyPI, which may not work.\n+constrain_package_deps = true\n set_env =\n \n ##\n@@ -171,6 +201,7 @@ deps =\n pipdeptree\n pipforester\n -c https://dist.plone.org/release/6.0-dev/constraints.txt\n+\n commands =\n # Generate the full dependency tree\n sh -c \'pipdeptree -j > forest.json\'\n' +b'diff --git a/news/125.tests b/news/125.tests\nnew file mode 100644\nindex 00000000..3bd3285d\n--- /dev/null\n+++ b/news/125.tests\n@@ -0,0 +1,2 @@\n+Do not test with ``visible_ids`` boolean property, as this may get removed.\n+[maurits]\ndiff --git a/src/Products/PlonePAS/tests/test_properties.py b/src/Products/PlonePAS/tests/test_properties.py\nindex 37ee865c..e0e0afc0 100644\n--- a/src/Products/PlonePAS/tests/test_properties.py\n+++ b/src/Products/PlonePAS/tests/test_properties.py\n@@ -211,6 +211,10 @@ def setUp(self):\n self.md = getToolByName(self.portal, "portal_memberdata")\n self.gt = getToolByName(self.portal, "portal_groups")\n \n+ # All existing boolean properties might get removed at some point,\n+ # so add a new one for testing.\n+ self.md.manage_addProperty("fluffy", False, "boolean")\n+\n # Create a new Member\n self.mt.addMember(\n "member1",\n@@ -273,11 +277,11 @@ def testInexactStringSearch(self):\n self.assertEqual(results, [])\n \n def testBooleanSearch(self):\n- results = self.pas.searchUsers(visible_ids=True)\n+ results = self.pas.searchUsers(fluffy=True)\n results = [info["userid"] for info in results]\n self.assertEqual(results, [])\n \n- results = self.pas.searchUsers(visible_ids=False)\n+ results = self.pas.searchUsers(fluffy=False)\n results = [info["userid"] for info in results]\n self.assertEqual(results, ["member1", "member2"])\n \n'