Files
CHIEFSOFT\ameye df3a033196 first commit
2024-06-08 17:09:23 -04:00

459 lines
28 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
OJS 3.4.0 Release Notes
Git tag: 3_4_0-5
Release date: February 23, 2024
===============================
Configuration Changes
---------------------
See config.TEMPLATE.inc.php for a description and examples of all supported
configuration parameters.
- The date/time formats in config.inc.php should be converted from the format
specified in https://www.php.net/manual/en/function.strftime.php to the format
specified in https://www.php.net/manual/en/datetime.format.php. If you're not
sure how, use the values below. The following settings are affected:
date_format_short = "Y-m-d"
date_format_long = "F n, Y"
datetime_format_short = "Y-m-d h:i A"
datetime_format_long = "F n, Y - h:i A"
time_format = "h:i A"
The old formats will continue to work for now but are deprecated.
- An allowed_hosts option was added to protect against HOST injection attacks.
We recommend configuring this setting! See "Recommended Configuration" in
docs/README.md for details. (https://github.com/pkp/pkp-lib/issues/7649)
- The captcha.captcha_on_login option for displaying a captcha challenge in
the login interface has been added (default: on)
- The setting i18n.client_charset was removed. It used to support two options "ISO-8859-1" (LATIN1) and "UTF-8", now we're UTF-8 only.
- The setting i18n.locale will likely need to be updated because locale codes have been standardized. For example, "en_US" has become "en".
Check the `locale/` directory for a list of available locale codes.
New config.inc.php section for queues is added, with the following parameters:
- default_connection (default value: database), being the default queue driver to be used;
- default_queue (default value: queue), being the default queue to be used if someone forgot to associate a queue during Queue::push()
- disable_jobs_run_at_shutdown (default value: off), being a flag to disable the jobs to run at php shutdown
- The setting general.session_samesite (default value: Lax) has been added to control the "SameSite" setting for the session cookie.
- The setting security.force_ssl, when enabled, will also set the "Secure" flag for the session cookie.
New config.inc.php parameters added for emails:
- default (default value: sendmail), being the default mailer driver to be used for email delivery
- sendmail_path (default value: "/usr/sbin/sendmail -bs"), being the path to the sendmail program on the server
3.4.0-5 Build
-------------
#6627: Allow users to unsubscribe from emails sent using the notify tool
#7470: Fair Copy files not migrated when upgrading from OJS 2 to 3
#8248: Tab Separated Values reporting for COUNTER R5
#9066: [OJS] CLI for the PubMedExportPlugin plugin is broken
#9131: Typo in ReviewAssignmentFileWritePolicy which permits managers file access when assigned to a submission
#9296: Implement sandbox mode
#9302: Internal PHP locale fails to be defined under Windows and others
#9381: Limit reviewers' statistics to a journal in multi-journals OJS instance
#9400: Display competing Interests in OJS once a reviewer accepts an invitation
#9421: Review html escaping strategy on vue.js codebase in stable-3_3_0 and stable-3_4_0
#9476: Data loss at review rounds after migrating from OJS 2.x to +3.3
#9487: Upgrade to 3.3.x can be interrupted due to non-conforming *_settings tables
#9500: Hook `Template::SubmissionWizard::Section::Review ` not inside `submissionWizard__reviewPanel`
#9518: [ OJS ] Error in I5716_EmailTemplateAssignments upgrading from 3.3.0-8 to 3.4.0-3
#9535: PHP Fatal error: Uncaught ValueError: DOMDocument::loadXML(): Argument #1 ($source) must not be empty in
#9541: Fatal error when adding reviewer
#9546: "xmlEscapeEntities: char out of range" error when exporting issues through the Native XML plugin
#9557: PHP Fatal error: Uncaught TypeError: PKP\section\PKPSection::getTitle()
#9561: Fatal error filtering unassigned submissions by keyword
#9574: Add support for author's competing interests statement
#9582: CompileUsageStatsFromTemporaryRecords fails on PostgreSQL due to non-existing function (OJS 3.4.0.4)
#9590: OJS 3.4 - Removing journal is not updating the list automatically
#9592: False "save" confirmation leads to keyword loss
#9594: Missing CSRF check in issue publication
#9607: Selecting an email template in Discussions uses the template name as subject, rather than its actual subject.
#9617: Adding a new not null column in PostgreSQL leads to an error if the table contains entries
#9624: Fix section filter autocomplete
#9625: Native XML plugin not escaping data properly
#9627: SQL in removeDoubleClicks needs improvement
#9632: Opening category in OPS/OMP causes 500
#9637: Migrations can be re-executed at OJS 3.4
#9650: Resolve template injection with context name
#9664: Use jobs chain for usage stats log files processing
#9665: Indexation, for search purposes, might fail silently
#9679: Allow processing of the log files from the last month
#9682: Address the execution of scheduled tasks and jobs
#9686: The arguments for the jobs.php are not working
#9731: Remove the min/max length for login Username/Email
#9742: Add missing functionality to gracefully restart queue worker
#9759: Additional file validation causes error
#9762: Deadlock happening often at the statistics' jobs
3.4.0-4 build
-------------
#8025: Context name can not be localized correctly in a job
#8871: Add ability to login via Email
#8915: Improve the search indexer
#9226: Announcement feed plugin incorrect sorting
#9253: Add site-level announcements to OJS
#9256: Add filter to search by journal to site-level searching in OJS
#9262: Add the ability to show features on the homepage for OJS
#9266: OJS 3.4.0.1 / 3.4.0.3 error tools/install.php
#9277: Submission title not properly escaped when opening information center from submission list
#9278: Use ISO639-2b instead of ISO639-3 for locale conversion
#9282: Upgrade error, DOI related
#9283: Issue title incorrectly escaped in issue edit grid
#9298: Not possible to edit a publication from a CLI tool
#9301: Remove user email address confirmation from password reset message
#9304: Properly escape special characters in statistics area
#9305: Special characters in section names not escaped in About > Submissions
#9306: Properly escape context name when presenting in form field
#9310: OJS 3.4 Editorial Activity: "Accept and Skip Review" does not mark article as "Accepted"
#9315: Disallow SVGs
#9319: PubMed plugin includes author email in affiliation element
#9322: Escape user group name in Statistics > Users > Export
#9325: Link action button unescape presents XSS risk
#9326: Existing sessions not invalidated when user account is disabled
#9327: Escape issue title in statistics
#9335: One-click reviewer access causes fatal error
#9364: Translation performance improvement
#9376: Add CSRF check on navigation menu item deletion
#9382: Display users roles in OJS user list
#9383: Add publisher URL field
#9384: installPluginVerion.php script fails for some importexport plugins in OJS 3.4
#9386: [A11Y] Missing label on Google reCaptcha form triggering accessibility non-compliance issue
#9391: DOAJ plugin does not store deposit status in OJS 3.4
#9395: Missing call to parent::validate() in AddParticipantForm.inc.php
#9396: Missing HTML / special character escaping in modal title for query edit action
#9397: Enable strict RFC compliant redirects for Guzzle
#9401: Inline CSS styles ignored in htmlGalley context
#9406: Missing CSRF check on AssignPublicIdentifiersForm
#9407: Missing CSRF check in payment types form
#9409: Missing CSRF check in reviewRead function
#9410: CSRF checks missing in cancel and reinstate reviewer forms
#9411: Escape reviewer name in reviewer selection modal
#9415: Fatal error when uploading .mht file
#9433: Missing variable on SubmissionAcknowledgement mailable
#9438: Add new email config to the release notes
#9444: Fatal error when setting the body of a mailable with null
#9449: issueform::execute hook without $issue attached to $form
#9464: Sanitize cover image filename in native import
#9483: Search navigation menu item not displayed at site level
#9503: [A11Y] Add information about required fields with asterisks in forms
#9512: Bug in recommendByAuthor plugin - it returns whole statistics data instead of recommended articles in some cases
3.4.0-3 build
-------------
#9264: Type of APP\jobs\statistics\CompileUsageStatsFromTemporaryRecords::$tries must be int
3.4.0-2 build
-------------
#9247: Fatal error: Uncaught TypeError when opening Activity
#9246: Improve support for CC and BCC fields in the new decision email step UI
#9236: DataCite updateDepositStatus does not work
#9231: Use smaller data types for load_id and city in the metrics tables
#9227: Incorrect (encrypted) password sent to the user after the user was added by Admin/Journal Manager
#9222: Exception when listing jobs
#9217: Missing E-mail Template SUBMISSION_SAVED_FOR_LATER after upgrade from 3.3.0-1
#9210: OMP 3.4.0 Sitemap does not respect chapter landing page setting
#9195: Add controlling configuration to queue jobs
#9194: Record reviewer recommendation by proxy causes fatal error
#9184: Author names do not localize in reader front end
#9183: OAI interface reports errors when date ranges are specified
#9180: Update to cypress 12, reduce flakiness on M1
#9171: Undefined array key "user" in pkp/classes/proxy/ProxyParser.php on line 57
#9168: PHP fatal error when assigning editors to new submissions
#9166: Submission checklist migration sometimes presents an error on upgrade
#9161: Wrong type cast for testDOIPrefix in DataciteSettings form
#9153: Sending email to a reviewer results in a fatal error
#9152: Locale migration does not take into account plugin_settings table
#9150: Error on User Import Uncaught BadMethodCallException...
#9149: Job configuration not included in OMP template configuration file
#9148: Recommend decision email form doesn't respect to, cc and bcc fields
#9145: Authors may have trouble initiating discussions
#9142: One-click review request access keys not being generated/sent
#9139: PHP error with array_intersect on null
#9136: Missing uniqueSiteId on new installations
#9134: (OMP 3.4.0-1) Error when changing Cover Image Max Width & Height
#9126: Multilingual Metadata in Crossref
#9123: Doi migration script failing to return doi_id
#9121: Unsupported assoc_type in the event log: 515
#9119: zh_Hant is not considered a valid locale code
#9111: Wrong variable name in PASSWORD_RESET_CONFIRM email template
#9109: REVIEW_COMPLETE email template seems to be not installed
#9089: Make easier to create custom Vue component in plugin
#9045: Inability to Properly Add and Display New Fields in PKPMetadataForm
#8980: Form heading much shorter than needed
#8854: Discussions: mail attached files alongside the content
#8288: Announcements placed on homepage may include announcements from other contexts
#7052: Can't access all contexts from dropdown when exceeds viewport height
3.4.0-1 build
-------------
#9102: Review Reports not generate
#9084: HTML should be stripped from submission titles when used in email titles
#9097: Invalid DOI plugin settings for context_id 0 cause database error on upgrade
#9094: 3.4.0-0 Backend Page for managing catalog not loading
#9098: MyISAM/InnoDB engine check does not properly present list of affected tables
#9091: ROLE_ID_ASSISTANT const has wrong value
#9072: Update event log variable names in locale messages submission.event.*
#8967: Crossref Reference Linking Plugin for OJS 3.4
New Features
------------
#8490 #8484: Improved MariaDB testing and support
#8478: Improve GoogleScholarPlugin
#8474: Improve the content of REVIEW_COMPLETE and REVIEW_EDITED templates
#8437: Add descriptive comments to database tables/columns
#8406: Improve DublinCoreMetaPlugin
#8403: Consider submissions with no contributors
#8369: Consider new DOI implementation in other parts of the code
#8351: Store a copy of the agreed copyright notice in a submission's activity log
#7265: Improve workflow for making an editorial decision
#7191: Improve submission wizard accessibility and usability
#2676: Track and report on institutional subscriber usage
#8328: CSV for stats API timeline functions
#8306: Enhance the queue failed jobs functionality.
#6781: Support COUNTER Release 5
#6782: Improve usage statistics handling in the background/code
#7392: Ensure Site Administrators have "global" access within journals
#7391: Ensure that Managers can control enrolments within their journal
#6062: CrossRef and DOI UI/UX quality of life improvements
#orcidProfile/181: Support reviewer credit with ORCiD
#2564: Support HTML markup in submission titles
#4622: Implement a third-party library for a queuing tasks
#4343: Use jobs to send new issue published email notifications
#5716: Refactor email templates to better support discovery, reuse and documentation
#5730: Improve subject and body of the default email templates
#6093: Setup foreign key constraints
#6091: Enable all classes to be autoloaded
#6328: Migrate locale file loading to standard toolset
#5678: Introduce code formatter to enforce code style
#8290: Inclusion of Data Availability Statement as submission metadata
#8258: Add more context and documentation to Crossref setup/credentials
#8250: Improve help text for statistics settings forms
#8240: Consider parent object ID in DAO exists and get functions
#8310: Discourage DOI assignment for items other than submissions
#8239: Update Cypress to support end-to-end testing
#8210: Standardize locale code handling
#8157: Extend all setting_value columns in settings table to mediumText
#8155: Allow Mailables to use custom email templates through API
#8127: Allow embedding a footer to certain emails
#8117: Refactor email sending code in plugins and convert to Mailables
#8093 #8092 #7129 #7128 #7127 #7126 #7125 #7124: Add improved Repository patterns
#8083: Improve HookRegistry hook calling conventions
#8051: Improve the default submission checklist
#8044: Allow queued jobs to be processed by workers
#8043: Run more than one job per request
#8040: Update unit tests
#8020: Use queued jobs for all DOI deposits
#7933: Update DOI suffix generator based on ISO standard best practices
#7901: Exclude duplicated IDs from deleted records in OAI interface
#7863: Add API endpoint to get a submission's editorial decisions
#7796: Update supported Crossref Schema across pkp-lib
#7581: Consider replace Swift Mailer with Symfony Mailer
#7356: New email templates notifying authors that their submission is being sent to review
#7353: Fix queries for MySQL ONLY_FULL_GROUP_BY mode; reduce dependence on GROUP BY
#7352: Add translations of language names to locale install list
#7318: Integrate statistics Custom Report Generator with article statistics UI
#7286: Convert all configurable emails to Mailables
#7285: Investigate how to handle cases where sendmail executable can not be invoked
#7258: Handle email template localization more gracefully
#7171: Add an interface for viewing processing queue status
#7141: Consider integration of Laravel Mail Service
#7112: A preview of metadata and uploaded files at step 4 of submission
#7105: Allow queued jobs to be processed by a cron job
#7014: Bring DOIs into the core application and refactor to support deposit status
#6941: Notify reviewers when a submission they reviewed has been accepted or rejected
#6895: IP location and institution service
#6685: OPS should support tombstones for deleted content
#6241: Add an option to make a submission file mandatory
#6222: Embed discussion content into the notification message body
#6126: Send a weekly email to editors of pending tasks
#6099: Add a "country" field to journal setup
#6077: Reduce dependency on `exec`
#5798: Make it possible to move a submission back into review
#5717: Improvements to email selection, draft, preview and send during workflow
#5048: Add direct "Unsubscribe" link to notification emails
#4789: Permit declined reviews to be reinitiated
#4246: Add option to select "Reviewers from this submission previous review rounds" in Round 2
#3585: Allow a review round to be canceled after it has been created
#3525: Select language when using email templates
#2890: Allow editors to "back out" of the review, copyediting or production stages
#743: Add recipient control on email forms
Bug Fixes
---------
#9040: Entities using the "schema" pattern don't need the setting_type field
#9039: Remove deprecated fields
#8733: Warnings at the FileCache class
#8696: When searching for a user, the results might be not visible in the interface
#8689: Multi journal installation cause translation keys added to roles instead of translations
#8679: Chapter landing pages preview not possible
#8635: One-click review access URL not supported in automated reminder emails
#8629: Add usage stats display options to the themes
#8625: Access to the chapter landing page is not logged correctly
#8591: Read-only CSS is applied in autosuggest fields in submission wizard
#8518: Update npm packages
#8503: Use more permanent URL in mailing list signup after install
#8492: File attachments don't show names in fallback locales in Composer
#8448: Issue galleys do not use their original filenames when downloaded
#8432: Search index recreation with shutdown function on Apache causes stopwords.txt file not found error
#8423: Make use of EDITOR_ASSIGN email template more consistent
#8421: LOCKSS email templates are not associated with a mailable
#8409: Restructure the implementation of queue jobs related files/classes to match current class file structure
#8379: Remove reply to link from DISCUSSION_NOTIFICATION email template body
#8374: Investigate schedule tasks to make sure execution completion return bool
#8370: ID not aligned correctly in submissions list
#8363: Submission search index not updating after deleting a submission
#8348: Missing email template variables in emails related to a new submission
#8344: Author country is not validated in the REST API
#8263: Current and default values are not being displayed correctly in form fields (as per appearance theme form)
#8231: Consider valid spacial characters in DOI suffix
#8223: Update API Key related cypress test
#8219: Native Import/Export plugin - Security Issue regarding file download
#8176: Remove LDAP plugin and auth plugin category
#8170: Upgrade sokil/php-isocodes to fix warnings
#8166: The dc oai metadata format plugin for OJS has duplicated localization
#8160: Flaky test failing most of OMP builds
#8158: Replace abandoned Stringy package
#8143: SubmissionFile's corresponding File not deleted when a new Note process is cancelled
#8091: Consider new templates for automatic notification emails and remove redundant
#8060: User locales set to NULL on user registration
#8014: Document new usage stats implementation
#7995: Warning when accessing the properties of a schema's field
#7989: Show REVIEW_REQUEST_SUBSEQUENT email only if reviewer is assigned a second time
#7958: 3.3.0 installs a locale column in the publications table that should have been removed
#7927: Native Import/Export: Better error message for missing UserGroup
#7917: Native Import Export - Remove primary_contact from chapter authors
#7871: Remove country from language selection in the UI
#7831: Review use of events and hooks for consistency
#7815: Review and update Composer dependencies before 3.4 testing
#7814: Back issues show date format syntax (Y-m-d) instead of date
#7812: Submission files will be deleted when deleting submission file pub ids
#7806: Some email variables do not have a description
#7805: OJS 3.4 download .tar.gz files results in wrong file extension for downloaded file
#7777: Incorrect dates in publications stats intervals
#7772: Issues filter doesn't show active filter in submissions list
#7761: Psy\sh() debugger not working
#7760: Submission file API does not return genre information
#7748: Files for promotion can exceed container width
#7744: Ensure email template variables are properly filtered
#7743: Improve UI to add variable data to emails
#7742: Allow user to go to submissions list after recording editorial decision
#7725: Sync the values of editorial decision constants across all applications
#7715: Automated Review Reminder not sent when the Reviewer already got an automated Request Reminder
#7693: Expand DOI test coverage and consolidate common code into pkp-lib
#7691: Include Date Published for Articles in Statistics Reports (Views, Articles, Custom)
#7690: Add PHP8.1 testing to Travis environment
#7687: Consolidate DOI settings migrations into pkp-lib where possible
#7673: Remove locale requirement in upgrade XML when installing new email templates
#7665: The DataCite Export plugin misrepresents page numbers of journal articles
#7624: Replace strftime() as it's deprecate in PHP 8.1
#7608: Add test to check DC metadata tags on article landing page
#7592: Refactor review assignments emails
#7537: Sync PKP repository for TextEditorExtras and make release
#7525: All DOI endpoints that perform actions should be PUT methods
#7520: Increase issue galley label length to match publication galley labels
#7519: Document new DOI endpoints in the API documentation
#7516: Remove the DOI preview table from the publishing preview
#7486: Allow editors other than the assigned editor to confirm a review and thank the reviewer
#7479: User::getContactSignature() should be removed
#7451: Information Disclosure via Forget Password
#7426: Clarify field description for Preferred Public Name
#7399: Remove 3.0.x upgrade scripts
#7395: Delete OneClick email templates
#7384: ViewReport: provide PDF, HTML, Other stats instead of stats for each artilce galley
#7380: Add CSRF check to user profile image deletion
#7379: users with userId of 1 cannot be merged
#7366: Investigate potential UI/UX problems generating API keys
#7346: Object properties are not converted to the correct type in API requests
#7340: Debug option for emails
#7333: Remove PressSettingsDAO/JournalSettingsDAO/ServerSettingsDAO
#7332: Fix subscription searches
#7325: EntityDAO input sanitization does not allow nullable int columns
#7297: Add test that uses the API key
#7292: Publication not published if new version created and is assigned to a new issue
#7264: Rename email template variables
#7260: Separate email templates for site and context registration
#7259: Perform email template validation when it's saved
#7254: All entity collections should use IDs as keys
#7249: Email duplication during user registration by changing lowercase to uppercase
#7245: users.locales incorrect serialization
#7244: Password Change form overwrites user input on failed change
#7225: Review use of {$principalContactSignature} in email templates
#7189: Disabling reinstate reviewer email template has no effect
#7187: Drag and Drop fails on dependent files
#7101: Make the journal health report (STATISTICS_REPORT_NOTIFICATION) respect the template enabled/disabled flag
#7077: Hover/focus states misaligned in default theme navigation menu
#7074: Include discussion emails in activity log
#7050: Remove unused issue import test files
#7034: Import/Export plugin - remove get_class dependency for filter retrieval
#7009: GoogleScholarPlugin.inc.php still references removed SupplementaryFile class
#7002: "usage" command missing from native import/export CLI
#6983: On password change, invalidate other sessions
#6969: Forms shouldn't submit data from FieldHTML form fields
#6963: Improve OAI performance
#6945: UsageStats rejects a whole logfile, even with only one malformed line
#6927: Quicksubmit cover image preview is broken
#6925: Set default user for CLI tool
#6921: Show exception error message when a plugin migration fails
#6918: Aria-labelledby on galley links must include galley label
#6917: Increase contrast of required indicator in login/registration forms
#6915: Register Laravel service providers to allow use of global functions
#6904: REVIEW_REQUEST_REMIND_AUTO & REVIEW_REMIND_AUTO
#6882: Unnecessary path part in search URLs
#6874: remove commercial URL from config.TEMPLATE.inc.php
#6850: Move creator (author) management tools to API and new form structures
#6849: Tool to convert old and apache log files into new format
#6839: Import/Export plugin - SubmissionFiles lose doi data on import
#6831: Update gettext dependency to 5.x
#6826: Migrate TinyMCE to 5.x
#6809: Add submissions filter by category
#6777: Slow query in issueDao getNumArticles
#6758: Submission email attachments from 2.x not presented in 3.x
#6545: Remove use of fileId when referring to submissionFileId
#6539: Optionally require reCaptcha during the login
#6490: Native Import/Export Plugin - Several Changes
#6432: Email templates offer first alphabetically available installed language even if language is not active
#6306: Add an option to enable/disable categories in submission workflow
#6272: Re-add submission acknowledgement email recipient controls in Settings
#6160: Submission process confusion with Corresponding Contact and Privacy Consent
#6039: Difficulty to edit fields in other languages
#6006: DOI/Crossref Cypress Tests
#5998: A stalled request to plugins.xml can block subsequent http requests
#5960: Native Import/export: Unexpected error when importing
#5948: Write integration tests for unpublishing an issue
#5850: Audit forms for RTL language compatibility
#5739: Different Contributor roles like translators are not taken into account when displaying and exporting metadata
#5625: Remove unnecessary Application::getPluginSettingsContextColumnName() method
#5196: CSS Pseudo selectors creating a duplicated link announcement on screenreaders
#5195: Remove current issue link from the cover image on the homepage
#5194: Add role="form" to all forms in default theme
#5192: Remove unnecessary aria-labels
#4900: Assign participant form list issue
#4734: [Sprint/UIUX] New Submission Step 1 - General UIUX interface considerations
#4732: [Sprint/UIUX] New Submission Step 1 - Consider confirming all required fields with one button
#4569: URLs are often double-escaped in smarty templates
#4507: Do not automatically send editor decision emails to all co-authors
#4457: Allow journal editors to be automatically assigned to submissions in a section
#4301: ThemePlugin::isColourDark() returns true if color string is null
#4240: Remove unvalidated new accounts after expiry
#4235: Improve OAI-PMH set spec compliance
#4076: Test suite passes despite failures in plugins tests
#4073: mergeUsers does not update user_id in all relevant tables in the database
#4059: No email sent to author when article goes to external review
#4056: Change the default DOI suffix patterns so that they support future changes in OJS
#3899: Prevent deletion of active genres/components
#3646: When publishing new issue, PUBLISH_NOTIFY template not used
#3396: Consider renaming Submission List "Archives" to "Archived"
#3391: pkp-lib/classes/xslt/XMLTypeDescription.inc.php Doesn't work when behind HTTP proxy
#3351: Add integrity checks before upgrade process
#3253: Glossary of e-mail variables
#3227: Add submission ID to email subject for all submission-related emails
#3193: [OJS] Allow prepared email templates to be selectively available for discussions and participant assignment
#3187: [OJS] Author can not see Editor decision if article get declined without peer-review
#2524: OJS shouldn't notify all contributors when an editorial decision is made