Skip to content

Update sqlalchemy_searchable to 3.0.0#1071

Open
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-sqlalchemy_searchable-1.4.1-to-3.0.0
Open

Update sqlalchemy_searchable to 3.0.0#1071
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-sqlalchemy_searchable-1.4.1-to-3.0.0

Conversation

@pyup-bot

Copy link
Copy Markdown
Collaborator

This PR updates sqlalchemy_searchable from 1.4.1 to 3.0.0.

Changelog

3.0.0

^^^^^^^^^^^^^^^^^^

- **BREAKING CHANGE**: Drop support for PostgreSQL 11, 12 and 13
- **BREAKING CHANGE**: Drop support for Python 3.8 and 3.9
- **BREAKING CHANGE**: Drop support for SQLAlchemy 1.4
- **BREAKING CHANGE**: Remove ``SearchQueryMixin`` class. This mixin was designed for
the legacy SQLAlchemy Query interface, which has been superseded by the select-based
API in SQLAlchemy 2.0. Users should migrate to using the ``search()`` function with
``select()`` statements (e.g., ``session.execute(search(select(Model), "query"))``
or ``session.scalars(search(select(Model), "query"))``). The mixin added unnecessary
complexity and was inconsistent with modern SQLAlchemy patterns.
- **BREAKING CHANGE**: Replace dictionary-based ``options`` parameter with ``SearchOptions``
dataclass. This provides better type safety, IDE autocomplete support, and prevents
runtime errors from typos in option names.
- Add type annotations
- Update code examples in the documentation to use SQLAlchemy 2.0 style mapped class
configuration and type annotations.

2.2.0

^^^^^^^^^^^^^^^^^^

- Add support for Python 3.13 and 3.14
- Add support for PostgreSQL 17 and 18
- Use f-strings instead of percent format
- Fix mutable default argument antipattern in ``SearchManager.__init__()`` and
``make_searchable()`` that could cause shared state bugs
- Remove unused ``SearchManager.classes`` property

2.1.0

^^^^^^^^^^^^^^^^^^

- Add support for Python 3.12
- Add support for PostgreSQL 16
- Allow specifying schema in ``drop_trigger`` and ``sync_trigger`` (95, pull
request by acarapetis)
- Add ``update_rows`` parameter to ``sync_trigger`` (76, pull request by
scribu)

2.0.0

^^^^^^^^^^^^^^^^^^

- **BREAKING CHANGE**: Drop support for Python 3.6 and 3.7.
- **BREAKING CHANGE**: Drop support for SQLAlchemy 1.3.
- **BREAKING CHANGE**: Remove ``quote_identifier`` function.
- **BREAKING CHANGE**: Remove ``SearchManager.search_function_ddl`` method. Use
``CreateSearchFunctionSQL(column)`` instead.
- **BREAKING CHANGE**: Remove ``SearchManager.search_trigger_ddl`` method. Use
``CreateSearchTriggerSQL(column)`` instead.
- Migrate from Travis CI to Github workflows in order to have a working CI
again.
- Remove ``validators`` dependency
- Add support for Python 3.10 and 3.11.
- Use the ``pyproject.toml`` standard to specify project metadata, dependencies
and tool configuration. Use Hatch to build the project.
- Use Ruff for linting the project, replacing both isort and flake8.
- Upgrade Python syntax with pyupgrade to the minimum Python version supported.
- Use Black to format Python code.
- Add support for SQLAlchemy 2.0.
- Use SQLAlchemy's compilation extension to build the SQL for creating and
dropping the search functions and triggers.
- Update SQLAlchemy-Utils dependency to >=0.40.0.
- Fix the deprecation warning for ``sqlalchemy.orm.mapper()`` in
``make_searchable()`` and ``remove_listeners()``.
- Migrate the Read the Docs configuration to use `.readthedocs.yaml`
configuration file.
- Rewrite the test suite to use pytest fixtures ove classic xunit-style set-up.
- Fix ``parse_websearch`` tests on PostgreSQL 14 and later.
- Add PostgreSQL versions 11, 13, 14 and 15 to the CI build matrix. Previously,
the tests were only run on PostgreSQL 12.
- Rewrite the documentation to be up-to-date with the codebase, to fix the
grammar and formatting issues, and to ensure the code examples are correct.
- The query interface is considered legacy in SQLAlchemy 2.0. Migrate the tests
and documentation to use ``Session.execute()`` in conjunction with ``select()`` to
run ORM queries.
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant