Version 3.3.0

Released 2020-05-18

We are proud to announce the release of Invenio v3.3.0.

Python compatibility

Invenio v3.3 supports Python versions 3.6 and 3.7. Python 2 support in Invenio ended on January 1st, 2020 with the official end of life for Python 2 on the same date.

Getting started

See our Quickstart guide.

Upgrading to v3.3

To upgrade your Invenio instance to v3.3 follow the upgrading guide: Upgrading from Invenio v3.2 to v3.3

What’s new in Invenio v3.3?

Python 3.7

Python 3.7 is now supported by Invenio!

Improved support for Single Page Applications

Invenio v3.3 improves the support for Single Page Applications (SPA) by adding REST APIs for account management operations such as login, logout, user registration, password change, email confirmation and more. The integrated OAuth client also adds a new REST API so that you can login via your OAuth providers such as GitHub, ORCID and Globus.

CSRF Protection

Invenio-REST adds a CSRF middleware, called CSRFProtectMiddlewate to protect API views against CSRF attacks. The CSRF checks can be skipped in REST API calls when using a personal OAuth API token.

Dependency management

We have revamped management of third-party dependencies. New releases of some of the many third-party packages Invenio depends on could often cause dependency conflicts. Invenio v3.3 introduces the concept of coordinator packages, who are responsible for properly specifying third-party dependencies.

Here’s a table of all the current coordinator modules:

Module

Dependencies

invenio-base

Flask, werkzeug, six, blinker

invenio-accounts

Flask-Security, Flask-KVSession, Flask-Login

invenio-admin

Flask-Admin

invenio-celery

celery, kombu, msgpack

invenio-rest

webargs, marshmallow

invenio-i18n

Flask-BabelEx

invenio-db

Flask-SQLAlchemy, Flask-Alembic, SQLAlchemy, SQLAlchemy-Continuum, SQLAlchemy-Utils, psycopg2, pymysql

invenio-search

elasticsearch, elasticsearch-dsl

pytest-invenio

pytest, coverage, isort, check-manifest

Minor changes in v3.3

  • Invenio-Access: adds explicit excludes. It enables to deny a specific need or role.

  • Invenio-Celery: fixes the rate limiting during celery task

Features removed in v3.3

  • Support for Elasticsearch 2

Maintenance policy

Invenio v3.3 will be supported with bug and security fixes until the release of Invenio v3.5 and minimum until 2021-05-18.

See our Maintenance Policy.

What’s next?

In Invenio v3.4 we are planning to release two major new features:

  • Theming support and a new Semantic UI theme.

  • A statistics bundle that adds support for collecting COUNTER Research Data Usage Metrics compliant statistics.

  • Index migration support for migrating between Elasticsearch clusters (aka zero down-time reindexing and index migration).