Changes
=======

Here is a summary of the most notable changes in Invenio
releases.  For more information about the current release, please
consult RELEASE-NOTES for each individual release.

Invenio v3.0.0 -- released 2015-11-09
-------------------------------------

Invenio v2.1.1 -- released 2015-09-01
-------------------------------------

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
    213b6f1144734c9ecf425a1bc7b78e56ee5e4e3e. 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).

Invenio v2.1.0 -- released 2015-06-16
-------------------------------------

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_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)

  - Collection filtering of search results no longer returns orphan
    records.

  - Improves native facet creations.

+ template:

  - Replaces Invenio PNG logo with SVG version. This works better on
    high resolution (retina) screens and it is supported by all
    browers.

+ unapi:

  - Separates UnAPI url handling to a new module.

+ upgrader:

  - Clarifies that the upgrade dependency is only a best guess.
    (#2561)

+ workflows:

  - Updates the layout of the details pages in Holding Pen to display
    at which step the object is in the workflow.

  - When rendering the task results, the Holding Pen now passes a
    dictionary instead of a list in order to allow finer grained
    control in the template.

Bug fixes
~~~~~~~~~

+ access:

  - Sets the superadmin role ID properly when elaborating access
    authorizations. Previously it was masked behind an application
    context exception. (#3184)

+ accounts:

  - Fixes invalid HTML of the 'remember me' login form checkbox.

  - Corrects conditions on when to sent a notification email.
    (addresses zenodo/zenodo#275) (#3163)

  - Fixes issue that allowed blocked accounts to login.

+ classifier:

  - Properly handles file paths containing a colon (:), avoiding bad
    text extraction that causes (1) wrong results and (2) much slower
    execution.

  - Properly tags the execution of classifier as fast in the standard
    workflow task when applicable.

+ deposit:

  - Fixes issue with PLUpload chunking not being enabled.

  - Fixes "both collapse arrows are shown" bug in deposit frontend.

+ formatter:

  - Changes the mimetype of the `id` output format to application/json
    and properly returns a JSON formatted list of results.

+ indexer:

  - Avoids an exception from happening when passing a unicode string
    to the BibIndex engine washer. (#2981)

+ installation:

  - Fixes capitalization of package names.

+ legacy:

  - Fixes inveniogc crash when mysql is NOT used to store sessions.
    (#3205)

  - Catches also any `MySQLdb.OperationalError` coming from legacy
    MySQL queries using `run_sql()`. (#3089)

  - Fixes an issue with outputting the post-process arguments when
    adding or editing an OAI source.

+ oauthclient:

  - Marks email address of users creating their account with oauth
    process as invalid.

  - Sends a validation email when users create their account with
    oauth. (#2739)

  - Improves security by leaving users' password uninitialized when
    their account is created by the oauth module.

+ records:

  - Improves type consistency of keys and values in JSON record
    created from MARC and retrieved from storage engine.  (#2772)

  - Fixes double message flashing issues during 401 errors.

  - Fixes issue with empty records not returning an 404 error.

  - Fixes 500 error when record does not exist. (#2891)

+ search:

  - Fixes an issue of returning the wrong results when searching for
    single values in the author field (e.g. 'author:ellis').

+ submit:

  - Fixes upgrade recipe for SbmCOLLECTION_SbmCOLLECTION table
    introduced in commit @1021055. (#2954)

+ workflows:

  - Fixes an issue where the workflow engine would try to save a
    function reference in the extra_data task history, causing an
    error when serializing extra_data.

Notes
~~~~~

+ access:

  - The default access role ID for the superadmin user is 1, but it
    can be configured via CFG_SUPERADMINROLE_ID.

  - Requires running `webaccessadmin -u admin -c -a -D` command.

+ accounts:

  - Changes user model fields family name/given names to store empty
    string as default instead of null.

  - Adds support for users to change email address/nickname. If you
    store email addresses in e.g. records or fireroles you are
    responsible for propagating the users change of email address by
    adding listeners to the 'profile-updated' signal. Alternatively
    you can migrate records (using
    CFG_ACC_GRANT_AUTHOR_RIGHTS_TO_USERIDS_IN_TAGS and
    CFG_ACC_GRANT_VIEWER_RIGHTS_TO_USERIDS_IN_TAGS) and fireroles
    (using "allow/deny uid <uid>") to restrict access based on user id
    instead of user email address.

  - Refactors password hashing to (a) explicitly specify password salt
    instead of relying on the email address, since a change of email
    would cause the password to be invalidated (b) support multiple
    password hashing algorithms concurrently (c) automatic migration
    of deprecated hashes when users log in (d) allows overlays to
    specify their preferred hashing algorithms.

  - Deprecates legacy Invenio's hashing algorithm based on AES
    encryption of email address using the password as secret key in
    favor of SHA512 using random salt and 100000 rounds.

+ assets:

  - Updates Twitter Bootstrap to 3.3 to fix some issues, e.g. to low
    colour contrast of navbar background<->font.  Requires update of
    Twitter Bootstrap version in Invenio overlays.

+ collections:

  - The tag table now contains 'collection idetifier' with correct
    'value' and 'recjson_value' ('' and '_collections').

+ formatter:

  - Invenio 1.x BFT template language and BFE elements are being
    deprecated. Please migrate overlay output formats to use Jinja2.
    (#2662)

  - Removes fallback template rendering and puts standard exception
    logging in place.  (#2958)

+ global:

  - Removes unused legacy cascade style sheets.  (#2040)

+ indexer:

  - The lower_index_term() now returns the term as a Unicode string
    which can have an impact on custom tokenizers and regular
    indexing.

+ installation:

  - Adds missing access rights for database user accessing server from
    localhost.  (#3146)

+ records:

  - Ports basic BibDocFile serving including access right checks.
    (#3160)

+ unapi:

  - Add `invenio.modules.unapi` to PACKAGES if you would like to keep
    the `/unapi` url.

Invenio v2.0.6 -- released 2015-09-01
-------------------------------------

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).

Invenio v2.0.5 -- released 2015-07-17
-------------------------------------

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
    213b6f1144734c9ecf425a1bc7b78e56ee5e4e3e. The extension is not
    enabled by default in order to avoid feature addition to existing
    minor release.

Invenio v2.0.4 -- released 2015-06-01
-------------------------------------

New features
~~~~~~~~~~~~

+ template:

  - Adds Jinja2 filter 's' to convert anything to 'str'.

Improved features
~~~~~~~~~~~~~~~~~

+ BibDocFile:

  - Escapes file name special characters including accents and spaces
    in document URLs.

+ installation:

  - Adds default priviledges for database user to access from any
    host.

Bug fixes
~~~~~~~~~

+ arxiv:

  - Adds proper quotation around OAI-PMH query to avoid a query parser
    exception due to colons in the OAI identifiers.

+ global:

  - Catches possible KeyError exceptions when using dotted notation in
    a list to allow for the case when items are missing certain keys.

+ installation:

  - Fixes syntax error in generated Apache virtual host configuration.

+ knowledge:

  - Fixes HTML character encoding in admin templates. (#3118)

+ legacy:

  - Changes the default timestamp to a valid datetime value when
    reindexing via `-R`.

+ WebSearch:

  - Removes special behaviour of the "subject" index that was hard-
    coded based on the index name.  Installations should rather
    specify wanted behaviour by means of configurable tokeniser
    instead.

Invenio v1.2.1 -- released 2015-05-21
-------------------------------------

Security fixes
~~~~~~~~~~~~~~

+ BibAuthorID:

  - Improves URL redirecting by properly quoting all URL parts, in
    order to better protect against possible XSS attacks.

+ WebStyle:

  - Adds back the `HttpOnly` cookie attribute in order to better
    protect against potential XSS vulnerabilities.  (#3064)

Improved features
~~~~~~~~~~~~~~~~~

+ installation:

  - Apache virtual environments are now created with appropriate
    `WSGIDaemonProcess` user value, taken from the configuration
    variable `CFG_BIBSCHED_PROCESS_USER`, provided it is set.  This
    change makes it easier to run Invenio under non-Apache user
    identity.

  - Apache virtual environments are now created with appropriate
    `WSGIPythonHome` directive so that it would be easier to run
    Invenio from within Python virtual environments.

Bug fixes
~~~~~~~~~

+ BibDocFile:

  - Safer upgrade recipe for migrations from the old document storage
    model (used in v1.1) to the new document storage model (used in
    v1.2).

+ WebSearch:

  - Removes special behaviour of the "subject" index that was hard-
    coded based on the index name.  Installations should rather
    specify wanted behaviour by means of configurable tokeniser
    instead.

  - Collection names containing slashes are now supported again.
    However we recommend not to use slashes in collection names; if
    slashes were wanted for aesthetic reasons, they can be added in
    visible collection translations.  (#2902)

+ global:

  - Replaces `invenio-demo.cern.ch` by `demo.invenio-software.org`
    which is the new canonical URL of the demo site.  (#2867)

+ installation:

  - Releases constraint on using an old version of `h5py` that was
    anyway no longer available on PyPI.

+ testutils:

  - Switches off SSL verification when running the test suite.  Useful
    for Python-2.7.9 where self-signed SSL certificates (that are
    usually used on development installations) would cause apparent
    test failures.  (#2868)

Invenio v1.1.6 -- released 2015-05-21
-------------------------------------

Security fixes
~~~~~~~~~~~~~~

+ WebStyle:

  - Adds back the `HttpOnly` cookie attribute in order to better
    protect against potential XSS vulnerabilities.  (#3064)

Improved features
~~~~~~~~~~~~~~~~~

+ installation:

  - Apache virtual environments are now created with appropriate
    `WSGIDaemonProcess` user value, taken from the configuration
    variable `CFG_BIBSCHED_PROCESS_USER`, provided it is set.  This
    change makes it easier to run Invenio under non-Apache user
    identity.

  - Apache virtual environments are now created with appropriate
    `WSGIPythonHome` directive so that it would be easier to run
    Invenio from within Python virtual environments.

Bug fixes
~~~~~~~~~

+ global:

  - Replaces `invenio-demo.cern.ch` by `demo.invenio-software.org`
    which is the new canonical URL of the demo site.  (#2867)

+ testutils:

  - Switches off SSL verification when running the test suite.  Useful
    for Python-2.7.9 where self-signed SSL certificates (that are
    usually used on development installations) would cause apparent
    test failures.  (#2868)

Invenio v1.0.9 -- released 2015-05-21
-------------------------------------

Security fixes
~~~~~~~~~~~~~~

+ WebStyle:

  - Adds back the `HttpOnly` cookie attribute in order to better
    protect against potential XSS vulnerabilities.  (#3064)

Improved features
~~~~~~~~~~~~~~~~~

+ installation:

  - Apache virtual environments are now created with appropriate
    `WSGIDaemonProcess` user value, taken from the configuration
    variable `CFG_BIBSCHED_PROCESS_USER`, provided it is set.  This
    change makes it easier to run Invenio under non-Apache user
    identity.

  - Apache virtual environments are now created with appropriate
    `WSGIPythonHome` directive so that it would be easier to run
    Invenio from within Python virtual environments.

Bug fixes
~~~~~~~~~

+ global:

  - Replaces `invenio-demo.cern.ch` by `demo.invenio-software.org`
    which is the new canonical URL of the demo site.  (#2867)

+ testutils:

  - Switches off SSL verification when running the test suite.  Useful
    for Python-2.7.9 where self-signed SSL certificates (that are
    usually used on development installations) would cause apparent
    test failures.  (#2868)

Invenio v2.0.3 -- released 2015-05-15
-------------------------------------

Security fixes
~~~~~~~~~~~~~~

+ script:

  - Switches from insecure standard random number generator to secure
    OS-driven entropy source (/dev/urandom on linux) for secret key
    generation.

New features
~~~~~~~~~~~~

+ formatter:

  - Adds html_class and link_label attributes to bfe_edit_record.
    (#3020)

+ script:

  - Adds `SERVER_BIND_ADDRESS` and `SERVER_BIND_PORT` to overwrite
    bind address and port independently from the public URL. This
    gives control over the used network interface as well as the
    ability to bind Invenio to a protected port and use a reverse
    proxy for access. Priority of the config is (1) runserver command
    arguments, (2) `SERVER_BIND_ADDRESS` and `SERVER_BIND_PORT`
    configuration, (3) data from `CFG_SITE_URL`, (4) defaults
    (`127.0.0.1:80`).

Improved features
~~~~~~~~~~~~~~~~~

+ docker:

  - Slims down docker image by building on top of less bloated base
    image and only install what is really required. Also purges
    unneeded packages, flushes caches and clean temporary files. All
    these parts should not be in a production image and are also not
    required by developers. You can still install components when
    extending the Invenio base image.

+ docs:

  - Adds missing 'libffi' library and howto start redis server.
    Causing an exception when running `pip install --process-
    dependency-links -e .[development]`: 'ffi.h' file not found and
    'sudo: service: command not found' when starting redis server (OS
    X Yosemite, 10.10).

  - Adds a step describing how to install MySQL on CentOS 7 because it
    does not have 'mysql-server' package by default.

Bug fixes
~~~~~~~~~

+ email:

  - Fixes 'send_email' to expect an 'EmailMessage' object from the
    'forge_email' method rather than a string-like object. (#3076)

  - Fixes reference to CFG_SITE_ADMIN_EMAIL (not a global).

+ legacy:

  - Makes lazy loading of `stopwords_kb` variable to avoid file
    parsing during script loading.  (#1462)

+ logging:

  - Fixes Sentry proxy definition pointing to a wrong application
    attribute.

+ matcher:

  - Fixes Unicode conversion required to use the levenshtein_distance
    function. (#3047)

Invenio v2.0.2 -- released 2015-04-17
-------------------------------------

Security fixes
~~~~~~~~~~~~~~

+ celery:

  - Forces Celery to only accept msgpack content when using standard
    configuration. This disallows pickle messages which can be used
    for remote code execution.  (#3003)

+ global:

  - Disables all attempts to serve directory listings for directories
    found under static root.

Incompatible changes
~~~~~~~~~~~~~~~~~~~~

+ celery:

  - If you use any Celery serializer other than msgpack, you must
    update configuration variable CELERY_ACCEPT_CONTENT to include
    that serializer.

+ pidstore:

  - Refactors DataCite provider to use the new external DataCite API
    client.

  - Removes DataCite API client from Invenio.

New features
~~~~~~~~~~~~

+ docs:

  - Adds "Code of Conduct" to the "Community" documentation.

  - Adds new fast track deprecation policy.

  - Documents commit message labels used by developers (such as NEW,
    SECURITY, FIX, etc.) used in automatic generation of structured
    release notes.  (#2856)

+ global:

  - Adds a `inveniomanage config locate` command to request the
    location of the instance config file.

  - Adds new configurable variable `INVENIO_APP_CONFIG_ENVS` that can
    be set both from `invenio.cfg` and OS environment. Application
    factory iterates over comma separated list of configuration
    variable names and updates application config with equivalent OS
    environment value.  (#2858)

+ template:

  - Adds 'u' filter that converts str to unicode in Jinja2 templates
    since support for str has been deprecated. Example: `{{ mystr|u
    }}`.  (#2862)

Improved features
~~~~~~~~~~~~~~~~~

+ docs:

  - Adds example of how to deprecate a feature and includes
    deprecation policy in documentation.

+ global:

  - Moves datacite API wrapper to external package.

  - Escapes all unicode characters in Jinja2 templates.

+ installation:

  - Apache virtual environments are now created with appropriate
    `WSGIDaemonProcess` user value, taken from the configuration
    variable `CFG_BIBSCHED_PROCESS_USER`, provided it is set.  This
    change makes it easier to run Invenio under non-Apache user
    identity.

  - Apache virtual environments are now created with appropriate
    `WSGIPythonHome` directive so that it would be easier to run
    Invenio from within Python virtual environments.

+ jsonalchemy:

  - Introduces support for accepting MARC fields having any
    indicator. (#1722 #2075)

Bug fixes
~~~~~~~~~

+ admin:

  - Adds `admin.js` bundle that loads `select2.js` library on `/admin`
    pages.  (#2690 #2781)

+ assets:

  - Implements `__deepcopy__` method for `webassets.filter.option` in
    order to fix unexpected behavior of the `option` class contructor.
    (#2777 #2864 #2921)

+ documents:

  - Flask-Login import in field definition.  (#2905)

  - Safer upgrade recipe for migrations from the old document storage
    model (used in v1.1) to the new document storage model (used in
    v1.2).

+ global:

  - Drops support for serving directories in Apache site configuration
    to avoid problems with loading '/admin' url without trailing slash
    that attempts to serve the static directory of the same
    name. (#2470 #2943)

+ installation:

  - Adds Babel as setup requirements for installing compile_catalog
    command.

+ jsonalchemy:

  - Fixes the definition of time_and_place_of_event_note,
    series_statement and source_of_description fields.

+ oairepository:

  - Switches keys in CFG_OAI_METADATA_FORMATS configuration mapping.
    (#2962)

  - Amends bfe_oai_marcxml element since get_preformatted_record does
    not return a tuple anymore.

+ search:

  - Fixes portalbox text overflow and and syntax error in CSS.
    (#3023)

  - Collection names containing slashes are now supported again.
    However we recommend not to use slashes in collection names; if
    slashes were wanted for aesthetic reasons, they can be added in
    visible collection translations.  (#2902)

+ sorter:

  - Comparison function of record tags uses space concatened string
    from list of all tags values.  (#2750)

Notes
~~~~~

+ assets:

  - Adds deprecation warning when LESS_RUN_IN_DEBUG is used.  (#2923)

+ global:

  - Deprecates use of invenio.utils.datacite:DataCite (to be removed
    in Invenio 2.2).

  - External authentication methods are being deprecated. Please use
    `invenio_oauthclient` or Flask-SSO instead.  (#1083)

  - Recreate Apache site configurations using new template.  Run
    following command: `inveniomanage apache create-config`.

  - Deprecates custom remote debuggers. Please use native Werkzeug
    debugger or other (*)pdb equivalents.  (#2945)

  - Adds deprecation warning for `invenio.ext.jinja2hacks` and all
    detected non-ascii strings usage in templates mainly coming from
    legacy (1.x) modules.  (#2862)

+ installation:

  - Limits version of SQLAlchemy<=1.0 and SQLAlchemy-Utils<=0.30.

+ oairepository:

  - Changes current behavior of OAI-PMH server for logged in users to
    take into account all records a user can view and not only public
    records.

Invenio v2.0.1 -- released 2015-03-20
-------------------------------------

New features:
~~~~~~~~~~~~~

+ global:

  - Deprecation policy comes with new deprecation warnings wrappers.
    (#2875)

Bug fixes:
~~~~~~~~~~

+ assets:

  - Avoids bundle changes to persist between requests in DEBUG mode,
    which is not desired.  (#2777)

+ docs:

  - Adds missing `invenio.base` package to the `config.py` file for a
    custom overlay in the docs.

+ global:

  - Replaces `invenio-demo.cern.ch` by `demo.invenio-software.org`
    which is the new canonical URL of the demo site.  (#2867)

+ installation:

  - Reorders 'compile_catalog' and 'install' commands to fix
    installation process from PyPI.

  - Adds apache2 xsendfile package to installation script.  (#2857)

+ messages:

  - Defines a path for jquery.ui required by jQuery-Timepicker-Addon
    and sets an exact version for the plugin instead of latest.
    (#2910)

+ records:

  - Changes creation_date field definition in tests.  (#2214)

+ search:

  - Generates correct url for `/collection` redirect.

Invenio v2.0.0 -- released 2015-03-04
-------------------------------------

  - access: mailcookie port using SQLAlchemy; Flask-Admin interface
    addition; new has_(super)_admin_role methods (#2509); fix PEP8 and
    PEP257 for models; infinite recursion hotfix (#2509); fix
    holdingpenusers role definition; Holding Pen role; removal of site
    specific configuration; site specific configuration of demo roles;
    file renaming; jinja base templates renaming; fix edge cases of
    user info usage; module import fix; jsonalchemy acl extension;
    using unittest2 in Python 2.6; string translation fix; fix admin
    blueprint folders; improve login performance; regression tests
    fix; fix firerole uid test; addition of redirections to legacy app
    (#1425); Flask logger removal; MySQL 5.5.3+ autocommit fix

  - accounts: login template allow set title; user full name addition
    to model (#2647); upgrade fix; enhancement in UserUsergroup;
    require.js refactoring; template fixes; lost password view
    protection; bundles 2.0; secure url for login form's POST action;
    settings initial release; gettext import fix; fix html template
    escaping; fix user password change; template blocks addition;
    legacy webuser import fix; LostPassword form import addition;
    disabled autoescaping for SSO link; WTForms import fix; blueprint
    name renaming

  - admin: administration menu fix (#1822); admin menu visibility fix;
    blueprint customization removal; registry discovery

  - adminutils: fix for global admin instance; initial release

  - alerts: PEP8/257 improvements in models; CSS cleanup (#1644); fix
    translatable strings; regression tests fix

  - annotations: fix for broken bundles (#2327); jinja base templates
    renaming; sphinx friendly documentation; api improvements; JSON-LD
    publishing; record document annotations; file attachments
    skeleton; initial commit

  - apikeys: fix for early import outside app context; add option to
    disable signing; SQLAlchemy model; fix for import and print
    statements; initial port to Flask; initial Flask port

  - archiver: initial port to new code structure (#1579 #2258)

  - arxiv: fix database search with prefix; fix 'status' key lookup;
    response code addition; OAI2 API usage and status code addition
    (#1866); docs entry addition; initial Flask extension commit

  - assets: bower command --output-file option; cleancss url rebasing;
    requirejs exclude option (#2411); bundles cleanup per request
    (#2290); jquery-ui bundle removal; resolution of jquery to ~1.11;
    auto_build option; smarter bower command; registry proxy usage
    fix; bundles without names; bundles with weight; burial of js/css
    jinja extension; absolute paths in debug mode; wrapper logger;
    bower updates; bower command; bundles 2.0; filters behavior fix;
    requirejs and uglifyjs; Flask-Assets update to 0.10.dev; error
    logging if binary are missing; fix bundle builder; less flavor of
    bootstrap; fix some missing url_for("static"); working combined
    assets

  - authorids: removal of legacy code; models addition (#1790); fix
    for templates

  - authorlist: initial release (#1891)

  - authors: fix missing stub message template; base record; initial
    release; SQLAlchemy model

  - babel: no compiled translation error improvement; logger removal;
    setuptools integration; translation loading from PACKAGES (#828);
    initial release

  - base: ext fix language usage; PEP8/257 fixes; table drop order
    fix; page template block addition; fix jquery and select2 loading
    in admin (#2690); fix url of RELEASE-NOTES; move of remote
    autocomplete field; jquery- multifile source update; bundle less
    filename correction; fix dangerous demosite populate (#2294);
    requirejs improvements; navigation menu buttons cleanup; build.js
    improvement; dropdown menu improvement; dropdown menu and mobile
    UI (#1994); fix footer links (#2248); admin drop-down menu fix
    (#2246); fix for demosite populate extra info; fix database create
    error message; new `demosite populate` force-recids option;
    removal of typeahead.js from bundles; CFG_WEBDIR fix; undefined
    config variables fix; gentler web page title warning (#2215
    #2198); dropdown menu and mobile UI fix (#1994); padding removal
    from top of Flask-Admin page (#2201); fix missing default config
    value; missing MathJax config variable; fix for recreation of
    broken links; global index run during demo site population;
    database create/drop for storage engines; better signaling support
    for cli; CFG_RUNDIR addition; separation of styles to independent
    files; account settings drop- down menu; global tooltip
    activation; user 'Login' and 'Register' button addition (#1943);
    bundles documentation; jquery-form loaded via require.js; database
    script documentation formatting; separation of bootstrap bundle;
    move the ckeditor plugins; jquery- ui renaming; default module in
    PACKAGES; bundles structure changes; bundles block; fix package
    name and source in bundles; scripts position for legacy; jquery ui
    extras; require.js config in global conf; dropdown menu fix;
    baseUrl for require.js; demosite cleanup; requirejs bundle
    ordering fix; fix for wsgi PATH_INFO handling (#1823); PEP8 and
    PEP257 clean-up in factory; render field enhancement; absolute
    icon font path; footer modularity improvement; eval is evil; wsgi
    middlewares reorganization; fix static files serving from
    DocumentRoot; footer modified; deprecation of `STATIC_MAP`;
    Blueprint for static files in base; documentation fixes; dead code
    removal; fix admin template; helpers fix six string and text type;
    new signal `before_handle_user_exception`; wrapper doctest
    addition; config PEP8 improvements; PDFTK path discovery;
    bibupload allowed paths fix; fix misc index stemming language in
    demosite; Apache 2.4 compatibility fix; font awesome addition;
    Apache server alias fix; signal
    webcoll_after_reclist_cache_update; fix config UTF-8 problems;
    sticky footer fix; Apache configuration template fix; hot fixes of
    i18n issues in legacy; simplification of redundant
    role=navigation; correction of malformed <link> tags; static
    bindModals focus element specification; static modal binding
    element filter addition; deletion of redundant/obsolete meta and
    rev.; setuptools inveniomange command; render_filter_form kwargs
    parsing fix; improvements of database exception handling; fix for
    long language list; sticky footer fix; template blocks addition;
    add pre-template-render signal; add inveniomanage database diff
    command; messages to flashed_messages macro rename; add footer and
    header base templates; flashed (alerts) messages macro; css and js
    Jinja blocks in base template; package order aware template
    loading; application factory cleanup; errorlib and logger
    consolidation; fix config autodiscovery order; initial port from
    pluginutils; blueprint static folder check addition

  - batchuploader: import fix (#1779); template syntax fix

  - bibcatalog: move to new code structure; system email unit tests
    fix

  - bibcirculation: using jquery-ui; double imports removal;
    regression tests fix; after demosite populate receiver; fix
    CrcBORROWER.ccid in model; fix for missing app ctx in handler

  - bibconvert: BFX engine removal from cli (#2124); lxml support for
    local document(); Exceptions management fixes; regression tests
    fix; manager port initial release

  - bibdocfile: pdfjs previewer fix; undefined variable fix; fix for
    undefined docname in get_text; logging fix; javascript fixes
    (#1900); model and API expunge fix; wrong field name fix; hotfix
    plugins loading; port of plugins discovery; fix for --hide
    --with-version; fix typo; regression tests fix; add download
    progress callback; SQLAlchemy model fix; Bibdocmoreinfo model
    addition; SQLAlchemy model

  - bibexport: app context fix

  - bibingest: move module to legacy folder; new module to handle
    document ingestion

  - bibmatch: regression tests fix

  - bibupload: modification date fix; get_record dog-piling
    prevention; support for strings in utils; legacy import fix; fix
    sender msgpackable value; record signals addition; fix for
    inserting duplicate subfields; PEP8 fixes; regression tests fix

  - bibuploadutils: initial release

  - bower: typeahead version 0.10.1; upgrade ckeditor to version 4

  - bulletin: translation fix

  - cache: use CFG_DATABASE_NAME as CACHE_PREFIX if not specified

  - celery: default changed from Msgpack to cpickle; queue utilities
    addition; email address for errors; deprecated celeryd
    replacement; test case helper; signal handling fix; before first
    request processing fix; task registry addition; make Redis default
    broker; msgpack serialization usage; double app creation fix;
    eager task execution fix; fix email reporting; change configration
    behaviour; fix issue with undefined database; addition of Flask
    support; initial release (#1458)

  - checker: model addition (#1889); move to new code structure;
    initial move to new code struture

  - classifier: classifier tasks; registry definition fix; fix
    classifer registry name; error handling and PEP8; PEP8 and PEP257
    fix; case insensitive taxonomy; dict output fix; processing and
    output decoupling; API string support; new API; regression tests
    fix

  - cloudconnector: fix of cloud applications (#1920); jinja base
    templates renaming; onedrive replaces skydrive; OAuthClient usage
    for Dropbox; cloudconnector initial port; initial release

  - collect: addition of sorting filter; addition of filter for
    Blueprints (#2353); bugfix to not symlink yourself done right;
    bugfix to not symlink yourself; symbolic link storage

  - comments: assets 2.0; jinja base templates renaming; annotations
    integration; login required for vote and report; fix tranlatable
    strings and client host; collapse.js refactoring; tests import
    fix; reviews.html template; reviews_base.html template; template
    blocks addition; remove unused property; bind modal on record tab
    change; fix for JavaScript in record tab; Bootstrap3 fixes; stops
    toggle event propagation; order by creation date; regression tests
    fix; prepare attachement location fix; improved guest
    commenting/reviewing (#1539); code style improvements; guest
    commenting/reviewing not allowed (#1539); CmtSUBSCRIPTION model
    improvement; collapsable comment threads; multiple form submission
    fixes; page title and menu renaming

  - communities: portal box template fix; delete modal dialog fix;
    deprecated WTForms validator removal (#2620); enabling search by
    id; featured community UI problems fixup; featured community
    addition; search fixes; ckeditor toolbar changes; hbpro format
    database fix; bibupload notimechange option removal; upload
    priority removal; assets 2.0; fix community model tests; jinja
    base templates renaming; bfe_primary_report_number replaced;
    documentation fix; pagination fix; ranking fix; curation button
    fixes; broken url fix; removal of hardcoded parameters; slicing
    removal from filter; admin views; default sort order config;
    ranker upgrade recipe; query improvements and PEP8 fixes; ranker
    periodic task; button fix; initial release

  - config: pdfopt workaround; add site configuration loading; fix
    set/update of list and dict types

  - connector: InvenioConnector URL validation; regression tests fix

  - crossref: docs entry addition; tests addition; database search
    fix; initial release of Flask extension (#1906)

  - dataciteutils: fix text encoding issue; fix for creator and date
    getter; metadata parser initial commit

  - datastructures: MutableMapping register SmartDict;
    SmartDict.update() addition; SmartDict addition; lazy dictionaries
    addition

  - dateutils: move of dateutil version detection; fix for wrong
    datetime import (#1435); new pretty_date() function

  - dbdump: disable workers parameter; flaskshell import addition in
    dbdump.in

  - dbquery: fix regression test cases; regression tests fix;
    regression tests fix; handle also CFG_DATABASE_TYPE; app logger
    addition

  - demosite: PendingDeprecationWarning on populate (#2394); update
    demosite package for create/populate; fix default value of package
    argument; fix for packages default value; add packages repetable
    parameter; removal

  - deposit: autocomplete deprecation fix; dynamic list macro
    addition; eonasdan-bootstrap-datetimepicker fix (#2689); workflow
    delete fix; validate on paste event; uploader allow filters;
    Bootstrap multiselect fix; separation of typeahead initialization
    (#2442); snapshot object fix; object creation fix; edit
    robustness; pid processor normalization enhancement; errorlist
    typo fix; jasmine tests adaptation to requirejs; checkbox support
    addition; InvalidDepositionType handling; js uploader component;
    field_display kwargs support; form button click fix; jquery
    datepicker leftovers; doi syntax validator improvements; datetime
    picker library modification; decorating inner function in task
    closure; fix dynamic field list addition (#1784 #2372); form.js
    field modified fix; exposure of handle_field_msg; plupload
    improvements; fix PLUpload in IE9 (#2299); usage of requirejs for
    typeahead; plupload error div selector addition; plupload filter
    option addition; s/deposition/deposit/ (#1915); fix errors in an
    inline form (#2141); fix for sort function for authors; assets
    build fix; run_base.html adapt to new JS; form.js refactor;
    initial plupload separation; plupload template change;
    autocomplete data attrs configuration; minor edit action bar fix;
    ColumnInput description addition (#1949); refactoring bug fixes;
    base template refactoring fix; refactoring fix; fix plupload
    config usage; fix init plupload arguments; independent jquery-ui
    modules; record merge fix; Flask-OAuthlib upgrade fix; base
    version of form.html template; translation fix; jquery-ui required
    for sortable; form page customization; wrapping DynamicFieldList
    into a class; fieldlist plugin separation; saner deposit/form.js;
    fix for translated labels; upload priority decrease; method name
    fix; minor text updates; string fix in templates (#1915); field
    messages fix; addition of holding pen; assets 2.0; for loop
    rewrite to $.each; ckeditor sanity check; PEP8 and PEP257
    improvements; addition of dynamic KB autocomplete func; assets
    import clean-up (#1817); jinja base templates renaming; WTForms
    version to be <2.0; fix for flag checking; dead code removal; edit
    button now shown fix; workflows reinitialization fix; workflow
    integration changes; workflow integration update; fields
    deprecation; simple record tests; SIP upload check improvement;
    record merge customization; deposition type refactoring; simple
    record deposition; SHERPA/RoMEO removal; Flask-RESTful update;
    double action bar fix; fix fields argument on post processors;
    post processor api test; template fixes; widget templates and js
    fixes; adaptation to new typeahead; adaptation to new typeahead;
    fix file size length; jsonalchemy refactoring fix; default
    deposition fix; progress-bar and icon fix; fix for deposit types
    url converter; missing super() call in a template; fix pu-branch
    migration issues; plupload filetable fix; static file fixes;
    migrate workflows and fix test; improvements for new code
    structure; class-based design refactoring; refactoring of data
    processing and ui; poetry deposition addition; field grouping;
    record id field record loading; form status & ui actions on
    fields; dropbox WTField widget; uncook json functionality
    addition; photo deposition completion; file cooking configuration
    addition; new record id field; blueprint checks & customize
    template; webdeposit_utils testing based fixes; added regression
    tests; subtitle, file, comment fields cooking; checking existence
    of CKEditor in js; optional ckeditor & date format; collection and
    title addition; Python-2.6 compatibility fix; fix bibupload task
    submission call; configuration file and MARCXML export; user
    filesystem directory addition; autocompletion and validation
    utils; CKEditor & page form status checking; plupload widget
    enhancements; base field and datepicker fixes; DOI and generic
    field addition; field autocompletion enhancements; BibWorkflow
    integration & enhancements; `db.func.max` call fix; file renaming
    and cleaning; autocomplete replacement by typeahead; fix for
    article demo deposition; fix for plupload JS and CSS location;
    dynamic loading of deposition types; usage of
    invenio_pretty_date(); select deposition page addition; more
    depositions and various fixes; columns type change to db.JSON;
    workflow cleanup; fix links and type check addition; change of
    database column name; dynamic breadcrumbs additions; javascript
    check for required fields; sequential form rendering; new workflow
    class and functions; subfields support and submit widget addition;
    autocompletion and draft enhancement; model addition and plupload
    chunking; field widgets addition; initial release

  - docextract: port of convert_journals cli; regression tests fix;
    invalid form values handling fix; model file move

  - docs: jasmine ext inclusion; fix spelling in getting started with
    overlay (#2595); sphinx target not found for ExternalTool fix;
    jsonalchemy grammar and rewording; configuration theme cleanup;
    fix links in overlay.rst; missing mkdir command addition; license
    inclusion; jsonalchemy field definition documentation; missing
    subversion dependency; addition of bundles to base.rst; how to
    create translations section addition; overlay deployment using
    fabric; how to create an invenio overlay; almost gruntless world;
    uploader initial docs addition; installation on Centos; typos and
    fixes; fix installation; fixes to docs; typo fix in INSTALL.rst;
    admin guides port from webdoc; nit-picky documentation; css theme
    overrides; fix of sphinx warnings.; fix typo in INSTALL.rst;
    documentation for collect during INSTALL; INSTALL guide update;
    documentation refactoring; cleanup of git-workflow; installation
    on Ubuntu; Ubuntu 13.10 setup; how to develop modules addition;
    new documentation structure; git workflow additions and
    corrections; commit message format section correction; fix
    WebSupport builder; jinja base templates renaming; initial release
    with manage command

  - documents: Flask-OAuthlib upgrade fix; files field rename (#1898);
    test improvements; checker of source and uri addition; fix engine
    configuration; test coverage improvements; acl extension usage;
    fix for model creation; update field and model definitions;
    set_content and resful API; initial commit

  - editor: HstRECORD affected_field no default value; partial legacy
    port; PEP8/257 improvements in models; configuration fixes
    (#1965); fix BibEDITCACHE model (#1790); BibEDITCACHE model
    addition; fix model move; move from record_editor; regression
    tests fix (#1584); Bibrec model methods addition; SQLAlchemy model
    fix; invenio_2012_11_15_bibdocfile_model fix

  - elasticsearch: fix for signal receivers arguments (#2594); initial
    commit

  - email: celery error email fix; fix for undisclosed recipients test

  - encoder: fix encoding of websubmit.js

  - errorlib: regression tests fix

  - exporter: move from export; SQLAlchemy model update

  - fixtures: hotfix dataset loading; port to extension with signals
    usage

  - flask: debug_toolbar error reporting fix; Flask-Login version
    0.2.7 usage; Flask-Cache version upgrade to 0.11.1; Flask-Cache
    import fix; Flask-Cache dynamic jinja cache; Flask-SSLify fix url
    standard ports rewrite; Flask-SSLify fix url non-standard port
    rewrite; Flask-SSLify addition of extra criteria callback;
    Flask-SSLify original file addition; WTForms config option
    CFG_SITE_SECRET_KEY usage; WTForms Flask extension inclusion;
    integration of legacy unit tests; configurable DB engine testing;
    jquery-ui includes fix; compatibility with new request object fix;
    shell utils for CLI scripts; initial comit with SQLAlchemy and
    Bootstrap

  - formatter: recid int cast fix; support for dates < 1900 (#2673);
    removal of old admin interface (#2668); filtered hidden fields in
    recjson; mimetype fix; addition of format.mime_type column;
    display record with no record id (#2278); display records with no
    recid (#2272); fix mediaelement video view (#1999); include 'cc'
    in RSS <channel>'s <link> (#2013); format record extra context
    fix; master merge fix; fix Bibfmt model import (#1781); kind
    column in bibfmt; hotfix format.code column size; 'recjson' format
    addition (#1908); xm hidden tags fix; format record extra context
    fix; better logging in xslt engine (#2049); test engine xslt
    format addition (#2048); fix RSS generation; DOI inclusion in
    BibTeX export; format record with no record ID; bfe_authors pep8
    fix (#1962); bfe_authors fix; fix for unit tests after merge; fix
    configuration and i18n messages; file migration fix;
    bfe_authority_institut{ion->e} rename fix; fix secure link to
    record editor (#1821); int or long type cast of recid; type check
    of recid in BibFormatObject; bfe_primary_report_number replaced;
    unicode decoding error fix; improved error reporting; TypeError
    fix in record template; error pass-through; BibTex Jinja2 format
    template; text MARC output format addition; format template path
    fix; test overlay package; output format TEST1.bfo move; fix order
    of output formats; output format/elements loading fix; template
    loading order fix; encoding error fix; fix /rss encoding issue;
    fix missing output format; fix for elements encoding issues;
    licenses for templates files; templates modularisation; fix
    unicode decoding error in rss; fix for xml record formatting; fix
    for Babel string formatting; print statement removal; fix usage of
    registry by output formats; fix broken bfe_comments; fix for XSS
    vulnerability in `ln`; get fulltext snippets docstring fix; port
    back-to-search links; template ctx function prefix changed; fix
    for bfe_fultext function; support for fulltext snippet display
    (#1588); regression tests fix (#1585 #1508); fix of page context
    test; converted detailed record templates; template context
    function module fix; fix preview record using tpl; regression
    tests fix; removal of bfe_* function calls (#911); second version
    of HB templates (#911); initial port of HB format templates
    (#911); add filtering of indicators in MARCXML (#1497); bibfield
    record addition to tpl ctx; bfe elements loader inside engine; fix
    app contenxt issue in bibreformat; load bfe_elements in Jinja env;
    bft2tpl match template option addition; skipping BFOs with only
    XSL stylesheets (#1470); manager initial release; format records
    templates

  - global: git ignore `.noseids` and `compile`; removal of legacy
    scripts; WTForms 2 compatibility fixes; importing modules from
    packages fix; defaultdict fix (#2030); translations fixes (#1911);
    merge fixes; legacy directory pre- creation (#1789); merge fixes;
    autotools and config clean up; translation move and po clean up;
    `watchdog` package addition (#2778); removal of depreated WTForms
    extenstion; removal of depreated WTForms extenstion (#2620);
    Invenio 1.9999.5.dev; invenio.utils.connector deprecation; silent
    version from git; removal of ZENODO mentions (#2371); enhance unit
    test for LazyDict; Invenio 1.9999.4.dev; Invenio 1.9999.3.dev;
    iter_suites overlay usage; refactoring fix; 4suite removal;
    Invenio 1.9999.2.dev; datatables* into bundles; MathJax into
    bundles; jquery.tablesorter into bundles; jquery- multifile into
    bundles; bootstrap-tagsinput into bundles; bootstrap-switch
    removal; jquery.ajaxPager out of bower; jquery.bookmark into
    bundles; jquery-migrate into bundles; prism into bundles;
    (jquery-)flot into bundles; uploadify into bundles; swfobject into
    bundles; jquery.treeview into bundles; json2 and jquery.hotkeys
    into bundles; jquery-ui paths; dynamic version fix (#2001);
    Invenio 1.9999.1.dev; dynamic PEP440 version number; missing
    testsuites; old bundle names; white spaces; assets 2.0; fix for
    testing 401 after redirection (#1883); jellyfish to replace
    editdist; fix legacy static files includes (#1777); kwalitee fixes
    in invenio.testsuite; `has_key` to `in` operator fix; html
    entities import fixes; six string_types usage; urlparse import
    fix; import fixes; os mask fixes; print function usage; exception
    syntax fix for Python 3; six iteritems usage; file header post
    code fix; fix nose skip decorator usage; fix for imports and
    translatable strings; grunt fixes for jquery-ui; grunt improvemnts
    and bootstrap upgrade; fixes for javascript and translations; fix
    for translatable strings; version file addition; base templates
    creation; translation fixes; fixes for JavaScript loading; fix
    handling of debug and simplify toolbar; Flask-Collect and URL map
    integration; syntax fixes; Boostrap 3 style for search results
    page; fixes for imports and trailing spaces; migration to Twitter
    Bootstrap 3; porting modules and extra requirements; add Grunt and
    Bower; various fixes; various fixes and improvements; modules move
    to new code structure; move to new code structure; move to new
    code structure; move to new code structure; move to new code
    structure; new code structure; file renaming; document
    CFG_DEVEL_TOOLS for Apache; fix remote debugger to work with
    Flask; new configuration variable CFG_DEVEL_TOOLS (#1325); fixes
    for encoding and tests; shell support for Flask

  - groups: jasmine tests adaptation to requirejs; user selection by
    autocomplete (#1788); port missing functionality (#1788); account
    settings fixes; jinja base templates renaming; blueprint name
    renaming

  - grunt: dev typeahead installation; jquery.form from bower;
    jquery.hotkeys specify version (#1778); fix for prism CSS path;
    jquery-migrate via bower; ColVis filename update; jquery plugins
    additions; fix Prism configuration; typeahead.js fix; fix for
    jquery.min.map cleanup

  - hashutils: usage update in modules; initial release

  - i18n: PO file update for the release of v2.0.0; Babel usage; JS
    helper; fixes for string messages

  - importutils: ignore exceptions option addition; `lazy_import`
    function addition; initial release

  - indexer: SQL query fix (#2750); add admin interface; auto-
    generation of models; PEP8/257 improvements in models; fix
    tokenizer loading; changes in data model; fix for regression
    tests; model *19* addition; move new files to legacy and fix
    imports

  - installation: fix MANIFEST.in and wrong filename; package.json
    addition; updated requirements; redis server name; updated Ubuntu
    packages; Pillow minimum version; httpretty<=0.8.0 version limit;
    python-twitter>=2.0 (#2015); WTForms, dateutil and redis update;
    Flask-Admin>=1.0.9 (#1797); disable SSLv3 in Apache config
    (#2515); WTForms, Flask-WTF>=0.10.2; workflow>=1.2.0 (#1797);
    improvement of OS X installation; addition of OS X installation
    guide (#2392); SQLAlchemy, SQLAlchemy-Utils upgrade (#1776);
    setuptools>=2.2; fix for typos in install doc; relax requirement
    on reportlab; postgresql driver dependency; testing of development
    requirements (#2044); dependency links renovation (#1797); Flask-
    OAuthlib 0.6 upgrade; relax version number constraints; Flask-
    Admin>1.0.8,<1.1; Flask-Admin>=1.0.8,<1.1 (#1797); lxml instead of
    pyRXP; lxml update to 3.3; setuptools-bower removal; automatic
    catalog compilation; jellyfish update to 0.3.1; jellyfish to 0.3;
    setuptools-bower to development; setuptools-bower 0.2.0; fix for
    setuptools-bower source; Flask-Assets 0.10; bootstrap 3.2.0;
    Flask-SSO version upgrade; requirements update; Flask-Collect from
    PyPI; Flask-Registry version update; cerberus package upgrade;
    mercurial addition; pip1.6 ready setup.py; update wtforms-alchemy
    to 0.12.6; fix six version (#1800); requirement addition for six
    library; Flask-Assets 0.9 and Jinja2 2.7.2; virtualenv based path
    for static; Pillow instead of PIL; Flask-Admin requirements
    version fix; PyLD to 0.5.0; MANIFEST template fix; quick
    installation guide; Flask-Collect to use 0.2.3-dev; Python 2.6 on
    Travis CI; Flask-DebugToolbar Python 3 friendly; Pillow img
    requirement; fix for inversed user/database name; Bower font-
    awesome; setuptools version; typeahead Grunt fix; pytz; upgrade of
    fixture version 1.5; MAINFEST template fix; Python 2.6
    compatibility fix; Apache configuration updates; setuptools alias
    commands; bootstrap-switch inclusion; MANIFEST.in file recursive-
    include fix; version modification to 1.9999; fix apache
    configuration; version compare >= by default; parse version from
    dependency links; egg info adddition for dependency links; Grunt
    for js and css libraries; import and sql fixes; fix missing
    configuration loading; initial Procfile; location of plupload;
    Jinja2 version 2.7.1; Flask-Gravatar version 0.4.0; SQLAlchemy
    version 0.8.2; duplicate mechanize removal (#1520); Flask-Script
    version 0.6.2; empty Travis configuration; Hogan prerequisite
    documentation; Tokeninput download from GitHub; release control
    fix; hogan.js template engine addition; mysql default date value
    fix; jinja2utils and requirements upgrade (#1476); `apache create-
    config` renaming; test presence of flask_admin; secret key
    creation fix; replace libxslt with lxml; demosite fixtures
    addition; fix for BibWorkflow table dropping (#1283); use concrete
    SHA1 for workflow; fix for removed invenio.conf values; database
    populate command addition; renaming of demo site fixtures;
    inveniocfg create/drop db depretated (#1283); fix database
    commands create & drop (#1283); initial apache manager release;
    updated missing requirements; fix Apple touch icons in Apache
    conf; switch to ASCII-only secret key; improvements to secret key
    creation; empty CFG_SITE_SECRET_KEY checker; info about creation
    of secret key; fix for WebDeposit tables in tabdrop; info about
    install-plupload-plugin; document Bootstrap and Tokeninput; typo
    fix in instructions; search cache enabled by default; fix for
    Werkzeug version check; Werkzeug version check in configure; pip
    general requirement files; JQuery Tokeinput; merge problem with
    Makefiles fix; new pip requirements files

  - intbitset: usage of separate package

  - inveniocfg: stop logging capture fix; fix for `--reset-recjson-
    cache`; --create-secret-key compatibility fix; clarification of
    warning phrases; fix of typo and disabling action chain; fix
    --drop-tables command (#1283); --create-secret-key new line
    addition (#1406); --create-secret-key addition; SQLAlchemy
    upgrader model

  - inveniomanage: unit test fix; cache, bibrecord and runserver cmds
    (#1549); demosite create/populate/drop (#1534); command signal
    addition; config manager initial release; `apache version` command
    addition; version command addition; upgrade manager improvements
    (#1332); initial release (#1332)

  - jasmine: tests helpers; fix for ASSETS_DEBUG=False; registry fix;
    adaptation to requirejs; fixture loading; proper dir walking;
    initial release

  - jinja2utils: add date formatting template filter; functions and
    filter to context; new filters addition; named bundles generation;
    application template filters; LangExtension initial commit

  - jsonalchemy: @hidden decorator addition (#2197); function for safe
    conversion to int; print statements removal; fix problem with
    reserved names (#2593); validation fixes; fix SmartJson dumps
    documentation; cache engine search fix; dumps with specified
    keywords; support for storage create/drop; documentation and PEP8
    fixes; documentation release; dirty fix for default values; unit
    tests for module import fix; hotfix for optional fields; fix for
    `__additional_info__` access; preserving original tags inside JSON
    (#1722); move to `isinstace(foo, Mapping)`; default values for
    subfields; cache engine addition; fixes for versionable extension;
    deprecation warning fix; create_record error catching; Versionable
    test addition; fix usage of `storage_engine`; `StorageEngine`
    metaclass addition; failing test fix; memory engine search method
    addition; enhance extension parser behavior; extension model fix;
    model resolver fix; bug fixes; validator test fix; `uuid` and
    `objectid` validator fix; UUID validation fix; import and PEP8
    fixes; fix `six.iteritems` typo; update readers and SmartJson; add
    `jsonext` as common namespace; update `parser.py` for pyparsing 2;
    in memory engine addition; versionable extension; JSON-LD tweaks;
    refactoring fixes; enhance default value search; JSON-LD addition;
    exception messages improvements; storage engine configuration fix;
    bug fixes and tests improvements; bug fixes; allow `extend` on
    parser extension; initial commit; initial release

  - knowledge: slugify and flag to access rest api (#2686); fix update
    form in admin interface; implement new admin gui; endpoint move
    (#2686); REST API addition (#2570); mapping limit support; fix
    get_kbr_values returned value; fix get_kbs_info query result; fix
    backward incompatible change in API (#2555); API migration to
    SQLAlchemy; PEP8 and PEP257 improvements (#2184); searchtype
    parameter addition; internationalisation fix; translation string
    fix; regression tests fix; lxml port get_kbt_items_for_bibedit

  - legacy: uft8 error fix websearch admin interface; fix import
    overriding local variable (#2665); webuser usage cleanup;
    get_most_popular_field_values fix; fix import in bibstat cli
    (#2293); bibrank unicode errors fix; fix websearch unformatted
    vars stacktrace; new webinterfaces registry (#2239); fix webbasket
    template translation string (#2362); fix for run_sql import in
    bibrecord (#2295); bibrecord scripts move; indexer recjson value
    fix (#2285); webhelp docs move (#2244); fix field xml output
    generation (#2233); authorlist imports fix (#2210 #2223);
    authorlist move to new code structure (#2210 #2007 #2223);
    docextract imports fix (#2210 #2223); docextract move to new code
    structure (#2210 #2223); dbquery pep8/257 fixes; dbdump
    refactoring fix (#2088); support for postresql engine in dbquery
    (#2020); legacy admin interfaces addition; bibindex admin
    interface fix (#2190); websearch circular import removal;
    oaiharvest admin import fix (#2194 #2188); fix form file attribute
    (#1900); fix broken import to create_record; fix javascript on
    /record/edit (#2143 #2178); xmlmarclint import fix;
    webinterface_handler_local removal; fix missing imports; fix for
    static file handler; fix for imports and module renaming (#1790);
    fix import problems; merge fix for bibclassify; webdoc legacy test
    fix; import fix; dbdump fix; translation string fix; tasklets
    configuration and loading; hotfix POST request handling; hotfix in
    https url site replace; removal of legacy OpenAIRE code; fix issue
    with undefined variables; fixes mod published support; migrate
    OAIHarvest CLI; webinterface import fix; initial port; Bootstraped
    table of content (#1374); hotfix schTASK user length; Option to
    return all task options

  - linkbacks: fix tab visibility if excluded (#1707); fix external
    url creation (#1707); fix external url creation (#1707); jinja
    base templates renaming; fix regression test cases (#1589); fix
    missing model in makefile; initial Flask port

  - logging: formatter fix; documentation update; sentry sanitizer for
    access tokens (#2130); celery logging to sentry fix; warnings
    logging; error reporting refactoring; fix issue with db.func.now;
    fix config lookup

  - login: fix last_login column update (#2669); fix PEP8/257 errors;
    handle 401 error; fix redirection to secure page (#2052); redirect
    to secure url before login; fix uid comparison with `None` value;
    change of unauthorized message for guest

  - mailutils: fix for double mail sending issue (#1598); fix unicode
    error in templates (#1598); config email backend preference;
    Flask-Email initial port (#1531)

  - merger: syntax fix

  - messages: initial upgrade; require.js messages; assets 2.0; div in
    messages menu fix; jinja base templates renaming; fix for
    translatable strings; icon library change; fix message menu
    display; fix unit test imports; fix for failing regression test;
    fix regression tests; fix reply on message; fix menu and broken
    links (#1487); fix javascript block; fix link on /yourmessages;
    blueprint name renaming; empty set usage after IN operator fix;
    user settings quickfix; restricted collection hiding; initial
    porting to Flask

  - mimetypeutils: initial release

  - mixer: blend improvement; fix requirements; dump database fixes;
    new extension that uses Mixer library

  - multimedia: Image API documentation update; IIIF Image API
    addition; initial release of Image API

  - oaiharvester: static files move; move tests to new code strutures;
    configurable namespace addition; post process check record; record
    extraction improvement; OAI post process update; authorlist
    extraction task; record splitting improvement; refextract task
    fix; sample approval based workflow; decorating inner function in
    tasks; small task update; workflows integration; initial upgrade;
    add save to model; update model with defaults; PEP8 and errors
    category; reliability improvement and docs; model update and fix
    for cli; session_manager usage; logging creation fix; workflows in
    admin; fix admin pages (#2188); move to workflows; Integrate new
    workflows; fix for app context; move from oai_harvest

  - oairepository: schema/namespace fix (#2676); date overflow fix;
    fix date handling; include restricted records; automatically
    compute model field; regression tests fix

  - oauth2server: upgrade recipe fix; redis configuration fix; fix
    support of SQLAlchemy-Utils (#2629); url decoding fix; upgrade
    recipe fix; form field order; access and refresh tokens encrytion
    (#2127); confidential and public clients (#2113); addition of
    translatable strings; fix token expiration and refresh (#2112);
    redirect uri validation fix (#2175); missing access token in test
    case (#2166); Flask-OAuthlib<0.7 version limit (#2158); resource
    authorization tests; authorization flow bug fixes; scopes registry
    (#1773); jinja base templates renaming; settings test; fix for
    default redirect uri; initial release

  - oauthclient: fix missing config in ORCID test; orcid login fix +
    tests; revert setting extra_data; upgrade recipe fix; fix forgoten
    replacement; code style improvements; cross-site request forgery
    fix; PEP8/257 fixes; orcid full name fetch; local account
    discovery improvement (#2532); permanent login support; access
    token encryption (#2127); authorize url fix (#2487); missing
    attribute addition (#2483); save orcid in extra data; nullable
    extra_data column; documentation update; github/orcid sign-in/up
    support; error handling fix; signup support; helper test case;
    error handling and tests; unauthorized disconnect fix; get token
    fix; initial release

  - orcid: fix search url

  - pages: info log removal; initial tests; global url_map
    modification fix; jinja base templates renaming; model
    improvements; 404 exception handling; new route registration;
    initial release

  - paginationutils: initial release

  - pdfchecker: model addtion (#1790)

  - persistentid: fix ISSN validation issue; add function to create
    url

  - pidstore: initial upgrade; template filters addition; new pid
    provider for record identifiers; provider status sync and celery
    tasks; model relationship; admin interface; name conflict fix;
    import fix; refactoring initial release

  - pidutils: add pid normalize feature; initial release

  - plotextractor: regression tests fix; XML direct output option

  - pluginutils: optional disabling register_exception

  - previewer: zip previewer enhancements (#2748); markdown rendering;
    zip preview and styling fixes; initial pdf.js integration; Mozilla
    pdf.js viewer component; fix d3js ui block on huge table loading;
    addition of support for Documents; d3js csv previewer; fix folders
    identifiers in zip archive; initial release of ZIP file plugin
    (#2321); fix base template for bundles support; PDFtk previewer;
    template fixes; refactoring; post-move fixes

  - previews: move to previewer; initial release

  - principal: action class and registry addition; raise 401 on
    authorization failure

  - ranker: rank method function fix; fix missing column in
    RnkCITATIONDICT; RnkCITATIONDATAData fixture removal (#1905);
    models addition; PEP8 and PEP257 improvements; RnkCITATIONDICT
    model update (#1905); usage of configuration registry for tags;
    partial regression tests fix; fix regression test; relocation of
    CollectionRnkMETHOD model; fix RnkCITATIONDATAERR model base
    class; SQLAlchemy model for rnkCITATIONDATAERR; SQLAlchemy models
    addition; Flask shell support fix; fix legacy import; fix config
    loading

  - records: Python 2.6 compatibility fix; fix back to search links;
    auto-generation of models; PEP8/257 improvements in models;
    display tabs (#1646); better PID list; record_json table; fix
    bibrec.additional_info upgrade script (#2132);
    get_unique_record_json 'status' key move; return cleaned record
    json; fix for document default name generator; refactoring fix;
    fix for MarcXML indentation on creation; move new recordext
    function to records; assets 2.0; fix `get_blob` to ease
    transition.; fix typo in the API; atlantis.cfg merge problem fix;
    no JSON version cached check fix; fix for `test_error_catching`
    (#1814); move legacy methods to the Record object; API for
    database querying with DOI; jinja base templates renaming; acl
    hook added to record documents.; API test case addition; PEP8
    errors fix; bibupload timestamp fix (#1431); aggregation field
    definitions fix; update to new JSONAlchemy; fix usage of
    calculated fields; fix for loading iso datetime; enhance the API
    to create empty records; `reset_cache` added to `api.get_record`;
    fix for export handler; base variant of base.html; add
    configurable breadcrumb title; fix mini reviews display; fix for
    api Record.create(...); tab switching events addition; move to
    legacy.bibfield; laziest reader loading; manager port initial
    release; fix unit tests imports

  - redirector: registry addition and refactoring; API migration to
    SQLAlchemy

  - refextract: fix for command line app ctx

  - registry: keygetter value fix; fix package exclude for sub
    registry; missing function addition; dict-style auto discover
    registry; imports from `flask_registry`; move to separate
    package Flask-Registry; initial release

  - requirements: pymongo addition; qrcode removal; better separation;
    dictdiffer egg fix; broken pypi links fix; version bumps

  - restful: addition of validate method; pagination fixes (#2102
    #1724 #2087); API keys fix; decorators test cases; API testcase
    fixes; fix for testing accesstoken; `require_header` value checker
    addition; apikey and oauth2 authentication support; API unit test
    base class; fix extension initialization; fix registry loading;
    initial release

  - scheduler: tasklet registry addition; post-process data exchange;
    fix usage of CFG_RUNDIR config variable; fix monitor; fixes for
    bibtasklet cli; max length of `SchTASK.progress` fix

  - script: refactoring of manager loading; registry usage for
    managers; Python 3 compatibility fixes

  - scripts: demosite populate options

  - search: migration of JournalHintService; facet upgrade recipe
    improvement; removal of depreated WTForms extenstion (#2620);
    UserQuery relationship addition; PEP8/257 improvements in models;
    fix for search typeahead configuration; requirejs facets fix;
    facets unicode error fix; unnecessary `decode('utf-8')` removal;
    fix /collection/ url routing; fix query string in add-to-search
    (#2251 #2252); fix filtered output format (#2292); quick fix for
    queries with leading space; quickfix pagination troubles with
    facets (#2306 #2308); tuning of hierarchical facet; fix for return
    key handling in search form (#2253 #2282); facets relation
    definition move; flask-admin module to configure facets;
    configuration of facets per collection; loading of Bloodhound
    using requirejs; fix for stucked focus on the search field; fix
    for improper suggestions merging; fix of undefined query_range in
    typeahead; requirejs for search typeahead; typeahead js code style
    improvements; user-preffered output format (#1587); fix advanced
    add to search form (#1811); fix jrec handling (#1756); ids removal
    from format fixtures; affix width fix; require.js refactoring;
    cleancss and requirejs filters; typeahead.css into base bundle;
    jshint fixes; init.js; factor out javascript from macro; mustache
    templates via hgn; inline script as a separate file; update of
    fixtures and models; assets 2.0; layout fix; fix admin interface
    of collection tree (#1860); fix null reclist parsing; incorrect
    test removal after merge; PEP8 and PEP257 fixes; templates
    hierarchy; fix browse pagination links (#1824); jinja base
    templates renaming; search form as files; collection template
    loading; fix copyright year; collection template loading; facet
    registry; fix decoding Unicode is not supported.; fix initial
    request missing stylsheets.; fix for dissapearing search field
    text; typeahead 0.10 adaptation; browse button fix; code clean-up
    and documentation; browse.html inheritance change; typeahead 0.10
    search bar adaptation; templates inheritance schema change; label
    `for` attribute addition; fix css file path; default `of` for
    search with `cc`; fix default of for collections; template macros
    import fix; fix for collection preservation on search; change
    union_update to union; missing space between attributes of input;
    fix translatable string; fix for the alignment of the search
    navbar; searchbar separation; fix translatable strings in
    templates; template blocks addition; clearer collection name in
    search pages; templates javascript fix; fix restricted collection
    search; webcoll post-process data; webcoll fix; fix for
    citesummary link template; fix for not visible variable
    "new_args"; Snippet display after clicking on facets; fix for
    non-ASCII fulltext terms; import fixes in regression test suite;
    back-to-search links improvements; jinja template for
    back-to-search links; fix for cache timestamp file handling;
    search admin regression tests fix; summarizer regression tests
    fix; disable webcoll part two; fix demo site fixtures; regression
    tests fix; facet discovery improvement; fix for facet builder
    return type; regression tests fix; template `url_for` fixes;
    websearch user settings form fix; record usage tab fix;
    CollectionExample demosite fixture fix; collection view
    improvement; browse functionality initial port; blueprints
    refactoring and cleanup; video collection fixture fix; fix facet
    unicode value problem; support for 'x*' search output format
    (#1508); fix model __init__ functions; fix Externalcollection
    engine property; collection template addition; url `of` argument
    quickfix (#1473); faceted results order fix (#1352); temporary
    move js script on top; fix import to use full module path; record
    tabs improvements; fix javascript block in /record pages; force
    integer type of recid; discussions compatibility fix (#1422); fix
    division by zero in Pagination; fix for translatable strings; fix
    access to restricted records (#1340); add download graph to record
    blueprint; fix encoding and caching; fix title encoding problem;
    fix default sort order; SQLAlchemy model fix; loadable facets;
    configurable hotkeys in user settings; hotkey navigation for
    search results; fix for cache prefix import; facet debugging
    improvement; conditional results cache fix; search results cache
    stats removal; search results cache relocation; search cache
    timeout addition; seach query cacher; improved caching; checkbox
    label class fix; Collectionname __init__ removal; search query
    string trimming; export functionality initial commit; fix for
    empty collection on frontpage; facet and format option
    improvements; Bootstrap 2.2.1 fix; new dropdown menu with search
    examples; format options, ui improvements; search example dropdown
    menu; disabled focus in search field; search query at first line
    in typeahead; tab caching problem fix; encoding/decoding of facet
    URL fragment; hierarchical facets support; hierarchical facets;
    Python 2.6 dict problem fix; search within and examples; facets
    and user settings widgets; intersect_results_with_collrecs port;
    query logging fix; improved search interface.; collection facets
    and modal window; search in collection by its name; import
    CFG_WEBSEARCH_WILDCARD_LIMIT fix; admin interface improvement;
    Portalbox drag and drop organizing; Code quality improval;
    Collection name translations editing; Collection managment with
    relation type; Drag collections as subtree into leafs; Drag and
    drop Collection managment; missing colon addition in search box;
    pybabel fixes

  - sequencegenerator: migration of texkey generator; integer size
    fix; SQLAlchemy model

  - session: hotfix for schema and locale check; removal of
    unnecessary Set-Cookie (#2291); docs, PEP8 and PEP257
    improvements; fix commit after automatic table creation (#2265);
    fix duplicate session commit (#2264); simple cache fix; backend
    data loading fix; fixes login when no cache backend exists; fix
    for translatable strings; fix link for reset password; fix legacy
    webuser import; fix for validation of changed email (#1601);
    invalid accounts login fix; change password initial port; lost
    password blueprint addition; email form validation addition; fix
    for login referer redirection (#1598); fix for settings data
    saving; fix user settings edit url; regression tests fix;
    Flask-Login session fix; settings widget closing fix; customizable
    settings widgets; login redirection fix; partial regression tests
    fix; user agent in current user fix; reporting errors in
    ``*_user_settings.py`` (#1570); fix empty password registrations.;
    user registration initial Flask port; external authentication port
    to Flask (#1338); fix guest user uid in current_user;
    authentication with email address (#1338); fix typo in setUid
    (#1424); cache decorator removal on logout (#1339); request info
    preferable in user info; current user uri value fix; fix missing
    default precached value; fix default user settings; logger
    removal; Flask HTTPS redirection fix; fix for HTTPS redirection;
    current app logger removal; user info cache split; split user info
    and session; webuser flask bug fixing WIP; update of settings in
    session fix; user info cleanup; user settings page addition; new
    login form style; user logout fix; getter of session from request
    fix; get_session() calls removal; HTTPS quick fix; logout, reload
    user and redirect fix

  - sherpa_romeo: error handling improvement; caching and API
    enhancement

  - signalutils: new record creation and modification signals; initial
    release

  - sorter: multiple tag sorting fixes; Admin Guide improvements;
    SQLAlchemy models

  - sqlalchemy: default mysql parameters for db.Table (#2491); fix
    mysql index creation; fix mysql primary key creation; custom
    EncryptedType removal (#2343); fix PostgreSQL test connection; fix
    default integer constructor (#1776); addition of Encrypted type;
    postgresql types support; name addition for Enum types; addition
    of Encrypted column type (#2204); add session_manager; addition of
    Encrypted column type (#2173); revert to library default enum;
    JSON MySQL storage type fix; change JSON type to native one;
    default charset utf8mb4 for mysql; UUID type addition;
    autodiscover modules on demand; fix for MySQL gone exception
    handling (#1518); fix MarshalBinary impl type; use_unicode=False
    by default; MarshalBinary and import fixes; support for version
    0.8.0 (#1409); model synchronization with tabcreate (#1226);
    create index statement; model updates; autocommit event listener;
    autocommit listener; initialization quick fix REMOVE LATER;
    initial commit; change field to mutable type; fix missing database
    host port

  - sso: fix group/groups key inconsistency; print statements removal;
    fix external groups concatenation; user group names loading;
    initial release

  - tags: initial upgrade; restful test fix; Flask-OAuthlib upgrade
    fix; REST API addition; fix for editor in search results (#1792);
    incompatible dict usage fix; initial release

  - template: fix for unicode url handling; Flask 1.0 compatibility
    fix (#2216); deprecated blueprint_is_module function;
    @template_args decorator addition (#2009); documentation and
    formatting; add page_base.html; tests for template order loading

  - testsuite: fix InvenioConnector test; testsuite iteration fix;
    registry addition for testsuites (#2211); new demo record with CSV
    data files (#1927 #2208); python 2.6 fix; fix for build and run
    regression tests; fix for secure base url in test client; fix for
    client login https scheme usage; fix for testing page with 401
    error; regression tests fix; logount when not logged in fix; login
    and logout in InvenioTestCase; fix pyparsing import troubles; fix
    global imports (#1491); fix for passing engine to app factory
    (#1491); fix for importing CFG_DATABASE values; support for Flask
    shell

  - travis: minimal requirements testing (#2044); bower configuration
    files; less log; deactivate requirejs and al. after build; config
    simplification; removal of Python 2.6; less verbose output;
    collection of the static files; travis_retry statement for grunt;
    npm, bower and grunt during setup; extra requirements to tests;
    CFG_TMPDIR set to /tmp; enabling apache version module; enabling
    excluded packages for test; pip --upgrade removal; initial
    configuration release; initial release of configuration

  - upgrader: bibsched precheck removal; has_table function;
    documentation fix; fix for docstring style; sphinx friendly
    documentation; package detection fix; fix auto-generation of
    upgrades; add auto-generation of upgrades; change to module-aware
    engine; initial port using autodiscovery; partial fix for
    SQLAlchemy init

  - uploader: refactoring of workflow definition; initial manage
    command implementation (#1772); support for relative document
    paths (#1191); files to link addition (#1772); typos fixes;
    removal of empty workflows; field definitions enhancement;
    document model addition; documents module connector addition;
    workflows pre and post tasks hooks; saving master format to bibfmt
    table; initial release of insert mode

  - urlutils: fix for wrong URL arguments encoding

  - utils: hepdataharvest cli port; `which` from distuitls; orcid
    validation enhancement; datacite ssl protocol fix; datastructures
    docs and PEP257 improvements; function remove_underscore_keys
    removal; removal of duplicate `SmartDict` definition (#2031); no
    CRSF protection in testing; arXiv identifier normalization (#1958
    #1961); arXiv persistent identifier fix; fix date tests; import
    json from arxiv api; etree to dict translation reorganization;
    slugify text function addition; addition of call checks for vcs
    commands; Git & SVN Harvester; persistentid 100% test coverage;
    LazyDict delitem support; test
    `date.convert_datestruct_to_dategui`; test
    `convert_datetext_to_datestruct`; fix for
    `dateutils.datetime.combine` method; formatting + PEP8 + PEP257;
    datacite tester fix; `TextField` replacement by `StringField`; fix
    for create tag from utf8; PEP8 fixes; json import fix; HTML ID
    washer; which function addition; unicode fix; fix for utf8 issue
    in create_html_link; xmlDict tag attribute fix; xmlDict initial
    release

  - webbasket: fix configuration variables in template; adjustments
    for Twitter Bootstrap usage

  - webhooks: minor documentation update; Flask-OAuthlib upgrade fix;
    signature validation; initial release

  - webjournal: regression tests fix

  - webstyle: fix translatable string; debug-toolbar display condition
    fix; fix blueprint loading refactoring issue; blueprint loading
    using importutils; regression tests fix; debug toolbar only for
    super admin; handling file POST or PUT fix; legacy form files fix;
    fix external url creation; authorized decorator fix; error code
    401 on authorization failure; CFG_WEBSITE_TEMPLATE_SKIN support;
    legacy request form multivalue fix; fix remote debugger import;
    harmonize blueprint method signature; fix of youraccount index
    menu link; fix legacy publisher form dictionary (#1474); menu
    rendering improvement; fix Jinja2 context; Flask request class
    customization; fix bug in pageheader template; database creation
    in app factory; fix for remote host getter; autodiscovery of
    models on app creation; non strict handling of last slash in url;
    configurable placeholder for js assets (#1398); fix for block
    javascript usage; refactoring of legacy template rendering;
    support for absolute url in url_for; fix legacy form values
    unicode issue; fix content type change detection; fix response
    headers (#1351); fix response status code (#1328); fix redirects
    from mp_legacy_publisher (#1335); catch HTTPS redirects in debug
    toolbar (#1325); check empty variable CFG_SITE_SECRET_KEY; new
    config option CFG_SITE_SECRET_KEY; document Flask request
    processing; fix POST requests to WSGI legacy app; option to
    disable loading of blueprints; fix content type for legacy
    publisher; werkzeug debugger for devel sites; use utf8 for jinja2
    str to unicode; fix stdout redirect for mod_wsgi and shell; fix
    POST request for mp_legacy_publisher; fix missing files in
    bundles; new invenio_pretty_date() jinja2 filter; legacy publisher
    support for Flask; SimulatedModPythonRequest port; favicon
    addition; Goto model addition; fix encoding problem in admin
    interfaces; fix for multiple typos and code cleaning; addition
    devel site level for debuging; debug toolbar extension; fix for
    Bootstrap script link; new 401 app error handler; register
    template context processor; unused date message removal; cache
    (Redis) server down exception fix; new bootstrap select library;
    Invenio logo in navigation bar; error message fix; lowlevel
    mimetype fix; invenio_format_date jinja filter fix; Flask
    redirection handling fix; usage of Flask app in wsgi handler;
    cleanup function registration; unified Flask app with legacy
    fallback; Bootstrap JS file location change; new Flask-Gravatar
    icon support; 1st commit of Flask-Invenio bridge

  - websubmit: fix for fileupload interface; partial regression tests
    fix; regression tests fix; removal of foreign key in SbmFIELDDESC

  - workflows: import order fix; harvesting description fix; no error
    if nothing harvested; Holding Pen sorting fix; exception handling
    improvement; conversion to SmartJSON using models; Holding Pen
    improvement; new name for ObjectVersion; object state names match
    docs; aborting and skipping; Holding Pen previous/next robustness;
    always save current object; Holding Pen details fix; task_counter
    value check; documentation enrichment; actions JS loading; Holding
    Pen file serving fix; snapshot generation fix; template naming
    fix; template fixes; template renaming; default definition
    improvements; runtime based start_async_workflow; deprecated admin
    area removal; AMD compatible and flightJS; cache prefix for
    Holding Pen; fix bootstrap-tagsinput bundling (#2423); harvesting
    description template fix; upgrade compatibility fix; log output in
    Holding Pen; admin dropdown menu fix (#2384); indentation from 4
    to 2 spaces; error signal catching; styles fixes; attached files
    improvement; blocks in styles templates; harvesting description
    arXiv link; fix for indentation in templates; translation support;
    detailed workflow task list; new stage for error; new stage for
    halted; Holding Pen authorization; formatted data from model;
    signals addition; PEP8 fixes; update of MARC views; object
    navigation; classifier task result addition; field name change;
    sample tasks refactoring; cleaning of engine calls; new
    session_manager usage; task result upgrade; task result templates;
    dismissable approval alert; wrong default position (#2177 #2186);
    passed data check; initial upgrade; cascading deletion;
    add_task_results hotfix; Holding Pen cache update; documentation
    addition; removal of vendor files; engine API additions; remove
    view test; Holding Pen search cache; blueprint code update; record
    loading optimization; actions as templates; Holding Pen tags and
    pagination; Holding Pen table speed upgrade; detailed display
    update; Holding Pen change; log model relationship addition;
    installation of *dataTables* from npm; assets 2.0; fix for
    registry keygetter; hotfix unittest; missing RQ worker code;
    Holding Pen UI/UX update; better widget and filtering; INSPIRE
    task removal; test cleanup; merging correction; Holding Pen object
    history; Holding Pen stabilization; Holding Pen display changes;
    str() addition to calls; Holding Pen improvement; overhaul update;
    global improvement; more unit tests; abstraction layer for
    workers; registry fix for keygetter method; fix harvesting
    workflow with bibsched; INSPIRE specific removal; PEP257
    improvements; user session in Holding Pen; widget to action name
    change; definition fetching improvements; initial user UI
    integration; fix for Celery worker tasks loading; bibholding pen
    improvement; holding pen fixes; registry refactoring; object
    workflow API addition; test registry cleanup; continue execution
    fix; unit tests stabilization; auto discover registry; registry
    recreation in test setUp; add more docs; revamp testsuite; update
    API and errors; update generic_harvesting_workflow; add more unit
    tests; sphinx documentation and more; revamp session handling;
    Python 2.6 compatibility; change default XSLT; move persistent_ids
    to extra_data; PEP8 fixes; Python 3 compatibility; clean up
    templates; update HTML attribute; add missing license; further
    update JavaScript; fix get_current_task API; refactor JavaScript
    files; update static files on admin pages; Holding Pen update;
    update workflow tasks; new API in engine and model; refactor
    holding pen widgets; add OAIHarvest integration; update calls to
    OaiHarvest model; engine branch halt testcase; js fixes and
    interface improvements; improvements and fixes; fix celery
    workflows worker; update holding pen details page; fix broken
    import; holding pen changes and additions; move to new structure
    and fixes; added mini approval widget; fix redis host
    configuration issue; fix typo in worker import path; model
    relationship addition; PEP8 compatibility fixes; workflows
    loading/naming; updates of Holding Pen; API updates; `Workflow`
    API prototype; API changes; add Holding Pen interface; workflow
    model changes; specific worker loading; workflow query API initial
    release; general cleanup; unit tests instead of flask tests;
    warnings addition in admin pages; additional fixes; PEP8
    corrections; task example and celery intergration; exception
    deactivation during loading; fix for restarting workflow; initial
    release

Invenio v1.2.0 -- released 2015-03-03
-------------------------------------

  - BatchUploader: apache error codes; insert or replace mode;
    authorize via CIDR; add holdingpen directory; several
    improvements; bibtask logs via email (#1255); multiple
    improvements (#603); fix for permission checking (#1747 #1748)

  - BibAuthorID: user prefs and session fix; inactivation of
    test_save_matrix() (#1678); merge and manage fixes; caches badly
    stored in user settings; fix 'create new person' ticketing issue;
    leftover print statement; disables debug output; Claiming page is
    now reloaded after commit.; hepnames match;
    add_cname_to_hepname_record(); hotfix in name comparison; remove
    changes tempfile.rootdir; graceful external system query; adds
    webuser user merge utility; fix arXiv redirect link; improvements
    and bug fixes; improvements and bug fixes; DOIs from ORCID check;
    WaP daemon and BAI interface fixes; fix in templates handlers;
    hotfixes for authorpages and webauthorprofile daemon; Help pages
    and messages; a new hope; use defaultdict from containerutils

  - BibAuthority: new names for authority collections; source file
    mode fix; separate Authorities collection (#1605); initial release
    (#1602); fix for unit test suite

  - BibCatalog: ticket_id type is now string (#2096); better error
    reporting; requestor on ticket submit; ticket_submit() docstring
    update (#2094); improve RT search error handling; return empty
    list if no search params; RT discovery; email content cleanup; bug
    fix; pylint fixes; refactoring; adds bibcatalog bin to ignored
    files; add daemon task (#1528); default email backend (#872); new
    email ticketing backend (#872)

  - BibCheck: $$9 bibcheck to DOIs (#1955); improvements in DOI checks
    (#1955); allow filtering by subfield contents (#2474); last_run
    correct update; properly cumulates records; compatiblity with
    dateutil 2.2; improve url plugin and tasklet; improve url plugin;
    adds --config option; improve exception handling crossref queries;
    add retry download to crossrefutils; improve doi plugin; avoid
    checking dummy records; add option to consider deleted records;
    new BibCheck module

  - BibCirculation: library creation and other fixes (#2550 #2551
    #2552 #2562 #2373); fix for CERN returnees; fix for typo; missing
    web tests; minor spelling error fix; fix for mandatory library
    type (#1519); email ID changes and test fixes (#1479); admin guide
    cleanup; patron-driven acquisition and more (#1280); personid CERN
    attribute; ILL improvement; CERN LDAP improvements (#1186); set
    colour of some buttons; fix for ILL title and request type; fix
    for library ID variable name; various updates; fixed notes link;
    code cleaning; better ill/purchase search; auto-fill for purchase
    request; remove reference to apache_user; optimize CERN LDAP
    query; temporary barcode for new copies; extended ILL to manage
    acquisition; make statuses customizable; lots of small fixes;
    'cancelled' status for ILL request; sorting last issued loans;
    edit ill request details; loan and renew process enhancement;
    added budget_code to crcILLREQUEST; edit library type; arrival
    date and library merge; extended item statuses; improved
    book_title_from_MARC; fixed multi-barcode loan; fixed user
    interface loan renewal; pylint and kwalitee cleaning; small fixes
    on printing & intrface; daemon for overdue letters; email alerts
    for new requests; delete a copy of a book; added CERN id in
    borrower profile (#207); use new URL handler for admin pages;
    avoid multiple loan creation (#305)

  - BibClassify: ontology cache check improvement (#2672); always use
    invenio code; raises an exception if rdflib is missing; unit tests
    temp dir fix; remove ability to run as standalone (#1459)

  - BibConvert: lxml support for local document() (#2497)

  - BibDocFile: pickle support fix (#2549); decompose_file_url() and
    subformat (#2556 #2557); bibdocfile.BibDoc memory fix (#2082
    #2136); change name failure raises exception (#2071); more robust
    decompose_bibdocfile_url() (#1957); escape file URLs in /files tab
    (#2067); fix type of bibrec-bibdoc connection (#1759); get_icon()
    for smallest size icon (#1350 #1743); undefined variable fix;
    register downloads with recid (#1831 #1832); new web tests;
    bibdocmoreinfo query typo fix (#1706); textification with OCR fix
    (#1676); get_file() exact_docformat support; display counts in
    tabs; fix "delete" CLI option; no access to filesystem; preferred
    extension (#1619); load plugins at global level; migration script
    fix; fixes wrong variable name; error reporting changes; CERN AFS
    awareness (#1388); retry mkstemp in case of failure; CERN AFS
    awareness (#1388); fix for bibdoc unattached to record (#1551);
    improve BibDoc display in Files tab; raise exception in
    _build_file_list(); additional mimetypes support; fix version in
    register_download() (#1532); fix for BibDocFile instantiation
    (#1317); implements format renaming (#1318); allow doctype
    renaming (#980); revert md5 property patch (#1249); new document
    data model; fix for display of hidden icons; change_name missing
    parameter fix (#1818)

  - BibEdit: only notifications on error; kwalitee improvements; add
    email notification on submit; user name in BibSched column;
    wrongly displayed HP changeset bug; autocompletion of fields from
    KBs (#1258 #73); author names into history revisions; duplicate
    code removal; new RT ticket through UI dialog; int object is not
    iterable fix; InvalidCache exception on clone; modal submission
    preview window; check for record in BibSched queue fix; debugging
    all user actions; holding pen fix; prevent deletion of managed
    DOIs fields (#1445); fix revert when no 005 in history; Holding
    Pen fix; add AJAX profiling option; adds affiliation guessing;
    bibHOLDINGPEN from TEXT to longblob; bibupload xml file path
    conflicts; support for simple ticketing; small merging fix;
    BibEdit web test improvements.; fix textmarc2xmlmarc unit test;
    record from history instead of bibfmt; BibCatalog and other
    improvements; fixes errors in case of deleted records; several
    bugfixes; moves files cache to the database; open DOI source in
    new window; fixes pdf detection; several improvements; HoldingPen
    multiple improvements; update
    CFG_BIBEDIT_EXTEND_RECORD_WITH_COLLECTION_TEMPLATE; fixes date
    parsing problem; hide authors when they exceed max number;
    multiple fixes and improvements (#1190); send latest timestamp
    when reverting; update admin help page and shortcuts; remove extra
    holding pen call; show/hide specific parts of the record; merge
    record with template; custom errors for AJAX requests; better
    holdingpen integration (#87); tab switch between fields; minor
    fixes; fix perform_doi_search function; refactoring and fixes; use
    perform_request_search on search; add version to bibedit css name;
    sort HoldingPen changes alphabetically; add direct link to
    dx.doi.org; save changes periodically; avoid sync request to see
    if record has pdf; change cache folder; amend textmarc to xmlmarc
    unit test (#1269); import CrossRef data; improvements and fixes
    (#761 #1032); css changes; allow opening deleted records (#573);
    delete cache if record not modified; add extraction of references
    from URL; several fixes; introduce textmarc editor; cnum
    generation on conference records; multiple improvements (#696);
    revert to master version (#792 #63 #118 #125); fix return binding
    on Jeditable cells; fix jEditable callback when pressing return;
    fix input default value; disable preview button when reverting
    record; fix jEditable callback when pressing return; hide delete
    record button by default; add field in specific position (#583);
    fix apply all HP changes (#125); clean JavaScript code (#63);
    extract css into a separate file (#118); upgrade to jQuery 1.5

  - BibEditMulti: only notifications on error; add email notification
    on submit; adds support for hidden fields (#707); allow non-
    delayed processing and priority change; several improvements;
    display all MARC fields (#1489); fix for multilanguage interface
    (#1331); multiple improvements and fixes (#1146 #1147 #1148 #1130
    #1149 #1156 #1158)

  - BibEncode: support for FFmpeg >= v0.9; updated for latest
    BibDocFile APIs; fix uuid Python 2.4 compatibility (#1478)

  - BibExport: update Google Scholar exporter; hidden files and
    recrawling

  - BibField: new CFG_BIBFORMAT_HIDDEN_RECJSON_FIELDS (#2197 #2396);
    better create_record error catching (#2510); fix copyright field
    names (#1933); backported improvements from pu (#1687); no caching
    of calculated fields; change recid field type to integer (#1633);
    improvements backported from next; fix number_of_copies field
    (#1625); new upgrade recipe to remove json cache; new field
    filtering for `get_record`; elimination of None values in recjson;
    `schema` in `split_blob`; `is_empty` update; fix for '__eq__' to
    better compare recs; fix for `is_type_isbn`; continuable vs fatal
    errors; bibdoc integration; new decorator @only_if_master_format;
    better handling of calculated fields; fix for misbehavior when
    parsing rules; new producer section added to config; clean up of
    atlantis.cfg demo file (#1557); volume subfield addition; creation
    date addition and keyword fix; new fft field in `atlantis.cfg`;
    Python-2.4 compatibility fix (#1533); legacy_export_as_marc
    escaping fix (#1509); new calculated fields; virtual field aliases
    amended (#1530); new @persistent_identifier "decorator" (#1500);
    bug fixes when using decorators (#1502); fix for lxml
    compatibility; Python-2.4 compliance; initial release (#1300)

  - BibFormat: new BFO for authority records (#1699 #1749); links to
    public resources of authors (#1700 #1749); better display of
    authority records (#1749 #1699); ORCID display for authors;
    removal of obsolete BFX engine (#2563 #2124); recjson update using
    bibreformat (#1708 #2220); PEP8 fixes in bibreformat (#2220); add
    sponsor information to copyright (#1975); larger column
    `format.code` (#2072); advertise /doi URL in DC output; improve
    Dublin Core output (#320 #1213); configurable /record; new
    bfe_oai_identifier element; new bfe_date parsing/formatting
    options; plot file identification improvements (#1514); fix for
    eval_format_element return type; file rights fix; new
    bfe_arxiv_link; affiliation improvements; left over print in
    format_record; reworks exceptions handling; only save default site
    lang on the fly; look for missing caches by default; fix snippet
    generation; needs_2nd_pass in bibreformat; duplicate code in
    bibreformat.py; improves and updates bfe_plots; fixes tests; fix
    external function for libxslt; improve Google Scholar support
    (#1513); Displays the DOI in the EndNote; dublin core export now
    includes DOI; to fixup to removes old php format; small fixes;
    several fixes; fix in date comparison; second formatting pass
    (#1464); lazy missing formats updates; empty record check;
    progress display improvement; initial example of Twitter Card
    support; fix for snippet generation; author links for mobile app;
    initial release of mobile app formats; new Solr fulltext snippet
    facility (#1301); QR-code format element (#1441); add DataCite XSL
    stylesheet; remove 0248_a field from title; fixes last run date
    for HDREF (#1236)

  - BibIndex: ambiguous SQL query fix for MariaDB-5.5 (#2759);
    tag.recjsonvalue NOT NULL (#1947 #2259); fix new-old record
    incremental indexing (#2693); clean up after authority regression
    test (#2448); author ID performance improvements (#1952); upgrade
    recipe for `tag.recjson_value`; recjson fields in admin interface;
    indexing non-MARC standards; abstraction layer for terms
    retrieval; WordTable API changes; move helper functions to utils
    file; changes in WordTable argument list; PEP8 compliance fixes;
    fix for virtual index filtering; new DOI index (#1655); virtual
    index queue dupe optimisation; new 'all-virtual' CLI option; minor
    engine refactoring; documentation for virtual indexes; new pattern
    for tokenizer inheritance (#1704); new abstract class for indexes;
    separate class for virtual index (#1661); common words in virtual
    index (#1653); fixes admin regression tests;
    BibIndexDefaultTokenizer upgrade; bad word check optimized;
    consistency check optimizations (#1436); ingestion health and
    "unneeded" indexes (#1632); index type in admin interface; virtual
    global index (#1574); indexing only affected indexes (#1573);
    clean warning messages in test suite (#1615); filetype and
    itemcount tokenizer fix (#1609); new index 'filetype' (#473); new
    index 'itemcount'; tokenisation of authority records; fix syntax
    error in bibstat; support for CJK languages (#285); pluginutils
    for tokenizers (#852); centralisation of tokenizers (#852); new
    regression tests; centralisation of LaTeX/HTML treatment (#852);
    centralisation of stopword treatment (#852); centralisation of
    synonym treatment (#852); fix for external fulltext indexing;
    rework of error handling (#1075); move of text extraction to
    BibDocFile; new exacttitle index (#1397); new filename index
    (#1717)

  - BibKnowledge: searchtype parameter in KB export (#2570 #2581); fix
    get_kbt_items_for_bibedit (#1879 #1895); lxml port
    get_kbt_items_for_bibedit

  - BibMatch: allow tests to login over plain http; Fix validator
    problem; use other author comparison function; more print
    statements; improves get_longest_words; improve fuzzy queries;
    validation fixes

  - BibMerge: adds CFG_SITE_RECORD as script data (#2580 #2237);
    `onclickSubmitButton` missing comma fix (#2230); prevent loss of
    DOI when merging records (#1446); delete cache of master record
    before submission; change order of updates; add subfield sorting
    and interface fixes; several fixes; add 981__a field to master
    record; delete duplicate record first (#1645)

  - BibRank: fix path for download history graph (#2554 #2374); fix of
    similar-to-recid result order (#1745 #2236); missing selfcites for
    collaborations; record ID citations catchup; citation blobs in
    Redis (#1689); adds a new option to disable bibsort (#1617); minor
    refactoring in word ranking; handle missing files when removing
    graphs; more leanient date handling in citation graphs; more
    leanient date handling in citation graphs; remove outdated import
    in citations tab; exception when gnuplot is not available; unicode
    recid in citation indexer; Added ISBN, recid and HBL identifiers;
    fix bad variable name; fixes for sorting; missing drop table
    rnkSELFCITEDICT; new way to generate graphs (#1244); consider only
    one year in citation graph; fixes for cited by sort; function to
    get citations of a single record; fixes sorting; optimized cited
    by sorting; filter citations on collections (#1504); logging of
    citation changes (#1426); store selfcites in a table (#1417);
    citesummary optimizations (#1481 #1217); handle records with
    mulitple journals (#1394); optimized cited by sorting; no citerank
    error when no citations (#1624); better Solr regression tests;
    faster Solr indexer; new multi-tag Solr indexer; index latest
    records first in Solr; increase rnkDOWNLOADS.file_format size;
    self cites upgrade recipe improvement (#1482); detect external
    word similarity ranker; storing citation indexer warnings in DB
    (#1210); optimisations in citation algorithm (#1073); selfcites
    fixes; fix for citation indexer checks; citation indexer sanity
    checks and alerts (#1091); reference linking improvements (#950);
    citation indexer date check change (#946); fix for missing Python
    files in Makefile; two algorithms for self-citations (#945);
    change import to defining module; better exception handling in
    Solr indexer (#1199); better default mode in Solr indexer (#1192);
    more invalid Solr character replacements; new Solr and Xapian
    ranking bridge (#1084 #1168)

  - BibRecord: namespaces ignored for lxml (#2604); search & compare
    subfields; new API records_identical(); new API
    identical_records(); record_get_field_values with filtering
    (#1550); filter field instances (#1550)

  - BibReformat: chunking of updated records query

  - BibSched: email-logs-on-error parameter (#2205); check schSTATUS
    when detecting status; pep8 for bibtask.py; pep8 for bibched.py;
    subdirs for bibsched logs; fixes a bug with --profile cli option;
    fix priority for the same sequence id; increase max log file size
    to 5Mb; display mode for non-periodical tasks; adds more task
    changing commands; get_modified_records_since() (#1538); monitor
    auto mode selection bug; invalid sql in monitor history tab;
    setting to continue on errors; many improvements (#1177 #991);
    error when switching to manual; refactoring and improvements
    (#1274 #1275 #1449); enhanced write_message(); motd update check;
    problem parsing task CLI options (#1330); interface responsiveness
    improvements (#1303); priority in automatic mode; CLI-started
    tasks host field; kwalitee fixes; shell output leakage upon task
    kill (#1343); single error reporting (#1342); scheduling algorithm
    improvements (#1281); fixes task chain-sleeping (#1304); fixes
    monotasks for multi-node (#1304); fixes for multi-node setup
    (#925); new --email-logs-to bibtask CLI (#1252); subprocess
    instead of deprecated popen2; new web UI for BibSched live view

  - BibSort: improved washers (#2283 #1754); add check before
    deleting; fix typos and CLI arguments

  - BibUpload: creation_date based on incoming 005 (#2693 #1604
    #2684); faster recjson deletion after updates (#1708); no reload()
    in regression tests (#1702); --append only new fields (#1440);
    removed print statement; do not always process MoreInfo;
    CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG fix; new
    CFG_BIBUPLOAD_MATCH_DELETED_RECORDS (#1438); affected fields and
    insert mode; 8564_s support; less useless computation; less
    verbose; messages cleaning; ingore 856 tag order in conflict
    (#1606); smarter conflict report; smarter conflict detection; no
    tickets in pretend mode; ticket creation fix; improves utf-8
    checks; task error messages (#1449); utf-8 encoding; encoding
    checks; regression tests cleanup; matching existing records
    (#1438); pretend holding pen fix (#1618); fill affected_fields in
    hstRECORD (#1572); fix for inserts with 005 (#1595); conflicting
    revision ticket queue; smart record uploader fixes; BibCatalog
    connection; sensible history and other goodies (#498 #1250 #871);
    bibrec timestamp bug (#1431); smart record uploader (#816 #864
    #897); check DOI uniqueness (#1160)

  - DocExtract: new CMS PAS report numbers; additional report numbers;
    extract page-end from references; removes stdout ouput from tests;
    rework of regression tests; fixes regression tests; improves
    bibrecord; increases compiled regexp cache size; preload
    docextract author regexp; using -i instead of -r; preload kbs on
    wsgi load; re-enable caching of kbs; outdated import in webtool;
    reduce verbose in tests; fixes DESY-THIS rn recognition; 5 digits
    arxiv numbers detection; do not create old tickets; lower
    bibupload priority; webinterface text box fix; optional unidecode
    dependency; help messages & compatibility warnings (#1220);
    several improvements; move mislabelled regression tests (#1309);
    journal rawref search fix (#1306); nose-friendly refextract tests;
    fix reference extractor unit tests; refextract unit tests file
    name fix; preparing for merging into master; multiple fixes (#966
    #958); new docextract and refextract modules (#944 #1014)

  - HepData: updates to formats; fixes unit tests; clean hepdata.js
    inclusion; new HepData module; adds hepdataharvest bin to ignored
    files

  - HepNames: update form migrated to INSPIRE

  - I18N: PO file update for the release of v1.2.0; more complete
    POTFILES.in; fix wrong msgids in Persian translation; updates to
    the Persian translation; POTFILES.in update; initial Persian
    (Farsi) translation; infrastructure for Persian (Farsi); several
    fixes in Spanish translation; Catalan and Spanish updates to
    Search Guide; Catalan and Spanish updates to Search Tips

  - InvenioConnector: allow logins over plain http; fix for CDS
    authentication

  - OAIHarvest: fix identifier parsing (#2408); conversion argument
    name upgrade (#1753); error reporting fix (#1804 #1812); respect
    hidden fields; do not launch BibIndex when done; bibindex priority
    to 4; only update lastrun on successful harvest; small daemon
    enhancement; fixes missing import; priority of single harvest
    tasks; improves arXiv identifier harvesting; several improvements
    (#547); sample OAI-ArXiv conversion update (#678); CERN-specific
    "arXiv" doctype; consider source_id for selective post-processing;
    configurable selective post-processing (#1477)

  - OAIRepository: lower priority to updating uploads (#2525); fix for
    hidden OAI tags (#2642); more lenient time limit for tests; do not
    report cache not found errors; allows running slow machine;
    oai_get_recid() for merged/deleted records (#1429); marcxml
    created in shared directory; forcing clients to re-harvest (#1218)

  - PdfChecker: clean up after regression tests (#2448); log full list
    of updated recids; skip records without unique ids in 037 tags;
    new module for arxiv pdf checker

  - RefExtract: avoid double encoding (#2602); refactored book
    handling; improved book search; addresses warning in tests;
    removes leftover print; only accpet digits as numeration; allows
    more lines between title and numeration; changes condition for
    ticket creation; improves docextract, refextract

  - SolrUtils: fix of similar-to-recid result order (#1745 #2236);
    better exception handling in indexers; faster snippet factility;
    support entire full-text indexing; cleaner schema.xml; support
    high count of logical clauses

  - WebAccess: automatically fetch SSO nicknames (#2583); CERN-
    specific authorization message; fixes user details page links;
    CFG_ACCESS_CONTROL_LEVEL_SITE=1 support (#1501); remove Facebook
    testing credentials; update check for "external" account at CERN;
    ORCID support (#1124); OpenID and OAuth authentication (#1124);
    new CERN auth method support

  - WebAlert: update tests for newly introduced records

  - WebApiKey: unit Vs. regression tests

  - WebAuthorList: fix import from recid; fix import from record id;
    ignore empty affiliations when exporting; add new author list
    manager tool

  - WebAuthorProfile: reenable profile pages; disable if not
    available; compatiblity with atlantis; fixes unit tests; recompute
    link as a post action; new regression test suite

  - WebBasket: 'move item' improvements; new 'move item' functionality
    (#1547); Create Basket link in the main display (#1333); correct
    referer when adding to basket (#1194); fix copying external items

  - WebComment: fix for get_first_comments_or_remarks (#2522 #2523);
    more prominent subscription link (#2434); deleted record message;
    "Your Comments" page; link to "Your Comments" after posting; "Your
    Comments" page (#974)

  - WebJournal: Indico seminars widget improvement (#1980 #1981); fix
    image dimension retrieval; sample Twitter Card markup; new image
    template; better exception handling when caching; structured cache
    (#1544); CERN-specific fix; fix for what's new widget test case

  - WebLinkback: safer notification email; clean regression test suite
    (#1285); fix for importing CFG_DATABASE values; pending linkback
    notification emails (#1247); minor improvement; better
    documentation; module optional (#1245); better global /linkbacks
    page; better /linkbacks tab display; better URL title display; fix
    for DB name in regression tests; fix for user_info passing; unit
    test module rename; auto-increment regression test fix (#1136);
    initial release (#627 #857 #1136); fix truncated FSF address in
    docstring

  - WebMessage: English corrections in output messages (#1849)

  - WebSearch: optional refersto/citedby record limit (#2711); removal
    of hard-coded Holdings tab (#2592 #2664); new test case for
    pattern-limit queries (#1750 #1751); search results pattern limit
    fix (#1750 #1751); proper re-raise in RSS handling (#2084 #2598);
    fix for the number of printed records (#2512); inverted collection
    scores (#2058); stemming and '*' (#2468); smarter journal hint
    (#2352); new Journal Hint Service (#2352); kwalitee fix (#2352);
    richer `/record` and `/search` API docs (#2303); fix for record
    numbering in pagination (#1762 #1763); new Add-to-Search Interface
    (#622 #271 #1738); CERN-specific video latest additions (#2068);
    CERN-specific lecture latest additions (#2068); improve detection
    of record owners (#2068); better retrieval of record tabs (#2068);
    fix IndexError in is_hosted_collection (#1764); CERN-specific hack
    for latest additions (#1976); CERN-specific collection sorting
    (#2017); fix for 'rhs is of unknown type' (#1819); resolve
    (internal) DOIs (#1322); anyfield in CFG_WEBSEARCH_SYNONYM_KBRS
    (#1493); faster collection children cache (#1739); initial support
    for recjson output; fix detailed record page tab tracebacks;
    update collection page markup; fix search URL in timeout message;
    CERN-specific collection sorting; better sort order in citation
    tabs (#1307); timestamp detection fix for empty sites; sorting
    fixes (#1674); reverse order and scores; rg parameter with
    of='id'; reworks async downloader; wgsi.errors in fake request;
    handle case in /collections/<collection name> urls; fixes
    regression tests; stdout.flush conflicting with mod_wsgi; changes
    citation tab count; search API changes for record sorting (#1657);
    fix sorting options (#801); spires date parsing errors fixes; no
    'back to search' on empty session; display deleted records in
    citation log; make query parser use Invenio datetime; fix mixed
    parameter for re.sub(); bibfmt on innodb; outdated import in
    citations tab; takes into account new record in tests; fix HepData
    templates; change CFG_SITE_URL to CFG_BASE_URL; fixes search bug
    with --empty hitset; add cataloguer: search unit; SPIRES date
    format 11/93; change CFG_SITE_URL to CFG_BASE_URL; testing fixing
    subject lookup; add record edit link in brief; pep8 fixes; INSPIRE
    vol to use volume field; INSPIRE texkey in 035__%; handles
    selfcites searches; spires syntax and quotes; INSPIRE fulltext
    warning update; find doi in search engine (#1051); CV output
    formats (#314); correct record sums from hosted colls (#1651);
    search services (#1278); custom i18n collection boxes (#1286);
    item count regression test activation; fix for hidden-field admin
    access test; support for intbitset output format (#1460); fix
    missing cc info in req object; CERN-specific hack update; display
    number of hits in mobile output; Greek translation of Search
    Guide; fix Python 2.4 syntax error; most popular field values
    optimisation (#1096); fix Search Guide reformatting; fix Search
    Guide mismatch tags; Search Guide reformat and pretty-print; fix
    browsing deleted/restricted records (#1292); webcoll performance
    improvements; permitted restricted colls for guests; empty unit
    test suite for summarizer; removal of excess summariser tests;
    revamping of citesummary pages (#134); summarizer unit test
    update; fix searching with limits; enforcement of record view
    restrictions; translation-friendly overview box; restricted record
    search improvements; fix for regression test link targets; fix for
    double display of the footer; better restricted collection search
    (#1161); "p=el*;rm=citation" test inactivation (#1174); sorting
    test amendments; mixed ranking/sorting test amendments; wildcard
    limit parameter is 0 in p_r_s; bugfix for empty set sorting;
    refactored perform_request_search() (#542); add regression tests
    for "em" parameter; add "em" parameter; include 'cc' in RSS
    <channel>'s <link> (#2013 #2014); fix for "--language" option
    (#1399 #2219)

  - WebSession: no differentiation between guests (#2786 #2813); CSRF
    token in profiling settings (#1855); disable ORCID login (#1667);
    user preference to enable profiling; new Redis session storage
    backend (#1688); fixes session_cleanup; session_param_get()
    default value (#1294)

  - WebStat: fix for custom query summary graph (#2553 #2375); default
    query in the Custom query summary (#2388); list link fix for
    system health UI page (#1713); ingestion health monitor fix
    (#1631); use Invenio instead of CDS in pages; new ingestion
    monitor (#936); no wildcard limit for custom summary data; add
    bibcirculation config variables

  - WebStyle: richer documentation on record page tabs (#216); ping
    handler returning 200 status code (#2700); POST handling fix
    (#1951); req object with no headers; fix gotoadmin CLI parmeters
    parsing (#1427); move charset higher in the document; move of lang
    and dir attributes to html; fixes for /goto CERN-HR plugin
    example; silence client disconnected errors; blocking read in
    handle_file_post; add missing icons to Makefile;
    WebInterfaceDisabledPages(); quote canonical and alternate URLs
    (#1515); /info pages using webdoc infrastructure; more accurate
    "Restricted" flag display (#867); inactivate two regression tests
    (#1293); goto engine typo fix; canonical and alternate URLs (#1251
    #368); new /goto URL handler (#1178); memory leak fix in session
    handling (#571)

  - WebSubmit: Set_Embargo optional and functional (#2699); link to
    successfully created record (#1641); more robust JavaScript check
    (#1741); print white space instead of None (#1741); support for
    elements' custom_level (#1741); `test_revise_picture_admin` test
    fix (#2142); `deferRelatedFormatsCreation` param fix (#2142);
    Link_Records error message fix (#1734); fix access restrictions in
    /uploadfile (#1703 #2066); allow record owners to upload files;
    allow image conversion of .tiff (#1909); grant access to the
    superadmin as owner (#2065); doilookup function in webinterface
    (#2025); guests support improved in /direct URL (#1240); rotate
    created icons according to EXIF (#1516); web tests for DEMOART and
    DEMOPIC; DEMOART uses bibdocfile_managedocfile; skip pdf
    optimization if pdfopt is missing; fixes for openoffice handling;
    INSPIRE specific amendments; add traceback info on error; new
    Run_PlotExtractor function (#1506); source file mode fix; login
    offer to guests on action page; fix for icon creation for
    bibdocfiles; jquery-ui update for photo submission

  - containerutils: new Python-2.4 defaultdict

  - crossrefutils: new Fundref-based APIs

  - dataciteutils: refactor DataCite API wrapper (#1457); DataCite DOI
    support and test cases

  - dateutils: adds __add__ to our custom datetime; strptime for
    Python-2.4 compatibility; fix for strftime() function; consolidate
    localtime_to_utc; day ranges; fix for unit test suite; new
    get_time_estimator function

  - dbdump: partial dumps; ignore with regexp (#579); dump on detached
    slave (#1282); fix compress mode; add option to ignore tables; add
    slave support; improve error handling

  - dbquery: fix for importing CFG_DATABASE values; more reinstall-
    friendly dbquery

  - demo site: fix double 245 MARC field

  - docker: more complete configuration

  - errorlib: Sentry logging improvements (#2535 #2546); tags context
    fix for sentry (#2623); fix Sentry context syntax issue (#1960
    #2147); context support in sentry (#1960 #2147); support for
    Sentry logging (#1726); makes SMS messages shorter; time
    independent tests; hostname in error notifications (#1546); wrap
    warnings to invenio.err (#1616)

  - filedownloadutils: add verbose to download_url(); utility for file
    retrieval (#1076)

  - general: new CFG_SCOAP3_SITE flag; optional remote debugger; test
    fixes; Propagating exceptions in debug mode; unit-tests fixes

  - git: ignore KDevelop4 project files

  - global: PEP-8 style in block comments (#1904); test suite original
    modification date fix (#2737); removal of INSERT DELAYED SQL
    statements (#2268 #2269); removal of leftover files;
    InvenioTestCase in test suite (part 2); InvenioTestCase in test
    suite; cdsweb.cern.ch becomes cds.cern.ch

  - htmlutils: render MathML by MathJax; improve js string escaping

  - importutils: fix None values error; Makefile clean up; Python 2.4
    support and test case; initial release

  - installation: new release_1_2_0 upgrade recipe;
    2015_03_03_tag_value upgrade recipe; 2013_09_16_aidPERSONIDDATA
    fix; 2014_08_12_format upgrade recipe fix; all upgrade recipes in
    tabcreate (#1753); richer uninstall-jquery-plugins (#2418);
    python-twitter requirement update (#2015); lxml recommended;
    location of demo_table_jui.css; location of jquery.omniwindow.js;
    location of jquery.blockUI.js; location of sly.min.js; location of
    parsley.js; Redis and Nydus pre-requisites; jinja2 prerequisite
    (#1677); move h5py to extra requirements; h5py requirement clean-
    up; update to MathJax-2.3; add h5py dependency; use custom faster
    jeditable; ColVis.js on invenio-software.org; table creation fix;
    Python-2.6 and pip requirements; fix for BibAuthority upgrade
    recipe; fix for rnkDOWNLOADS upgrade recipe; help for BibAuthorID
    email settings; support for Apache-2.4 (#1552); help for `--load-
    bibfield-conf` step; oaiREPOSITORY_last_updated upgrade; fix for
    table drops and upgrades; selfcites upgrade recipe add-on; more
    gentle idxINDEX.indexer recipe; maint-1.1-to-master upgrade recipe
    (#1198); fix for 2012_10_29 upgrade recipe; fix for duplicate /css
    alias

  - intbitset: initialization from iterator (#1698); no crash when
    intbitset is on rhs (#1287); atomic installation; union() and
    isdisjoint() support; type checking for operators

  - inveniocfg: adds option to failt tests on first error; restore
    wrapping showarning after running unit tests; do not capture
    warning in unit tests; workaround bibfmt corruption; fixes
    BibSched check in upgrader; new derived config CFG_BASE_URL

  - inveniogc: guest users gc optimization (#428 #1950); clean up gc
    tasks (#1950); delete refextract logs after 7 days (from 28);
    BibEdit related improvements.; add new session deletion mode;
    delete BibEdit temporary files

  - kwalitee: even stricter PEP-8 compliance

  - mailutils: better email header type detection (#2713); support
    invalid senders (#2256 #2385); fix for send_email() error on DEV
    site (#1744); extend send_email with BCC option; send_email() with
    attachments (#1253)

  - mathpreview: js-based math preview panel (#1221)

  - oaiharvest: fixes harvest() web interface (#2524)

  - plotextractor: recid parsing fix (#2566); sanity in plotextractor
    tests; do not add FFT if there is no location; remove dummy
    caption generation; fixes arg parsing and more; more shell
    argument escaping; process files of a record; fix CLI parameters
    parsing

  - redisutils: initial release

  - sequtils: increases size of seqSTORE.seq_value; no texkey if no
    year; increases size of seqSTORE.seq_value; fix texkey generation;
    add start_date parameter to CnumSeq; wait for BibUpload to finish;
    new seq generator for texkeys

  - shellutils: Mac OS compatibility (#1184)

  - solrutils: clean unit and regression test suite (#1284); add
    search and ranking tests; fix for ranking result display; better
    collection filter generator; removal of unused code; better
    invalid character handling (#1197); add documentation

  - testutils: wait for element to be displayed/hidden; default to
    assertEqual in py26; add new relative url function;
    regression_tests fix; new JavaScript unit test framework

  - textmarc2xmlmarc: remove content regexp check (#1267)

  - textutils: wash_for_utf8() simplification (#1755);
    translate_to_ascii() unknown chars fix (#1754); show_diff() API
    clean-up (#1465); fix old import statement; sharp-s to ss;
    unidecode verision; add ALA-LC transliteration (#1092); create
    function to show diff view

  - urlutils: new function get_relative_url(); use hashlib instead of
    md5 if possible

  - xmlmarc2textmarc: order only by tags

Invenio v1.1.5 -- released 2015-03-02
-------------------------------------

  - BibCirculation: get_book_cover quick fix (#2578 #2653); fix for
    wrong non-borrower message (#2597)

  - OAIHarvest: remove_duplicates and regexp fixes (#2300 #2608)

  - WebBasket: better formatting of deletion message (#2449)

  - docker: initial release (#2736)

  - docs: initial release of CONTRIBUTING guide (#2163)

  - installation: MathJax distribution location update (#2732);
    explicit jQuery plugin versions (#11 #2655); disable SSLv2/SSLv3
    in Apache config (#2515)

Invenio v1.0.8 -- released 2015-03-02
-------------------------------------

  - docker: initial release (#2736)

  - docs: initial release of CONTRIBUTING guide (#2163)

  - installation: MathJax distribution location update (#2732);
    disable SSLv2/SSLv3 in Apache config (#2515)

Invenio v1.1.4 -- released 2014-08-31
-------------------------------------

  - BibDocFile: FFT comment/description documentation (#635);
    duplicate docname fix (#1930); convert files and icons
    asynchronously (#1428)

  - BibEncode: fix video-encoded files synchro to DB (#1647)

  - BibRank: (Overflow|ZeroDivision)Error usability (#105 #2146)

  - BibSched: authorization typo fix in BibTasklet (#1746); more
    customizable icon creation tasklet; icons creation tasklet

  - BibSort: `last_updated` column name typo fix (#1408 #1742)

  - OAIRepository: OAI-PMH handler URL documented (#1027 #2152)

  - WebComment: attachments in multi-node setup

  - WebJournal: update demo "Article Header" style

  - WebSearch: disable meta tags for deleted records (#1680)

  - WebSession: CSRF token in API key settings form (#1855); CSRF
    tokens in account settings forms (#1855); Python-2.4 combatibility
    issue fix

  - WebSubmit: file stamper option to copy metadata (#1569); new
    Create_Modify_Interface parameters; value escaping for
    modifications (#1578); better value escaping (#1578); more
    customizable Link_Records function; no double-submit (#1020)

  - installation: GnuPG key server location update; location of
    jquery.treeview

  - jQuery: fix for DataTables dependency URL location (#2078)

  - sequtils: more robust cnum generation (#2119)

  - I18N: fix gender problem in a French translation (#2089)

Invenio v1.0.7 -- released 2014-08-31
-------------------------------------

  - BibDocFile: FFT comment/description documentation (#635);
    duplicate docname fix (#1930)

  - BibRank: (Overflow|ZeroDivision)Error usability (#105 #2146)

  - WebSession: CSRF tokens in account settings forms (#1855)

  - installation: GnuPG key server location update; location of
    jquery.treeview

  - I18N: fix gender problem in a French translation (#2089)

Invenio v1.1.3 -- released 2014-02-25
-------------------------------------

  - BatchUploader: rights to ::1 for robot upload; avoid
    tempfile.tempdir redefinition (#1594)

  - BibCatalog: no newlines in subject for RT plugin

  - BibDocFile: RHEL6 magic bindings support (#1466)

  - BibFormat: fix for BibTeX regression tests; better BibTeX title
    and collaboration

  - BibRank: temporary file storage in CFG_TMPDIR (#1594)

  - BibSword: author MARC tag definition fix

  - BibUpload: FFT replace warning in guide

  - I18N: PO file update for the release of v1.1.3; PO file update for
    the release of v1.0.6; PO file update for the release of v0.99.9;
    collection demo names for new translations

  - OAIHarvest: for for bad exception handling

  - OAIRepository: optional support for --notimechange

  - Travis CI: initial release of configuration

  - WebSearch: nonexisting record API test case fix (#1692); correct
    record sums from hosted colls (#1651); space between records in
    MARC HTML; fix for BibTeX regression tests; field-filtered MARCXML
    API output (#1591); more complete API regression test suite;
    get_fieldvalues_alephseq_like() utils; asciification of `oe`
    grapheme (#1582); bug fix for SPIRES date math search

  - WebSession: fix mail cookie expiration (#1596)

  - WebSubmit: fix for typo in Shared_Functions; optional pdftk
    regression tests

  - dbquery: closes redundant connection

  - git: addition of compile to gitignore; new entry in gitignore

  - global: language value always in link URLs

  - installation: pip requirement version updates; pip requirements;
    no user prompt for warnings; empty Travis configuration; location
    of jquery-1.7.1.min.js; location of flot; information about
    unidecode; fix autotools rsync instructions

  - intbitset: no crash when intbitset is on rhs (#1287)

  - inveniocfg: fix for mod_headers

  - kwalitee: list comprehensions instead of lambdas; compatibility
    with pylint 1.0.0

Invenio v1.0.6 -- released 2014-01-31
-------------------------------------

  - BatchUploader: avoid tempfile.tempdir redefinition (#1594)

  - BibRank: temporary file storage in CFG_TMPDIR (#1594)

  - BibUpload: FFT replace warning in guide

  - dbquery: closes redundant connection

  - global: language value always in link URLs

  - installation: fix autotools rsync instructions; pip requirements;
    pip requirement version updates

  - intbitset: no crash when intbitset is on rhs (#1287)

  - WebSearch: asciification of `oe` grapheme (#1582); correct record
    sums from hosted colls (#1651); nonexisting record API test case
    fix (#1692); space between records in MARC HTML

  - WebSession: fix mail cookie expiration (#1596)

  - WebSubmit: fix for typo in Shared_Functions

CDS Invenio v0.99.9 -- released 2014-01-31
------------------------------------------

  - temporary file storage in CFG_TMPDIR (BibRank)

Invenio v1.1.2 -- released 2013-08-19
-------------------------------------

  - BibAuthorID: fix in name comparisons (#1313 #1314); improvements
    and fixes; improvements, fixes and optimizations; UI and backend
    improvements

  - BibCatalog: removal of print statement (#1337)

  - BibClassify: escape keywords in tag cloud and MARCXML

  - BibDocFile: better JS washing in web UI; display file upload
    progress (#1020 #1021); display "Restricted" label correctly
    (#1299); fix check-md5 with bibdocfsinfo cache (#1249); fix
    check-md5 with bibdocfsinfo cache (#1249); fix error in calling
    register_download (#1311); handling of exceptions in Md5Folder
    (#1060); revert md5 property patch (#1249); support new magic
    library (#1207)

  - BibEncode: minor fix in process_batch_job()

  - BibFormat: additional fulltext file display in HB (#1219); checks
    for bibformat bin; fix CLI call to old PHP-based formatter; fixes
    unit tests (#1320); fix for fulltext file format; fix snippets for
    phrase queries (#1201); format_element initialisation fix; passing
    of user_info for Excel format; replacement of CDS Invenio by
    Invenio; setUp/tearDown in unit tests (#1319); skip hidden icons
    in OpenGraph image tag

  - BibIndex: better wording for stemming in admin UI; replacement of
    CDS Invenio by Invenio; synonym indexing speed up (#1484); use
    human friendly index name (#1329)

  - BibKnowledge: /kb/export 500 error fix; optional memoisation of
    KBR lookups (#1484)

  - BibMerge: delete cache file on submit

  - BibSched: bibupload max_priority check; bugfix for high-priority
    monotasks; increases size of monitor columns;
    parse_runtime_limit() fix (#1432); parse_runtime_limit() tests fix
    (#1432)

  - BibUpload: FMT regression test case fix (#1152); indicators in
    strong tags (#939)

  - CKEditor: updated to version 3.6.6

  - dateutils: strftime improvement (#1065); strptime for Python-2.4
    compatibility

  - errorlib: hiding bibcatalog info in exception body

  - global: test suite nosification

  - htmlutils: fix single quote escaping; improve js string escaping;
    MathJax 2.1 (#1050)

  - I18N: updates to Catalan and Spanish translations

  - installation: fix collectiondetailedrecordpagetabs (#1496); fix
    for jQuery hotkeys add-on URL (#1507); fix for MathJax OS X
    install issue (#1455); support for Apache-2.4 (#1552)

  - inveniocfg: tests runner file closure fix (#1327)

  - InvenioConnector: fix for CDS authentication; mechanize dependency

  - inveniogc: consider journal cache subdirs

  - memoiseutils: initial release

  - OAIHarvest: fix path for temporary authorlists; holding-pen UI
    bugfixes (#1401)

  - OAIRepository: CFG_OAI_REPOSITORY_MARCXML_SIZE; no bibupload -n

  - RefExtract: replacement of CDS Invenio by Invenio

  - WebAccess: fix variable parsing in robot auth (#1456); IP-based
    rules and offline user fix (#1233); replacement of CDS Invenio by
    InveniO

  - WebApiKey: renames unit tests to regression tests (#1324)

  - WebAuthorProfile: fix XSS vulnerability

  - WebComment: escape review "title"; escape review "title"

  - WebSearch: 410 HTTP code for deleted records; advanced search
    notification if no hits; better cleaning of word patterns; fix
    infinite synonym lookup cases (#804); handles "find feb 12"
    (#948); nicer browsing of fuzzy indexes (#1348); respect default
    `rg` in Advanced Search; SPIRES date math search fixes (#431
    #948); SPIRES invalid date search fix (#1467); tweaks SPIRES
    two-digit search; unit test disabling for CFG_CERN_SITE; unit test
    update (#1326)

  - WebSession: fix for list of admin activities (#1444); login_method
    changes; unit vs regression test suite cleanup

  - WebStat: use CFG_JOURNAL_TAG instead of 773/909C4 (#546)

  - WebSubmit: new websubmitadmin CLI (#1334); replacement of CDS

Invenio v1.0.5 -- released 2013-08-19
-------------------------------------

  - BibClassify: escape keywords in tag cloud and MARCXML

  - BibDocFile: support new magic library

  - BibFormat: additional fulltext file display in HB; fix CLI call to
    old PHP-based formatter; format_element initialisation fix

  - BibIndex: better wording for stemming in admin UI

  - BibKnowledge: /kb/export 500 error fix

  - BibUpload: FMT regression test case fix; indicators in strong tags

  - errorlib: hiding bibcatalog info in exception body

  - global: test suite nosification

  - installation: fix collectiondetailedrecordpagetabs; support for
    Apache-2.4

  - WebAccess: IP-based rules and offline user fix; replacement of CDS
    Invenio by InveniO

  - WebComment: escape review "title"

  - WebSearch: respect default `rg` in Advanced Search

  - WebSession: fix for list of admin activities; login_method changes

  - WebSubmit: new websubmitadmin CLI

CDS Invenio v0.99.8 -- released 2013-08-19
------------------------------------------

  - escape keywords in tag cloud and MARCXML (BibClassify)

  - fix CLI call to old PHP-based formatter; fix format_element
    initialisation (BibFormat)

  - better wording for stemming in admin UI (BibIndex)

  - IP-based rules and offline user fix (WebAccess)

  - escape review "title" (WebComment)

  - fix collectiondetailedrecordpagetabs (installation)

Invenio v1.1.1 -- released 2012-12-21
-------------------------------------

  - BatchUploader: error reporting improvements

  - BibAuthorID: arXiv login upgrade; fix for small bug in claim
    interface

  - BibConvert: fix bug with SPLITW function; target/source CLI flag
    description fix

  - BibDocFile: better error report for unknown format; explicit
    redirection to secure URL; fix for file upload in submissions

  - BibEdit: 'bibedit' CSS class addition to page body

  - BibFormat: clean Default_HTML_meta template; fix for js_quicktags
    location; ISBN tag update for meta format; "ln" parameter in
    bfe_record_url output; meta header output fix; relator code filter
    in bfe_authors; fix for reformatting by record IDs

  - errorlib: register_exception improvements

  - global: login link using absolute URL redirection

  - installation: aidUSERINPUTLOG consistency upgrade; bigger
    hstRECORD.marcxml size; fix for wrong name in tabcreate; inclusion
    of JS quicktags in tarball; mark upgrade recipes as applied;
    rephrase 1.1 upgrade recipe warning; safer upgrader bibsched
    status parse; strip spaces in CFG list values

  - jQuery: tablesorter location standardisation

  - mailutils: authentication and TLS support

  - OAIRepository: Edit OAI Set page bug fix; fix for OAI set editing;
    print_record() fixes

  - plotextractor: washing of captions and context

  - pluginutils: fix for failing bibformat test case

  - solrutils: addition of files into release tarball

  - WebAccess: admin interface usability improvement; guest unit tests
    for firerole

  - WebAlert: new regression tests for alerts

  - WebComment: cleaner handling of non-reply comments

  - WebJournal: better language handling in widgets; CERN-specific
    translation; explicit RSS icon dimensions; fix for
    CFG_TMPSHAREDDIR; fix for retrieval of deleted articles; search
    select form by name

  - WebSearch: fix for webcoll grid layout markup;
    get_all_field_values() typo; next-hit/previous-hit numbering fix;
    respect output format content-type; washing of 'as' argument

  - WebSession: fix for login-with-referer issue; fix for
    merge_usera_into_userb()

  - WebStyle: dumb page loading fix Google Analytics documentation
    update; memory leak fix in session handling; new /ping handler;
    removal of excess language box call; req.is_https() fix;

  - WebSubmit: display login link on /submit page; fix for
    Send_APP_Mail function; fix the approval URL for publiline

  - WebUser: fix for referer URL protocol

Invenio v1.0.4 -- released 2012-12-21
-------------------------------------

  - installation: inclusion of JS quicktags in tarball

  - bibdocfile: better error report for unknown format

  - WebAccess: admin interface usability improvement

Invenio v1.0.3 -- released 2012-12-19
-------------------------------------

  - BatchUploader: error reporting improvements

  - BibConvert: fix bug with SPLITW function; target/source CLI flag
    description fix

  - BibEdit: 'bibedit' CSS class addition to page body

  - BibFormat: fix for js_quicktags location

  - jQuery: tablesorter location standardisation

  - WebComment: cleaner handling of non-reply comments

  - WebJournal: explicit RSS icon dimensions; fix for
    CFG_TMPSHAREDDIR; fix for retrieval of deleted articles

  - WebSearch: external search pattern_list escape fix; respect output
    format content-type; washing of 'as' argument

  - WebStyle: dumb page loading fix; Google Analytics documentation
    update; memory leak fix in session handling; new /ping handler;
    removal of excess language box call; req.is_https() fix

  - WebSubmit: fix for Send_APP_Mail function

  - WebUser: fix for referer URL protocol

CDS Invenio v0.99.7 -- released 2012-12-18
------------------------------------------

  - Google Analytics documentation update (WebStyle)

  - target/source CLI flag description fix (BibConvert)

Invenio v1.1.0 -- released 2012-10-21
-------------------------------------

  - BatchUploader: RESTful interface, runtime checks, TextMARC input,
    job priority selection

  - BibAuthorID: new automatic author disambiguation and paper
    claiming facility

  - BibCatalog: storage of ticket requestor, default RT user

  - BibCirculation: security fixes

  - BibClassify: UI improvements and refactoring

  - BibConvert: new BibTeX-to-MARCXML conversion, new oaidmf2marcxml
    conversion, fixes for WORDS

  - BibDocFile: new filesystem cache for faster statistics, caseless
    authorisation, disable HTTP range requests, improve file format
    policies, and more

  - BibEdit: new options related to preview and printing, reference
    curation, autocompletion, record and field template manager,
    editing fields and subfields, per-collection authorisations, use
    of knowledge bases, and more

  - BibEditMulti: new actions with conditions on fields, partial
    matching for subfields, faster preview generation, and more

  - BibEncode: new audio and video media file processing tool, new
    Video demo collection

  - BibFormat: new full-text snippet display facility, new
    configuration for I18N caching, updates to EndNote, Excel, Dublin
    Core and other formats, updates to formatting elements such as
    DOI, author, updates to podcast output, updates to XSLT
    processing, and more

  - OAIHarvest: new configurable workflow with reference extraction,
    new author list extraction post process, upload priority, OpenAIRE
    compliance, better handling of timeouts, and more

  - BibIndex: new full-text indexing via Solr, new support for author
    ID indexing, better author tokeniser

  - BibKnowledge: dynamic knowledge bases for record editor, support
    for JSON format

  - BibMatch: new matching of restricted collections

  - BibMerge: subfield order in slave record, confirmation pop up,
    record selection bug fix

  - BibRank: new index term count ranking method, new support for flot
    graphs, updates to citation graphs

  - BibRecord: new possibility to use lxml parser, sanity checks

  - BibSched: new motd-like facility for queue monitor, new
    continuable error status for tasks, new tasklet framework, new
    multi-node support, new monotask support, new support for task
    sequences, improvements to scheduling algorithm

  - BibSort: new in-memory fast sorting tool using configurable
    buckets

  - BibUpload: new automatic generation of MARC tag 005, new
    `--callback-url` CLI parameter, fixes for appending existing
    files, fixes for multiple 001 tags, and more

  - WebAccess: new external person ID support, performance
    improvements, robot manager UI improvements, fixes for firerole
    handling,

  - WebAlert: new alert description facility, fixes for restricted
    collections

  - WebApiKey: new user-signed Web API key facility

  - WebAuthorProfile: new author pages with dynamic box layout

  - WebBasket: add to basket interface improvements, better XML
    export, fixes for external records and other improvements

  - WebComment: new collapsible comment support, new permalink to
    comments, loss prevention of unsubmitted comments, tidying up HTML
    markup of comments, and more

  - WebJournal: new Open Graph markup, more customisable newsletter,
    redirect to latest release of specific category, refresh chosen
    collections on release, remove unnecessary encoding/decoding,
    update weather widget for new APIs, and more

  - WebSearch: new index-time and search-time synonym support, new
    Open Graph markup, new Google Scholar friendly metadata in page
    header, new limit option for wildcard queries, new support for
    access to merged records, new next/previous/back link support, new
    `authorcount` indexing and searching, new relative date search
    facility, clean OpenSearch support, improved speed, improvements
    to SPIRES query syntax support, improvements to self-cite math,
    primary collection guessing, other numerous fixes

  - WebSession: new useful guest sessions, reintroduces configurable
    IP checking, enforcement of nickname refresh, several other fixes

  - WebStat: new login statistics, new custom query summary, error
    analyser, custom event improvements

  - WebStyle: new display restriction flag for restricted records, new
    initial right-to-left language support, authenticated user and
    HTTPS support, IP check for proxy configurations, layout updates
    and fixes for MSIE, and more

  - WebSubmit: new initial support for converting to PDF/X, new
    embargo support, better LibreOffice compatibility, better async
    file upload, enhancements for Link_Records, support for hiding
    HIDDEN files in document manager, configurable initial value for
    counter, make use of BibSched task sequences, and more

  - installation: updates to jQuery, CKEditor, unoconv, and other
    prerequisites

  - dbdump: new compression support, reworked error handling

  - dbquery: new possibility to query DB slave nodes, new dict-like
    output, fix for MySQL 5.5.3 and higher versions

  - errorlib: stack analysis improvements, outline style improvements
    for invenio.err

  - htmlutils: improvements to HTML markup removal, HTML tidying

  - I18N: new Arabic and Lithuanian translations, updates to Catalan,
    Czech, French, German, Greek, Italian, Russian, Slovak, Spanish
    translations

  - intbitset: new performance improvements, new get item support, new
    pickle support, several memory leak fixes

  - inveniocfg: new automated Invenio Upgrader tool

  - InvenioConnector: new search with retries, improved search
    parameters, improved local site check, use of Invenio user agent

  - jsonutils: new JSON utility library

  - mailutils: possibility to specify Reply-To header, fixes to
    multipart

  - plotextractor: better TeX detection, better PDF harvesting from
    arXiv, configurable sleep timer

  - pluginutils: new create_enhanced_plugin_builder API, external
    plugin loading

  - RefExtract: new daemon operation mode, new DOI recognition, better
    author recognition, new author knowledge base

  - remote debugger: new remote debuggng support

  - sequtils: new sequence generator tool

  - solrutils: new support for full-text query dispatching to Solr

  - testutils: new Selenium web test framework

  - textutils: updates to string-to-ascii functions, LaTeX symbols to
    Unicode

  - urlutils: fix for redirect_to_url

  - xmlmarclint: fix for error report formatting

  - ... and other numerous smaller fixes and improvements

Invenio v1.0.2 -- released 2012-10-19
-------------------------------------

  - BibConvert: fix for static files in admin guide

  - BibEdit: regression test case fix

  - BibFormat: fix call to bfe_primary_report_number; revert fix for
    format validation report

  - BibHarvest: OAI harvesting via HTTP proxy

  - BibRank: begin_date initialisation in del_recids(); INSERT DELAYED
    INTO rnkPAGEVIEWS; user-friendlier message for similar docs

  - BibUpload: clarify correct/replace mode help

  - WebJournal: catch ValueError when reading cache; use
    CFG_TMPSHAREDDIR in admin UI

  - WebSearch: allow webcoll to query hidden tags; external collection
    search fix; external search XSS vulnerability fix; fix for
    parentheses inside quotes; get_collection_reclist() fix; more uses
    of `rg` configurable default; 'verbose' mode available to admins
    only; XSS and verbose improvements

  - WebSession: fix possibly undefined variables; prevent nickname
    modification

  - WebStyle: workaround IE bug with cache and HTTPS

  - WebSubmit: configurable Document File Manager; fix JS check for
    mandatory fields; unoconv calling fix

  - bibdocfile: guess_format_from_url() improvement;
    guess_format_from_url() improvements; INSERT DELAYED INTO
    rnkDOWNLOADS

  - global: removal of psyco

  - I18N: Spanish and Catalan updates to Search Tips; updates to
    German translation

  - installation: fix for jQuery UI custom; fix md5sum example
    arguments; new index on session.session_expiry

  - intbitset: fix memory leak

  - inveniogc: tmp directory removal improvements

  - urlutils: MS Office redirection workaround

CDS Invenio v0.99.6 -- released 2012-10-18
------------------------------------------

  - improved XSS safety in external collection searching (WebSearch)

  - verbose level in the search results pages is now available only to
    admins, preventing potential restricted record ID disclosure even
    though record content would remain restricted (WebSearch)

Invenio v1.0.1 -- released 2012-06-28
-------------------------------------

  - BibFormat: fix format validation report; fix opensearch prefix
    exclusion in RSS; fix retrieval of collection identifier

  - BibIndex: new unit tests for the Greek stemmer

  - BibSched: improve low level submission arg parsing; set ERROR
    status when wrong params; task can stop immediately when sleeping

  - BibSword: remove dangling documentation

  - BibUpload: fix setting restriction in -a/-ir modes

  - WebAlert: simplify HTML markup

  - WebComment: only logged users to use report abuse

  - WebJournal: hide deleted records

  - WebSearch: adapt test cases for citation summary; fix collection
    order on the search page; look at access control when webcolling;
    sorting in citesummary breakdown links

  - WebSession: simplify HTML markup

  - WebSubmit: capitalise doctypes in Doc File Manager; check
    authorizations in endaction; check for problems when archiving;
    ensure unique tmp file name for upload; fix email formatting; fix
    Move_to_Done function; remove ``8564_`` field from demo templates;
    skip file upload if necessary; update CERN-specific config

  - bibdocfile: BibRecDocs recID argument type check

  - data cacher: deletes cache before refilling it

  - dbquery: fix dbexec CLI WRT max allowed packet

  - I18N: updates to Greek translation

  - installation: fix circular install-jquery-plugins; fix demo user
    initialisation; fix jQuery tablesorter download URL; fix jQuery
    uploadify download URL; more info about max_allowed_packet; remove
    unneeded rxp binary package

Invenio v1.0.0 -- released 2012-02-29
-------------------------------------

  - BatchUploader: fix retrieval of recs from extoaiid

  - BibCirculation: fix regexp for dictionary checking; security check
    before eval

  - BibConvert: fix UP and DOWN for UTF-8 strings

  - bibdocfile: add missing normalize_format() calls;
    check_bibdoc_authorization caseless; fix append WRT
    description/restriction; fix cli_set_batch function; fix
    documentation WRT --with-version; fix handling of embargo firerole
    rule; fix parsing of complex subformats

  - BibEdit: fix crash in Ajax request; fix undefined dictionary key

  - BibFormat: better escape BFE in admin test UI; do not exit if no
    XSLT processor found; fix regression test; fix URL to ejournal
    resolver; fix XSLT formatting of MARCXML snippets; removes 'No
    fulltext' message; special handling of INSPIRE-PUBLIC type; use
    default namespace in XSL

  - BibHarvest: check for empty resumptionToken; fix MARCXML creation
    in OAI updater; optional JSON dependency

  - BibIndex: fix author:Campbell-Wilson word query; fix
    double-stemming upon indexing; fix Porter stemmer in multithread;
    Greek stemmer improvements

  - BibKnowledge: make XML/XSLT libs optional

  - BibRank: CERN hack to inactivate similarity lists; fix citation
    indexer time stamp updating; fix citation indexing of deleted
    records; fix citedby/refersto for infinite sets; fix empty
    citation data cacher; fix incremental citation indexer leaks; make
    numpy optional; minimum x-axis in citation history graphs; run
    citation indexer after word indexer

  - BibRecord: fix for record_get_field_instances()

  - BibSched: fix guess_apache_process_user_from_ps; use larger
    timouts for launching tasks

  - BibUpload: FFT regression tests not to use CDS

  - htmlutils: fix FCKeditor upload URLs

  - installation: add note about optional hashlib; change table TYPE
    to ENGINE in SQL; fix 'install-mathjax-plugin'; fix issue with
    FCKeditor; fix 'make install-jquery-plugins'; fix output message
    cosmetics; new 'make install-ckeditor-plugin'; re-enable WSGI
    pre-loading

  - intbitset: fix never ending loop in __repr__; fix several memory
    leaks

  - inveniocfg: fix resetting ranking method names

  - inveniogc: new CLI options check/optimise tables

  - kwalitee: grep-like output and exit status changes; use
    `--check-some` as default CLI option

  - mailutils: remove unnecessary 'multipart/related'

  - plotextractor: fix INSPIRE unit test

  - textmarc2xmlmarc: fix handling of BOM

  - urlutils: new Indico request generator helper

  - WebAccess: fix Access policy page; fix FireRole handling integer
    uid; fix retrieving emails from firerole

  - WebAlert: fix the display of records in alerts

  - WebBasket: fix missing return statement; fix number of items in
    public baskets

  - WebComment: CERN-specific hack for ATLAS comments; fix discussion
    display in bfe_comments; fix washing of email to admin; improve
    sanity checks

  - WebHelp: HOWTO MARC document update

  - WebJournal: fix seminar widget encoding issue; fix seminar widget
    for new Indico APIs; update weather widget for new APIs

  - WebSearch: add refersto:/a b c/ example to guide; CERN-specific
    hack for journal sorting; CERN-specific hack for latest additions;
    fix case-insensitive collection search; fix CDSIndico external
    search; fix collection translation in admin UI; fix
    get_fieldvalues() when recid is str; fix
    get_index_id_from_field(); fix structured regexp query parsing;
    fix symbol name typo in loop checking; parenthesised collection
    definitions; remove accent-search warning in guide; remove Report
    for INSPIRE author pages; replace CDS Indico by Indico; updates
    some output phrases

  - WebSession: fix crash when no admin user exists

  - WebStyle: better service failure message; fix implementation of
    req.get_hostname; fluid width of the menu; pre-load citation
    dictionaries for web

  - WebSubmit: avoid printing empty doctype section;
    check_user_can_view_record in publiline; fix filename bug in
    document manager; fix handling of uploaded files; fix
    record_search_pattern in DEMOJRN

  - xmlmarclint: 'no valid record detected' error

  - I18N: updates to Catalan, Czech, French, German, Greek, Italian,
    Slovak, and Spanish translations

  - Note: for a complete list of new features in Invenio v1.0 release
    series over Invenio v0.99 release series, please see:
    <http://invenio-software.org/blog/invenio-1.0.0-rc0>

CDS Invenio v0.99.5 -- released 2012-02-21
------------------------------------------

  - improved sanity checks when reporting, voting, or replying to a
    comment, or when accessing comment attachments, preventing URL
    mangling attempts (WebComment)


CDS Invenio v0.99.4 -- released 2011-12-19
------------------------------------------

  - fixed double stemming during indexing (BibIndex)

  - fixed collection translation in admin UI (WebSearch)

  - fixed UP and DOWN functions for UTF-8 strings (BibConvert)

Invenio v1.0.0-rc0 -- released 2010-12-21
-----------------------------------------

  - CDS Invenio becomes Invenio as of this release

  - new facility of hosted collections; support for external records
    in search collections, user alerts and baskets (WebSearch,
    WebAlert, WebBasket)

  - support for nested parentheses in search query syntax (WebSearch)

  - new refersto/citedby search operators for second-order searches in
    citation map (BibRank, WebSearch)

  - numerous improvements to SPIRES query syntax parser (WebSearch)

  - enhancement to search results summaries, e.g. co-author lists on
    author pages, e.g. h-index (WebSearch)

  - new support for unAPI, Zotero, OpenSearch, AWS (WebSearch)

  - new phrase and word-pair indexes (BibIndex)

  - new fuzzy author name matching mode (BibIndex)

  - new time-dependent citation ranking family of methods (BibRank)

  - full-text search now shows context snippets (BibFormat)

  - improvements to the basket UI, basket export facility (WebBasket)

  - new support for FCKeditor in submissions and user comments,
    possibility to attach files (WebComment, WebSubmit)

  - commenting facility enhanced with rounds and threads (WebComment)

  - new facility to moderate user comments (WebComment)

  - enhanced CLI tool for document file management bringing new
    options such as hidden file flag (WebSubmit)

  - numerous improvements to the submission system, e.g. asynchronous
    JavaScript upload support, derived document formats, icon
    creation, support for automatic conversion of OpenOffice
    documents, PDF/A, OCR (WebSubmit)

  - new full-text file metadata reader/writer tool (WebSubmit)

  - new experimental SWORD protocol client application (BibSword)

  - complete rewrite of the record editor using Ajax technology for
    faster user operation, with new features such as field templates,
    cloning, copy/paste, undo/redo, auto-completion, etc (BibEdit)

  - new multi-record editor to alter many records in one go (BibEdit)

  - new Ajax-based record differ and merger (BibMerge)

  - new fuzzy record matching mode, with possibility to match records
    against remote Invenio installations (BibMatch)

  - new circulation and holdings module (BibCirculation)

  - new facility for matching provenance information when uploading
    records (BibUpload)

  - new possibility of uploading incoming changes into holding pen
    (BibUpload)

  - new batch uploader facility to support uploading of metadata files
    and of full-text files either in CLI or over web (BibUpload)

  - new record exporting module supporting e.g. Sitemap and Google
    Scholar export methods (BibExport)

  - improvements to the keyword classifier, e.g. author and core
    keywords (BibClassify)

  - new facility for external robot-like login method (WebAccess)

  - numerous improvements to the journal creation facility, new
    journal `Atlantis Times` demo journal (WebJournal)

  - refactored and improved OAI exporter and harvester (BibHarvest)

  - new taxonomy-based and dynamic-query knowledge base types
    (BibKnowledge)

  - possibility to switch on/off user features such as alerts and
    baskets based on RBAC rules (WebAccess and other modules)

  - various improvements to task scheduler, for example better
    communication with tasks, possibility to run certain bibsched
    tasks within given time limit, etc (BibSched)

  - new database dumper for backup purposes (MiscUtil)

  - new plotextractor library for extracting plots from compuscripts,
    new figure caption index and the Plots tab (MiscUtil, BibIndex,
    Webearch)

  - enhanced reference extrator, e.g. support for DOI, for author name
    recognition (MiscUtil)

  - new register emergency feature e.g. to alert admins by SMS in case
    the task queue stops (MiscUtil)

  - infrastructure move from mod_python to mod_wsgi, support for
    mod_xsendfile (WebStyle and many modules)

  - infrastructure move from jsMath to MathJax (MiscUtil)

  - some notable backward-incompatible changes: removed authentication
    methods related to Apache user and group files, changed BibFormat
    element's API (BibFormat, many modules)

  - new translations (Afrikaans, Galician, Georgian, Romanian,
    Kinyarwanda) plus many translation updates

  - other numerous improvements and bug fixes done in about 1600
    commits over Invenio v0.99 series

CDS Invenio v0.99.3 -- released 2010-12-13
------------------------------------------

  - fixed issues in the harvesting daemon when harvesting from more
    than one OAI repository (BibHarvest)

  - fixed failure in formatting engine when dealing with
    not-yet-existing records (BibFormat)

  - fixed traversal of final URL parts in the URL dispatcher
    (WebStyle)

  - improved bibdocfile URL recognition upon upload of MARC files
    (BibUpload)

  - fixed bug in admin interface for adding authorizations (WebAccess)

  - keyword extractor is now compatible with rdflib releases older
    than 2.3.2 (BibClassify)

  - output of `bibsched status` now shows the queue mode status as
    AUTOMATIC or MANUAL to help queue monitoring (BibSched)

CDS Invenio v0.99.2 -- released 2010-10-20
------------------------------------------

  - stricter checking of access to restricted records: in order to
    view a restricted record, users are now required to have
    authorizations to access all restricted collections the given
    record may belong to (WebSearch)

  - strict checking of user query history when setting up email
    notification alert, preventing URL mangling attempts (WebAlert)

  - fixed possible Unix signal conflicts for tasks performing I/O
    operations or running external processes, relevant notably to
    full-text indexing of remote files (BibSched)

  - fixed full-text indexing and improved handling of files of
    `unexpected` extensions (BibIndex, WebSubmit)

  - streaming of files of `unknown` MIME type now defaults to
    application/octet-stream (WebSubmit)

  - fixed addition of new MARC fields in the record editor (BibEdit)

  - fixed issues in full-text file attachment via MARC (BibUpload)

  - fixed authaction CLI client (WebAccess)

  - ... plus other minor fixes and improvements

CDS Invenio v0.99.1 -- released 2008-07-10
------------------------------------------

  - search engine syntax now supports parentheses (WebSearch)

  - search engine syntax now supports SPIRES query language
    (WebSearch)

  - strict respect for per-collection sort options on the search
    results pages (WebSearch)

  - improved parsing of search query with respect to non-existing
    field terms (WebSearch)

  - fixed "any collection" switch on the search results page
    (WebSearch)

  - added possibility for progressive display of detailed record page
    tabs (WebSearch)

  - added support for multi-page RSS output (WebSearch)

  - new search engine summarizer module with the cite summary output
    format (WebSearch, BibRank)

  - "cited by" links are now generated only when needed (WebSearch)

  - new experimental comprehensive author page (WebSearch)

  - stemming for many indexes is now enabled by default (BibIndex)

  - new intelligent journal index (BibIndex)

  - new logging of missing citations (BibRank)

  - citation indexer and searcher improvements and caching (BibRank)

  - new low-level task submission facility (BibSched)

  - new options in bibsched task monitor: view task options, log and
    error files; prune task to a history table; extended status
    reporting; failed tasks now need acknowledgement in order to
    restart the queue (BibSched)

  - safer handling of task sleeping and waking up (BibSched)

  - new experimental support for task priorities and concurrent task
    execution (BibSched)

  - improved user-configured browser language matching (MiscUtil)

  - new default behaviour not differentiating between guest users;
    this removes a need to keep sessions/uids for guests and robots
    (WebSession)

  - optimized sessions and collecting external user information (WebSession)

  - improved logging conflicts for external vs internal users
    (WebAccess)

  - improved Single Sign-On session preservation (WebAccess)

  - new 'become user' debugging facility for admins (WebAccess)

  - new bibdocfile CLI tool to manipulate full-text files archive
    (WebSubmit)

  - optimized redirection of old URLs (WebSubmit)

  - new icon creation tool in the submission input chain (WebSubmit)

  - improved full-text file migration tool (WebSubmit)

  - improved stamping of full-text files (WebSubmit)

  - new approval-related end-submission functions (WebSubmit)

  - comments and descriptions of full-text files are now kept also in
    bibdoc tables, not only in MARC; they are synchronized during
    bibupload (WebSubmit, BibUpload)

  - fixed navigation in public baskets (WebBasket)

  - added detailed record page link to basket records (WebBasket)

  - new removal of HTML markup in alert notification emails (WebAlert)

  - improved OAI harvester logging and handling (BibHarvest)

  - improved error checking (BibConvert)

  - improvements to the record editing tool: subfield order change,
    repetitive subfields; improved record locking features;
    configurable per-collection curators (BibEdit)

  - fully refactored WebJournal module (WebJournal)

  - new RefWorks output format, thanks to Theodoros Theodoropoulos
    (BibFormat)

  - fixed keyword detection tool's output; deactivated taxonomy
    compilation (BibClassify)

  - new /stats URL for administrators (WebStat)

  - better filtering of unused translations (WebStyle)

  - updated French, Italian, Norwegian and Swedish translations;
    updated Japanese translation (thanks to Makiko Matsumoto and Takao
    Ishigaki); updated Greek translation (thanks to Theodoros
    Theodoropoulos); new Hungarian translation (thanks to Eva Papp)

  - ... plus many other minor bug fixes and improvements

CDS Invenio v0.99.0 -- released 2008-03-27
------------------------------------------

  - new Invenio configuration language, new inveniocfg configuration
    tool permitting more runtime changes and enabling separate local
    customizations (MiscUtil)

  - phased out WML dependency everywhere (all modules)

  - new common RSS cache implementation (WebSearch)

  - improved access control to the detailed record pages (WebSearch)

  - when searching non-existing collections, do not revert to
    searching in public Home anymore (WebSearch)

  - strict calculation of number of hits per multiple collections
    (WebSearch)

  - propagate properly language environment in browse pages, thanks to
    Ferran Jorba (WebSearch)

  - search results sorting made accentless, thanks to Ferran Jorba
    (WebSearch)

  - new OpenURL interface (WebSearch)

  - added new search engine API argument to limit searches to record
    creation/modification dates and times instead of hitherto creation
    dates only (WebSearch)

  - do not allow HTTP POST method for searches to prevent hidden
    mining (WebSearch)

  - added alert and RSS teaser for search engine queries (WebSearch)

  - new optimized index structure for fast integer bit vector
    operations, leading to significant indexing time improvements
    (MiscUtil, BibIndex, WebSearch)

  - new tab-based organisation of detailed record pages, with new URL
    schema (/record/1/usage) and related CSS changes (BibFormat,
    MiscUtil, WebComment, WebSearch, WebStyle, WebSubmit)

  - phased out old PHP based code; migration to Python-based output
    formats recommended (BibFormat, WebSubmit)

  - new configurability to show/hide specific output formats for
    specific collections (BibFormat, WebSearch)

  - new configurability to have specific stemming settings for
    specific indexes (BibIndex, WebSearch)

  - optional removal of LaTeX markup for indexer (BibIndex, WebSearch)

  - performance optimization for webcoll and optional arguments to
    refresh only parts of collection cache (WebSearch)

  - optional verbosity argument propagation to the output formatter
    (BibFormat, WebSearch)

  - new convenient reindex option to the indexer (BibIndex)

  - fixed problem with indexing of some lengthy UTF-8 accented names,
    thanks to Theodoros Theodoropoulos for reporting the problem
    (BibIndex)

  - fixed full-text indexing of HTML pages (BibIndex)

  - new Stemmer module dependency, fixes issues on 64-bit systems
    (BibIndex)

  - fixed download history graph display (BibRank)

  - improved citation ranking and history graphs, introduced
    self-citation distinction, added new demo records (BibRank)

  - fixed range redefinition and output message printing problems in
    the ranking indexer, thanks to Mike Marino (BibRank)

  - new XSLT output formatter support; phased out old BFX formats
    (BibFormat)

  - I18N output messages are now translated in the output formatter
    templates (BibFormat)

  - formats fixed to allow multiple author affiliations (BibFormat)

  - improved speed of the record output reformatter in case of large
    sets (BibFormat)

  - support for displaying LaTeX formulas via JavaScript (BibFormat)

  - new and improved output formatter elements (BibFormat)

  - new escaping modes for format elements (BibFormat)

  - output format template editor cache and element dependency
    checker improvements (BibFormat)

  - output formatter speed improvements in PHP-compatible mode
    (BibFormat)

  - new demo submission configuration and approval workflow examples
    (WebSubmit)

  - new submission full-text file stamper utility (WebSubmit)

  - new submission icon-creation utility (WebSubmit)

  - separated submission engine and database layer (WebSubmit)

  - submission functions can now access user information (WebSubmit)

  - implemented support for restricted icons (WebSubmit, WebAccess)

  - new full-text file URL and cleaner storage facility; requires file
    names to be unique within a given record (WebSearch, WebSubmit)

  - experimental release of the complex approval and refereeing
    workflow (WebSubmit)

  - new end-submission functions to move files to storage space
    (WebSubmit)

  - added support for MD5 checking of full-text files (WebSubmit)

  - improved behaviour of the submission system with respect to the
    browser "back" button (WebSubmit)

  - removed support for submission "cookies" (WebSubmit)

  - flexible report number generation during submission (WebSubmit)

  - added support for optional filtering step in the OAI harvesting
    chain (BibHarvest)

  - new text-oriented converter functions IFDEFP, JOINMULTILINES
    (BibConvert)

  - selective harvesting improvements, sets, non-standard responses,
    safer resumption token handling (BibHarvest)

  - OAI archive configuration improvements: collections retrieval,
    multiple set definitions, new clean mode, timezones, and more
    (BibHarvest)

  - OAI gateway improvements: XSLT used to produce configurable output
    (BibHarvest)

  - added support for "strong tags" that can resist metadata replace
    mode (BibUpload)

  - added external OAI ID tag support to the uploader (BibUpload)

  - added support for full-text file transfer during uploading
    (BibUpload)

  - preserving full history of all MARCXML versions of a record
    (BibEdit, BibUpload)

  - XMLMARC to TextMarc improvements: empty indicators and more
    (BibEdit)

  - numerous reference extraction tool improvements: year handling,
    LaTeX handling, URLs, journal titles, output methods, and more
    (BibEdit)

  - new classification daemon (BibClassify)

  - classification taxonomy caching resulting in speed optimization
    (BibClassify)

  - new possibility to define more than one keyword taxonomy per
    collection (BibClassify)

  - fixed non-standalone keyword detection, thanks to Annette Holtkamp
    (BibClassify)

  - new embedded page generation profiler (WebStyle)

  - new /help pages layout and webdoc formatting tool (WebStyle)

  - new custom style template verification tool (WebStyle)

  - added support for the XML page() output format, suitable for AJAX
    interfaces (WebStyle)

  - introduction of navigation menus (WebStyle)

  - general move from HTML to XHTML markup (all modules)

  - fixed alert deletion tool vulnerability (WebAlert)

  - do not advertise baskets/alerts much for guest users; show only
    the login link (WebSession)

  - password reset interface improvements (WebSession)

  - new permanent "remember login" mechanism (WebSession, WebAccess)

  - local user passwords are now encrypted (WebSession, WebAccess)

  - new LDAP external authentication plugin (WebAccess)

  - new password reset mechanism using new secure mail cookies and
    temporary role membership facilities (WebAccess, WebSession)

  - added support for Single Sign-On Shibboleth based authentication
    method (WebAccess)

  - new firewall-like based role definition language, new demo
    examples (WebAccess)

  - external authentication and groups improvements: nicknames,
    account switching, and more (WebSession, WebAccess)

  - task log viewer integrated in the task monitor (BibSched)

  - new journal creation module (WebJournal)

  - new generic statistic gathering and display facility (WebStat)

  - deployed new common email sending facility (MiscUtil, WebAlert,
    WebComment, WebSession, WebSubmit)

  - dropped support for MySQL-4.0, permitting to use clean and strict
    UTF-8 storage methods; upgrade of MySQLdb to at least 1.2.1_p2
    required (MiscUtil)

  - uncatched exceptions are now being sent by email to the
    administrator (MiscUtil, WebStyle)

  - new general garbage collector with a possibility to run via the
    task scheduler and a possibility to clean unreferenced
    bibliographic values (MiscUtil)

  - new generic SQL and data cacher (MiscUtil)

  - new HTML page validator plugin (MiscUtil)

  - new web test suite running in a real browser (MiscUtil)

  - improved code kwalitee checker (MiscUtil)

  - translation updates: Spanish and Catalan (thanks to Ferran Jorba),
    Japanese (Toru Tsuboyama), German (Benedikt Koeppel), Polish
    (Zbigniew Szklarz and Zbigniew Leonowicz), Greek (Theodoros
    Theodoropoulos), Russian (Yana Osborne), Swedish, Italian, French

  - new translations: Chinese traditional and Chinese simplified
    (thanks to Kam-ming Ku)

  - ... plus many other minor bug fixes and improvements

CDS Invenio v0.92.1 -- released 2007-02-20
------------------------------------------

  - new support for external authentication systems (WebSession,
    WebAccess)

  - new support for external user groups (WebSession)

  - new experimental version of the reference extraction program
    (BibEdit)

  - new optional Greek stopwords list, thanks to Theodoropoulos
    Theodoros (BibIndex)

  - new Get_Recid submission function (WebSubmit)

  - new config variable governing the display of the download history
    graph (BibRank)

  - started deployment of user preferences (WebSession, WebSearch)

  - split presentation style for "Narrow search", "Focus on" and
    "Search also" search interface boxes (WebSearch, WebStyle)

  - updated CERN Indico and KEK external collection searching facility
    (WebSearch)

  - fixed search interface portalbox and collection definition
    escaping behaviour (WebSearch Admin)

  - fixed problems with external system number and OAI ID matching
    (BibUpload)

  - fixed problem with case matching behaviour (BibUpload)

  - fixed problems with basket record display and basket topic change
    (WebBasket)

  - fixed output format template attribution behaviour (BibFormat)

  - improved language context propagation in output formats
    (BibFormat)

  - improved output format treatment of HTML-aware fields (BibFormat)

  - improved BibFormat migration kit (BibFormat)

  - improved speed and eliminated set duplication of the OAI
    repository gateway (BibHarvest)

  - fixed resumption token handling (BibHarvest)

  - improved record editing interface (BibEdit)

  - fixed problem with empty fields treatment (BibConvert)

  - updated Report_Number_Generation submission function to be able to
    easily generate report numbers from any submission information
    (WebSubmit)

  - fixed problem with submission field value escaping (WebSubmit)

  - fixed problem with submission collection ordering (WebSubmit)

  - fixed BibSched task signal handling inconsistency (BibSched)

  - fixed TEXT versus BLOB database problems for some tables/columns

  - minor updates to the HOWTO Migrate guide and several admin guides
    (WebHelp, BibIndex, BibFormat)

  - minor bugfixes to several modules; see ChangeLog for details and
    credits

CDS Invenio v0.92.0 -- released 2006-12-22
------------------------------------------

  - previously experimental output formatter in Python improved and
    made default (BibFormat)

  - previously experimental new submission admin interface in Python
    improved and made default (WebSubmit)

  - new XML-oriented output formatting mode (BibFormat)

  - new export-oriented output formats: EndNote, NLM (BibFormat)

  - RSS 2.0 latest additions feed service (WebSearch, BibFormat)

  - new XML-oriented metadata converter mode (BibConvert)

  - new metadata uploader in Python (BibUpload)

  - new integrated parallel external collection searching (WebSearch)

  - improved document classifier: composite keywords, wildcards, cloud
    output (BibClassify)

  - improved UTF-8 fulltext indexing (BibIndex)

  - improved external login authentication subsystem (WebAccess)

  - added possibility to order submission categories (WebSubmit)

  - improved handling of cached search interface page formats,
    preferential sort pattern functionality, international collection
    names (WebSearch)

  - improved behaviour of OAI harvester: sets, deleted records,
    harvested metadata transformation (BibHarvest)

  - improved MARCXML schema compatibility concerning indicators;
    updates to the HTML MARC output format (BibEdit, BibUpload,
    BibFormat, and other modules)

  - multiple minor bugs fixed thanks to the wider deployment of the
    regression test suite (all modules)

  - new translation (Croatian) and several translation updates
    (Catalan, Bulgarian, French, Greek, Spanish); thanks to Ferran
    Jorba, Beatriu Piera, Alen Vodopijevec, Jasna Marković, Theodoros
    Theodoropoulos, and Nikolay Dyankov (see also THANKS file)

  - removed dependency on PHP; not needed anymore

  - full compatibility with MySQL 4.1 and 5.0; upgrade from MySQL 4.0
    now recommended

  - full compatibility with FreeBSD and Mac OS X

CDS Invenio v0.90.1 -- released 2006-07-23
------------------------------------------

  - output messages improved and enhanced to become more easily
    translatable in various languages (all modules)

  - new translation (Bulgarian) and several updated translations
    (Greek, French, Russian, Slovak)

  - respect langugage choice in various web application links
    (WebAlert, WebBasket, WebComment, WebSession, WebSubmit)

  - fixed problem with commenting rights in a group-shared basket that
    is also a public basket with lesser rights (WebBasket)

  - guest users are now forbidden to share baskets (WebBasket)

  - fixed guest user garbage collection, adapted to the new baskets
    schema (WebSession)

  - added possibility to reject group membership requests; sending
    informational messages when users are approved/refused by group
    administrators (WebSession)

  - experimental release of the new BibFormat in Python (BibFormat)

  - started massive deployment of the regression test suite, checking
    availability of all web interface pages (BibEdit, BibFormat,
    BibHarvest, BibIndex, BibRank, MiscUtil, WebAccess, WebBasket,
    WebComment, WebMessage, WebSearch, WebSession, WebSubmit)

  - updated developer documentation (I18N output messages policy, test
    suite policy, coding style)

CDS Invenio v0.90.0 -- released 2006-06-30
------------------------------------------

  - formerly known as CDSware; the application name change clarifies
    the relationship with respect to the CDS Sofware Consortium
    producing two flagship applications (CDS Indico and Invenio)

  - version number increased to v0.90 in the anticipation of the
    forthcoming v1.0 release after all the major codebase changes are
    now over

  - new possibility to define user groups (WebGroup)

  - new personal basket organization in topics (WebBasket)

  - new basket sharing among user groups (WebBasket)

  - new open peer reviewing and commenting on documents (WebComment)

  - new user and group web messaging system (WebMessage)

  - new ontology-based document classification system (BibClassify)

  - new WebSubmit Admin (WebSubmit)

  - new record editing web interface (BibEdit)

  - new record matching tool  (BibMatch)

  - new OAI repository administration tool (BibHarvest)

  - new OAI periodical harvesting tool (BibHarvest)

  - new web layout templating system (WebStyle)

  - new clean URL schema (e.g. /collection/Theses, /record/1234)
    (WebStyle)

  - new BibTeX output format support (BibFormat)

  - new possibility of secure HTTPS authentication while keeping the
    rest of the site non-HTTPS (WebSession)

  - new centralized error library (MiscUtil)

  - new gettext-based international translations, with two new beta
    translations (Japanese, Polish)

  - new regression testing suite framework (MiscUtil)

  - new all prerequisites are now apt-gettable for Debian "Sarge"
    GNU/Linux

  - new full support for Mac OS X

  - ... plus many fixes and changes worth one year of development

CDSware v0.7.1 -- released 2005-05-04
-------------------------------------

  - important bugfix for bibconvert's "source data in a directory"
    mode, as invoked by the web submission system (BibConvert)

  - minor bugfix in the search engine, thanks to Frederic Gobry
    (WebSearch)

  - minor bugfix in the WebSearch Admin interface (WebSearch)

  - automatic linking to Google Print in the "Haven't found what you
    were looking for..." page box (WebSearch)

  - BibFormat Admin Guide cleaned, thanks to Ferran Jorba

  - new Catalan translation, thanks to Ferran Jorba

  - updated Greek and Portuguese translations, thanks to Theodoros
    Theodoropoulos and FlÃ¡vio C. Coelho

  - updated Spanish translation

CDSware v0.7.0 -- released 2005-04-06
-------------------------------------

  - experimental release of the refextract program for automatic
    reference extraction from PDF fulltext files (BibEdit)

  - experimental release of the citation and download ranking tools
    (BibRank)

  - new module for gathering usage statistics out of Apache log files
    (WebStat)

  - new similar-records-navigation tool exploring end-user viewing
    habits: "people who viewed this page also viewed" (WebSearch,
    BibRank)

  - OAI gateway validated against OAI Repository Explorer (BibHarvest)

  - fixed "records modified since" option for the indexer (BibIndex)

  - collection cache update is done only when the cache is not up to
    date (WebSearch) [closing #WebSearch-016]

  - cleanup of user login mechanism (WebSession, WebAccess)

  - fixed uploading of already-existing records in the insertion mode
    (BibUpload)

  - fixed submission in UTF-8 languages (WebSubmit)

  - updated HOWTO Run Your Existing CDSware Installation (WebHelp)

  - test suite improvements (WebSearch, BibHarvest, BibRank,
    BibConvert)

  - German translation updated and new German stopwords list added,
    thanks to Guido Pelzer

  - new Greek and Ukrainian translations, thanks to Theodoros
    Theodoropoulos and Vasyl Ostrovskyi

  - all language codes now comply to RFC 1766 and ISO 639

  - numerous other small fixes and improvements, with many
    contributions by the EPFL team headed by Frederic Gobry
    (BibConvert, BibUpload, WebSearch, WebSubmit, WebSession)

CDSware v0.5.0 -- released 2004-12-17
-------------------------------------

  - new rank engine, featuring word similarity rank method and the
    journal impact factor rank demo (BibRank)

  - search engine includes ranking option (WebSearch)

  - record similarity search based on word frequency (WebSearch,
    BibRank)

  - stopwords possibility when ranking and indexing (BibRank, BibIndex)

  - stemming possibility when ranking and indexing (BibRank, BibIndex)

  - search engine boolean query processing stages improved (WebSearch)

  - search engine accent matching in phrase searches (WebSearch)

  - regular expression searching mode introduced into the Simple
    Search interface too (WebSearch)

  - Search Tips split into a brief Search Tips page and detailed
    Search Guide page (WebSearch)

  - improvements to the "Try your search on'' hints (WebSearch)"

  - author search hints introduced (WebSearch)

  - search interface respects title prologue/epilogue portalboxes
    (WebSearch)

  - improvements to admin interfaces (WebSearch, BibIndex, BibRank,
    WebAccess)

  - basket item ordering problem fixed (WebBasket)

  - access error messages introduced (WebAccess and its clients)

  - new account management to enable/disable guest users and
    automatic vs to-be-approved account registration (WebAccess)

  - possibility for temporary read-only access to, and closure of, the
    site; useful for backups (WebAccess and its clients)

  - possibility for external authentication login methods (WebAccess)

  - new XML MARC handling library (BibEdit)

  - when uploading, bad XML records are marked as errors (BibUpload)

  - improvements to the submission engine and its admin interface,
    thanks to Tiberiu Dondera (WebSubmit)

  - preparations for electronic mail submission feature, not yet
    functional (ElmSubmit)

  - added example on MARC usage at CERN (WebHelp)

  - legacy compatibility with MySQL 3.23.x assured (BibUpload)

  - legacy compatibility with Python 2.2 assured (WebSubmit)

  - test suite additions and corrections (BibRank, BibIndex,
    WebSearch, BibEdit)

  - French translation fixes, thanks to Eric Grand

  - minor Czech and Slovak translation cleanup

CDSware v0.3.3 (DEVELOPMENT) -- released 2004-07-16
---------------------------------------------------

  - new international phrases, collection and field names; thanks to
    Guido, Flavio, Tullio

  - collection international names are now respected by the search
    engine and interfaces (WebSearch)

  - field international names are now respected by the search
    engine and interfaces (WebSearch)

  - when no hits found in a given collection, do not display all
    public hits straight away but only link to them (WebSearch)

  - records marked as DELETED aren't shown anymore in XML MARC and
    other formats (WebSearch)

  - detailed record page now features record creation and modification
    times (WebSearch)

  - improved XML MARC parsing and cumulative record count in case of
    uploading of several files in one go (BibUpload)

  - personal `your admin activities` page introduced (WebSession)

  - added option to fulltext-index local files only (BibIndex)

  - initial release of the BibIndex Admin interface (BibIndex)

  - checking of mandatory selection box definitions (WebSubmit)

  - WebSearch Admin interface cleanup (WebSearch)

  - introducing common test suite infrastructure (WebSearch, BibIndex,
    MiscUtil, WebHelp)

  - fixed accent and link problems for photo demo records (MiscUtil)

  - conference title exported via OAI XML DC (BibHarvest)

  - enabled building out of source directory; thanks to Frederic

CDSware v0.3.2 (DEVELOPMENT) -- released 2004-05-12
---------------------------------------------------

  - admin area improved: all the modules have now Admin Guides; some
    guides were updated, some are still to be updated (WebHelp,
    BibConvert, BibFormat, BibIndex, BibSched, WebAlert, WebSession,
    WebSubmit, BibEdit, BibHarvest, BibRank, BibUpload, WebAccess,
    WebBasket, WebSearch, WebStyle)

  - initial release of the WebSearch Admin interface (WebSearch)

  - initial release of the BibRank Admin interface (BibRank)

  - search cache expiry after insertion of new records (WebSearch)

  - search engine now does on-the-fly formatting via BibFormat CLI

    call to handle restricted site situations (WebSearch)
  - webcoll default verbosity decreased for efficiency (WebSearch)

  - added BibConvert configuration example for converting XML Dublin
    Core to XML MARC (BibConvert)

  - BibConvert knowledge base mode extended by various case-sensitive
    matching possibilities (BibConvert)

  - fixed various problems with fulltext file names and the submission
    from MS Windows platform (WebSubmit)

  - fixed problem with bibupload append mode not updating XML MARC
    properly (BibUpload)

  - fixed small problems with the submission interface such as
    multiple fields selection (WebSubmit)

  - session revoking and session expiry strengthened (WebSession)

  - page design and style sheet updated to better fit large variety of
    browsers (WebStyle)

  - added output format argument for basket display (WebBasket)

  - new Swedish translation and updated German, Russian, and Spanish
    translations; thanks to Urban, Guido, Lyuba, and Magaly

  - faster creation of I18N static HTML and PHP files during make

CDSware v0.3.1 (DEVELOPMENT) -- released 2004-03-12
---------------------------------------------------

  - security fix preventing exposure of local configuration variables
    by malicious URL crafting (WebSearch, WebSubmit, WebAlert,
    WebBasket, WebSession, BibHarvest, MiscUtil)

  - initial release of the ranking engine (BibRank)

  - new guide on HOWTO Run Your CDSware Installation (WebHelp)

  - fixed submit configurations with respect to fulltext links and
    metadata tags (WebSubmit, MiscUtil)

  - Your Account personal corner now shows the list and the status
    of submissions and approvals (WebSession)

  - uniform help and version number option for CLI executables
    (WebSearch, BibSched, BibIndex, BibRank, BibHarvest, BibConvert,
    WebAccess, BibFormat, WebSession, WebAlert)

  - uniform technique for on-the-fly formatting of search results via
    `hb_` and `hd_` output format parameters (WebSearch)

  - check for presence of pcntl and mysql PHP libraries (BibUpload)

CDSware v0.3.0 (DEVELOPMENT) -- released 2004-03-05
---------------------------------------------------

  - new development branch release (important SQL table changes)

  - introducing a new submission engine and the end-user web
    interface (WebSubmit)

  - bibupload is now a BibSched task with new options (BibUpload)

  - BibWords renamed into BibIndex in the view of future phrase
    indexing changes (BibIndex)

  - more secure DB server connectivity (BibSched)

  - record matching functionality (BibConvert)

  - character encoding conversion tables (BibConvert)

  - Qualified Dublin Core conversion example (BibConvert)

  - OAI deleted records policy can now be specified (BibHarvest)

  - multi-language collection portalboxes (WebSearch)

  - HTML pages now respect language selections (WebSearch, WebHelp)

  - minor layout changes (WebStyle)

  - updated Russian and other translations

  - ChangeLog is now generated from CVS log messages

  - plus the usual set of bugfixes (see ChangeLog)

CDSware v0.1.2 (DEVELOPMENT) -- released 2003-12-21
---------------------------------------------------

  - development branch release

  - fix BibReformat task launching problem (BibFormat)

  - fix BibTeX -> XML MARC conversion example (BibConvert)

  - updated Spanish translation

CDSware v0.1.1 (DEVELOPMENT) -- released 2003-12-19
---------------------------------------------------

  - development branch release

  - access control engine now used by BibWords, BibFormat (admin and
    bibreformat), WebSearch (webcoll), and BibTaskEx

  - access control engine admin guide started (WebAccess)

  - search engine support for sorting by more than one field (WebSearch)

  - more internationalization of the search engine messages (WebSearch)

  - new language: Norwegian (bokmÃ¥l)

  - simple example for converting BibTeX into XML MARC (BibConvert)

  - new optional --with-python configuration option

  - Python module detection during configure

  - bugfixes: os.tempnam() warning, login page referer, and others

CDSware v0.1.0 (DEVELOPMENT) -- released 2003-12-04
---------------------------------------------------

  - development branch release

  - search engine redesign to yield five times more search performance
    for larger sites (WebSearch, BibWords)

  - fulltext indexation of PDF, PostScript, MS Word, MS PowerPoint and
    MS Excel files (WebSearch)

  - integrated combined metadata/fulltext/citation search (WebSearch)

  - multi-stage search guidance in cases of no exact match (WebSearch)

  - OAI-PMH harvestor (BibHarvest)

  - bibliographic task scheduler (BibSched)

  - automatic daemon mode of the indexer, the formatter and the
    collection cache generator (BibWords, BibFormat, WebSearch)

  - user management and session handling rewrite (WebSession)

  - user personalization, document baskets and notification alert
    system (WebBasket, WebAlert)

  - role-based access control engine (WebAccess)

  - internationalization of the interface started (currently with
    Czech, German, English, Spanish, French, Italian, Portuguese,
    Russian, and Slovak support)

  - web page design update (WebStyle)

  - introduction of programmer-oriented technical documentation corner
    (WebHelp)

  - source tree reorganization, mod_python technology adopted for most
    of the modules

CDSware v0.0.9 (STABLE) -- released 2002-08-01
----------------------------------------------

  - first "public" alpha release of CDSware

  - recently standardized Library of Congress' MARC XML schema adopted
    in all CDSware modules as the new default internal XML file format
    (BibConvert, BibFormat, BibUpload, WebSubmit, WebSearch)

  - support for OAI-PMH v2.0 in addition to OAI-PMH v1.1 (WebSearch)

  - search interface now honors multiple output formats per collection
    (BibFormat, WebSearch)

  - search interface now honors search fields, search options, and
    sort options from the database config tables (WebSearch,
    WebSearch Admin)

  - search interface now honors words indexes from the database config
    tables (BibWords, WebSearch)

  - easy reformatting of already uploaded bibliographic records via
    web admin. tool (BibFormat Admin/Reformat Records)

  - new submission form field type ("response") allowing
    greater flexibility (WebSubmit) [thanks to Frank Sudholt]

  - demo site "Atlantis Institute of Science" updated to demonstrate:
    Pictures collection of photographs; specific per-collection
    formats; references inside Articles and Preprints; "cited by"
    search link; published version linking; subject category
    searching; search within, search options, sort options in the web
    collection pages.
