Difference between revisions of "EPrints 3.4.7"
(→Bug Fixes) |
m (→Security and Privacy Improvements) |
||
| (17 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | + | {{releasenotes}} | |
| − | == Release Notes | + | This page contains information about the EPrints v3.4.7 tag and release on GitHub. |
| − | EPrints 3.4.7 | + | |
| + | == Release Notes == | ||
| + | EPrints 3.4.7 is now available on [https://github.com/eprints/eprints3.4/releases/tag/v3.4.7 GitHub]. | ||
* '''Zero codename:''' ''Granita Gregale'' | * '''Zero codename:''' ''Granita Gregale'' | ||
* '''Publications flavour codename:''' ''Tiramisu Tramontane'' | * '''Publications flavour codename:''' ''Tiramisu Tramontane'' | ||
| Line 8: | Line 10: | ||
=== New Dependencies === | === New Dependencies === | ||
Check earlier dependencies for [[EPrints 3.4.6]] and before. | Check earlier dependencies for [[EPrints 3.4.6]] and before. | ||
| + | |||
| + | === Upgrade Considerations === | ||
| + | * If you are upgrading from an earlier version of EPrints 3.4.x and have the the [https://github.com/eprints/metatags metatags] ingredient enabled, as well as disabling this by removing it from your flavour's inc file, if your archive has its own '''cfg/cfg.d/eprint_render.pl''' file, you will need to make sure that the following lines are added to it after similar lines for <code>Export::Simple</code> and <code>Export::DC</code>: | ||
| + | $links->appendChild( $repository->plugin( "Export::HighwirePress" )->dataobj_to_html_header( $eprint ) ); | ||
| + | $links->appendChild( $repository->plugin( "Export::Prism" )->dataobj_to_html_header( $eprint ) ); | ||
=== Changes Since 3.4.6 === | === Changes Since 3.4.6 === | ||
| Line 16: | Line 23: | ||
* [https://github.com/eprints/eprints3.4/pull/434 Implements missing triggers <code>EP_TRIGGER_BEGIN</code> and <code>EP_TRIGGER_END</code>] | * [https://github.com/eprints/eprints3.4/pull/434 Implements missing triggers <code>EP_TRIGGER_BEGIN</code> and <code>EP_TRIGGER_END</code>] | ||
* Allows [https://github.com/eprints/eprints3.4/issues/445 browse view variation ordering by number] | * Allows [https://github.com/eprints/eprints3.4/issues/445 browse view variation ordering by number] | ||
| − | * Adds [https://github.com/eprints/eprints3.4/pull/450 | + | * Adds [https://github.com/eprints/eprints3.4/pull/450 citation cache management script] |
* [https://github.com/eprints/eprints3.4/issues/456 Allows static pages to be put behind login (with exceptions)] | * [https://github.com/eprints/eprints3.4/issues/456 Allows static pages to be put behind login (with exceptions)] | ||
* [https://github.com/eprints/eprints3.4/pull/462 Allows custom sort to be applied at a browse menu level] | * [https://github.com/eprints/eprints3.4/pull/462 Allows custom sort to be applied at a browse menu level] | ||
| Line 23: | Line 30: | ||
==== Security and Privacy Improvements ==== | ==== Security and Privacy Improvements ==== | ||
* [https://github.com/eprints/eprints3.4/pull/429 Fixes vulnerability in PrototypeJS] | * [https://github.com/eprints/eprints3.4/pull/429 Fixes vulnerability in PrototypeJS] | ||
| − | * [https://github.com/eprints/eprints3.4/issues/465 | + | ** Severity: Low | By default EPrints does not make use of PrototypeJS in a way that actively exposes CVE-2020-27511. EPrints only allows an administrator to modify the JavaScript EPrints serves, such that the vulnerability could be exposed. |
| + | * [https://github.com/eprints/eprints3.4/issues/465 Uses different identifier for recalling search result caches so it cannot be guessed] | ||
| + | ** Severity: Low | Change is only intended to partially mitigate certain excessive search queries, which can sometimes be processor intensive. | ||
| + | * [https://github.com/eprints/eprints3.4/issues/502 Ups to latest versions of jQuery and JQuery UI available in jquery ingredient] | ||
| + | ** Severity: Low | jquery ingredient is not enabled by default. Minor upgrade of JQuery libraries is mainly to ensure versions do not fall too far behind the latest, as they may be needed to provide a repository's branding imported from another website. | ||
==== General Improvements ==== | ==== General Improvements ==== | ||
| Line 36: | Line 47: | ||
* [https://github.com/eprints/eprints3.4/pull/460 Prevents 'Manage Deposits' taking a long time to load with a lot of items] | * [https://github.com/eprints/eprints3.4/pull/460 Prevents 'Manage Deposits' taking a long time to load with a lot of items] | ||
* [https://github.com/eprints/eprints3.4/issues/463 Removes references to <code>secure.xml</code> template and <code>secure_auto.js</code>] | * [https://github.com/eprints/eprints3.4/issues/463 Removes references to <code>secure.xml</code> template and <code>secure_auto.js</code>] | ||
| − | * Adds place as a related_url type | + | * Adds place as a <code>related_url</code> type |
* [https://github.com/eprints/eprints3.4/pull/482/ Tides up use of <code>get_citaiton_id</code> in search screens] | * [https://github.com/eprints/eprints3.4/pull/482/ Tides up use of <code>get_citaiton_id</code> in search screens] | ||
* [https://github.com/eprints/eprints3.4/issues/475 Allows any item that has ever been in the live archive to be retired] | * [https://github.com/eprints/eprints3.4/issues/475 Allows any item that has ever been in the live archive to be retired] | ||
| Line 42: | Line 53: | ||
* [https://github.com/eprints/eprints3.4/issues/476 Allows placeholder to be optionally displayed for un-named subjects in browse views] | * [https://github.com/eprints/eprints3.4/issues/476 Allows placeholder to be optionally displayed for un-named subjects in browse views] | ||
* [https://github.com/eprints/eprints3.4/issues/479 Supports disabling of auto re-searching of cache ID for search has expired] | * [https://github.com/eprints/eprints3.4/issues/479 Supports disabling of auto re-searching of cache ID for search has expired] | ||
| + | * [https://github.com/eprints/eprints3.4/issues/492 Supports plugins exporting as attachment rather that in-browser] | ||
| + | * [https://github.com/eprints/eprints3.4/pull/493 Adds 'export_file_as_attachment' option to force exports to be downloaded] | ||
| + | * [https://github.com/eprints/eprints3.4/pull/500 Add view option to suppress 'feeds'] | ||
==== Bug Fixes ==== | ==== Bug Fixes ==== | ||
| Line 80: | Line 94: | ||
* [https://github.com/eprints/eprints3.4/issues/474 Adds cgi/register to accessibility check] | * [https://github.com/eprints/eprints3.4/issues/474 Adds cgi/register to accessibility check] | ||
* Fixes logic support complex page ranges (e.g. A-2-B-4) | * Fixes logic support complex page ranges (e.g. A-2-B-4) | ||
| + | * Removes <code>rev_number</code> from eprints in test import data to prevent missing revisions when imported. | ||
| + | * Fixes [https://github.com/eprints/eprints3.4/issues/60 issues when splitting complex page ranges originally implemented for 3.4.2] | ||
| + | * Fixes [https://github.com/eprints/eprints3.4/issues/479 historic cache param causing excessive new cache tables] | ||
| + | * Removes eprint rev_number from test data this cause odd behaviour when importing | ||
| + | * [https://github.com/eprints/eprints3.4/pull/495 Prevents double presses on search buttons sending multiple requests] | ||
| + | |||
| + | == Known Issues == | ||
| + | === Session Initialisation and Close Bespoke Configuration === | ||
| + | EPrints 3.4.7 replaces <code>$c->{session_init}</code> and <code>$c->{session_close}</code> configuration in '''lib/cfg.d/session.pl''' with <code>EP_TRIGGER_BEGIN</code> and <code>EP_TRIGGER_END</code> triggers. Although uncommon, if you have modified <code>session_init</code> in a later configuration file than session.pl and your session_init function requires the <code>EPrints::Repository</code>'s <code>offline</code> parameter then will not be sent to the function. Similarly, if you have modified the <code>session_close</code> function and this requires and <code>EPrints::Repository</code> object as a parameter, this will not be sent. These can be fixed with '''[https://github.com/eprints/eprints3.4/commit/cff8a57e643c230215279f187764fa6ec8d00a99.patch this patch]'''. | ||
| + | |||
| + | == Further Planned Features and Improvements == | ||
| + | See [https://github.com/eprints/eprints3.4/milestone/9 3.4.8 milestone on GitHub] for more details. | ||
[[Category:Eprints3.4]] | [[Category:Eprints3.4]] | ||
| − | [[Category: | + | [[Category:Releases]] |
Latest revision as of 13:47, 4 September 2025
Release Notes
3.4 | 3.4.1 | 3.4.2 | 3.4.3 | 3.4.4 | 3.4.5 | 3.4.6 | 3.4.7
3.3 | 3.3.5 | 3.3.6 | 3.3.7 | 3.3.8 | 3.3.9 | 3.3.10 | 3.3.11 | 3.3.13 | 3.3.14 | 3.3.15 | 3.3.16
3.2.0 | 3.2.1 | 3.2.2 | 3.2.3 | 3.2.4 | 3.2.5 | 3.2.6 | 3.2.7 | 3.2.8 | 3.2.9
This page contains information about the EPrints v3.4.7 tag and release on GitHub.
Release Notes
EPrints 3.4.7 is now available on GitHub.
- Zero codename: Granita Gregale
- Publications flavour codename: Tiramisu Tramontane
New Dependencies
Check earlier dependencies for EPrints 3.4.6 and before.
Upgrade Considerations
- If you are upgrading from an earlier version of EPrints 3.4.x and have the the metatags ingredient enabled, as well as disabling this by removing it from your flavour's inc file, if your archive has its own cfg/cfg.d/eprint_render.pl file, you will need to make sure that the following lines are added to it after similar lines for
Export::SimpleandExport::DC:
$links->appendChild( $repository->plugin( "Export::HighwirePress" )->dataobj_to_html_header( $eprint ) ); $links->appendChild( $repository->plugin( "Export::Prism" )->dataobj_to_html_header( $eprint ) );
Changes Since 3.4.6
New Functionality
- Adds
check_configoptioion totools/epmallowing configuration files (undercfg/) to be compared between the EPM and the archive and potentially copied to the latter if the file is not already present. - Allows
bin/epadminto logout all users (possibly with 1 or more exclusions) - Implements missing triggers
EP_TRIGGER_BEGINandEP_TRIGGER_END - Allows browse view variation ordering by number
- Adds citation cache management script
- Allows static pages to be put behind login (with exceptions)
- Allows custom sort to be applied at a browse menu level
- Adds Highwire Press and PRISM meta tags to head of abstract pages as favoured by Google Scholar
Security and Privacy Improvements
- Fixes vulnerability in PrototypeJS
- Severity: Low | By default EPrints does not make use of PrototypeJS in a way that actively exposes CVE-2020-27511. EPrints only allows an administrator to modify the JavaScript EPrints serves, such that the vulnerability could be exposed.
- Uses different identifier for recalling search result caches so it cannot be guessed
- Severity: Low | Change is only intended to partially mitigate certain excessive search queries, which can sometimes be processor intensive.
- Ups to latest versions of jQuery and JQuery UI available in jquery ingredient
- Severity: Low | jquery ingredient is not enabled by default. Minor upgrade of JQuery libraries is mainly to ensure versions do not fall too far behind the latest, as they may be needed to provide a repository's branding imported from another website.
General Improvements
- Tidies up comments under
lib/cfg.d/security.plto only refer toEPrints::Repository->ipfunction for getting the IP address of the request - Update Recaptcha3 to work with non-request workflows e.g. registration
- Improves
EPrints::Repository->remote_ipto disregard invalid IP addresses inX-Forwarded-For - Makes document thumbnails use long URL format
- Removes no longer supported
cgi/paracitescript - Improve
restrict_pathsby only allowing some IP rather than just disallowing others - Various improvements to citation caching
- Partially addresses spurious use of
X-Forwarded-Forheader to pollute stats - Prevents 'Manage Deposits' taking a long time to load with a lot of items
- Removes references to
secure.xmltemplate andsecure_auto.js - Adds place as a
related_urltype - Tides up use of
get_citaiton_idin search screens - Allows any item that has ever been in the live archive to be retired
- Allows
EPrints::Documentsearch_relatedto be ordered and limited to reduce number of cache tables generated - Allows placeholder to be optionally displayed for un-named subjects in browse views
- Supports disabling of auto re-searching of cache ID for search has expired
- Supports plugins exporting as attachment rather that in-browser
- Adds 'export_file_as_attachment' option to force exports to be downloaded
- Add view option to suppress 'feeds'
Bug Fixes
- Fixes
generate_apacheconfhas issues if archive missingcfg/static/javascript/auto/ - Fixes
Booleanfield has inconsistent phrase names - Fixes
tools/epm'slink_libandunlink_libcommand so they only remove files referenced in the EPM directory's.epm/.epmifile - Fixes UX/Accessibility issue with
Importplugin actions - Fixes History records not retaining formatting of email reasons
- Fixes disabling an EPM removes database tables and fields (and counters) it added to an archive
- Better handles
EPrint::MetaField->ordervalue_singlereturning undefined - Fixes long values in initial dataobj creation leading to empty rows in their database tables
- Updates URLs for GPL/GPL licences to point at GNU rather than Creative Commons website
- Fixes typos is template Accessibility report
- Fixes
EPrint::MetaField::Multipart->ordervalues_basicdoes not forward all parameters - Fixes Applying subtitle to
book_titlefor book chapter items - Aligns
basic-authin Sword and Auth modules so passwords can contain non-word characters - Fixes Increment of data-row-cell-index for compound field header rows
- Fixes citation caching: non-linked cached citations
- Fixes before commit trigger changes not appearing in revision files
- Fixes
EPrints::Plugin::Search::Xapian->_get_recordscannot handle 0 results - Fixes issues with ReCAPTCHAv3 form being able to submit
- Fixes
login_required_for_Xfunctionality not be able to redirect user to a specific page after login - Fixes aspect ratio for video thumbnails if rotation matrix used
- Only crypt passwords that only contain printable ASCII
- Prevents other sub-field default occasionally be using for another compound field sub-field
- Fixes lightbox popup preview of a video
- Fixes Subobject
to_saxcauses 500 error if there are multiple and subobject is null - Sets more sensible
maxlengthdefault for MetaFields that areSQL_CLOBto avoid truncation - Ensures depositable should be
TRUEnot1on initial subject creation throughEdit::Subject - Fixes HTML citation export fails if export citation style for eprint exists
- Ensures output from get_custom_view_header user-defined function can appear before or after the browse view navigation bar
- Removes no longer support
use encoding...from random data generator - Makes 'Move' positions unique
- Retains attribute order in
build_attributes - Fixes Horizontal scrollbar when zoomed to 400%
- Fixes default values for search get re-enabled if field left empty
- Fixes broken aria reference if help phrase exists, but help isn't shown
- Adds cgi/register to accessibility check
- Fixes logic support complex page ranges (e.g. A-2-B-4)
- Removes
rev_numberfrom eprints in test import data to prevent missing revisions when imported. - Fixes issues when splitting complex page ranges originally implemented for 3.4.2
- Fixes historic cache param causing excessive new cache tables
- Removes eprint rev_number from test data this cause odd behaviour when importing
- Prevents double presses on search buttons sending multiple requests
Known Issues
Session Initialisation and Close Bespoke Configuration
EPrints 3.4.7 replaces $c->{session_init} and $c->{session_close} configuration in lib/cfg.d/session.pl with EP_TRIGGER_BEGIN and EP_TRIGGER_END triggers. Although uncommon, if you have modified session_init in a later configuration file than session.pl and your session_init function requires the EPrints::Repository's offline parameter then will not be sent to the function. Similarly, if you have modified the session_close function and this requires and EPrints::Repository object as a parameter, this will not be sent. These can be fixed with this patch.
Further Planned Features and Improvements
See 3.4.8 milestone on GitHub for more details.