Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
π invenio-accounts (5.1.4 -> 5.1.5 π) release: v5.1.5 model: make forward compatible to sqlalchemy >= 2 π invenio-admin (1.4.0 -> 1.4.1 π) π¦ release: v1.4.1 docs: fix intersphinx config setup: pin wtforms 3.2.0 makes a breaking change https://wtforms.readthedocs.io/en/3.2.x/changes/ π invenio-banners (3.1.1 -> 3.2.0 π) release: v3.2.0 feat(tests): add test for html banner message feat(administration): use html editor for message global: use uow instead of explicit commit refactor: use session.get where possible * recomended sqlalchemy syntax for sqlalchemy >= 2.0 fix: tests * test_banner_creation uses the active banner. the service method which is tested validates the data over the schema where start_datetime and end_datetime is a required field and it has to look like: '%Y-%m-%d %H:%M:%S' * the problem is that test_read_banner uses the same banner to test the read service. the change in "active" has the effect that the stored value in the database is not like "2024-07-10 12:04:03.348391" which it is due the strftime function is not used. db.DateTime could only bring back the date in form of a datetime object which is then used in isoformat if the value in the database contains the ".34383" part. * therefore the easiest solution is to use for test_read_banner the "other" banner * ATTENTION: be cautious during the migration from utcnow to now(timezone.utc) global: apply new SQLAlchemy rules * change from model Model.query to db.session.query(Model) * without an update in pytest-invenio and without this commit it produces following errors: "sqlalchemy.exc.InvalidRequestError: Can't operate on closed transaction inside context manager. Please complete the context manager before emitting further commands." and 'sqlalchemy.exc.IntegrityError: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "uq_accounts_user_email"' * with the updated db fixture in pytest-inveniothis this commit fixes following TypeError: 'Session' object is not callable fix: SADeprecationWarning * SADeprecationWarning: Invoking or_() without arguments is deprecated, and will be disallowed in a future release. For an empty or_() construct, use 'or_(false(), *args)' or 'or_(False, *args)'. BannerModel.query.filter(or_(*filters)) * sqlalchemy/sqlalchemy#5054 fix: SAWarning * SAWarning: "This declarative base already contains a class with the " "same class name and module name as %s.%s, and will " "be replaced in the string-lookup table." * if a model should not be versioned the __versioned__ should not be there at all * if it is there, it will be added to version_manager.pending_classes (which seems like a bug, because it is versioning set to false) * those pending_classes will be checked against declared classes in invenio_db.ext and since the banner model should not have a versioned table it is not in the declared_classes list. this starts then a try of the version_manager to create the missing tables which causes then a duplicate error which is shown in the SAWarning fix: add compatibility layer to move to flask>=3 * flask-sqlalchemy moved pagination. * this change has been added to have a smooth migration to flask>=3.0.0 without creating a hard cut and major versions release. π¦ release: v3.1.1 π invenio-files-rest (2.2.1 -> 2.2.2 π) release: v2.2.2 fix: LegacyAPIWarning of sqlalchemy * LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) role = current_datastore.role_model.query.get(id_) global: move to db.session.query syntax * this change is a working solution for sqlalchemy ~= 1.4 but a necessity for >= 2.0 fix: compatibility with werkzeug >= 3.0.0. * to keep the functionality as it is, a method from werkzeug have been copy pasted over and changed slightly. π invenio-oauthclient (4.0.2 -> 4.1.0 π) release: v4.1.0 setup: remove upper pins oauthlib,requests-oauthlib * this change was done to migrate to flask >= 3.0 global: jws use from invenio-base * jws functionality has been moved to invenio-base because itsdangerous removes it with v2.1.0 fix: for flask >= 3.0.0 compatibility * flask >= 3.0.0 removes Markup. to keep the functionality Markup has to be imported from markupsafe directly π invenio-pidstore (1.3.1 -> 1.3.2 π) release: v1.3.2 model: make forward compatible to sqlalchemy >= 2 i18n:push translations fix: black setup: move pytest-black-ng * former is unsupported fix: deprecation warning for sphinx i18n:pulled translations (inveniosoftware/invenio-pidstore#153) transifex: update config (inveniosoftware/invenio-pidstore#150) ci: use i18n reusable workflows π invenio-rdm-records (15.7.0 -> 15.7.1 π) release: v15.7.1 installation: bump babel-edtf to >=1.2.0 * This is to enforce `edtf>=5`, which has a fix for supporting EDTF intervals with unknown start/end. use correct subkey rename variable to be more precise fix inveniosoftware/invenio-rdm-records#1846 setup: forward compatibility to itsdangerous>=2.1 * itsdangerous v2.1 removed the jws functionality * the jws functionality has been copy pasted to invenio-base to provide it further fix: DeprecationWarning of SQLAlchemy * Query.get() is deprecated in favor of Session.get() π invenio-records (2.4.0 -> 2.4.1 π) release: v2.4.1 model: make forward compatible to sqlalchemy >= 2 π invenio-users-resources (6.1.0 -> 6.1.1 π) release: v6.1.1 global: make forward compatible to sqlalchemy >= 2 * LegacyAPIWarning: The Query.get() method is considered legacy as of the 1.x series of SQLAlchemy and becomes a legacy construct in 2.0. The method is now available as Session.get() (deprecated since: 2.0) (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) role = current_datastore.role_model.query.get(id_)
- Loading branch information