Key Changes
Version 4.4.4 is a maintenance update to fix issues reported since 4.4.3.
Additional Information
Core
- Added support for [Emoji 11](https://emojipedia.org/emoji-11.0/) emojis
- Added logging for errors communicating with Spam Defense.
- Added an admin log when existing member notification preferences are updated.
- Added a pre-installed Giphy key that can be used for all Invision Community installations.
- Improved usability and display of date-based member filters.
- Improved account validation process to prevent accounts being inadvertently validated by scrapers and bots, and to improve the user experience when following a validation link that is no longer valid.
- Improved the opcache comments check on the REST API Reference page.
- Improved sending bulk emails via SendGrid.
- Improved post before register permissions when allowing guests to create content, but not members.
- Improved performance when viewing all IP addresses used by a member.
- Clarified the registration completed email when no local password has been set.
- Fixed an issue where members may not be marked as complete, and thus will not show within the community, in some circumstances.
- Fixed the Posts Per Day group setting not applying consistently to all content.
- Fixed an issue where click tracking may not be applied to all links in emails sent.
- Fixed emails for AdminCP notifications "A new member has completed registration" and "A member is flagged as a spammer" not sending.
- Fixed an issue that could occur if deleting a node (i.e. forum) if there was already a move task from another node in progress.
- Fixed the email statistics charts in the AdminCP showing incorrect data when viewing weekly charts.
- Fixed an issue where the inbox list may be stuck showing a spinner when canceling a search in the personal messenger.
- Fixed an issue where folder counts may show NaN after deleting a folder in the personal messenger.
- Fixed an issue that may occur when deleting/moving login handler related images.
- Fixed searching by tags not honoring the "Convert all tags to lowercase" setting.
- Fixed 'post before register' content submissions not incrementing the user's post count if pre-moderation is not required.
- Fixed an issue related to 'post before register' where 'next unread' item links may show when there isn't any new content.
- Fixed the callback URL used for Wordpress sign in.
- Fixed the digest task looping on a follow attached to a deleted member.
- Fixed the `PruneMembers` background task from endlessly looping in certain circumstances.
- Fixed disabling password changes in the AdminCP settings not removing the link to change your password on the Account Settings overview page.
- Fixed issue where lazy-loaded images in warn reasons would prevent warn reason from automatically updating when new reason was selected due to incorrect editor 'dirty' status.
- Fixed a niche issue where promoting an item may show an auto scheduled time from the past.
- Fixed an issue where the button to change a members profile photo would still show on their profile when they do not have permission to upload profile photos.
- Fixed an issue where public clubs would show the member count in several locations.
- Fixed an edge-case issue with redirecting old non-rewrite FURLs after enabling rewrites.
- Fixed issue checking signature image dimensions when using 'insert existing attachment' when using Amazon S3.
- Fixed an issue where the frontend upgrade notice wouldn't disappear once dismissed.
- Fixed an issue where cover photos might disappear shortly after displaying.
- Fixed an issue with lazy load placeholders when added to existing content.
- Fixed a layout issue with the mobile pagination buttons.
- Fixed an unnecessary redirect when viewing a club.
- Fixed a potential timeout running the cleanup task.
- Fixed Elasticsearch being able to be set up with version 7 (which is not yet supported). Trying to do that will now show an error message.
- Fixed an issue where moved links may show in the topic widget.
- Fixed an issue where a member registering with an auto-detected language would revert back to the default language after registration.
- Fixed an issue where the latest activity tooltip would state "online now" when the member was offline.
- Fixed broken login form.
- Fixed status pagination loading a full page instead of comments only.
- Fixed non-latin characters in the URL showing incorrectly when moving between pages.
- Fixed an issue where the approval queue may show content in the wrong order.
- Fixed an issue where the guest signup block title and text was reversed in vertical view.
- Fixed an issue where custom friendly URLs would not use the newer `/page/2/` pagination format.
- Fixed an issue where club pagination in user profiles was showing the wrong number of pages.
- Fixed an issue where a Redis failure caused an uncaught exception.
- Fixed an issue where the Clubs REST API would throw an error if commerce isn't installed.
- Fixed an issue where online user lists may be empty following a Redis crash.
- Fixed an issue where incomplete member registrations were not cleared correctly.
- Fixed an issue where Post Before Register Followups were sent out immediately rather than delayed.
- Fixed an exception that prevents storage handler changes from being saved properly.
- Fixed an issue where the 'Failed Emails' AdminCP notification may not be removed properly.
- Fixed an issue where the "Anonymous login" checkbox was incorrectly checked.
- Fixed an issue where PBR content would be left in the database for uninstalled applications.
- Fixed a rare issue where a template disk cache could corrupt and affect templates loading.
- Fixed an issue where members created via the ACP weren't marked as completed.
- Fixed an issue with Flickr video embeds showing as photos.
- Fixed an issue with notifications not showing as unread.
- Fixed an issue where the exact profile field search option had no affect.
- Fixed an issue where the default country was not correctly set in address form inputs.
- Fixed an issue where the guest teaser would not show on the comment form in some circumstances.
- Disabled Grammarly from checking editor fields to prevent Grammarly from breaking HTML and causing broken posts.
- Disabled preloading of notification sound to speed up initial page load.
- Disabled concurrent comment merging in status replies.
- Removed post content from Post Before Register reminder emails to prevent spam.
- Removed ability to sort club menu tabs if only one tab is present.
Forums
- Fixed a niche issue where the 'Delete Legacy Posts/Topics' background task may not work when ran via CRON.
- Fixed an error when moving topics in fluid view.
- Fixed a database error that could occur when archiving old posts.
Commerce
- Fixed tax class being lost with renewal terms when editing a purchase.
- Fixed tax class being lost when renewal invoices were generated for location-specific tax rates.
- Fixed an issue where tickets from non-registered users may link to an empty ticket listing.
- Fixed an issue where AdminCP notifications for pending withdrawals link to the wrong page.
- Fixed Stripe webhooks unnecessarily reporting an error.
- Fixed category filters not displaying on mobile.
- Fixed an issue where creating a support request with a guest member and email address via REST API wouldn't store the email address.
- Fixed an issue which would result in an empty product list on the registration form.
- Fixed an issue searching last names in admin live search.
- Fixed an issue where manually creating an invoice and adding renewals doesn’t prevent an auto-renewal invoice being added later.
- Fixed an issue where the member subscriptions block was not editable.
Pages
- Fixed times displaying as timestamps for some Pages blocks.
- Fixed records not sorting correctly by 'highest rated'.
- Fixed the `updaterecords` task not running correctly if a database exists that is not assigned to a page.
- Fixed an issue where 'follows' may not get removed when a category or database is deleted.
- Fixed an issue where the create menu could get out of sync when the page name or the default page were changed.
- Fixed an issue where adding records via the create menu may not show categories for default pages.
- Fixed an issue that can occur when moving a record in a database that is not assigned to a page.
- Fixed an issue where Our Picks can throw an error if a database is unassigned from a page.
- Fixed an issue where, in certain circumstances, notifications could be sent for records that weren't viewable.
- Removed record image dimensions from JSON-LD markup for database records to improve performance in some cases.
Downloads
- Fixed an SQL error that could occur when upgrading from older versions.
- Fixed an issue where the purchase count for Files associated to purchases was shown in the widgets and downloads index page blocks.
- Fixed an issue in the 'Download Reviews' widget, where links to reviews on page >1 were broken.
Gallery
- Fixed an issue where past reputation for image comments and reviews no longer displayed.
- Fixed browser scrollbar disappearing while editing Gallery image details in some cases.
- Fixed image carousel widgets not displaying correctly in certain circumstances.
- Fixed an issue where uploading on small screens caused the status to overflow outside of its box.
- Fixed an issue where images may show as unread incorrectly in streams.
Calendar
- Fixed an issue where recurring events may show on the wrong day in Calendar.
- Fixed an issue where all day events specified an incorrect start and end time in search engine markup.
Converters
- Fixed an issue where reaction images may get converted into the wrong container.
- Fixed an inaccurate progress bar on a background task that runs after completing a conversion.
Changes affecting third-party developers and designers
- Added a `$statementReverse` parameter to use `NOT IN` in the where clause when `\IPS\Db::select()` is passed to `\IPS\Db::delete()`.
- Added a further check when trying to choose which storage configuration should be used for new storage extensions.
- Added a new Language String Option `removeLazyLoad` which will remove the lazy load links while parsing the language string.
- Fixed an incorrect class reference when passing `\IPS\Db::select()` to the `$where` parameter of `\IPS\Db::delete()`.
- Fixed a search error that could occur with 3rd party applications.
- Fixed an issue with the rest API where output was json encoded before language replacements.
- Changed the default parameter in the `IPS\Content\Review::url` method.'
- Removed unused code in the \IPS\core\modules\admin\promotion\advertisements::getHtml method.
- Removed UI for immediately sending Bulk Mail, all Bulk Mail will now be sent via background queue.