From a4abd9378420d2dfb54385e2a61775b697d1fc60 Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Thu, 6 Feb 2025 16:39:52 -0500 Subject: [PATCH 1/9] feat: add python 3.12 support --- .github/workflows/ci.yml | 4 ++-- .github/workflows/pypi-publish.yml | 2 +- .readthedocs.yaml | 2 +- CHANGELOG.rst | 8 ++++++++ openedx_filters/__init__.py | 2 +- setup.py | 1 + tox.ini | 2 +- 7 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cef7d20d..6a0e73ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.11'] + python-version: ['3.11', '3.12'] toxenv: ["django42", "quality", "docs"] steps: @@ -37,7 +37,7 @@ jobs: run: tox - name: Run coverage - if: matrix.python-version == '3.11' && matrix.toxenv == 'django42' + if: matrix.python-version == '3.12' && matrix.toxenv == 'django42' uses: codecov/codecov-action@v5 with: flags: unittests diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index 42c80d89..ea81e83e 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -15,7 +15,7 @@ jobs: - name: setup python uses: actions/setup-python@v5 with: - python-version: 3.11 + python-version: 3.12 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/.readthedocs.yaml b/.readthedocs.yaml index a6a37856..99d76798 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -8,7 +8,7 @@ version: 2 build: os: "ubuntu-22.04" tools: - python: "3.11" + python: "3.12" # Build documentation in the docs/ directory with Sphinx sphinx: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index caae1d17..0470fff8 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,14 @@ Change Log Unreleased ---------- +[1.14.0] - 2025-02-07 +--------------------- + +Changed +~~~~~~~ + +* Added support for Python 3.12 + [1.13.0] - 2025-01-31 --------------------- diff --git a/openedx_filters/__init__.py b/openedx_filters/__init__.py index 3e309c80..e63ba5d8 100644 --- a/openedx_filters/__init__.py +++ b/openedx_filters/__init__.py @@ -3,4 +3,4 @@ """ from openedx_filters.filters import * -__version__ = "1.13.0" +__version__ = "1.14.0" diff --git a/setup.py b/setup.py index b246cd2f..03af522a 100644 --- a/setup.py +++ b/setup.py @@ -158,5 +158,6 @@ def is_requirement(line): "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ], ) diff --git a/tox.ini b/tox.ini index 9eb3a392..ab38651e 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{311}-django{42}, quality, docs +envlist = py{311, 312}-django{42}, quality, docs [doc8] From 2021bb88d5e818c98bd5e8add39161a12b14a75e Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Thu, 6 Feb 2025 17:17:25 -0500 Subject: [PATCH 2/9] refactor: replace assertDictContainsSubset with assertLessEqual(itemsA, itemsB) --- .../learning/tests/test_filters.py | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/openedx_filters/learning/tests/test_filters.py b/openedx_filters/learning/tests/test_filters.py index ef317921..b4ccf69a 100644 --- a/openedx_filters/learning/tests/test_filters.py +++ b/openedx_filters/learning/tests/test_filters.py @@ -107,7 +107,7 @@ def test_halt_certificate_process(self, CertificateException, attributes): """ exception = CertificateException(message="You can't generate certificate", **attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) @ddt @@ -216,7 +216,7 @@ def test_halt_student_auth_process(self, auth_exception, attributes): """ exception = auth_exception(**attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) @ddt @@ -276,7 +276,7 @@ def test_halt_enrollment_process(self, enrollment_exception, attributes): """ exception = enrollment_exception(**attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) def test_course_enrollments_requested(self): """ @@ -307,7 +307,7 @@ def test_halt_queryset_request(self, request_exception, attributes): """ exception = request_exception(**attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) @ddt @@ -378,7 +378,7 @@ def test_halt_dashboard_render(self, dashboard_exception, attributes): """ exception = dashboard_exception(message="You can't access the dashboard", **attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) @data( (CourseAboutRenderStarted.RedirectToPage, {"redirect_to": "custom-course-about.html"}), @@ -401,7 +401,7 @@ def test_halt_course_about_render(self, course_about_exception, attributes): """ exception = course_about_exception(message="You can't access the course about", **attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) def test_verticalblock_child_render_started(self): """ @@ -441,7 +441,7 @@ def test_halt_vertical_child_block_render(self, block_render_exception, attribut """ exception = block_render_exception(**attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) def test_vertical_block_render_completed(self): """ @@ -482,7 +482,7 @@ def test_halt_vertical_block_render(self, render_exception, attributes): """ exception = render_exception(**attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) def test_xblock_render_started(self): """ @@ -524,7 +524,7 @@ def test_halt_xblock_render(self, xblock_render_exception, attributes): """ exception = xblock_render_exception(**attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) @data( ( @@ -544,7 +544,7 @@ def test_halt_xblock_render_custom_response(self, xblock_render_exception, attri """ exception = xblock_render_exception(**attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) def test_account_settings_render_started(self): """ @@ -577,7 +577,7 @@ def test_halt_account_rendering_process(self, AccountSettingsException, attribut """ exception = AccountSettingsException(message="You can't access this page", **attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) def test_instructor_dashboard_render_started(self): """ @@ -612,7 +612,7 @@ def test_halt_instructor_dashboard_render(self, dashboard_exception, attributes) """ exception = dashboard_exception(message="You can't access the dashboard", **attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) def test_ora_submission_view_render_started(self): """ @@ -642,7 +642,7 @@ def test_halt_ora_submission_view_render(self, dashboard_exception, attributes): """ exception = dashboard_exception(message="You can't access the view", **attributes) - self.assertDictContainsSubset(attributes, exception.__dict__) + self.assertLessEqual(attributes.items(), exception.__dict__.items()) class TestCohortFilters(TestCase): From 116d8d621e39271ffb8627bd56fcb163a2ea28c7 Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Tue, 11 Feb 2025 15:44:41 -0500 Subject: [PATCH 3/9] docs(lint): update terms and ref --- docs/reference/django-plugins-and-filters.rst | 4 ++-- docs/reference/glossary.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/reference/django-plugins-and-filters.rst b/docs/reference/django-plugins-and-filters.rst index b02a9b6c..27390b6c 100644 --- a/docs/reference/django-plugins-and-filters.rst +++ b/docs/reference/django-plugins-and-filters.rst @@ -37,5 +37,5 @@ file. The dictionary has the following structure: Create pipeline steps ********************* -In your own plugin, you can create your own :term:`pipeline steps` by inheriting from ``PipelineStep`` and implementing the -``run_filter`` method. You can find examples of :term:`pipeline steps` in the ``openedx-filters-samples`` repository. See :doc:`/quickstarts/index` for more details. +In your own plugin, you can create your own :term:`pipeline steps` by inheriting from ``PipelineStep`` and implementing the +``run_filter`` method. You can find examples of :term:`pipeline steps` in the ``openedx-filters-samples`` repository. See :doc:`/quickstarts/index` for more details. diff --git a/docs/reference/glossary.rst b/docs/reference/glossary.rst index ed54f568..4042a87d 100644 --- a/docs/reference/glossary.rst +++ b/docs/reference/glossary.rst @@ -29,7 +29,7 @@ A filter has multiple components that are used to define, execute and handle fil Filter Configuration The filter configuration is a dictionary that defines the pipeline settings for a filter. Each filter type has its own configuration, which includes settings like whether errors should fail silently or propagate, and the sequence of pipeline steps. Configurations specify the filter type, error-handling preferences, and a list of module paths for each pipeline step to be executed. E.g., the configuration for the `CourseEnrollmentStarted filter`_ might include settings like ``fail_silently: False`` and ``['my_plugin.filters.StopEnrollmentIfNotValidEmail']`` as its pipeline steps. See the :doc:`/decisions/0002-hooks-filter-config-location` for more details on the configuration format. -This glossary provides a high-level overview of the key concepts and components of the Open edX Filters library. Understanding these terms will help you implement filters in your application and leverage the filter tooling to control the flow of your application based on specific conditions. For a better illustration of these concepts, refer to the :doc:`/how-tos/using-filters` guide. +This glossary provides a high-level overview of the key concepts and components of the Open edX Filters library. Understanding these terms will help you implement filters in your application and leverage the filter tooling to control the flow of your application based on specific conditions. For a better illustration of these concepts, refer to the :doc:`/how-tos/create-a-pipeline-step` guide. .. _Python Social Auth accumulative pipeline: https://python-social-auth.readthedocs.io/en/latest/pipeline.html .. _PipelineStep: https://github.com/openedx/openedx-filters/blob/main/openedx_filters/filters.py#L10 From 18e368fcb757cc9f40e83e55dfb1e23a51e2f375 Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Wed, 12 Feb 2025 08:30:46 -0500 Subject: [PATCH 4/9] chore(deps): add setuptools to base.in requirements --- requirements/base.in | 1 + requirements/base.txt | 9 ++++++--- requirements/ci.txt | 2 +- requirements/dev.txt | 20 ++++++++++---------- requirements/doc.txt | 23 +++++++++++++---------- requirements/quality.txt | 21 ++++++++++++--------- requirements/test.txt | 19 +++++++++++-------- 7 files changed, 54 insertions(+), 41 deletions(-) diff --git a/requirements/base.in b/requirements/base.in index 7ef98f4f..e4c03efa 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -3,3 +3,4 @@ django edx-opaque-keys[django] +setuptools diff --git a/requirements/base.txt b/requirements/base.txt index 9499f64a..f8d501a1 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,7 +6,7 @@ # asgiref==3.8.1 # via django -django==4.2.18 +django==4.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -14,9 +14,9 @@ dnspython==2.7.0 # via pymongo edx-opaque-keys[django]==2.11.0 # via -r requirements/base.in -pbr==6.1.0 +pbr==6.1.1 # via stevedore -pymongo==4.11 +pymongo==4.11.1 # via edx-opaque-keys sqlparse==0.5.3 # via django @@ -24,3 +24,6 @@ stevedore==5.4.0 # via edx-opaque-keys typing-extensions==4.12.2 # via edx-opaque-keys + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/ci.txt b/requirements/ci.txt index cf0a9bcc..64fbd990 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -30,5 +30,5 @@ pyproject-api==1.9.0 # via tox tox==4.24.1 # via -r requirements/ci.in -virtualenv==20.29.1 +virtualenv==20.29.2 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 4b58d26c..50226f84 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -63,11 +63,11 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.6.10 +coverage[toml]==7.6.12 # via # -r requirements/quality.txt # pytest-cov -cryptography==44.0.0 +cryptography==44.0.1 # via # -r requirements/quality.txt # secretstorage @@ -83,15 +83,15 @@ distlib==0.3.9 # via # -r requirements/ci.txt # virtualenv -django==4.2.18 +django==4.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # django-stubs # django-stubs-ext -django-stubs==5.1.2 +django-stubs==5.1.3 # via -r requirements/quality.txt -django-stubs-ext==5.1.2 +django-stubs-ext==5.1.3 # via # -r requirements/quality.txt # django-stubs @@ -179,7 +179,7 @@ more-itertools==10.6.0 # -r requirements/quality.txt # jaraco-classes # jaraco-functools -mypy==1.14.1 +mypy==1.15.0 # via -r requirements/quality.txt mypy-extensions==1.0.0 # via @@ -199,7 +199,7 @@ packaging==24.2 # pytest # tox # twine -pbr==6.1.0 +pbr==6.1.1 # via # -r requirements/quality.txt # stevedore @@ -253,7 +253,7 @@ pylint-plugin-utils==0.8.2 # -r requirements/quality.txt # pylint-celery # pylint-django -pymongo==4.11 +pymongo==4.11.1 # via # -r requirements/quality.txt # edx-opaque-keys @@ -273,7 +273,7 @@ pytest==8.3.4 # pytest-django pytest-cov==6.0.0 # via -r requirements/quality.txt -pytest-django==4.9.0 +pytest-django==4.10.0 # via -r requirements/quality.txt python-slugify==8.0.4 # via @@ -355,7 +355,7 @@ urllib3==2.2.3 # -r requirements/quality.txt # requests # twine -virtualenv==20.29.1 +virtualenv==20.29.2 # via # -r requirements/ci.txt # tox diff --git a/requirements/doc.txt b/requirements/doc.txt index d2258328..37898a23 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -23,7 +23,7 @@ babel==2.17.0 # sphinx backports-tarfile==1.2.0 # via jaraco-context -beautifulsoup4==4.13.1 +beautifulsoup4==4.13.3 # via pydata-sphinx-theme build==1.2.2.post1 # via -r requirements/doc.in @@ -42,23 +42,23 @@ code-annotations==2.2.0 # via -r requirements/test.txt colorama==0.4.6 # via sphinx-autobuild -coverage[toml]==7.6.10 +coverage[toml]==7.6.12 # via # -r requirements/test.txt # pytest-cov -cryptography==44.0.0 +cryptography==44.0.1 # via secretstorage ddt==1.7.2 # via -r requirements/test.txt -django==4.2.18 +django==4.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # django-stubs # django-stubs-ext -django-stubs==5.1.2 +django-stubs==5.1.3 # via -r requirements/test.txt -django-stubs-ext==5.1.2 +django-stubs-ext==5.1.3 # via # -r requirements/test.txt # django-stubs @@ -122,7 +122,7 @@ more-itertools==10.6.0 # via # jaraco-classes # jaraco-functools -mypy==1.14.1 +mypy==1.15.0 # via -r requirements/test.txt mypy-extensions==1.0.0 # via @@ -137,7 +137,7 @@ packaging==24.2 # pytest # sphinx # twine -pbr==6.1.0 +pbr==6.1.1 # via # -r requirements/test.txt # stevedore @@ -157,7 +157,7 @@ pygments==2.19.1 # readme-renderer # rich # sphinx -pymongo==4.11 +pymongo==4.11.1 # via # -r requirements/test.txt # edx-opaque-keys @@ -170,7 +170,7 @@ pytest==8.3.4 # pytest-django pytest-cov==6.0.0 # via -r requirements/test.txt -pytest-django==4.9.0 +pytest-django==4.10.0 # via -r requirements/test.txt python-slugify==8.0.4 # via @@ -281,3 +281,6 @@ websockets==14.2 # via sphinx-autobuild zipp==3.21.0 # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/quality.txt b/requirements/quality.txt index 4b77d5f8..e86455d3 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -33,25 +33,25 @@ code-annotations==2.2.0 # via # -r requirements/test.txt # edx-lint -coverage[toml]==7.6.10 +coverage[toml]==7.6.12 # via # -r requirements/test.txt # pytest-cov -cryptography==44.0.0 +cryptography==44.0.1 # via secretstorage ddt==1.7.2 # via -r requirements/test.txt dill==0.3.9 # via pylint -django==4.2.18 +django==4.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # django-stubs # django-stubs-ext -django-stubs==5.1.2 +django-stubs==5.1.3 # via -r requirements/test.txt -django-stubs-ext==5.1.2 +django-stubs-ext==5.1.3 # via # -r requirements/test.txt # django-stubs @@ -109,7 +109,7 @@ more-itertools==10.6.0 # via # jaraco-classes # jaraco-functools -mypy==1.14.1 +mypy==1.15.0 # via # -r requirements/quality.in # -r requirements/test.txt @@ -124,7 +124,7 @@ packaging==24.2 # -r requirements/test.txt # pytest # twine -pbr==6.1.0 +pbr==6.1.1 # via # -r requirements/test.txt # stevedore @@ -158,7 +158,7 @@ pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pymongo==4.11 +pymongo==4.11.1 # via # -r requirements/test.txt # edx-opaque-keys @@ -169,7 +169,7 @@ pytest==8.3.4 # pytest-django pytest-cov==6.0.0 # via -r requirements/test.txt -pytest-django==4.9.0 +pytest-django==4.10.0 # via -r requirements/test.txt python-slugify==8.0.4 # via @@ -233,3 +233,6 @@ urllib3==2.2.3 # twine zipp==3.21.0 # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/test.txt b/requirements/test.txt index 92f05dee..68d36f9d 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -13,19 +13,19 @@ click==8.1.8 # via code-annotations code-annotations==2.2.0 # via -r requirements/test.in -coverage[toml]==7.6.10 +coverage[toml]==7.6.12 # via pytest-cov ddt==1.7.2 # via -r requirements/test.in -django==4.2.18 +django==4.2.19 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt # django-stubs # django-stubs-ext -django-stubs==5.1.2 +django-stubs==5.1.3 # via -r requirements/test.in -django-stubs-ext==5.1.2 +django-stubs-ext==5.1.3 # via django-stubs dnspython==2.7.0 # via @@ -39,19 +39,19 @@ jinja2==3.1.5 # via code-annotations markupsafe==3.0.2 # via jinja2 -mypy==1.14.1 +mypy==1.15.0 # via -r requirements/test.in mypy-extensions==1.0.0 # via mypy packaging==24.2 # via pytest -pbr==6.1.0 +pbr==6.1.1 # via # -r requirements/base.txt # stevedore pluggy==1.5.0 # via pytest -pymongo==4.11 +pymongo==4.11.1 # via # -r requirements/base.txt # edx-opaque-keys @@ -61,7 +61,7 @@ pytest==8.3.4 # pytest-django pytest-cov==6.0.0 # via -r requirements/test.in -pytest-django==4.9.0 +pytest-django==4.10.0 # via -r requirements/test.in python-slugify==8.0.4 # via code-annotations @@ -87,3 +87,6 @@ typing-extensions==4.12.2 # django-stubs-ext # edx-opaque-keys # mypy + +# The following packages are considered to be unsafe in a requirements file: +# setuptools From fd79a6bdc9863fe0233938abce924376a7005631 Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Wed, 12 Feb 2025 13:28:46 -0500 Subject: [PATCH 5/9] build: use python 3.11 as default version in github actions --- .github/workflows/ci.yml | 2 +- .github/workflows/pypi-publish.yml | 2 +- .readthedocs.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a0e73ca..b708bea0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: run: tox - name: Run coverage - if: matrix.python-version == '3.12' && matrix.toxenv == 'django42' + if: matrix.python-version == '3.11' && matrix.toxenv == 'django42' uses: codecov/codecov-action@v5 with: flags: unittests diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index ea81e83e..42c80d89 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -15,7 +15,7 @@ jobs: - name: setup python uses: actions/setup-python@v5 with: - python-version: 3.12 + python-version: 3.11 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 99d76798..a6a37856 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -8,7 +8,7 @@ version: 2 build: os: "ubuntu-22.04" tools: - python: "3.12" + python: "3.11" # Build documentation in the docs/ directory with Sphinx sphinx: From 75bc64677a4ccb3cb69e47126e6a3c889b6cfa8b Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Wed, 12 Feb 2025 13:29:19 -0500 Subject: [PATCH 6/9] chore: update release date of new entry in changelog --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0470fff8..ac499d17 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,7 +14,7 @@ Change Log Unreleased ---------- -[1.14.0] - 2025-02-07 +[1.14.0] - 2025-02-12 --------------------- Changed From cfd84d4487c598946daf32d090496b0f42086915 Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Thu, 13 Feb 2025 08:32:24 -0500 Subject: [PATCH 7/9] chore: update release date of new entry in changelog --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ac499d17..f365d3c7 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,7 +14,7 @@ Change Log Unreleased ---------- -[1.14.0] - 2025-02-12 +[1.14.0] - 2025-02-13 --------------------- Changed From 4bd1da254a9cbcdcda1f43449a85719c601c875b Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Thu, 13 Feb 2025 08:33:43 -0500 Subject: [PATCH 8/9] docs: update link in glossary --- docs/reference/glossary.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/glossary.rst b/docs/reference/glossary.rst index 4042a87d..33c80932 100644 --- a/docs/reference/glossary.rst +++ b/docs/reference/glossary.rst @@ -29,7 +29,7 @@ A filter has multiple components that are used to define, execute and handle fil Filter Configuration The filter configuration is a dictionary that defines the pipeline settings for a filter. Each filter type has its own configuration, which includes settings like whether errors should fail silently or propagate, and the sequence of pipeline steps. Configurations specify the filter type, error-handling preferences, and a list of module paths for each pipeline step to be executed. E.g., the configuration for the `CourseEnrollmentStarted filter`_ might include settings like ``fail_silently: False`` and ``['my_plugin.filters.StopEnrollmentIfNotValidEmail']`` as its pipeline steps. See the :doc:`/decisions/0002-hooks-filter-config-location` for more details on the configuration format. -This glossary provides a high-level overview of the key concepts and components of the Open edX Filters library. Understanding these terms will help you implement filters in your application and leverage the filter tooling to control the flow of your application based on specific conditions. For a better illustration of these concepts, refer to the :doc:`/how-tos/create-a-pipeline-step` guide. +This glossary provides a high-level overview of the key concepts and components of the Open edX Filters library. Understanding these terms will help you implement filters in your application and leverage the filter tooling to control the flow of your application based on specific conditions. For a better illustration of these concepts, refer to the :doc:`/how-tos/create-a-new-filter` guide. .. _Python Social Auth accumulative pipeline: https://python-social-auth.readthedocs.io/en/latest/pipeline.html .. _PipelineStep: https://github.com/openedx/openedx-filters/blob/main/openedx_filters/filters.py#L10 From e574df60d5f230d423518a32b4703974c512f55b Mon Sep 17 00:00:00 2001 From: Bryann Valderrama Date: Thu, 13 Feb 2025 11:49:48 -0500 Subject: [PATCH 9/9] chore: update version and changelog --- CHANGELOG.rst | 2 +- openedx_filters/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f365d3c7..a6e49335 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,7 +14,7 @@ Change Log Unreleased ---------- -[1.14.0] - 2025-02-13 +[1.13.1] - 2025-02-13 --------------------- Changed diff --git a/openedx_filters/__init__.py b/openedx_filters/__init__.py index e63ba5d8..2f71a1d4 100644 --- a/openedx_filters/__init__.py +++ b/openedx_filters/__init__.py @@ -3,4 +3,4 @@ """ from openedx_filters.filters import * -__version__ = "1.14.0" +__version__ = "1.13.1"