Skip to content

Releases: inveniosoftware/invenio

Invenio v3.1.0

12 Mar 10:50
8f22ccb
Compare
Choose a tag to compare

Invenio v3.0.1

12 Mar 10:50
31da843
Compare
Choose a tag to compare

Invenio v3.0.0

12 Mar 10:50
0230b0a
Compare
Choose a tag to compare

Invenio v1.2.2

25 Nov 09:38
v1.2.2
Compare
Choose a tag to compare

Invenio v1.2.2 is released

Invenio v1.2.2 was released on November 25, 2016.

About

Invenio is a digital library framework enabling you to build your own
digital library or document repository on the web.

This stable release update is recommended to all Invenio sites using
v1.2.1 or previous releases.

New features

  • installation
    • Initial release of kickstart installations scripts. Ported from
      the old tiborsimko/invenio-devscripts repository of helper
      scripts and adapted to resemble Invenio 3 kickstart installation
      scripts. Tested on Ubuntu 12.04 and CentOS 6.

Improved features

  • BibDocFile
    • Escapes file name special characters including accents and spaces
      in document URLs.
  • BibFormat
    • Corrects subfield usage when displaying the DOI qualifying
      information, changing subfield y (not valid) by q. (#3195)
  • BibIndex
    • Enhances full-text indexing of external flles. (PR #3358)
  • BibRank
    • Allows ranking external files using Solr. (PR #3358)
  • I18N
    • Updates Slovak translation from Transifex.
    • Updates Slovak translation from Transifex.
    • Updates German, French, Slovak and Spanish translations from
      Transifex.
    • Updates Catalan, French, German, Italian, Russian, Slovak, and
      Spanish translations from Transifex.
    • Completes Italian translation for Invenio v1.2.
    • Completes Italian translation.
    • Completes French translation.
  • WebSession
    • Changes error message depending on
      CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS value as the meaning of the
      column note also changes with it. (#1414) (PR #3414)
  • WebStyle
    • Cleans the port from the user's IP preventing issues in future
      manipulations of it. (PR #3255)
  • WebSubmit
    • Adds subtitle file to the file converter rules. (PR #3358)
    • Allows the stamping function to accept both files and directories.
  • crossrefutils
    • Supports querying CrossRef with free account (without password).
      (#3503) (#1277) (PR #3516)
  • installation
    • Installation scripts now support Ubuntu 14.04 LTS.
    • Uses /usr/sbin/service foo consistently everywhere to restart
      daemons instead of deprecated /etc/init.d/foo.
    • Pinned specific JSON-js and Mediaelement versions instead of using
      the latest master branch commits. (#11)
  • urlutils
    • Uses md5 from hashlib when available. (#3382)

Bug fixes

  • BibCirculation
    • Fixes the number of copies of an item that is displayed in the
      circulation UI item search. (#2018) (PR #3574)
  • BibDocFile
    • Disallows % character in filenames since it may cause some
      problems with URL encoding/decoding leading to incorrect URLs.
      (#1918) (PR #2788)
    • Purges old extracted text too, when purging a BibDoc. (#3519)
  • BibFormat
    • Casts record ID type to integer in record editor formatting
      element. Various functions working with the record ID expect it to
      be an integer rather than a string. (PR #2796)
    • Fixes filtering of records not modified since the last bibreformat
      run, which could have skipped records that were, for whatever
      reason, not reformatted in the past. (PR #2824)
    • Changes when the missing caches are generated during bibreformat
      run. The missing cache is no longer generated for records if the
      bibreformat is run with -i, --collection, --field or --pattern
      option.
  • BibIndex
    • Fixes possible infinite loop in beautify_range_list() that could
      have been triggered in particular conditions. (PR #2758)
  • BibSched
    • Makes recid argument optional in tasklet bst_create_icons.
      (#2192)
  • I18N
    • Fixes a typo in the German translation.
  • OAIHarvest
    • Fixes an exception that would happen upon the initial harvest of a
      new OAI harvest source marked to be harvested "from beginning".
      (#2793)
    • Fixes the parsing of resumptiontoken in incoming OAI-PMH XML which
      could fail when the resumptiontoken was empty.
  • OAIRepository
    • Fixes default configuration of CFG_OAI_METADATA_FORMATS, correctly
      assigning the XSD and XML namespace to the corresponding metadata
      prefix.
  • WebAccess
    • Improves the WebAccess FireRole documentation by providing
      corrected example on how to use groups in FireRole definitions.
      (#3107) (#3225)
  • WebSearch
    • Takes into account the sort order when searching, even if no
      specific sort or rank method is used. (PR #3564)
    • Adds the proper language parameter on tabs if the user has
      selected different language from the browser preferred. (#308) (PR
      #3395)
    • Fixes a search regression test case that looks for records added
      in the past 10 years. This test started to fail because some
      records are declared with date added (see MARC tag 005) before
      1. Amends the test case to use safer value of last 100 years
        instead of last 10 years.
    • Fixes asynchronous external collection getter tests following the
      update of the Invenio project web site.
  • WebSession
    • Removes pending groups from user info object. (#3526)
  • bibupload
    • In case of replicating datasets between instances by means of OAI
      harvesting it is plausible to check for external OAI-IDs not only
      in the field specified by CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG but
      also in CFG_OAI_ID_FIELD. (#2812) (PR #2816)
  • crossrefutils
    • Correctly URL-encodes the query sent to CrossRef in order to
      retrieve information about a given DOI.
    • Correctly passes the noredirect flag to CrossRef API.
  • global
    • Silences most MySQL UTF-8 warnings related to inserting into and
      updating BLOB table columns.
  • installation
    • Amends canonical location of py-editdist and pyRXP packages,
      fixing the installation problem.
    • Amends installation procedures to download necessary jQuery
      plugins from Invenio-hosted web site, fixing problems with non-
      existing Google Code pages. (#3620)
    • Fixes Apache virtual host configuration generation on CentOS 6.
  • inveniogc
    • Fixes garbage collection of temporary directories created by
      websubmit_icon_creator and websubmit_file_stamper. (#3556) (PR
      #3558)

Download

Installation

Please follow the INSTALL file bundled in the distribution tarball.

Upgrade

Please proceed as follows:

a) Stop your bibsched queue and your Apache server.

b) Install the update::

 $ tar xvfz invenio-1.2.2.tar.gz
 $ cd invenio-1.2.2
 $ sudo rsync -a /opt/invenio/etc/ /opt/invenio/etc.OLD/
 $ sh /opt/invenio/etc/build/config.nice
 $ make
 $ make check-upgrade
 $ sudo -u www-data make install
 $ sudo rsync -a /opt/invenio/etc.OLD/ \
     --exclude invenio-autotools.conf \
     /opt/invenio/etc/ # (1)
 $ sudo -u www-data /opt/invenio/bin/inveniocfg --update-all
 $ sudo -u www-data /opt/invenio/bin/inveniocfg --upgrade

 (1) If you are upgrading from previous stable release series
     (v0.99, v1.0 or v1.1), please don't run this rsync command
     but diff, in order to inspect changes and adapt your old
     configuration to the new Invenio v1.2 release series.  For
     more information you may also want to consult release notes
     coming with Invenio v1.2.0.

c) Restart your Apache server and your bibsched queue.

Happy hacking and thanks for flying Invenio.

| Invenio Development Team
| Email: [email protected]
| IRC: #invenio on irc.freenode.net
| Twitter: http://twitter.com/inveniosoftware
| GitHub: http://github.com/inveniosoftware
| URL: http://invenio-software.org

Invenio v1.1.7

21 Nov 10:22
v1.1.7
Compare
Choose a tag to compare

Invenio v1.1.7 is released

Invenio v1.1.7 was released on November 20, 2016.

About

Invenio is a digital library framework enabling you to build your own
digital library or document repository on the web.

This old stable release update is recommended to all Invenio sites
using v1.1.6 or previous releases.

New features

  • installation
    • Initial release of kickstart installations scripts. Ported from
      the old tiborsimko/invenio-devscripts repository of helper
      scripts and adapted to resemble Invenio 3 kickstart installation
      scripts. Tested on Ubuntu 12.04 and CentOS 6.

Improved features

  • I18N
    • Updates Slovak translation from Transifex.
    • Updates German, French, Slovak and Spanish translations from
      Transifex.
    • Updates Catalan, French, German, Italian, Russian, Slovak, and
      Spanish translations from Transifex.
    • Completes Italian translation.
  • installation
    • Installation scripts now support Ubuntu 14.04 LTS.
    • Uses /usr/sbin/service foo consistently everywhere to restart
      daemons instead of deprecated /etc/init.d/foo.
    • Pinned specific JSON-js and Mediaelement versions instead of using
      the latest master branch commits. (#11)
  • urlutils
    • Uses md5 from hashlib when available. (#3382)

Bug fixes

  • BibDocFile
    • Purges old extracted text too, when purging a BibDoc. (#3519)
  • BibSched
    • Makes recid argument optional in tasklet bst_create_icons.
      (#2192)
  • OAIHarvest
    • Fixes the parsing of resumptiontoken in incoming OAI-PMH XML which
      could fail when the resumptiontoken was empty.
  • OAIRepository
    • Fixes default configuration of CFG_OAI_METADATA_FORMATS, correctly
      assigning the XSD and XML namespace to the corresponding metadata
      prefix.
  • WebAccess
    • Improves the WebAccess FireRole documentation by providing
      corrected example on how to use groups in FireRole definitions.
      (#3107) (#3225)
  • WebSearch
    • Fixes asynchronous external collection getter tests following the
      update of the Invenio project web site.
  • WebSession
    • Removes pending groups from user info object. (#3526)
  • bibupload
    • In case of replicating datasets between instances by means of OAI
      harvesting it is plausible to check for external OAI-IDs not only
      in the field specified by CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG but
      also in CFG_OAI_ID_FIELD. (#2812) (PR #2816)
  • global
    • Silences most MySQL UTF-8 warnings related to inserting into and
      updating BLOB table columns.
  • installation
    • Amends canonical location of py-editdist and pyRXP packages,
      fixing the installation problem.
    • Amends installation procedures to download necessary jQuery
      plugins from Invenio-hosted web site, fixing problems with non-
      existing Google Code pages. (#3620)
    • Fixes Apache virtual host configuration generation on CentOS 6.
  • inveniogc
    • Fixes garbage collection of temporary directories created by
      websubmit_icon_creator and websubmit_file_stamper. (#3556) (PR
      #3558)

Download

Installation

Please follow the INSTALL file bundled in the distribution tarball.

Upgrade

Please proceed as follows:

a) Stop your bibsched queue and your Apache server.

b) Install the update::

 $ tar xvfz invenio-1.1.7.tar.gz
 $ cd invenio-1.1.7
 $ sudo rsync -a /opt/invenio/etc/ /opt/invenio/etc.OLD/
 $ sh /opt/invenio/etc/build/config.nice
 $ make
 $ make check-upgrade
 $ sudo -u www-data make install
 $ sudo rsync -a /opt/invenio/etc.OLD/ \
     --exclude invenio-autotools.conf \
     /opt/invenio/etc/ # (1)
 $ sudo -u www-data /opt/invenio/bin/inveniocfg --update-all
 $ sudo -u www-data /opt/invenio/bin/inveniocfg --upgrade

 (1) If you are upgrading from previous stable release series
     (v0.99 or v1.0), please don't run this rsync command but
     diff, in order to inspect changes and adapt your old
     configuration to the new Invenio v1.1 release series.

c) Restart your Apache server and your bibsched queue.

Happy hacking and thanks for flying Invenio.

| Invenio Development Team
| Email: [email protected]
| IRC: #invenio on irc.freenode.net
| Twitter: http://twitter.com/inveniosoftware
| GitHub: http://github.com/inveniosoftware
| URL: http://invenio-software.org

Invenio v1.0.10

10 Nov 17:04
v1.0.10
Compare
Choose a tag to compare

Invenio v1.0.10 is released

Invenio v1.0.10 was released on November 9, 2016.

About

Invenio is a digital library framework enabling you to build your own
digital library or document repository on the web.

This old stable release update is recommended to all Invenio sites
using v1.0.9 or previous releases.

New features

  • installation
    • Initial release of kickstart installations scripts. Ported from
      the old tiborsimko/invenio-devscripts repository of helper
      scripts and adapted to resemble Invenio 3 kickstart installation
      scripts. Tested on Ubuntu 12.04 and CentOS 6.

Improved features

  • I18N
    • Updates Catalan, French, German, Italian, Russian, Slovak, and
      Spanish translations from Transifex.
  • installation
    • Installation scripts now support Ubuntu 14.04 LTS.
    • Uses /usr/sbin/service foo consistently everywhere to restart
      daemons instead of deprecated /etc/init.d/foo.

Bug fixes

  • WebAccess
    • Improves the WebAccess FireRole documentation by providing
      corrected example on how to use groups in FireRole definitions.
      (#3107) (#3225)
  • WebSearch
    • Fixes asynchronous external collection getter tests following the
      update of the Invenio project web site.
  • global
    • Silences most MySQL UTF-8 warnings related to inserting into and
      updating BLOB table columns.
  • installation
    • Amends canonical location of py-editdist and pyRXP packages,
      fixing the installation problem.
    • Fixes Apache virtual host configuration generation on CentOS 6.

Download

Installation

Please follow the INSTALL file bundled in the distribution tarball.

Upgrade

If you are upgrading from Invenio v1.0.9, then:

a) Stop your bibsched queue and your Apache server.

b) Install the update::

 $ tar xvfz invenio-1.0.10.tar.gz
 $ cd invenio-1.0.10
 $ sudo rsync -a /opt/invenio/etc/ /opt/invenio/etc.OLD/
 $ sh /opt/invenio/etc/build/config.nice
 $ make
 $ make check-custom-templates
 $ make update-v1.0.9-tables
 $ sudo -u www-data make install
 $ sudo -u www-data /opt/invenio/bin/inveniocfg --update-all
 $ sudo rsync -a /opt/invenio/etc.OLD/ \
     --exclude invenio-autotools.conf \
     /opt/invenio/etc/

c) Restart your Apache server and your bibsched queue.

Happy hacking and thanks for flying Invenio.

| Invenio Development Team
| Email: [email protected]
| IRC: #invenio on irc.freenode.net
| Twitter: http://twitter.com/inveniosoftware
| GitHub: http://github.com/inveniosoftware
| URL: http://invenio-software.org

Invenio v2.1.1 is released

01 Sep 11:19
v2.1.1
Compare
Choose a tag to compare

Invenio v2.1.1 is released

Invenio v2.1.1 was released on September 1, 2015.

About

Invenio is a digital library framework enabling you to build your own
digital library or document repository on the web.

Security fixes

  • global
    • Fixes potential XSS issues by changing main flash messages
      template so that they are not displayed as safe HTML by default.
  • search
    • Fixes potential XSS issues by changing search flash messages
      template so that they are not displayed as safe HTML by default.

Incompatible changes

  • access
    • Removes configuration option CFG_SUPERADMINROLE_ID.
    • Replaces all zero values with NULL in the table
      accROLE_accACTION_accARGUMENT. The usage of NULL value in
      substitution of zero value was introduced in the commit 7974188
      because Foreign Key does not support it.

Improved features

  • I18N
    • Completes Italian translation.
    • Completes French translation.
  • accounts
    • Uses the localized site name when sending email to users. (#3273)
  • docker
    • Improves Docker documentation notably related to how to work with
      Invenio site overlays.
  • global
    • Adds super(SmartDict, self).init call in the init method
      in SmartDict to be able to make multiple inheritance in Record
      class in invenio-records and be able to call both parent's
      init.
  • jasmine
    • Allows using variables from application config for building asset
      bundles.
  • legacy
    • Improves exception handling of integrity errors raised by MySQLdb
      library.

Bug fixes

  • OAIHarvest
    • Fixes the parsing of resumptiontoken in incoming OAI-PMH XML which
      could fail when the resumptiontoken was empty.
  • access
    • Sets superadmin role ID included in roles list returned from
      acc_find_possible_roles to the correct, current value. (#3390)
      (#3392)
    • Fixes the authorization delete query to consider NULL value on
      id_accARGUMENT authorization column. The usage of NULL value in
      substitution of zero value was introduced in the commit 7974188
      because Foreign Key does not support it.
    • Fixes property id_accARGUMENT of AccAuthorization model.
  • encoder
    • Corrects the compose_file function call in process_batch_job
      to produce <directory>/content.<extension> instead of
      <directory>/content.content;<extension>. (#3354)
  • global
    • Fixes the way configuration variables are parsed from ENV. It now
      uses the same method we are using in inveniomanage config set.
      This fixes the problem that False is not parsed correctly.
  • i18n
    • Updates PO message catalogues and cleans them of duplicated
      messages. (#3455)
  • indexer
    • Adds missing get_nearest_terms_in_idxphrase_with_collection
      import. Fixes the name of field argument, and returns an empty
      list when no model is passed. (#3271)
  • installation
    • Fixes database creation and upgrading by limiting Alembic version
      to <0.7.
  • legacy
    • Addresses an issue with calling six urllib.parse in a wrong way,
      making users unable to harvest manually from the command line.
  • login
    • Provides flash message to indicate that an email with password
      recovery could not be sent. (#3309)
  • search
    • Enforces query string to be unicode to overcome pypeg2 parsing
      issues. (#3296)
    • Fixes admin interface for managing facets. (#3333)

Notes

  • global
    • Displaying HTML safe flash messages can be done by using one of
      these flash contexts: '(html_safe)', 'info(html_safe)',
      'danger(html_safe)', 'error(html_safe)', 'warning(html_safe)',
      'success(html_safe)' instead of the standard ones (which are the
      same without '(html safe)' at the end).
    • Backports Flask-IIIF extension from original commit
      213b6f1. The extension is not
      enabled by default in order to avoid feature addition to existing
      minor release.
  • search
    • Displaying HTML safe flash messages can be done by using one of
      these flash contexts: 'search-results-after(html_safe)',
      'websearch-after-search-form(html_safe)' instead of the standard
      ones (which are the same without '(html safe)' at the end).

Installation

$ pip install invenio==2.1.1

Upgrade

$ bibsched stop
$ sudo systemctl stop apache2
$ pip install --upgrade invenio==2.1.1
$ inveniomanage upgrader check
$ inveniomanage upgrader run
$ sudo systemctl start apache2
$ bibsched start

Documentation

http://invenio.readthedocs.org/en/v2.1.1

Happy hacking and thanks for flying Invenio.

| Invenio Development Team
| Email: [email protected]
| IRC: #invenio on irc.freenode.net
| Twitter: http://twitter.com/inveniosoftware
| GitHub: http://github.com/inveniosoftware
| URL: http://invenio-software.org

Invenio v2.0.6

01 Sep 08:21
v2.0.6
Compare
Choose a tag to compare

Invenio v2.0.6 is released

Invenio v2.0.6 was released on September 1, 2015.

About

Invenio is a digital library framework enabling you to build your own
digital library or document repository on the web.

Security fixes

  • global
    • Fixes potential XSS issues by changing main flash messages
      template so that they are not displayed as safe HTML by default.
  • search
    • Fixes potential XSS issues by changing search flash messages
      template so that they are not displayed as safe HTML by default.

Improved features

  • I18N
    • Completes Italian translation.
    • Completes French translation.
  • global
    • Adds super(SmartDict, self).init call in the init method
      in SmartDict to be able to make multiple inheritance in Record
      class in invenio-records and be able to call both parent's
      init.

Bug fixes

  • OAIHarvest
    • Fixes the parsing of resumptiontoken in incoming OAI-PMH XML which
      could fail when the resumptiontoken was empty.
  • i18n
    • Updates PO message catalogues and cleans them of duplicated
      messages. (#3455)
  • installation
    • Fixes database creation and upgrading by limiting Alembic version
      to <0.7.
  • legacy
    • Addresses an issue with calling six urllib.parse in a wrong way,
      making users unable to harvest manually from the command line.

Notes

  • global
    • Displaying HTML safe flash messages can be done by using one of
      these flash contexts: '(html_safe)', 'info(html_safe)',
      'danger(html_safe)', 'error(html_safe)', 'warning(html_safe)',
      'success(html_safe)' instead of the standard ones (which are the
      same without '(html safe)' at the end).
  • search
    • Displaying HTML safe flash messages can be done by using one of
      these flash contexts: 'search-results-after(html_safe)',
      'websearch-after-search-form(html_safe)' instead of the standard
      ones (which are the same without '(html safe)' at the end).

Installation

$ pip install invenio==2.0.6

Upgrade

$ bibsched stop
$ sudo systemctl stop apache2
$ pip install --upgrade invenio==2.0.6
$ inveniomanage upgrader check
$ inveniomanage upgrader run
$ sudo systemctl start apache2
$ bibsched start

Documentation

http://invenio.readthedocs.org/en/v2.0.6

Happy hacking and thanks for flying Invenio.

| Invenio Development Team
| Email: [email protected]
| IRC: #invenio on irc.freenode.net
| Twitter: http://twitter.com/inveniosoftware
| GitHub: http://github.com/inveniosoftware
| URL: http://invenio-software.org

Invenio v2.0.5

17 Jul 12:38
v2.0.5
Compare
Choose a tag to compare

Invenio v2.0.5 is released

Invenio v2.0.5 was released on July 17, 2015.

About

Invenio is a digital library framework enabling you to build your own
digital library or document repository on the web.

Security fixes

  • docker:
    • Disables debug mode when using standard Docker image. Uses docker
      compose to set the variable instead.

Improved features

  • deposit:
    • Improves handling of large files in deposit.
  • docker:
    • Improves Docker documentation notably related to how to work with
      Invenio site overlays.
    • Changes port number exposed by docker to non-reserved ones to
      avoid conflicts with local installations. Webport is now 28080,
      Redis 26379 and MySQL is 23306, which is a simple +20000 shift
      from the standard ports.
    • Integrates docker boot script into docker image.
    • Changes docker boot script to use exec. This ensure signal
      forwarding and reduces the overhead by one process. As a result
      container shutdown is faster now.
    • Changes manual master/slave configuration of Docker devboot script
      to automatic solution using file locks.
  • jasmine:
    • Allows using variables from application config for building asset
      bundles.

Bug fixes

  • deposit:
    • Fixes issue with PLUpload chunking not being enabled.
  • encoder:
    • Corrects the compose_file function call in process_batch_job
      to produce <directory>/content.<extension> instead of
      <directory>/content.content;<extension>. (#3354)
  • global:
    • Fixes the way configuration variables are parsed from ENV. It now
      uses the same method we are using in inveniomanage config set.
      This fixes the problem that False is not parsed correctly.
  • installation:
    • Fixes capitalization of package names.
  • legacy:
    • Fixes inveniogc crash when mysql is NOT used to store sessions.
      (#3205)
  • login:
    • Provides flash message to indicate that an email with password
      recovery could not be sent. (#3309)

Notes

  • global:
    • Backports Flask-IIIF extension from original commit
      213b6f1. The extension is not
      enabled by default in order to avoid feature addition to existing
      minor release.

Installation

$ pip install invenio==2.0.5

Upgrade

$ bibsched stop
$ sudo systemctl stop apache2
$ pip install --upgrade invenio==2.0.5
$ inveniomanage upgrader check
$ inveniomanage upgrader run
$ sudo systemctl start apache2
$ bibsched start

Documentation

http://invenio.readthedocs.org/en/v2.0.5

Happy hacking and thanks for flying Invenio.

| Invenio Development Team
| Email: [email protected]
| IRC: #invenio on irc.freenode.net
| Twitter: http://twitter.com/inveniosoftware
| GitHub: http://github.com/inveniosoftware
| URL: http://invenio-software.org

Invenio v2.1.0

22 Jun 09:50
v2.1.0
Compare
Choose a tag to compare

Invenio v2.1.0 is released

Invenio v2.1.0 was released on June 16, 2015.

About

Invenio is a digital library framework enabling you to build your own
digital library or document repository on the web.

Security fixes

  • docker:
    • Disables debug mode when using standard Docker image. Uses docker
      compose to set the variable instead.

Incompatible changes

  • access:
    • Removes proprietary authentication protocol for robotlogin.
      (#2972)
    • Removes external authentication engines. Please use
      invenio.modules.oauthclient or Flask-SSO instead. (#1083)
  • assets:
    • Removes support for runtime compiling of less files in debug mode
      when option LESS_RUN_IN_DEBUG is enabled. (#2923)
    • Requires update of bootstrap version of overlays.
  • collections:
    • Collection reclist is not populated anymore. Use collection phrase
      index using query matcher based on record data, hence no second
      order operator will work in collection query definition.
  • communities:
    • Removes 'communities' module that has been externalised to
      separate Python package called 'invenio_communities'. Migration
      can be done by running pip install invenio_communities and
      adding 'invenio_communites' to PACKAGES. (#3008)
  • formatter:
    • Database table 'format' and 'formatname' have been dropped and
      foreign keys in other tables has been changed to use lower case
      version of output format base filename without extension name.
    • Output formats are no longer modifiable from web interface as they
      syntax has been changed from custom "bfo" to "yml". (#2662)
    • Custom output formats from the database needs to by merged with
      bfo files to new yml files. Please follow instructions when
      running python scripts/output_format_migration_kit.py.
  • global:
    • Removes old URL handlers for /search and /record. (#2958)
    • Enables 'sql_mode' as 'ansi_quotes' for quotes compatibility for
      MySQL.
    • Drops all active sessions during upgrade. Might result in log
      entries about non-restorable sessions.
    • Drops all active sessions during upgrade. Might result in log
      entries about non-restorable sessions.
    • Moves deprecated decorator under invenio/utils/deprecation.py
    • Changes url_for behaviour to return always a unicode string.
      (#2967)
    • Deprecates invenio.config hack for legacy code. (#3106)
    • Deprecates use of invenio.utils.redis in favor of
      invenio.ext.cache. (#2885)
    • Removes support for custom remote debuggers. (#2945)
  • installation:
    • Upgrades minimum SQLAlchemy version to resolve Enum life cycle
      problems on PostgreSQL. (#2351)
  • legacy:
    • Specifies deprecation warnings for all remaining legacy modules
      according to the latest Invenio 3 road map.
    • Specifies deprecation warnings for legacy modules bibcirculation,
      bibdocfile, bibedit, elmsubmit, websearch_external_collections,
      and websubmit.
    • Enables 'sql_mode' as 'ansi_quotes' for quotes compatibility for
      MySQL.
    • Removes deprecated bibknowledge module.
    • Removes deprecated inveniocfg command line interface.
  • multimedia:
    • Depreactes multimedia module.
  • search:
    • Removes support for legacy perform_request_search and
      search_unit API functions.
    • Removes support for specific Aleph idendifiers from search engine.

New features

  • access:
    • Adds 'usedeposit' action which enables per user access
      restrictions for different deposit types. (#2724)
    • Adds the ability to restrict access per object independently from
      the parent.
  • accounts:
    • Adds support for allowing users to update their profile (nickname,
      email, family name and given name).
    • Adds support for users to re-request an verification email to be
      sent.
    • Adds new Passlib Flask extension to support configurable password
      contexts in Invenio. (#2874)
    • Adds panel blocks to settings templates.
  • babel:
    • Adds datetime localization template filters.
  • collections:
    • Adds new calculated field '_collections' to records from which the
      'collection' index is created. (#2638)
  • deposit:
    • Adds generic JinjaField and JinjaWidget to render templates as
      form fields. This might be used in case longer explainations are
      required for forms or to add pictures and other material that may
      increase usability.
  • global:
    • Uses Flask-IIIF extension providing various image manipulation
      capabilities.
    • Adds possibility to refer to documents and legacy BibDocFiles via
      special path such as /api/multimedia/image/recid:{recid} or
      /api/multimedia/image/recid:{recid}-{filename} or
      /api/multimedia/image/uuid with proper permission checking.
      (#3080) (#3084)
    • Adds general pagination macro for Flask-SQLAlchemy Pagination
      object. (PR #3006)
    • Adds 'noscript' block to the page template to warn users with
      disabled JavaScript on their browser. (#1039)
  • knowledge:
    • Adds manager to knowledge with a command to load mappings into an
      existing knowledge base from a file. E.g. inveniomanage knowledge load kb_name /path/to/file.kb
  • oauthclient:
    • Adds support for CERN OAuth authentication.
  • records:
    • Adds support for granting author/viewer rights to records via tags
      by specifying CFG_ACC_GRANT_AUTHOR_RIGHTS_TO_USERIDS_IN_TAGS
      and/or CFG_ACC_GRANT_VIEWER_RIGHTS_TO_USERIDS_IN_TAGS. (#2873)
  • script:
    • Implements optional TLS encryption directly by Werkzeug. Adds many
      configuration variables (SERVER_TLS_*) to control the behaviour.
    • Adds support for PostgreSQL database initialization.
  • search:
    • Implements a mechanism that enhances user queries. The enhancer
      functions are specified in the 'SEARCH_QUERY_ENHANCERS' and later
      they are applied to the query AST one after the other in the
      search method. (#2987)
    • Adds new API for querying records.
    • Adds new configuration option SEARCH_WALKERS which specifies
      visitor classes that should be applied to a search query.
    • Adds additional search units for the auxiliary author fields
      firstauthor, exactauthor, exactfirstauthor and
      authorityauthor.
    • Adds missing operator handling of greater than (>) queries.
    • Adds new configuration varibles SEARCH_QUERY_PARSER and
      SEARCH_QUERY_WALKERS for query parser.
    • Adds new API for record matching againts given query.
  • template:
    • Adds bootstrap scrollspy to the base template so it can be used by
      all modules.
  • workflows:
    • Adds new buttons to the Holding Pen details pages to delete and
      restart current task.

Improved features

  • accounts:
    • Improves legend alignment in login form.
  • classifier:
    • Improves the stripping of reference section when extracting text
      from PDF by using a more appropriate refextract API.
  • deposit:
    • Corrects reflow on narrow screens and removes misused classes for
      labels.
    • Adds sticky navigation item to the deposit page to simplify
      overview on larger forms. Works well with collapsed elements. On
      narrow screens the navigation gets pushed in front of all other
      form elements.
    • Improves handling of large files in deposit.
    • Fixes problem with misaligned checkbox and radio list items. They
      are produced because wtforms does not wrap input elements into
      labels as it is intended by the bootstrap framework.
  • docker:
    • Changes port number exposed by docker to non-reserved ones to
      avoid conflicts with local installations. Webport is now 28080,
      Redis 26379 and MySQL is 23306, which is a simple +20000 shift
      from the standard ports.
    • Integrates docker boot script into docker image.
    • Changes docker boot script to use exec. This ensure signal
      forwarding and reduces the overhead by one process. As a result
      container shutdown is faster now.
    • Changes manual master/slave configuration of Docker devboot script
      to automatic solution using file locks.
  • formatter:
    • Improves support for translated output format names on search
      results page. (#2429)
  • global:
    • Supports database creation on PostgreSQL server.
    • Implements session signing. This avoids cache request for invalid
      sessions and reduces the DDoS attack surface.
    • Removes IP address storage+checks. This avoids data privacy issues
      and enables users with multiple connections (e.g. WIFI+LTE,
      multiple WIFI connections on trains+stations) to stay signed in.
    • Enhances run_py_func to be able to print both to some StringIO
      and to the terminal at the same time. This is enabled with the
      passthrough argument. It now also always returns stderr,
      deprecating the capture_stderr argument. The return value is now
      a namedtuple so that one can easily fetch the required value. Its
      arguments to a more natural order (name of the executable first
      and arguments afterwards.
    • Supports database creation on PostgreSQL server.
    • Improves compatibility of Text fields in PostrgeSQL by changing
      Text in models and removes Invenio hacks on MySQL Index and
      Primary Key creation because starting from SQLAlchemy>=1.0 it
      arises an exception if the length is specified. (#3037)
  • knowledge:
    • Relaxes constraints on dynamic search function that used to force
      us to create temporary knowledge base. (#698)
  • legacy:
    • Supports database creation on PostgreSQL server.
  • oauthclient:
    • Extra template block addition.
  • refextract:
    • Replaces usage of 'urllib' by 'requests' library and improves
      manipulation with temporary file used for extraction of
      references.
  • script:
    • Uses SQLAlchemy and SQLAlchemy-Utils to initialize the database
      instead of executing mysql in a python subshell. (#2846) (#2844)
  • search:
    • The search results pages emits proper Cache and TTL information in
      its HTTP headers, so that any eventual external cachers (such as
      varnish) could act accordingly to invalidate their caches
      automatically, without any configuration. (#2302)
      ...
Read more