Difference between revisions of "EPrints 3.4.5"
m (→Security and Privacy Improvements) |
m (link added) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{releasenotes}} | |
− | == | + | == Release Notes == |
− | * '''Zero codename:''' | + | EPrints 3.4.5 is now available on [https://github.com/eprints/eprints3.4/releases/tag/v3.4.5 GitHub] and [https://files.eprints.org/2789/ files.eprints.org]. |
− | * '''Publications flavour codename:''' | + | * '''Zero codename:''' Smoothie Squall |
+ | * '''Publications flavour codename:''' Kombucha Hypercane (1.5) | ||
=== New Dependencies === | === New Dependencies === | ||
− | + | <tt>html2text</tt> RPM / DEB required instead of <tt>elinks</tt>. | |
+ | |||
+ | Check earlier dependencies for [[EPrints 3.4.4]] and before. | ||
=== Changes Since 3.4.4 === | === Changes Since 3.4.4 === | ||
Line 20: | Line 23: | ||
* Uses HTTPS for CrossRef lookup of DOIs. | * Uses HTTPS for CrossRef lookup of DOIs. | ||
* [https://github.com/eprints/eprints3.4/issues/278 Removes (HTTP only) <code>eprints_session</code> if HTTPS is enabled]. | * [https://github.com/eprints/eprints3.4/issues/278 Removes (HTTP only) <code>eprints_session</code> if HTTPS is enabled]. | ||
− | * Improves target URL validation so | + | * Improves target URL validation so only local URLs are allowed and not just paths. |
* [https://github.com/eprints/eprints3.4/issues/281 Explicitly disables password field autocomplete]. | * [https://github.com/eprints/eprints3.4/issues/281 Explicitly disables password field autocomplete]. | ||
* [https://github.com/eprints/eprints3.4/issues/237 Improves "request copy" security]. | * [https://github.com/eprints/eprints3.4/issues/237 Improves "request copy" security]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/311 Ensures <code>SameSite=Strict</code> for all cookies]. | ||
+ | * Better force HTTPS when generating repository URLs. | ||
==== General Improvements ==== | ==== General Improvements ==== | ||
Line 41: | Line 46: | ||
* [https://github.com/eprints/eprints3.4/pull/257 Table class for screens; Status, DatabaseSchema and MetaFieldListing]. | * [https://github.com/eprints/eprints3.4/pull/257 Table class for screens; Status, DatabaseSchema and MetaFieldListing]. | ||
* [https://github.com/eprints/eprints3.4/issues/271 Adds <code>--prune</code> option to <code>generate_views</code>]. | * [https://github.com/eprints/eprints3.4/issues/271 Adds <code>--prune</code> option to <code>generate_views</code>]. | ||
− | * Various improvements to <code>check_xapian</code> script | + | * Various improvements to <code>check_xapian</code> script including <code>--facets</code> automatically using <code>xapian.facet</code> directory rathe than needing to specify in <code>--path</code>. |
* Adds verbose debug to <code>send_alerts</code> to advise when email is not sent as saved search notifications are only required when results are found. | * Adds verbose debug to <code>send_alerts</code> to advise when email is not sent as saved search notifications are only required when results are found. | ||
* [https://github.com/eprints/eprints3.4/issues/287 Set canonical URLs for abstract pages for better Google indexing]. | * [https://github.com/eprints/eprints3.4/issues/287 Set canonical URLs for abstract pages for better Google indexing]. | ||
Line 54: | Line 59: | ||
* [https://github.com/eprints/eprints3.4/pull/297 Significant phrase changes to facilitate better internationalisation]. | * [https://github.com/eprints/eprints3.4/pull/297 Significant phrase changes to facilitate better internationalisation]. | ||
* [https://github.com/eprints/eprints3.4/issues/294 Allows screen plugins to use a bespoke page template]. | * [https://github.com/eprints/eprints3.4/issues/294 Allows screen plugins to use a bespoke page template]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/210 Removes implicit commit when reordering <code>multiple</code> fields]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/304 Adds separate CSS classes to top and bottom action buttons in workflow]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/306 Adds <code>$c->{retain_embargo_dates}</code> settings so dates can be retained when embargoes are lifted without causing any validation warnings or need to perpetually check old embargo dates]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/310 Prevent indexer.log filling up with errors from <code>pdftotext</code>]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/312 Additional CSS classes and IDs added for parts of input forms]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/317 Improvements to phrases used for icons in input forms and views]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/318 Render paragraphs from <code>reason</code>s in emails]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/321 Allow indexcodes to be regenerated as part of <code>epadmin reindex</code> when <code>--force</code> flag is used]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/322 Allow different phrases to be used for field names dependent on eprint's type]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/326 Allows date input fields to be rendered shorter]. | ||
+ | * Improves rendering/hiding of missing subjects depending on <code>render_quiet</code>. | ||
+ | * Adds data-row... attributes to compound/multiple field renders. | ||
+ | * Various improvements to POD documentation. | ||
==== Bug Fixes ==== | ==== Bug Fixes ==== | ||
Line 84: | Line 102: | ||
* Gracefully handles template pin not being defined or mapped. | * Gracefully handles template pin not being defined or mapped. | ||
* [https://github.com/eprints/eprints3.4/issues/253 Fixes incorrect counts for items for ancestor (e.g. parent) subjects in subject field based browse views]. | * [https://github.com/eprints/eprints3.4/issues/253 Fixes incorrect counts for items for ancestor (e.g. parent) subjects in subject field based browse views]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/292 Fixes bug with grouping function being ignored in certain browse views]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/283 Ensures appropriate escaping in search serialization and setting of <code>$self->{op}</code> for <code>regexp</code> search condition]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/306 Fixes ordering of summary box <code>div</code>s on abstract pages]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/309 CRUD interface GET requests now return <code>NOT_FOUND</code> rather than <code>FORBIDDEN</code> for non-existent eprints]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/314 Removes redundant code from XHTML field rendering function]. | ||
+ | * [https://github.com/eprints/eprints3.4/commit/bd0a1e928b70478e4c25f2c818cc77d31b12c98f Ensures consistent ordering of RejectWithEmail / RemoveWithEmail buttons on review queue]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/319 Fixes check for whether JavaScript within uploaded files can run when viewed through EPrints]. Fixes change for [https://github.com/eprints/eprints3.4/issues/62 original issue]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/320 Adds more character mappings for indexer to fix issues with indexing tasks failing to complete due to duplicate index errors]. | ||
+ | * [https://github.com/eprints/eprints3.4/commit/ffd9b53079bc6969ba17671552aefd5b5d511c66|Removes unnecessary field defaults. Better restricts digits for int fields]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/325 Fixes ARIA typo in upload form]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/329 Fixes use of fieldsets in input/search from to make it easier and more consistent when modifying CSS]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/330 Deal with UTF8-MB4 characters that would break database queries]. | ||
+ | * Makes user menu bar and footer more responsive to page width. | ||
+ | * Fixes word-wrapping overflow on homepage description list. | ||
+ | * Various improvements to the <code>tidy_pids</code> script. | ||
* Various typos | * Various typos | ||
− | == | + | === Known Issues === |
− | + | ||
+ | ==== Long time to add <tt>requester_userid</tt> field to access data object ==== | ||
+ | Adding new columns to a database table that already contains a lot of records can take a long time. The access table for EPrints can often have tens of millions of records. At such a size adding a new column can take in the order of hours. EPrints 3.4.5 add the new field <tt>requester_userid</tt>. This is intended to capture the logged in user that is viewing or downloading an eprint/document. This is useful for Open Education repositories that have different access permissions. However, if you have a large access table you may want to [https://github.com/eprints/eprints3.4/commit/79683e8dadda91f5d4862b23fa7bd80bcdee081d apply this patch] from the [https://github.com/eprints/eprints3.4/issues/333 GitHub issue]. | ||
+ | == Planned Development == | ||
+ | See [[EPrints 3.4.6]] | ||
[[Category:Eprints3.4]] | [[Category:Eprints3.4]] | ||
− | [[Category: | + | [[Category:Releases]] |
Revision as of 14:04, 8 May 2024
Release Notes
3.4 | 3.4.1 | 3.4.2 | 3.4.3 | 3.4.4 | 3.4.5 | 3.4.6
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
Contents
Release Notes
EPrints 3.4.5 is now available on GitHub and files.eprints.org.
- Zero codename: Smoothie Squall
- Publications flavour codename: Kombucha Hypercane (1.5)
New Dependencies
html2text RPM / DEB required instead of elinks.
Check earlier dependencies for EPrints 3.4.4 and before.
Changes Since 3.4.4
New Functionality
- Adds console-based REPL tool
- Adds
staged
status for indexer tasks so they can be run outside the EPrints indexer. E.g. using a cron job.
Security and Privacy Improvements
- Adds PIN based security for documents.
- Makes Xapian index obey text_index attribute for fields.
- Allows restricted documents to not have their full texts indexed.
- Uses HTTPS for CrossRef lookup of DOIs.
- Removes (HTTP only)
eprints_session
if HTTPS is enabled. - Improves target URL validation so only local URLs are allowed and not just paths.
- Explicitly disables password field autocomplete.
- Improves "request copy" security.
- Ensures
SameSite=Strict
for all cookies. - Better force HTTPS when generating repository URLs.
General Improvements
- Updates and makes consistent list of software contributors.
- Adds get_search_conditions_not_ex for float fields.
- Updates DOCTYPE to be more standards compliant.
- Updates pub_lib homepage links for browse views.
- Allows MetaField::Subject to have user-defined render_value.
- Improves OAI-PMH representation of records that once were live.
- Allows userid to be logged in Access data objects when user is logged in.
- Adds ability to manipulate element attributes.
- Updates latest_tool to use filters.
- Adds id and classes for individual styling of "Manage records" page.
- Adds class attributes for "View details" table.
- Adds classnames to navigation items and links.
- Splits off senderemail from adminemail if this need to be different for DMARC reasons.
- Adds the optional attributes of resumptionToken in OAI-PMH.
- Table class for screens; Status, DatabaseSchema and MetaFieldListing.
- Adds
--prune
option togenerate_views
. - Various improvements to
check_xapian
script including--facets
automatically usingxapian.facet
directory rathe than needing to specify in--path
. - Adds verbose debug to
send_alerts
to advise when email is not sent as saved search notifications are only required when results are found. - Set canonical URLs for abstract pages for better Google indexing.
- Ensures sitemaps always uses HTTPS URLs if
securehost
is defined. - Breaks up show/hide help phrases to make them more compatible with Bootstrap.
- Makes task timeout for EPrints' indexer configurable. Along with making other indexer settings configurable.
- Replaces
elinks
withhtml2text
as application to extract text from HTML/XML files for indexing. - Allows staff search to find results where
metadata_visibility
is not set toshow
. - Allows XSL files to be viewed using
Config::View::XML
plugin. - Allows
MetaField::Subject
'stop
attribute to be set to a configurable function. - Provides overarching setting for maximum file upload size.
- Significant phrase changes to facilitate better internationalisation.
- Allows screen plugins to use a bespoke page template.
- Removes implicit commit when reordering
multiple
fields. - Adds separate CSS classes to top and bottom action buttons in workflow.
- Adds
$c->{retain_embargo_dates}
settings so dates can be retained when embargoes are lifted without causing any validation warnings or need to perpetually check old embargo dates. - Prevent indexer.log filling up with errors from
pdftotext
. - Additional CSS classes and IDs added for parts of input forms.
- Improvements to phrases used for icons in input forms and views.
- Render paragraphs from
reason
s in emails. - Allow indexcodes to be regenerated as part of
epadmin reindex
when--force
flag is used. - Allow different phrases to be used for field names dependent on eprint's type.
- Allows date input fields to be rendered shorter.
- Improves rendering/hiding of missing subjects depending on
render_quiet
. - Adds data-row... attributes to compound/multiple field renders.
- Various improvements to POD documentation.
Bug Fixes
- Fixes typo for _epname in RPM spec file.
- Adds properly referenced ARIA labels for sets and fields with bespoke search_input_style.
- Gets EPrints install script to create EPRINTS_PATH/tmp directory with appropriate permissions.
- Stops including ARIA describedby if help text is empty.
- Fixes "Data too long for column 'word'" indexing errors.
- Now returns "410 Gone" HTTP code when item has been retired.
- Adds missing
<help>
and<title>
elements used in phrases for 2nd+ document fields in eprint workflows. - Fixes text indexing saved_search.spec causing problems with Xapian.
- Fixes HTTPS URLs not be parseable by
XML::LibXML->parse_file
. - Fixes missing URL encoding of # in filename download links.
- Checks
render_dynamic
attribute is set forMetaField
before testing value - Fixes LDAP-based login failures when accounts need to be created on-the-fly.
- Ensures
$c->{userhome}
and$c->{urlpath}
are auto set correctly. - Fixes missing parameter field when making phrase
limit_names_shown_label
. - Adds
poppler-utils
DEB dependency forpdftotext
to index PDFs. - Allows
PHDTHESIS
from BibTeX to be imported without error by correcting mappings forthesis_type
andthesis_name
fields. - Uses original rather than proxied IP address in access record if proxied address is in (configurable) private IP address range.
- Fixes BibTeX import parsing by ignoring entries with empty of malformed citekeys.
- Fixes issues with both server-side and client-side caching of JavaScript and CSS auto files.
- Fixes search offset being forgotten when results reordered.
- Fixes search ordering reverting to "by relevance" when different default ordering is set.
- Makes redirects from short URLs to long URLs a 301 rather than 302 or 303. Good for SEO.
- Ensures BibTeX export of
note
is not prevented is already used byispublished
field. - Fixes incorrect location described in
lib/syscfg.d/README
. - Tidies up
replyto_name
used in emails when referenced user has not set their name. - Fixes disabling
Config::Edit
plugins breaking "View Configuration". - Gracefully handles template pin not being defined or mapped.
- Fixes incorrect counts for items for ancestor (e.g. parent) subjects in subject field based browse views.
- Fixes bug with grouping function being ignored in certain browse views.
- Ensures appropriate escaping in search serialization and setting of
$self->{op}
forregexp
search condition. - Fixes ordering of summary box
div
s on abstract pages. - CRUD interface GET requests now return
NOT_FOUND
rather thanFORBIDDEN
for non-existent eprints. - Removes redundant code from XHTML field rendering function.
- Ensures consistent ordering of RejectWithEmail / RemoveWithEmail buttons on review queue.
- Fixes check for whether JavaScript within uploaded files can run when viewed through EPrints. Fixes change for original issue.
- Adds more character mappings for indexer to fix issues with indexing tasks failing to complete due to duplicate index errors.
- unnecessary field defaults. Better restricts digits for int fields.
- Fixes ARIA typo in upload form.
- Fixes use of fieldsets in input/search from to make it easier and more consistent when modifying CSS.
- Deal with UTF8-MB4 characters that would break database queries.
- Makes user menu bar and footer more responsive to page width.
- Fixes word-wrapping overflow on homepage description list.
- Various improvements to the
tidy_pids
script. - Various typos
Known Issues
Long time to add requester_userid field to access data object
Adding new columns to a database table that already contains a lot of records can take a long time. The access table for EPrints can often have tens of millions of records. At such a size adding a new column can take in the order of hours. EPrints 3.4.5 add the new field requester_userid. This is intended to capture the logged in user that is viewing or downloading an eprint/document. This is useful for Open Education repositories that have different access permissions. However, if you have a large access table you may want to apply this patch from the GitHub issue.
Planned Development
See EPrints 3.4.6