Skip to content

Releases: openlibhums/janeway

v1.5.6 Baton Rouge

20 Jun 06:55
Compare
Choose a tag to compare

Security

Version 1.5.6 contains a security fix (#4257). We recommend that everyone upgrade to 1.5.6 as soon as possible.

What's Changed

  • updates views with journal filters. by @ajrbyers in #4257
  • Fix a bug that kept untyped galleys migration from taking effect #4262 by @joemull in #4263
  • Fix an internal bug in the view for managing the issue list by @yakky in #4278
  • Fix bug that caused & to display on article titles with & in them by @joemull in #4267
  • Fixed a bug where text like "%}" was being displayed on some pages by @ajrbyers in #4273

Full Changelog: v1.5.5...1.5.6

v1.5.5 Oakland

30 May 16:45
Compare
Choose a tag to compare

What's Changed

  • Fixed a bug where CSS styles where being wiped when saving rich-text forms by @joemull in #4196
  • Date and time fields now use browser-default selection widgets by @joemull in #4202

Full Changelog: v1.5.4...v1.5.5

v1.5.4 Eureka

14 May 19:23
Compare
Choose a tag to compare

Changelog

This patch version addresses two bugs reported in v1.5.3

What's Changed

  • Fixed a bug that stopped metrics from displaying for repository authors by @mauromsl in #4180
  • Reviewers from past review rounds are now valid review assignment choices by @mauromsl in #4181

Full Changelog: v1.5.3...v1.5.4

v1.6.0 Crusher

25 Apr 16:54
Compare
Choose a tag to compare
v1.6.0 Crusher Pre-release
Pre-release

Upgrade notes

In this version of Janeway, we have bumped the Django version to the most recent LTS version of 4.2. If you are using third party libraries for Django on your installation of Janeway, it is important that you verify they support Django 4.2 before upgrading.

As a result of this upgrade, all dependencies on requirements.txt have been also bumped were required compatibility changes with Django 4.2 were necessary. Another side-effect of this upgrade is that the minimum python version supported is now 3.10+ (from 3.9 in Janeway v.1.5.2)

Once you have verified and upgraded any custom python/Django dependencies the shell script .update.sh should be run as usual.

What's Changed

  • Altmetric badges with no mentions are hidden by @StephDriver in #3893
  • Fixed an issue where bounced email notifications failed with an error due to not being linked to a journal or repository by @ajrbyers in #3993
  • Adds support for displaying issues grouped by decade by @ajrbyers in #3999
  • Fix missing quote in generated html by @yakky in #4006
  • Breadcrumbs added to unassigned templates by @StephDriver in #3820
  • #2678 wrapper div of class columns added by @StephDriver in #3856
  • Fixed a bug on dockerised environments where it was impossible to run make install against a postgres backend by @mauromsl in #4009
  • Removed django countries from the master branch by @ajrbyers in #4011
  • Updated some bad alt text. This isn't perfect but is 100x better than before. by @ajrbyers in #3907
  • add blank field as the first choice for decision by @everreau in #3835
  • PreprintFile download_url should point to the public url by @myucekul in #3852
  • #3906 un-nest labels and inputs in themes by @StephDriver in #3908
  • Call get_setting with setting.name by @gamboz in #4000
  • Adds datatables to the unassigned articles list page by default they are now sorted by date submitted, ascending. by @ajrbyers in #4013
  • Adds a new setting to conceal the editor details when an author is viewing their article's metadata. by @ajrbyers in #4014
  • Enhances the reviewer role list with additional, reviewer specific detail. by @ajrbyers in #4018
  • Updates the OLH theme to ensure user images are not displayed on anonymous reviews. by @ajrbyers in #4021
  • Fixes an issue where multiple jump links appear in an article's workflow nav when it has been moved through the workflow in a non linear fashion by @ajrbyers in #4022
  • Correct display of author last names on Clean theme by @ajrbyers in #4029
  • Removes an errant closing
    tag in the clean editorial_team template. by @ajrbyers in #3887
  • #3785 bugfix - control user if statement contents updated by @StephDriver in #3891
  • Merge of b_1_5_2 by @mauromsl in #4031
  • #3088 Editors can now determine whether the date submitted and date accepted display for their articles on all themes by @ajrbyers in #4062
  • #3922 remove aria-haspopup from reveal by @ajrbyers in #4066
  • #3810 fixes a bug where action_text was not being recorded for two email types by @ajrbyers in #4070
  • Django's admin interface will now use the email field for authentication by @ajrbyers in #4076
  • Repository managers can add help text to the preprint update page by @ajrbyers in #4075
  • Add XSL support for the JATS verse-line/@Style attribute by @tbelc in #4078
  • Removed a duplicate URL (should not have any practical implications) by @StephDriver in #3850
  • #2296 acceptance date added to copyediting dashboard table by @StephDriver in #3825
  • Editors have more control over editorial team display by @ajrbyers in #4068
  • 3857 breadcrumb remove currentpage href by @StephDriver in #3861
  • CMS pages can now display a table of contents by @ajrbyers in #4074
  • Add XSL support for the JATS email element in all contexts by @tbelc in #4092
  • #3897 Repository searches now exclude extraneous white space by @ajrbyers in #4067
  • Authors and editors can edit funder metadata by @ajrbyers in #4061
  • Janeway version is visible to everyone by @joemull in #4108
  • use timezone when recording date_published at preprint acceptance by @everreau in #4057
  • B 1 5 2 by @mauromsl in #4113
  • 4072 django 4 2 by @mauromsl in #4073
  • #4081 reviewers from past review rounds are now valid review assignment choices. by @ajrbyers in #4101
  • Fixes a bug that stopped the Share Reviews page from loading properly. by @ajrbyers in #4116
  • Updates Janeway's ASCII art with the new logo by @mauromsl in #4019
  • Bump version 1 6 0 by @mauromsl in #4117

New Contributors

Full Changelog: v1.5.2...v1.6.0-RC-1

v1.5.3 Cerritos

01 May 10:56
Compare
Choose a tag to compare

What's Changed

  • Ensures that only staff are allowed to assign the journal manager role by @ajrbyers in #4143
  • Fixed a bug where the rich-text editor on the "share reviews" screen wasn't working as expected by @ajrbyers in #4145
  • Fixed an issue where galleys generated throug transformation where getting their metrics recorded by @mauromsl in #4147

Full Changelog: v1.5.2...v1.5.3

v1.5.2 Yorktown

28 Mar 11:04
Compare
Choose a tag to compare

Release Notes

This patch aims to resolve some inconsistencies found when implementing the new rich-text editor, as well as provide a few improvements on Janeway themes to support additional custom templates (see hourglass)

What's Changed

New Contributors

Full Changelog: v1.5.1...v1.5.2-RC-3

v1.5.1 Archer

12 Dec 08:04
Compare
Choose a tag to compare

Upgrade notes

This version of Janeway introduces the TinyMCE editor for rich-text fields. It is used in combination with django-bleach to help clean unwanted formatting when copy-pasting into these fields, as well as sanitizing inputs to guard against potential XSS attacks. The two libraries are configured automatically within src/core/janeway_global_settings.py, however you can override their configuration on your own settings.py.

Important note: The default configuration of TinyMCE will automatically convert any asbsolute links with the same domain into relative links when used in rich-text fields which is an issue when this links are sent on emails.
Thus we recommend upgrading to Janeway v1.5.2 where this default behaviour has been overriden.
Alternatively, this can be avoided by toggling off convert_urls in this version

What's Changed

  • Recognises .avif as a valid image mime by @mauromsl in #3495
  • [XSLT] Allows styled-content to declare custom CSS classes by @mauromsl in #3494
  • Adds support for fig/alt-text to JATS XSLT by @mauromsl in #3493
  • Fixes a typo in our Readme file by @joemull in #3520
  • Update requirements for Python 3.10 compatibility #3524 by @joemull in #3525
  • Remove recaptcha_init templatetag by @yakky in #3507
  • Added a janeway db bases SessionStore and overwrite clear_expired by @ajrbyers in #3476
  • Update docs/requirements.txt to pin a few module versions by @hardyoyo in #3485
  • Merge b_1_5_0 by @mauromsl in #3532
  • Bump sqlparse from 0.2.3 to 0.4.4 by @dependabot in #3499
  • Bump django from 3.2.18 to 3.2.19 by @dependabot in #3539
  • B 1 5 0 v2 by @mauromsl in #3540
  • 3316 improve sitemap generation by @ajrbyers in #3535
  • B 1 5 0 by @mauromsl in #3552
  • #3288 update generate_preprints command and tweaked preprint.html. by @ajrbyers in #3443
  • #3188 issue_add_articles now uses the active_objects manager by @ajrbyers in #3460
  • #3533 the Logs, Documents and More dropdown now has a link directly to the Edit Metadata page by @ajrbyers in #3534
  • #3404 adds some enhancements to the repository submission file upload by @ajrbyers in #3479
  • #3502 DOI edit and add buttons will no longer be shown to authors on the article metadata page. Text on the identifiers section has also been updated by @ajrbyers in #3513
  • Adds a check_plugin_exists function to utils.plugins by @ajrbyers in #3553
  • Disable is_secure URL builder checks when DEBUG is on by @mauromsl in #3554
  • #3491 editors will no longer see the Review Form ID field and the slug field has been removed entirely by @ajrbyers in #3536
  • Press managers can customise some elements of journal footers by @joemull in #3531
  • 3427 automated reminder help text has been update to make the function of the Review (Accepted) review type clearer by @ajrbyers in #3538
  • Increases the journal code CharField max_length to 40 by @ajrbyers in #3546
  • Peer review invite by @ajrbyers in #3541
  • #3289 remove ID from section str by @ajrbyers in #3459
  • Fix a SASS bug that unset default colors on OLH theme by @joemull in #3530
  • Use raw ID fields for files in a few spots for quicker loading by @joemull in #3527
  • Fix bug that reloaded an email template without user confirming by @joemull in #3518
  • Fix bug with section display on submissions page by @joemull in #3523
  • 3101 article figures now enlarge with lightbox as the default on-click effect by @ajrbyers in #3537
  • Add a test for whether /usr/bin/crontab exists, before attempting to run install_cron. Warn if crontab not found. by @hardyoyo in #3461
  • Updates the JATS 1.2 XML document with additional information by @ajrbyers in #3506
  • Make sure review visibility warning only shows up when it should by @joemull in #3519
  • Issue assignment clarity by @joemull in #3511
  • Modify article pages for all themes to support proofing accuracy by @joemull in #3471
  • Editors and Section Editors can now access the account API endpoint. by @ajrbyers in #3544
  • Uses Django's SQL compiler to sort FT search results by @mauromsl in #3575
  • #1471 pass decisions through to the warning view so it can redirect the user properly by @ajrbyers in #3570
  • Bump requests from 2.25.1 to 2.31.0 by @dependabot in #3566
  • openlibhums/typesetting#184 galley.type and galley.file.mime_type will now be synced when a galley.file changes by @ajrbyers in #3580
  • Fix bug that prevented BookLink from loading in admin by @joemull in #3583
  • B 1 5 0 by @mauromsl in #3590
  • Fixes a bug where the footer in material theme would not be fixed at the bottom of the page by @mauromsl in #3585
  • Order news by sequence and display date by @gamboz in #3600
  • Fixes an issue were email settings were empty on Docker by @mauromsl in #3619
  • #2214: Re-instate default-li for submission items on material theme by @mauromsl in #3642
  • Remove "Incomplete submissions" from repository manager by @alainna in #3626
  • Bump django from 3.2.19 to 3.2.20 by @dependabot in #3623
  • Fix bug that kept small caps from being applied by @joemull in #3603
  • Snapshot and update authors on acceptance before deposit #2702 by @joemull in #3592
  • 2986 fixes an error that caused edit_metadata to fail when additional fields were present. by @ajrbyers in #3568
  • 965 the old submission_competing_interests has been removed, this is controlled by submission configuration by @ajrbyers in #3569
  • #3348 comments to the editor field has been moved to the end of the submission flow by @ajrbyers in #3581
  • Deprecate run_upgrade command by @joemull in #3696
  • Fix invalid anchor tag #3697 by @joemull in #3698
  • Add menu option for press-level media manager #3144 by @joemull in #3699
  • Modify funder help text in submission migrations by @joemull in #3704
  • #3627 the email sent to editors when an author completes revisions is now a template and is logged correctly by @ajrbyers in #3655
  • #3618 the review preview form now renders correctly accounting for display settings by @ajrbyers in #3649
  • #3616 reviewers can now access reviews in any of the accessible review stages. by @ajrbyers in #3660
  • #3099 reminder emails are now logged by @ajrbyers in #3648
  • #3604 Updated spelling of anonimity to anonymity. by @ajrbyers in #3613
  • #3598 the press manager index no longer errors when an article is orphaned from its journal. by @ajrbyers in #3614
  • Upgrade materialize by @joemull in #3594
  • #3586 fixes the display of the Review Files section when there are no files and its widescreen display by @ajrbyers in #3587
  • Auto-generated table of contents for articles (TOCs) can now have HTML in them. by @ajrbyers in #3526
  • Add preprint API endpoint by @hardyoyo in #3166
  • #3665 the Draft Decisions model now uses the correct decision types. by @ajrbyers in https://github.com/BirkbeckCTP/...
Read more

v1.5.0 Torres

17 May 11:34
Compare
Choose a tag to compare

Release Notes

To run this upgrade, you can use Janeway's built-in script (.update.sh).

On this version of Janeway we have bumped the version of Django from 1.11 to the most recent LTS version 3.2. As a result of multiple
backwards changes, there have been a lot of rewrites of old code involved. Any installed plugins do need to be updated for compatibility
with this new release as well, so we recommend upgrading your plugins first, before running the .update.sh script

What's Changed

  • Exposes the XML url as a meta tag for indexers (Google Scholar) by @mauromsl in #3437
  • Django three two rebase by @mauromsl in #3438
  • Bump django from 3.2.16 to 3.2.18 by @dependabot in #3439
  • Bumps Janeway version to 1.5.0 by @mauromsl in #3440
  • Fix import error that happens on Python 3.10 by @joemull in #3451
  • Remove flake8 overrides by @joemull in #3449
  • Tweaks utils.0030 to avoid multiple leaf nodes error by @ajrbyers in #3444
  • Confirmable form bugfix by @joemull in #3452
  • Fix crontab configuration bug by @joemull in #3458
  • Funder form fixes by @joemull in #3454
  • #3463 allows staff to assign the journal-manager role. by @ajrbyers in #3464
  • Fixes an issue with redirection from middleware in Django 3.2 by @mauromsl in #3467
  • Updated the submission fundref page. by @ajrbyers in #3469
  • Remove old recaptcha initialiser by @mauromsl in #3468
  • Pre-sanitize MAIL.FROM before sending notifications by @mauromsl in #3470
  • Fix value error sanitize email extra by @mauromsl in #3473
  • Checking mailgun status will now use the instance's Mailgun API endpoint if it is set by @ajrbyers in #3472
  • [XSLT] Adds support for JATS code by @mauromsl in #3496
  • Fixes an issue with full text search compatibility and Django 3.2 by @mauromsl in #3516
  • Fixes a number of issues with Janeway version missmatches by @mauromsl in #3515
  • Fixes a 500 raised error when a galley has no file associated with it by @mauromsl in #3514
  • Fixes a bug with email notifications when declining a paper through draft decisions workflow by @mauromsl in #3517
  • Updates the send email with template function to support plugins by @ajrbyers in #3492
  • Peer review invite by @ajrbyers in #3490
  • Fixed an issue where From address was being encoded as a tuple on some email backends by @mauromsl in #3551
  • set x-frame-options in janeway_global_settings.py by @hardyoyo in #3573
  • #3563 Repository search now uses the account names/institution for search by @ajrbyers in #3564
  • #3561: Uses Django's SQL compiler to sort FT search results by @mauromsl in #3576
  • Revert unwanted nullable file field on Galley by @mauromsl in #3578
  • #3559 Author preprint metrics summary accesses are now split into views and downloads across two charts. by @ajrbyers in #3562
  • #3588 fixed a bug that stopped editors from withdrawing a review. by @ajrbyers in #3589

Full Changelog: v1.4.4...v1.5.0

v1.4.4 Apollo

08 Dec 09:26
Compare
Choose a tag to compare

Upgrade Notes

To run this upgrade, you can use Janeway's built-in script (.update.sh). There are no newly introduced configuration steps required.

This minor release includes a few bugfixes and improvements on features newly introduced in v1.4.3

What's Changed

  • Add pagination for Django REST Framework to Janeway global settings by @hardyoyo in #3301
  • #3302 hamburger menu now works on Repository mobile interface. by @ajrbyers in #3303
  • 3304 reader notifications bugfixes by @ajrbyers in #3306
  • Handle error when nose is not present by @mauromsl in #3308
  • Add swagger and redoc docs to api by @hardyoyo in #3300
  • Author address won't be shared as reply-to on submission acknowledgements by @mauromsl in #3312
  • 3309 Add template fragment cache to metrics block on /repository/manager by @hardyoyo in #3310
  • Fixes preprint generator by @mauromsl in #3314
  • #3311 the Active Submissions view will no longer show archived articles. by @ajrbyers in #3313
  • XSLT now allows ref/label nodes to be rendered as HTML by @mauromsl in #3320
  • Improved performance of repository manager page by @mauromsl in #3315
  • Updated custom replyto and added a catch incase reply_to is not a tuple or list by @ajrbyers in #3321
  • typo :) by @gamboz in #3330
  • #3322 articles should no longer be stalled when funding is enabled. by @ajrbyers in #3325
  • Update to reviewer.rst by @justingonder in #3336
  • The manage workflow stage link is now available to editors by @ajrbyers in #3349
  • Display the issue DOI URL on the issue page when it is available by @mauromsl in #3354
  • Changes ableist terminology around peer review anonimity by @mauromsl in #3353
  • Updates localisation files by @mauromsl in #3388
  • Add RSS feed for preprints by @hardyoyo in #3391
  • Name of CC *-ND licenses changed to NoDerivatives by @gamboz in #3397
  • Adds the base structure and migrations to support en-us locale by @mauromsl in #3389
  • Fixes a bug where metrics were being stored agaisnt the wrong type of galley by @mauromsl in #3395
  • Refactor tests to eliminate naive datetime warnings by @hardyoyo in #3381
  • Fixed an issue where articles with a publication title override where not using in the "how to cite" block by @mauromsl in #3406

