Difference between revisions of "EPrints 3.4.5"
(Added EPrints 3.4.5 page) |
m (link added) |
||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{releasenotes}} | |
− | == | + | == Release Notes == |
− | * '' | + | 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]. |
+ | * '''Zero codename:''' Smoothie Squall | ||
+ | * '''Publications flavour codename:''' Kombucha Hypercane (1.5) | ||
+ | |||
+ | === 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 === | ||
+ | |||
+ | ==== New Functionality ==== | ||
+ | * Adds [[:API:tools/console|console-based REPL tool]] | ||
+ | * [https://github.com/eprints/eprints3.4/issues/290 Adds <code>staged</code> status for indexer tasks so they can be run outside the EPrints indexer. E.g. using a cron job]. | ||
+ | |||
+ | ==== Security and Privacy Improvements ==== | ||
+ | * [https://github.com/eprints/eprints3.4/issues/245 Adds PIN based security for documents]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/246 Makes Xapian index obey <tt>text_index</tt> attribute for fields]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/276 Allows restricted documents to not have their full texts indexed]. | ||
+ | * 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]. | ||
+ | * 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/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 ==== | ||
+ | * Updates and makes consistent list of software contributors. | ||
+ | * Adds get_search_conditions_not_ex for float fields. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/240 Updates DOCTYPE to be more standards compliant]. | ||
+ | * Updates <tt>pub_lib</tt> homepage links for browse views. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/242 Allows MetaField::Subject to have user-defined render_value]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/238 Improves OAI-PMH representation of records that once were live]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/195 Allows <tt>userid</tt> to be logged in Access data objects when user is logged in]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/239 Adds ability to manipulate element attributes]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/244 Updates latest_tool to use filters]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/250 Adds id and classes for individual styling of "Manage records" page]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/252 Adds class attributes for "View details" table]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/254 Adds classnames to navigation items and links]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/256 Splits off <tt>senderemail</tt> from <tt>adminemail</tt> if this need to be different for DMARC reasons]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/261 Adds the optional attributes of resumptionToken in OAI-PMH]. | ||
+ | * [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>]. | ||
+ | * 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. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/287 Set canonical URLs for abstract pages for better Google indexing]. | ||
+ | * Ensures sitemaps always uses HTTPS URLs if <code>securehost</code> is defined. | ||
+ | * Breaks up show/hide help phrases to make them more compatible with Bootstrap. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/291 Makes task timeout for EPrints' indexer configurable]. Along with making other indexer settings configurable. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/296 Replaces <code>elinks</code> with <code>html2text</code> as application to extract text from HTML/XML files for indexing]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/299 Allows staff search to find results where <code>metadata_visibility</code> is not set to <code>show</code>]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/298 Allows XSL files to be viewed using <code>Config::View::XML</code> plugin]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/249 Allows <code>MetaField::Subject</code>'s <code>top</code> attribute to be set to a configurable function]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/286 Provides overarching setting for maximum file upload size]. | ||
+ | * [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/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 ==== | ||
+ | * Fixes typo for <tt>_epname</tt> in RPM spec file. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/243 Adds properly referenced ARIA labels for sets and fields with bespoke <tt>search_input_style</tt>]. | ||
+ | * Gets EPrints install script to create <tt>EPRINTS_PATH/tmp</tt> directory with appropriate permissions. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/241 Stops including ARIA <tt>describedby</tt> if help text is empty]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/247 Fixes "Data too long for column 'word'" indexing errors]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/233 Now returns "410 Gone" HTTP code when item has been retired]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/255 Adds missing <code><help></code> and <code><title></code> elements used in phrases for 2nd+ document fields in eprint workflows]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/258 Fixes text indexing <tt>saved_search.spec</tt> causing problems with Xapian]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/262 Fixes HTTPS URLs not be parseable by <code>XML::LibXML->parse_file</code>]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/263 Fixes missing URL encoding of # in filename download links]. | ||
+ | * Checks <code>render_dynamic</code> attribute is set for <code>MetaField</code> before testing value | ||
+ | * [https://github.com/eprints/eprints3.4/issues/265 Fixes LDAP-based login failures when accounts need to be created on-the-fly]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/266 Ensures <code>$c->{userhome}</code> and <code>$c->{urlpath}</code> are auto set correctly]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/269 Fixes missing parameter field when making phrase <code>limit_names_shown_label</code>]. | ||
+ | * Adds <code>poppler-utils</code> DEB dependency for <code>pdftotext</code> to index PDFs. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/275 Allows <code>PHDTHESIS</code> from BibTeX to be imported without error by correcting mappings for <code>thesis_type</code> and <code>thesis_name</code> fields]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/279 Uses original rather than proxied IP address in access record if proxied address is in (configurable) private IP address range]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/272 Fixes BibTeX import parsing by ignoring entries with empty of malformed citekeys]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/274 Fixes issues with both server-side and client-side caching of JavaScript and CSS auto files]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/284 Fixes search offset being forgotten when results reordered]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/285 Fixes search ordering reverting to "by relevance" when different default ordering is set]. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/289 Makes redirects from short URLs to long URLs a 301 rather than 302 or 303]. Good for SEO. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/293 Ensures BibTeX export of <code>note</code> is not prevented is already used by <code>ispublished</code> field]. | ||
+ | * [https://github.com/eprints/eprints3.4/pull/295 Fixes incorrect location described in <code>lib/syscfg.d/README</code>]. | ||
+ | * Tidies up <code>replyto_name</code> used in emails when referenced user has not set their name. | ||
+ | * [https://github.com/eprints/eprints3.4/issues/301 Fixes disabling <code>Config::Edit</code> plugins breaking "View Configuration"]. | ||
+ | * 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/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 | ||
+ | |||
+ | === 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