Skip to content

Latest commit

 

History

History
387 lines (307 loc) · 15.3 KB

CHANGELOG.rst

File metadata and controls

387 lines (307 loc) · 15.3 KB

Change & Version Information

The following is a summary of changes and improvements to :mod:`eulfedora`.

1.7.2

  • Fix UTF-8 issue introduced in 1.5 (for details, see discussion on PR #21)
  • Updated for compatibility with requests 2.11
  • Fix XmlDatastream options being overwritten when defaults are not specified #7
  • Code cleanup based on landscape.io reports
  • Several improvements and fixes for repo-cp and syncutil:
    • Refined datastream regular expression: more accurately grab the correct datastream id and checksum, avoiding spurious checksum errors; always grab the last match found, in case a section includes multiple datastream versions
    • Expose verify option in the repo-cp script options (MD5 decoded content)
    • Fix omit checksums regular expression to work under Python 3
    • Improve the explanation for the archive xml sync option
    • Update ReadableIterator to handle inaccurate sizes provided in the Fedora export datastream info for some objects
    • Add logging and expose it in repo-cp script via verbosity option

1.7.1

  • Fix unit test imports so tests can be run without Django

1.7

  • Updated syncrepo for Django 1.9+ compatibility
  • Improved django-debug-toolbar integration and updated for current version.
  • Configured continuous integration on travis-ci.
  • Updated unit tests so they can be run with or without Django installed, and work for multiple versions of Django. Configured travis-ci to test against multiple versions of Django and without Django.
  • Fixed missing django view documentation on readthedocs #20,

1.6

  • New custom django-debug-toolbar panel to view Fedora API requests. used to generate a django page.
  • Clarify confusing documentation for setting content on DatastreamObject and FileDatastreamObject. Thanks to @bcail. #20, PR #21
  • New Django exception filter eulfedora.util.SafeExceptionReporterFilter to suppress Fedora session password when an exception occurs within the API request
  • Add retries option to :class:`eulfedora.server.Repository` to configure requests max retries when making API calls, in case of errors establishing the connection. (Defaults to 3; configurable in Django settings as FEDORA_CONNECTION_RETRIES)

1.5.2

1.5.1

  • Bugfix: datastream isModified detection error in some cases when XML content is empty, resulting in errors attempting to save (especially when the datastream does not exist; cannot add with no content)

1.5

1.4

1.3.1

  • Require a version of python-requests earlier than 2.9 (2.9 includes change to upload behavior for file-like objects that breaks eulfedora api uploads as currently handled in eulfedora).

1.3

1.2

  • Change checksum handling to cue Fedora to auto-generate checksums on ingest.
  • Recommended: Fedora 3.7+ for automatic checksum support on ingest

Note

This checksum change in this release is a work-around for a Fedora bug present in 3.8 (at least, possibly 3.7), where passing a checksum type with no checksum value results in in Fedora storing an empty checksum, where previously it would calculate and store a checksum. On ingest, if a checksum type but no checksum value is specified, no checksum information will be sent to Fedora (when checksum type and checksum value are both specified, they will be passed through to Fedora normally). If you have auto-checksumming configured in Fedora, then your checksums should be generated automatically. Note that auto- checksum functionality on ingest was broken until Fedora 3.7 (see https://jira.duraspace.org/browse/FCREPO-1047); if you are still using an older version of Fedora and need checksums generated at ingest, you should use eulfedora 1.1.

1.1

Note

Differentiating Fedora error messages in some versions of Fedora (somewhere after 3.4.x, applicable to at least 3.7 and 3.8, possibly earlier versions) requires that Fedora be configured to include the error message in the response, as described at https://groups.google.com/forum/#!topic/fedora-tech/PAv1LYWPW0k

1.0

Note

API methods that previously returned a tuple of response content and the url now simply return the response object, which provides access to both content and url (among other information). Server and DigitalObject classes should behave as before, but API methods are not backward-compatible.

Warning

The API upload method filesize is limited by the system maxint (2GB on 32-bit OSes) due to a limitation with the Python len() method (possibly dependent on your Python implementation). If you need large file upload support on a 32-bit OS, you should use an earlier version of eulfedora.

  • New script upload-test.py for testing upload behavior on your platform; also provides an example of an upload callback method. (Found in the scripts directory, but not installed with the module.)
  • bugfix: relationship methods on :class:`~eulfedora.models.DigitalObject` now recognize unicode as well as string pids as resources.

0.23

0.22.2

  • bugfix: correction in detailed output for validate-checksum script when all versions are checked and at least one checksum is invalid

0.22.1

0.22

  • A repository administrator can configure a script to periodically check content checksums in order to identify integrity issues so that they can be dealt with.
  • A repository administrator will receive an email notification if the system encounters bad or missing checksums so that they can then resolve any integrity issues.
  • A repository admin can view fixity check results for individual objects in the premis data stream (for objects where premis exists) in order to view a more detailed result and the history.
  • Support for basic HTTP Range requests in :meth:`eulfedora.views.raw_datastream` (e.g., to allow audio/video seek in HTML5 media players)

0.21

0.20

  • Development requirements can now be installed as an optional requirement of the eulfedora package (pip install "eulfedora[dev]").
  • Unit tests have been updated to use :mod:`nose`
  • Provides a nose plugin to set up and tear down for a test Fedora Commons repository instance for tests, as an alternative to the custom test runners.

0.19.2

  • Bugfix: don't auto-create an XML datastream at ingest when the xml content is empty (i.e., content consists of bootstrapped :class:`xmlmap.XmlObject` only)

0.19.1

0.19.0

0.18.1

  • Bugfix: Default checksum type for :class:`~eulfedora.models.DatastreamObject` was previously ignored when creating a new datastream from scratch (e.g., when ingesting a new object). In certain versions of Fedora, this could result in datastreams with missing checksums (checksum type of 'DISABLED', checksum value of 'none').

0.18.0

0.17.0

0.16.0 - Indexing Support

0.15.0 - Initial Release