Full Changelog: v1.4.3...v1.4.4-RC-2

v1.4.3

18 Oct 17:42
Compare
Choose a tag to compare

Upgrade Notes

To run this upgrade, you can use Janeway's built-in script (.update.sh). There are no newly introduced configuration steps required.

New features

You can find a description of the main features in this release in our documentation https://janeway.readthedocs.io/en/latest/changelog.html#v1-4-3

What's Changed

  • #2994 adds href to the manage reviewers link on the add reviewer page. by @ajrbyers in #2995
  • Add confirmation pane to author-facing task submission buttons by @joemull in #2950
  • 3015 editors can now send author copyedit review notifications if they are initially skipped. Editors can also delete uncomplete author reviews with an optioinal email notification. by @ajrbyers in #3049
  • #2847 replace hard coded next stage text when completing copyediting with calculation of next stage. by @ajrbyers in #3023
  • Enable preprint moderators to un-reject preprint by @alainna in #3067
  • #3057 Fix hard-coded article IDs by @joemull in #3058
  • #3052 Fixes default templates by @joemull in #3053
  • b_1_4_2_1 merge by @mauromsl in #3102
  • #3109 full text indexing will now work as expected for HTML with a body tag. by @ajrbyers in #3110
  • #2320 the OLH theme will now display text when an article is not peer reviewed. by @ajrbyers in #3013
  • Document and test reply-to setting by @joemull in #3044
  • Fix logic on issue assignment during prepublication checklist by @joemull in #3042
  • Bugfixes for popular and featured homepage elements by @joemull in #3040
  • Fix some typos by @fingolfin in #3003
  • Add Undo Article Rejection button on archive page by @joemull in #2996
  • Debug email subject settings by @joemull in #3030
  • #2840 added setting to form, updated to work on form. by @ajrbyers in #3035
  • Copyeditors can now see the article ID on the list and detail pages. by @ajrbyers in #2990
  • Fix an issue where table footnotes would lead article footnotes to no longer link correctly by @mauromsl in #2988
  • Adds controls for handling articles in Accepted stage by @joemull in #3060
  • Make the translation markup changes identified in PR #2974 by @hardyoyo in #2984
  • 1170 editors can now sort an issue's articles by date_published, title, article number or page numbers by @ajrbyers in #3012
  • Let section editors see more list views by @mauromsl in #3115
  • #3074 the author section of the dashboard has been split to show published articles independently, datatables have been added and sections are ordered properly. by @ajrbyers in #3083
  • #3063 remove the enable_digest field from themes as not all themes fail gracefully by @ajrbyers in #3064
  • Privacy policy link on the clean theme's registration page now renders the correct override. by @ajrbyers in #3092
  • 3059 when an editor completes a workflow element they will automatically be moved onto the next one rather than being directed to the dashboard by @ajrbyers in #3069
  • Adds a warning when manually changing an article stage via admin by @mauromsl in #3119
  • #3112 allows staff to override the journal description when displaying it on the press journal list page. by @ajrbyers in #3113
  • #3038 when the keywords page is enabled, readers can click on article keywords to see a list of articles that use that keyword. by @ajrbyers in #3050
  • #2755 added the Article Rights field to the View and Edit metadata pages. by @ajrbyers in #3019
  • #2814 updated the decision page's skip button text to make it clearer. by @ajrbyers in #3021
  • #2857 when a journal disables submission they can now set a custom message. by @ajrbyers in #3031
  • #2851 added link to toc header for material. by @ajrbyers in #3036
  • #2969 staff, editors and section editors can bypass funding_is_enabled decorator by @ajrbyers in #3029
  • Editors will be warned when they attempt to assign a task to a user whose account is not active. by @joemull in #3054
  • 2841 fixes article links on profile pages by @ajrbyers in #3124
  • #2904 fixes an issue that caused modified dates for File objects not to show up by @ajrbyers in #3032
  • Fixes a bug with page ranges that caused articles not to appear in lists by @joemull in #3132
  • Fixed a bug preventing output of internal links to references from footnotes via XSLT by @mauromsl in #3129
  • Bump lxml from 4.6.5 to 4.9.1 by @dependabot in #2985
  • #3112 fixed a typo, made messages translatable by @ajrbyers in #3127
  • Standardize admin fonts to Open Sans by @joemull in #3135
  • 2937 adds DOI pattern validation to repository submission and update. by @ajrbyers in #2944
  • 2935 various multitenancy bugfixes for repositories by @ajrbyers in #2946
  • Control user button now also appears on the search user interface. by @ajrbyers in #3065
  • #2820 Accounts now have a suffix field that will be snapshotted into Frozen Authors by @ajrbyers in #3084
  • Makes OIDC use the press url path and adds ?next for a redirect. by @ajrbyers in #3095
  • Two submission settings were duplicated on the settings page, the duplicates have been removed. by @ajrbyers in #3094
  • #2711 review due dates are now in the default invitation and on the review page. by @ajrbyers in #3018
  • #2819 adds description to Review Files block to avoid confusion and adds the latest manuscript and figure files inline below a revision request. by @ajrbyers in #3020
  • Adds support for Issue and Journal DOIs to Crossref Integration by @mauromsl in #3128
  • #3138 Fixes bug that put 'collection' in issue urls by @joemull in #3139
  • The Competing Interests field can now output HTML. by @ajrbyers in #3103
  • Article citations can now be downloaded in RIS and BibTeX format for ingestion on citation managers. by @mauromsl in #3118
  • Fix conflicts between core/0074 migrations by @joemull in #3141
  • RSS feed titles and descriptions are now not terrible. by @ajrbyers in #3123
  • Fix test_article_image_galley by @joemull in #3143
  • Added new settings to disable article thumbnails and article large image independantly by @mauromsl in #3120
  • #2875 oai pmh endpoint for preprints by @everreau in #3098
  • XSLT: Allow footnotes to be referenced multiple times by @mauromsl in #3117
  • Fix bug that duplicated issue title by @joemull in #3148
  • #2934 repositories can now select active licenses from those available. by @ajrbyers in #2955
  • 518 adds new reader role to which users can add themselves, they will then receive notifications when new articles are published by @ajrbyers in #2943
  • Removed status logic from manager_review_status_change setting. by @ajrbyers in #3000
  • Add open peer review. #141 by @ajrbyers in #2602
  • #2737 Added new archive stage. by @ajrbyers in #2929
  • #2028 adds a feature flag to disable the Reviews block on the author's article page before acceptance/rejection by @ajrbyers in #2945
  • Test fixes. by @ajrbyers in #3151
  • #2992 installations and journals can now set which theme is used as the base theme by @ajrbyers in #2998
  • Added clear script prefix. by @ajrbyers in https://github.com/Birkbe...
Read more