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.
Key Changes
Version 4.4.3 is a small maintenance update to fix issues reported since 4.4.2.
Additional Information
Security
  • Fixed an XSS concern deleting members in the AdminCP.
  • Fixed an XSS concern managing Downloads versions from the changelog view.
  • Fixed a minor XXE possibility in blog RSS imports.
Core
  • Upgraded CKEditor to 4.11.4.
  • Updated LinkedIn login handler to use the LinkedIn v2 API.
  • Improved performance when merging two comments with duplicated member reactions for large sites.
  • Improved performance when working with edit history logs.
  • Improved security of how passwords are handled in the code to decrease the likelihood of a password being included in an error log.
  • Improved the display of the upgrader confirmation page.
  • Improved performance of the latest activity stream shown on user profiles.
  • Improved anonymous log in tracking to resolve an issue with "Since my last visit" activity streams
  • Improved the UX configuring moderator permissions for clubs, including the ability to disable club-level moderators.
  • Improved database error reporting in certain error situations.
  • Improved performance of a 4.1.8 upgrader step.
  • Changed AdminCP notifications for "A new member has completed registration" and "A member is flagged as a spammer" to show all applicable members grouped into a single notification, rather than a separate notification for each member. This change gives a significant performance improvement for sites which have lots of new registrations.
  • Fixed multiple formatting concerns with custom profile fields.
  • Fixed an issue where restoring soft-deleted content would throw an exception under specific circumstances ( e.g. when there was no record in the soft deletion log ).
  • Fixed an issue where the member group restriction to require one piece of approved content before users can bypass content moderation was not correctly applied to posts made before registering.
  • Fixed an issue where deleting a member's content and then deleting the member may result in the content not being removed.
  • Fixed SVG images breaking when served through the built in image proxy.
  • Fixed an issue with profile completion if you choose not to upload a profile photo.
  • Fixed third party processor information not showing when users are forced to reaccept an updated privacy policy.
  • Fixed the "Remove followers from uncommented content" setting not working.
  • Fixed an issue where clicking to delete a member twice might result in all status updates being removed from the search index.
  • Fixed an issue where copying content from one area with an attached image and pasting into another area may result in a broken image.
  • Fixed an issue where allowing a user to moderate comments, but not items, would result in an error when using the multi-moderation menu.
  • Fixed inability to edit profile fields by members if the field was not displayed on the profile.
  • Fixed invalid HTML in the quick search form.
  • Fixed an issue where a comment or post made before registering which requires moderator approval after the registration is completed may not update the container flag to indicate that comments within the container require approval.
  • Fixed an error where the member view in the AdminCP may become broken if the member history for the user includes an old subscription group change and Commerce is not installed.
  • Fixed an issue where broken letter photos may be displayed in emails.
  • Fixed an issue with clean up tasks where they may try to delete a member that doesn't exist.
  • Fixed an error that can occur if you double click the "unfollow" button quickly.
  • Fixed autosaved content in the editor not clearing out when it was deleted within the editor.
  • Fixed an issue where MFA while the login would send 3 'new device' emails to the member instead of only one.
  • Fixed an issue where attachment links inserted into content may have a hard coded URL.
  • Fixed an upgrade issue where custom file storage configurations in 3.x may not be preserved correctly when upgrading to 4.x.
  • Fixed an uncaught exception when visiting a specifically malformed follow link.
  • Fixed attachment bbcode tags not converting correctly when upgrading from version 2.0 or older.
  • Fixed the About Me default custom field not showing on new installs.
  • Fixed email statistic charts so they report more accurately.
  • Fixed issues with performing advanced member searches in the AdminCP when multi-select custom profile fields are present.
  • Fixed a minor inconsistency with group name formatting.
  • Fixed an issue rebuilding certain meta data in Elasticsearch.
  • Fixed an issue where items and comments queued for deletion or submitted by a guest prior to registration are returned via the REST API.
  • Fixed an error when searching a specific search string.
  • Fixed a possible error that can occur during login when using the post before register feature.
  • Fixed the Notification Settings form in the Admin CP so that it can save properly.
  • Fixed an issue where Login Handlers were shown out of order.
  • Fixed an issue where the canonical link HTML tag may include unnecessary query string parameters (i.e. filters).
  • Fixed an issue where AdminCP settings search results were not always highlighted when clicked on.
  • Fixed an issue where the pagination for comment and review areas wouldn't link directly to the comments area when Javascript is disabled.
  • Fixed an issue where content item and comment widgets would show content from not specified categories.
  • Fixed an issue where editor auto saved content may not be removed.
  • Fixed an issue where some content may not show a report link.
  • Removed the hide signatures toggles from guests when they are able to see signatures.
  • Prevented search engine spiders from following the cookie notice dismissal link.
  • Removed poll votes from showing in the All Activity stream.
  • Removed ability to copy theme settings.
  • Removed the unread indicator in several widgets because it can't be used there because of the widget cache.
  • Removed the ability to toggle cover photos in clubs list when no image was uploaded.
  • Fixed an issue where the support tool could incorrectly report undiagnosed problems.
  • Fixed missing images when lazy loading is enabled in several areas.
  • Fixed an HTML validation issue with mini-pagination next to multi-page content item titles.
  • Fixed an uncaught exception which is thrown by the Admin Notification System.
  • Fixed member validation display issue in ACP notifications page while mobile.
  • Fixed attachments being added to an editor which has attachments disabled.
  • Fixed an issue where a display name sync error may be displayed on the AdminCP member profile.
  • Fixed two language strings where countries have changed their names: Macedonia is now North Macedonia and Swaziland is now Eswatini.
  • Fixed some broken messenger related links.
Core - Clubs
  • Fixed "Clubs" tab showing when splitting content even if clubs are disabled.
  • Fixed display issue with club tabs on mobile devices
  • Removed ability to reorder club tabs on mobile devices
Forums
  • Fixed a duplicated error code in the topics REST API endpoints.
  • Fixed images used in forum rules not displaying when image lazy loading is enabled.
  • Fixed a potential upgrade error when reformatting forum rules during the 4.0.0 upgrade routine.
Commerce
  • Added an additional subtotal language phrase to the cart summary for localization flexibility.
  • Improved legacy parser to potentially allow conversions of tables in content.
  • Changed renewal terms to not allow $0 renewals.
  • Fixed an error occurring submitting new tickets when read/write database separation is enabled.
  • Fixed an issue where up/downgrading a purchase could result in an error or the expiry date changing incorrectly.
  • Fixed an issue where a cancelled subscription may still generate a renewal invoice (and subsequently charge the user).
  • Fixed tax class being lost with renewal terms in some cases.
  • Fixed an issue where images may not show in printable invoices if lazyload is enabled.
  • Fixed support stream date-based filters producing incorrect results.
  • Fixed stock action text not defaulting in the form when creating a new ticket from the AdminCP if you do not use a signature.
  • Fixed an issue where the password field on the store checkout form might disappear if using Chrome's password autofill feature.
  • Fixed an issue where invoices may not have a billing address set when one is available.
  • Fixed an issue where a template error may be thrown for non-recurring subscriptions.
  • Fixed a missing language string if you had servers configured prior to upgrading to 4.4.
  • Fixed adding a custom package to an invoice.
  • Fixed an exception being logged when rebuilding the search index if any custom packages have been created.
  • Fixed the PayPal Billing Agreements radio element not showing selected if BAs are enabled.
  • Fixed an issue where files uploaded to a custom field may not be downloadable.
  • Removed a stray HTML end tag.
  • Restored Braintree gateway option. Included a disclaimer about qualification process.
Pages
  • Fixed an issue where cloning a custom field would result in a database error.
  • Fixed an issue on the media page where the "File Overview" Tab was not set as activated and also not clickable when one or more files from the file list were selected.
  • Added last modified date to database category and record sitemaps.
Gallery
  • Changed the reputation type flag for album comments and reviews to resolve bugs where the reputation may be mistakingly treated as if it belongs to an image comment or review.
  • Fixed an issue submitting images to an album if the category requires moderator approval.
  • Fixed an error that can occur when downloading the original image in Gallery if the original image is missing on disk by forcing the largest available size to download instead.
  • Fixed image lazy loading not working correctly in category rules, descriptions and custom error messages.
  • Fixed the submission dialog box potentially showing an incorrect dialog title.
  • Fixed an issue where uploaded videos could not be played in the lightbox.
  • Fixed editor showing twice for each image during submission.
Downloads
  • Added a group setting that will allow users to bypass download restrictions when downloading a file that's been purchased.
  • Added the ability to shut off version numbers per-category.
  • Improved the header styling on the homepage.
  • Improved performance, especially of the index page.
  • Reduced top spacing (margin) of the sidebar when viewing the index page.
  • Fixed an issue where custom fields may show out of order.
Blog
  • Fixed an issue where the previous and next link under the blog entry could link to hidden or soft deleted entries.
  • Fixed some minor UI issues with the "Blogs" widget.
Calendar
  • Added an option to prevent edits and RSVPs for events that have passed.
REST & OAuth
  • Fixed the search REST API endpoint.
Converters
  • Improved vBulletin archive redirects.
  • Improved vBulletin blog conversions to retain the date the blog or blog entry was followed.
  • Fixed an issue where converted members won't be marked as completed.
  • Fixed an issue when trying to convert from a platform with converters for apps that are not installed.
  • Fixed an issue where PM replies may be duplicated when converting from vBulletin.
  • Fixed an issue with converting comments from Vanilla.
Upgrader
  • Fixed an edge case issue where some legacy customers may be unable to use the AdminCP upgrader.
Changes affecting third-party developers and designers
Backwards-incompatible changes that may affect third party applications / plugins:
  • Methods that handle passwords in login handlers (authenticateUsernamePassword(), authenticatePasswordForMember(), changePassword()) now receive an object which can be cast to a string, rather than a normal string, for the password. This reduces the likelihood of a password being included in an error log.
  • The onPassChange MemberSync callback now receives an object which can be cast to a string, rather than a normal string, for the password. This reduces the likelihood of a password being included in an error log.
Enhancements / fixes for developers:
  • Added a new constant \IPS\DEV_LOG_HEADERS which allows you to log all headers being sent during responses.
  • Better abstracted code that dynamically builds class paths for areas that are no longer using iterators.
  • Improved some extension skeleton files to not cause a ParseError once the extension is created.
  • Fixed color fields not initializing for new rows added in a manageable matrix.
Fixes that only affect developer mode or third party apps/plugins:
  • Fixed some functions not being called from the root namespace and throwing warnings when in developer mode.
  • Fixed an undefined index loading form to add a new hosting server in Commerce.
Code-level fixes that may have been causing bugs in third party apps/plugins:
  • Added code comments to all of the default constant values in init.php explaining what they all do.
  • Ensured all default wizard instances are cast as a string before being sent to the output handler.
  • Fixed an issue when pluralization and sprintf functionality is used together and the placeholder is used in the pluralized string.
  • Fixed an issue with post before register where it was assumed content items would have a container.
  • Fixed an exception when post before registering is checked against a content item that supports reviews but not comments.
  • Fixed some ambiguous column concerns with the \IPS\Content\Item::_comments() method.
  • Fixed an issue editing titles via Ajax when the item class does not use containers.
  • Fixed an issue where the release date may not show correctly for third party plugins or themes.
  • Fixed some functions not being called from the root namespace and throwing an IN_DEV warning.
  • Fixed the widget configuration form being called twice which may result in some form elements duplicating.
  • Improved some extension skeleton files to not cause a ParseError once the extension is created.
Key Changes
Version 4.4.2 is a small maintenance update to fix issues reported since 4.4.1.
Additional Information
Core
  • Adjusted the AdminCP live search to look for search strings within the name and email address (instead of only at the beginning) for sites with less than 1,000,000 members.
  • Improved error reporting for unexpected exceptions in some cases when manually running tasks.
  • Upgraded CKEditor to 4.11.3.
  • Added some AdminCP live search keywords for the Icons & Logos page.
  • Adjusted search results processing to automatically clear out invalid results when detected.
  • Adjusted comment and item widgets to restrict by the last year to prevent slow performance.
  • Fixed an issue where the leaderboard may not correctly rebuild.
  • Fixed an issue where searched terms may not be highlighted on the search results page when using Elasticsearch.
  • Fixed being unable to reach the last page of search results with Elasticsearch.
  • Fixed an issue where users could encounter an error by logging in with a new social account after already associating with a social account.
  • Fixed mobile PWA manifest file not being accessible to guests when guests are required to login to use the site.
  • Fixed an issue where javascript would not load due to a bug in the 3rd party Howler library.
  • Fixed an issue where the prune members background task may stall if it encounters a staff account.
  • Fixed an issue where email link tracking may not apply to all bulk mails sent.
  • Fixed an edge case issue where it was possible for the lazy load rebuild to affect embedded videos.
  • Fixed an upgrade issue that can occur if you have more than one of the same email address specified for upgrade notifications.
  • Fixed an issue where imported members accounts were not marked as completed.
  • Fixed an issue where changing the warning type on the warning form would not toggle the 'remove points never' checkbox to the correct value
  • Fixed an issue where profile fields display HTML code when applying custom formatting.
  • Fixed an issue where the upgrader could link to an incorrect theme when reporting theme conflicts.
  • Fixed an issue with the upgrade now link on the front-end notification banner.
  • Fixed an issue where the display name filter wouldn't store the "either" option.
  • Fixed images with uppercase extensions not launching the lightbox correctly.
  • Fixed an issue where page styling is lost temporarily when clicking "Check Again" on the support tool in the AdminCP.
  • Fixed an issue with comment widgets where editing them may not show the correctly selected date range.
Core REST API
  • Fixed an error adding a member to a club through the REST API.
Forums
  • Excluded archived topics from email digests.
  • Fixed an issue where post counts for forums may be incorrect if archiving is used.
  • Fixed an issue where merging two topics may show the topic at the wrong position in the forum listing.
  • Prevented a possible infinite redirect problem when merging two topics simultaneously with each other.
  • Applied group name formatting to member names in topics when viewed on a phone.
  • Removed redirect forums from fluid view.
Gallery
  • Fixed an error upgrading Gallery when there are orphaned albums.
Blog
  • Fixed guests being able to post comments without permission to do so.
  • Fixed blog entry ratings not displaying.
  • Fixed a minor display issue with blog ratings and tags when viewing blog entries.
Commerce
  • Improved the display and functionality of non-recurring subscription packages.
  • Improved security of public endpoints that receive webhooks and other notifications from gateways.
  • Fixed an issue where guests who cannot view the site cannot register if a subscription is required to be purchased during registration.
  • Fixed not being able to check out through Braintree purchasing a subscription while using a credit card.
  • Fixed upgrading of expired purchases resulting in account credit being issued.
  • Fixed an issue where creating a subscription without renewal options would result in a error.
  • Fixed an issue where deleting a subscription wouldn't delete the cover image.
  • Fixed an issue where the recount background task would fail.
Pages
  • Fixed an issue where the record revision list would show the same diff for each revision
  • Fixed an HTML validation error with record comments.
Downloads
  • Fixed being unable to submit multiple files at once.
Converter
  • Fixed an issue where Javascript/HTML may be stripped from code boxes in vB5.
  • Fixed an issue where some data may not be converted when converting from SMF, Vanilla, ExpressionEngine.
  • Fixed an issue where some converters may not be available for use (bbPress, Coppermine).
  • Fixed an issue with SMF conversions where forums may not allow new posts following the conversion.
Pages
  • Fixed guests being able to submit articles without permission to do so.
Changes affecting third-party developers and designers
  • Fixed an ErrorException occurring when a user receives their first PM during the instantNotifications AJAX polling.
  • Adjusted the `Content\Item::_comments()` queries to not cause a MySQL Error when 3rd party code hooks into Comment::joins to add additional joins.
  • Fixed an issue where `\IPS\Lang::replace` would change non-string values into an empty string
Key Changes
Version 4.4.1 is a small maintenance update to fix issues reported since 4.4.0.

This release also contains a critical security update for Commerce.
Additional Information
Core
  • Improved auto-upgrader for Community In The Cloud clients when an unexpected failure is detected.
  • Added AdminCP search keywords to aid in finding certain new features in 4.4.x.
  • Made several adjustments to HTTP/2 push/preloading to improve overall performance of most requests and resolve minor bugs.
  • Changed database connector so that a database connection is only established once it is actually needed.
  • Improved performance of 4.4.0 upgrades for sites with lots of members.
  • Improved performance of content item and comment sidebar blocks restricted to specific containers.
  • Improved Post Before Registering to allow the user to remove their submission and email address.
  • Changed the error message for a failed login the same regardless of the reason for extra security.
  • Fixed an issue where guest "post before register" submissions may show up in widgets before the guest registers.
  • Fixed an SQL error during the 4.4.0 upgrade in some environments.
  • Fixed several areas in the suite where images were not "lazy-loaded" as expected.
  • Fixed link styling in announcement banners making the text difficult to read in some browsers.
  • Fixed an issue where private conversations may incorrectly get flagged for automatic moderation.
  • Fixed miscellaneous HTML markup errors.
  • Fixed an issue where users could encounter an error by logging in with a new social account after already associating with a social account.
  • Fixed some issues with the "Emails failing to send" AdminCP notification.
  • Fixed frontend upgrade notice linking to the frontend instead of ACP.
  • Fixed Application icon getting lost when the datastore is flushed.
  • Fixed 'Error is logged' AdminCP Notification displaying incorrectly.
  • Fixed an issue where the newsletter signup block was showing an error to guests.
  • Fixed incorrect colors showing in the visual theme editor when creating a new easy mode theme.
  • Fixed an issue visiting certain URLs when a community is installed into specifically named subdirectories.
  • Fixed the email statistics setting not showing the correctly saved value.
  • Fixed an issue with button spacing on mobile.
  • Fixed an issue where streams may go missing if a guest member object is deleted.
  • Fixed a styling issue on certain forms such as the AdminCP notification preferences form when using locales with a comma as the decimal separator.
  • Fixed an issue where pagination may not work when 'rewrite FURLs' is not enabled.
  • Fixed posts not retaining code syntax highlighting with some code languages.
  • Fixed an issue where private conversations can be very slow to search.
  • Fixed an issue with the Emoji shortcode popup when lazy load and Twitter Emoji are used.
  • Fixed an issue with the setting for "Users can see records posted by other users" not being honored.
  • Fixed some issues related to setting a custom start url in the web manifest.
  • Fixed an issue where the prune members background task may stall if it encounters a staff account.
  • Fixed an edge case issue where it was possible for the lazy load rebuild to affect embedded videos.
Core - REST
  • Fixed disabled applications showing in the REST API area of the AdminCP.
  • Fixed the Invision to Invision OAuth 2 login handler attempting to sync letter photos.
Forums
  • Improved performance of the post feed widget.
Commerce
  • Removed Braintree option for new payment gateways.
  • Removed the package moderation ability for moderators on the frontend.
  • Removed a recommendation to switch to Braintree during upgrade.
  • Restored ability to set up PayPal Billing Agreements.
  • Fixed upgrading of expired purchases resulting in account credit being issued.
  • Fixed inconsistent styling being applied to the Latest Products sidebar block.
  • Made the grid vs list view theme setting translatable.
  • Fixed an error viewing hosting accounts.
  • Fixed PayPal checkouts through Braintree failing when tax is applied to the purchase.
  • Fixed a missing language string when managing hosting accounts.
  • Fixed an issue with configuring Braintree, if you have had any issues please open and re-save the Braintree settings.
  • Fixed an issue where paid support request custom fields would show for none paid support departments.
  • Fixed an issue where viewing a product may not work under certain circumstances.
  • Fixed a duplicated HTML element ID (which prevents the page from passing as "valid HTML").
  • Fixed an issue where the Facebook Pixel for purchase events was missing currency and value.
Pages
  • Fixed an issue where reciprocal "back links" may be incorrectly deleted from records.
  • Fixed an issue where importing a database would fail.
  • Fixed a potential upgrade issue if orphaned data was present.
Gallery
  • Fixed an issue where notifications for new images can send indefinitely.
  • Fixed an error attempting to move all albums from a category to another category in the AdminCP.
Downloads
  • Fixed an issue where notifications for new files can send indefinitely.
  • Fixed issues with Downloads files linked to Commerce packages that are deleted.
Blog
  • Fixed a styling issue with the blog header on mobile.
  • Clarified that guests will bypass the post before register feature when guests have the "Can comment on blog entries" Group Setting is enabled.
Converter
  • Fixed issues converting tags for database records in some cases.
Changes affecting third-party developers and designers
  • Made Commerce Gateways extensible by removing hardcoded namespace paths to Gateway classes.
  • Changed the FileStorage skeleton file so that a new instance does not cause a PHP error by default.
  • The Widget skeleton file was updated to follow the new 4.4.0 logic for widget display options.
  • Fixed an issue cloning custom fields if non-standard column names are used.
  • Trying to set an invalid value for a setting will result in an InvalidArgumentException.
  • Automatic moderation will now only be applied to content types that implement \IPS\Content\Hideable as this is required for automatic moderation to function correctly.
  • Fixed an ErrorException occurring during content promotion when Facebook is set up but no Facebook Pages have been linked for promoting.
  • Fixed an ErrorException that can occur if you attempt to upgrade/downgrade a package without renewal options in Commerce while IN_DEV.
  • The frontend template controlStrip now supports specifying the target attribute for links.
  • Fixed an ErrorException occurring when a user receives their first PM during the instantNotifications AJAX polling.
Key Changes
Major New Features / Enhancements

  • Post Before Registering
  • Animated GIFs
  • AdminCP Notification Center
  • New Email Features:
    • Email Statistics
    • Email Advertisements
    • Unfollow Without Logging In
  • SEO Improvements:
    • Improved pagination with page number now in path (rather than query string) and unique page titles for paginated pages.
    • Improved use of canonical tags.
    • Improved handling of empty containers and profiles to reduce soft 404s.
    • Improved JSON-LD markup, adding @id tags and fixing URLs for comments.
    • Removed page output hidden by JavaScript.
  • Performance Improvements:
    • Added Lazy Loading for images, which will speed up page rendering.
    • Added HTTP/2 support with prefetch/preload.
    • Added support for Brotli compression.
    • Improved default profile photos to use inline SVGs rather than generated images, which will speed up page rendering.
    • Improved browser caching of pages served by the guest page cache, which will reduce the number of requests reaching the server.
    • Improved handing of session data for guests to reduce database reads for guests.
    • Optimized images to reduce file size for faster page rendering.
    • Other minor performance improvements to reduce database queries and fix unnecessary code execution.
  • Commerce Store Filters allow customers to filter products by price, review, stock, or custom admin-defined filters.
Core

  • Added setting to display user group formatting in more areas (see 6 New Micro Features).
  • Added less intrusive browser notification prompt in Notifications menu (see 6 New Micro Features).
  • Added ability to show sidebar blocks to only certain types of devices (see 6 New Micro Features).
  • Added ability for club owners to reorder the navigation tabs (see 6 New Micro Features).
  • Added ability for announcements to be linked to an URL or be a title only (see 6 New Micro Features), improved consistency in how announcements are shown in different areas.
  • Improved UI for entering time intervals in AdminCP settings (see 6 New Micro Features).
  • Added a new Icons & Logos section in the AdminCP which allows providing logos for use when sharing links from the community, adding the community as a home screen app on a mobile device (along with additional settings for a PWA manifest to control certain aspects the community’s behaviour when used in this way), and in Safari’s favourites menus and pinned tabs on macOS.
  • Added a new UI for attachments, showing a box with some information about the file, rather than a plain line (see Turbo charging loading speeds).
Commerce

  • Braintree Gateway including support for PayPal (with recurring payments), Venmo, and cards. Deprecates some PayPal features.
  • Added ability to target bulk mails to members who have spent certain amounts.
  • Added sidebar widgets for best sellers, latest products, product reviews and a featured product.
New Server Requirements: PHP 7.1.0 or higher required (7.3.x now supported). MySQL 5.5.3 or higher requires (5.6.2 recommended).

Removed Features

  • Removed EmojiOne-style emojis due to licensing issues.
  • Removed Gravatar support due to privacy concerns and performance issues.
  • Removed password hashes when downloading a member list from the AdminCP. This is for security, to reduce the ease of obtaining sensitive data if the AdminCP is ever compromised.
  • Removed the name of the content (e.g. topic) from the “Next Unread” link which could consume significant server resources on large communities.
Additional Information
IMPORTANT UPGRADE NOTICE
Please note that not all third party applications and themes are yet compatible with Invision Community 4.4. If you utilize third party resources, including custom themes, please ensure they have been declared compatible by their respective authors or your site may be non-functional after upgrade.




Minor Changes

Security
We continuously audit the product for potential security issues. While none of these security changes are significant we are committed to making improvements wherever potential issues are found. We’d like to thank everyone who responsibly reported issues to us for this release.

  • Added a setting to prevent Invision Community being used in an iframe to prevent clickjacking.
  • Improved entropy of CSRF keys.
  • Improved SSRF protection.
  • Fixed potential leaking of sensitive keys via HTTP referrers.
  • Fixed an issue where the redirect script could be tricked into outputting HTML from an unverified source.
  • Fixed several minor XSS vulnerabilities.
  • Fixed some missing CSRF checks.
  • Fixed users being able to change the social account used for promoting.
  • Fixed club owners being able to manipulate the meta tags for a page which could force users to be redirected to another website when visiting certain club areas.
  • Fixed non-sensitive information on pending transactions made by guests in Commerce potentially viewable by other guests.
  • Fixed users being able to post remote images when disallowed from doing so.
Core - UI

  • Added “Create” menu on mobile.
  • Fixed ordering of custom emoji categories.
  • Fixed the “pulse” animation when reacting to content not being correctly centered.
  • Fixed the “popular” indicator overlapping reactions on mobile devices.
  • Fixed clicking on the label for a field not causing focus to jump the field it is for in several locations.
  • Fixed select boxes always dropping down, extending past the bottom of the screen in some situations (they will now drop “up” if near the bottom of the screen).
  • Fixed node (e.g. forums, products, etc.) selection fields consuming significant server resources on communities which have lots of them by limiting the number that is shown when the select box is initially opened to 100.
  • Fixed “stack” form fields (fields where multiple values can be entered) not showing the “Add another” Button" once an item was removed from the stack after the max elements were reached.
  • Fixed “stack” form fields (fields where multiple values can be entered) not saving the correct values if one item is deleted and then another one added.
  • Fixed carousels not being scrollable on very small devices (e.g. iPhone SE).
  • Fixed carousels not behaving correctly with right-to-left languages.
  • Fixed more than one sort options sometimes showing as selected in some content lists.
  • Fixed styling of bullet points in some lists when using Microsoft Edge.
  • Fixed various W3C validation errors (including removing CSS rules with vendor prefixes which are no longer needed in most browsers).
  • Removed total reputation count in “mini” reputation view (used by Gallery comments and status updates), which isn’t necessary as each reaction type shows its own total.
Core - Posting / Editor / Embeds

  • Added tag suggestions from previously used tags as you type.
  • Fixed @mentions not working in some circumstances.
  • Fixed results lists showing in wrong place in some autocomplete fields.
  • Fixed Flickr embeds.
  • Fixed embeds for extremely long content causing crashes on mobile devices.
  • Fixed pasting certain URLs into the editor escaping characters.
  • Fixed certain content being pasted into an editor only actually pasting a single URL from the pasted content.
  • Fixed UI when editing highlighted posts.
  • Fixed a user not being able to post a review if they had previously posted a review which had been deleted.
  • Fixed author of content that is set to be published in the future not being able to view and edit it if they do not usually have permission to view future items.
  • Fixed content that is set to be published in the future being able to be commented or reviewed.
  • Fixed sTex/LaTeX editor code syntax highlighting.
  • Fixed an issue where previewing content with attachments may cause the content to be listed multiple times on the “My Attachments” page.
  • Fixed double-clicking on an image to adjust its size could fail when multiple WYSIWYG editors are on the page.
  • Upgraded CKEditor to 4.11.2.
Core - Clubs

  • Added option when splitting topics/other content to have the newly created topic/etc be in a club.
  • Fixed paid clubs being able to be created without having a valid price.
  • Fixed the number of members shown for a club not always being accurate.
  • Fixed layout of the club member list when there is no sidebar (now shows 24 per page which divides evenly between the number shown per row both with and without the sidebar).
  • Fixed club leaders not being able to crop the club icon.
  • Fixed members being able to vote on polls in open clubs even if they aren’t members of the club.
  • Fixed an issue where editing a club on PHP 7.2.
  • Fixed HTML open-graph tags not being set in clubs.
Core - Search & Activity Streams

  • Added support for showing images from pages records and poll votes in the activity stream.
  • Improved performance if using MySQL.
  • Improved Elasticsearch integration:
    • Added support for wildcard searches.
    • Added support for custom analyzers.
    • Improved performance for certain Elasticsearch queries.
    • Removed the ability to filter by number of views when searching using Elasticsearch, which had significant performance issues.- Fixed deleted comments showing in activity streams.
  • Fixed error in streams with certain content combinations.
  • Fixed quick search dropdown being dismissed when selecting an option inside it.
  • Fixed browser’s autocomplete box overlapping the quick search dropdown.
  • Fixed behaviour of back button after visiting an unread item in a stream.
  • Fixed search form not being reset when using the browser’s back button.
  • Fixed new products icon floating over the title in streams.
  • Fixed searching by “Select box” profile fields with multiple options.
  • Fixed date filters being lost when changing the sort order in search.
  • Fixed changing the date filters not working correctly if the search was originally initiated by the advanced search form.
  • Fixed date filters showing the dates in the wrong timezone.
  • Fixed “search by terms or tags” and “search by terms and tags” not showing on the search form initially.
  • Fixed content not being highlighted correctly in search results.
  • Fixed issues searches when using “&”, “_” or “%” in the search term.
Core - Profiles & User Settings

  • Added ability for users to re-crop their profile photos.
  • Added custom field formatting options for profiles.
  • Added ability for users to delete multiple attachments at a time from the “My Attachments” page.
  • Added AdminCP settings for showing signatures to guests and mobile users.
  • Added ability to disable profile photo imports from URL.
  • Added ability to use $member variable (to access details about the member) in custom profile field formatting templates (“Custom topic formatting” and “Custom profile formatting”).
  • Fixed duplicate entries in the “Reputation” section of member profiles.
  • Fixed an issue where “Complete Your Profile” steps may not be dismissed properly and could re-appear later.
  • Fixed links to ignored users and editing profiles showing even when these features were disabled.
  • Fixed users being able to import profile photos from linked social network accounts even if they don’t have permission to use a profile photo.
  • Fixed a generic error when attempting to import a profile photo from an invalid domain.
Core - Notifications

  • Added a new user notification to be notified when their content is embedded in other content.
  • Added ability for administrators to set the default value for several notification settings: “Show popup window when members receive a new personal message?”, “Only send one email notification for followed content per member visit?”, and “Play a sound when notifications are received?”
  • Added a small message when editing notification settings to clarify that changing the default method for following content will not affect content you are already following.
  • Fixed notifications triggered by guests not showing an author name.
  • Fixed notifications for users logged in anonymously.
  • Fixed links to some notifications pages/settings using an old format which caused an unnecessary redirect to the correct URL.
Core - Messenger

  • Added ability for moderators to delete messenger conversations.
  • Fixed pagination of messenger search results.
Core - Leaderboard

  • Fixed some items missing from the Leaderboard’s “Popular items” list.
  • Fixed Leaderboard positions potentially switching if the positions are tied.
  • Fixed AdminCP leaderboard settings form not showing/hiding fields correctly when turned on/off.
  • Fixed “Top Members” page in the Leaderboard consuming significant server resources on large communities.
Core - Members & Accounts

  • Fixed the formatting setting not showing the color box when editing a group in the AdminCP.
  • Fixed errors showing twice on registration form if it was submitted with errors.
  • Fixed potential errors merging some member accounts.
  • Fixed an issue which may allow users to bypass validation if they are held for admin approval by Spam Defense.
  • Fixed login handlers sometimes not syncing email addresses or display names.
  • Fixed login handlers syncing profile data even when disabled.
  • Fixed “Complete Your Profile” not sending the user back to the same page they were previously viewing.
  • Fixed some filters in member list downloads not working correctly.
  • Fixed certain non-latin characters in member list downloads.
Core - Status Updates

  • Fixed attachments failing to save when editing a status update.
  • Fixed attachments on status updates not being removed when a member is deleted.
  • Fixed status updates and status update edits still showing as autosaved content after submission.
  • Fixed number of replies to status updates sometimes showing incorrectly.
Core - Moderation

  • Added a link to the IP address tools for moderators who can see IP addresses in the online users list.
  • Improved UI of the message which tells a user if their post will need to be approved by a moderator, and added the message in some areas it was missing from.
  • Improved UX for flagging members as spammers: flagging a member as spammer from the AdminCP is now done without reloading the page, hiding/deleting content will be processed faster and notifications will not be sent in the meantime, and flagging a member as a spammer from the front-end will redirect back to the page previously being viewed.
  • Fixed an issue where if a moderator deletes content, and then restores it, it is still permanently deleted after the time period it would have been as if it had not been restored.
  • Fixed word filters not holding content for approval in all areas.
  • Fixed automatic moderation rules needing more reports than set.
  • Fixed automatic moderation not counting reports on status updates.
  • Fixed an issue where banning a member and removing their profile photo would leave a broken image in their profile.
  • Fixed deleting reviews or comments sometimes showing two confirmation dialogs.
  • Fixed content items that require a comment not rendering correctly in the report center.
  • Fixed potential error merging content when both items have reviews.
  • Fixed moderators being able to merge content they cannot view if the URL is known.
  • Fixed bad description on the merge form (said “a topic” rather than “the topic”).
  • Fixed a recommend comment still showing in the content it previously belonged to if it is split into new content.
  • Fixed some inconsistencies in behaviour when hiding/unhiding content which itself has hidden comments/reviews inside.
Core - Sidebar

  • Added a sidebar widget to show users with the most contributions.
  • Fixed minimum comments/reviews filters in sidebar blocks.
  • Fixed announcements being shown at the bottom of the on some pages, rather than at the top.
  • Fixed the status update widget caching not taking into consideration if that member has status updates enabled, which may cause a text field when the current member has status updates disabled and vice-versa.
  • Fixes missing margin between two blocks if there is a block between them which is hidden because it has no content.
  • Fixed styling inconsistencies when editing some sidebar blocks versus when they are actually displayed.
  • Fixed the recently browsing widget erroneously showing a guest when using Redis sessions.
  • Fixed error rebuilding content (after changing certain settings) of some sidebar blocks.
Core - Social / Sharing

  • Added support for cover photos when promoting to social media.
  • Fixed uploading a new promotional image when editing internally promoted content.
  • Fixed unsorted of time options when scheduling social promotions.
  • Fixed AdminCP > System > Social Media Promotion > Permissions not showing all groups in the list of groups with promote permissions.
  • Fixed an issue where it was not always possible to remove existing Facebook social promotion settings.
  • Removed StumbleUpon share service which no longer exists.
Core - Files & Uploads

  • Added ability for administrators to choose to move files when changing between file storage configurations.
  • Improved error messages if an error occurs when uploading a file.
  • Fixed uploading not possible in some areas on iPads.
  • Fixed not being able to submit a form if the user tried to submit it while a file upload was in progress.
  • Fixed an issue where an attachments may stop working while files are in the process of being moved after changing file storage configuration settings.
  • Fixed not being able to delete file storage configurations in the AdminCP.
  • Fixed sorting not being retained when deleting multiple attachments from the Files section of the AdminCP.
  • Fixed deleting an attachment not deleting the file from disk.
Core - Emails

  • Fixed bulk mail replacement tags.
  • Fixed HTML entities appearing in plaintext email content.
  • Fixed reverting email templates disappearing (until a page refresh) as if they have been deleted.
  • Fixed a broken language string in Sendgrid settings.
Core - AdminCP Member Profile

  • Added “Go to Public Profile” button.
  • Fixed an error when viewing the profile if the member had scheduled content for future publishing.
  • Fixed the profile consuming significant server resources on large communities by changing the content statistics section to count all content, regardless of whether containers (i.e. forums), increment the user’s post count.
  • Fixed content statistics not displaying correctly for some locales.
  • Fixed accounts which are linked to Twitter not showing the correct Twitter username.
  • Fixed a broken link to the notifications page.
Core - AdminCP Charts & Statistics

  • Fixed charts consuming significant server resources on large communities by applying a default date range of the last 6 months.
  • Fixed an error viewing the AdminCP keywords usage chart if the same keyword had been set more than once.
  • Fixed errors in AdminCP statistics pages if there is no data.
  • Fixed weekly charts showing the last week of the year twice when the year rolls over.
Core - Advanced Settings

  • Added new setting option to only serve non-https images from local server.
  • Added basic Redis usage information to the support area of the AdminCP for self-hosted communities.
  • Fixed some inconsistencies when running tasks using cron.
Core - Misc

  • Added administrator log entries for various actions which were not logging.
  • Improved site mark as read process to avoid an unnecessary redirect.
  • Fixed privacy policy not being accessible to banned members.
  • Fixed searching of administrator/moderator logs with non-latin characters.
  • Fixed moderator log showing an unparsed language string for some automatic moderation actions.
  • Fixed error if a background task is working on something (such as sending notifications for a topic) which is deleted while the task is still running.
  • Fixed error reporting when setting up Google Maps API.
  • Fixed some background task not not showing their progress accurately on the AdminCP dashboard.
  • Fixed guests not being able to hide announcements.
  • Fixed potential error in calculating width and height of animated gifs when using ImageMagick.
  • Fixed potential error generating the sitemap if orphaned content exists.
  • Fixed the number of reviews on items not being recounted correctly (when upgrading from certain versions or after converting) if the item has reviews but no comments.
  • Fixed some browsers not correctly caching remote images served by the local server.
  • Fixed the code editor on the External Database login handler configuration screen not loading correctly.
  • Fixed AdminCP Dashboard not loading when lots of background tasks are running by adding a limit of 100 to the number shown.
  • Fixed “Configure Services” button in Community Enhancements truncating unnecessarily.
  • Fixed reputation data for comments or reviews not being deleted from the database when the item they belong to is deleted.
  • Fixed files not being removed from server when uninstalling an application.
  • Upgraded JShrink to 1.3.1 (for PHP 7.3 compatibility).
Forums

  • Added setting to RSS feed imports to auto-follow the author to created topics.
  • Improved the UI of the “Poll” sidebar block, fixed the “View topic” link disappearing after viewing results, and fixed an error if the topic the poll belongs to is deleted.
  • Changed behaviour of rating questions and answers that a user has already rated - now clicking the same arrow will undo the original rating, and clicking the other will change the rating to that one (previously clicking the same arrow did nothing and clicking the other undid the original rating).
  • Fixed topics still being shown in search results to users who can longer see them if the per-forum setting to only show topics to the person who created them is turned on for an existing forum.
  • Fixed guests not being able to change the selected forums when using fluid view.
  • Fixed fluid view showing the wrong forums checked.
  • Fixed error viewing the topic preview hovercard if the topic has been moved or merged.
  • Fixed breadcrumb navigation in forums/topics in clubs if there is only one forum outside of clubs.
  • Fixed some inconsistencies with automatic locking and unlocking of topics.
  • Fixed question and answer ratings not being merged properly when topics were merged.
  • Fixed error when approving very old topics.
  • Fixed topics not being accessible if a category with a “minimum posts to view” setting set is changed into a forum without removing the value from that setting.
  • Fixed topics from clubs not being included in the sitemap.
  • Fixed marking a topic as read consuming significant server resources on large communities.
Commerce - Store

  • Improved store display by hiding empty product categories.
  • Changed the links to buy/redeem gift cards to be in the menu.
  • Fixed possible error when searching products.
  • Fixed products incorrectly showing as being in stock if they use different stock levels based on custom fields and all variations are out of stock.
  • Fixed the “Continue Shopping” dialog showing multiple times when adding several products from the category list view.
  • Fixed copying a product not copying all settings.
  • Fixed broken UI when hovering over a product image in the store on communities which use a right-to-left language.
  • Fixed product embed images not matching the styling of other embeds.
  • Fixed an issue where copying a product could fail.
  • Fixed meta description on product pages.
Commerce - Checkout

  • Added AJAX validation to email field when checking out as a guest.
  • Added ability to disable a payment method by setting the countries it is available to to no value.
  • Fixed partial gift card codes being accepted.
  • Fixed grouped products showing incorrect renewal amount on the checkout form when ordering multiple quantities.
  • Fixed the prompt to log in not being shown for guests checking out.
  • Fixed purchase not being processed properly with third party payment gateways if Commerce app is only accessible to certain groups.
Commerce - Payment Gateways

  • Fixed possible error when saving a credit card using Stripe if customer already has a card on file.
  • Fixed error when a guest pays using a Stripe method which requires redirect (3Secure, Bancontact, etc.)
Commerce - Subscriptions

  • Added ability to apply subscription package changes to existing purchases.
  • Changed Subscriptions to require renewal terms.
  • Fixed disabled Subscription Packages still being purchasable and viewable in the sidebar block.
  • Fixed duplicate entries in the AdminCP subscriber list if a member has inactive subscriptions.
Commerce - Client Area

  • Added custom product fields to printed invoices.
  • Fixed broken UI when viewing payment details on a $0 invoice.
  • Fixed invoice status badges not being colored appropriately on the front end when using languages other than English.
Commerce - General Payments / Invoices

  • Added an option to filter invoices by payment status in the AdminCP
  • Improved notification emails for upcoming purchase renewals and transaction refunds to include more information.
  • Improved display of customer purchases in admin control panel by separating active/expired purchases.
  • Fixed missing tax on purchase reactivation.
  • Fixed duplicate items sometimes being added when generating an invoice in the AdminCP.
  • Fixed a possible error when marking an invoice as paid if awarding commission to other users (for example, from Downloads purchases or referrals) in some circumstances.
  • Fixed potential errors adjusting Account Credit settings in the AdminCP.
  • Fixed button to mark an invoice paid showing to admins on invoices created by guests even before the guest has filled in any account details (which show an error if clicked).
  • Fixed editing a coupon form showing the start / end dates in the wrong timezone.
Commerce - Customer Management

  • Fixed a potential error in the AdminCP member profile if a purchase has been deleted.
  • Fixed an error in the Referrals tab of the customer page in the AdminCP.
  • Fixed an error occurred when cloning customer fields.
  • Fixed wrong AdminCP restrictions being checked for viewing customer statistics.
Commerce - Support

  • Added option for retaining the default reply wrapper when using a stock action as a staff member replying to a support request.
  • Added ability to filter support requests older or newer than a specific date in AdminCP.
  • Fixed incoming emails being routed incorrectly if the same sender had recently sent an email to a different department.
  • Fixed incoming plaintext emails sometimes being parsed blank.
  • Fixed the feature which holds a staff member’s reply if the customer replies while the staff member is writing their reply, which wasn’t working if the staff member submits their reply by replying to the email notification.
  • Fixed trying to require an associated subscription in support department settings not working.
  • Fixed handling of custom support request fields for pay-per-incident support requests.
  • Fixed long ticket names breaking UI in ticket history sidebar.
  • Fixed uninstalling Commerce not disable the task to check for incoming POP3 emails.
  • Fixed missing language string on the stock action form.
  • Fixed wrong language string being used in the description for the default reply content setting.
  • Removed IP Addresses used for Support Requests from the ModCP.
Commerce - Misc

  • Fixed license key API handling of invisible characters.
Pages

  • Changed the severity level of the error when somebody without proper permissions tries to load the sidebar manager from 3 to 2.
  • Fixed pages that have been renamed not redirecting to the new URL.
  • Fixed databases showing in the “Create” menu to users without permission.
  • Fixed records in databases with “wiki-style” editing enabled not actually being able to be edited by all users.
  • Fixed an issue where the form may not be displayed when trying to move a database record.
  • Fixed missing language string in the dialog that shows when choosing “Custom” from the “Sort by” menu when viewing database records.
  • Fixed the wrong template being used for reviews.
  • Fixed the currently chosen database being disabled on the database select menu when editing a page in WYSIWYG mode.
  • Fixed searching for database categories in the AdminCP showing categories from all databases.
  • Fixed missing canonical tags.
Gallery

  • Added a group setting to control whether users can download the original image or not, and whether it should be watermarked or not.
  • Added the image to certain notification emails (new content, user mentioned, etc.).
  • Added a setting to control whether showing a map defaults to on or off for images with GPS coordinates embedded.
  • Added certain indicators (such as image pending approval) to the images shown on the Gallery index.
  • Added “Lens Model” in EXIF data if present.
  • Changed albums displayed on user profiles to sort by latest update (newest to oldest).
  • Fixed an error when adding Gallery images with tags.
  • Fixed an error if a guest tries to follow an image during the upload process.
  • Fixed behaviour of the browser’s back button after viewing images in a lightbox and closing the lightbox.
  • Fixed navigation between images not working correctly in the lightbox in some circumstances.
  • Fixed images being marked as read before they have been seen when in the Lightbox.
  • Fixed gallery albums and the uploaded images being shown separately in activity streams and on the “Overview” page in a club.
  • Fixed deleting a club not deleting the albums inside it.
  • Fixed members being able to move images into a category that normally cannot receive direct image submissions during the process of deleting an album.
  • Fixed users being able to submit directly to a category if it requires albums to be used but the user does not have permission to create albums.
  • Fixed a section for the category description showing even if the category has no description.
  • Fixed image uploading on Internet Explorer 11.
  • Fixed images not being accessible if the album is moved while they are being uploaded.
  • Fixed “ModifyDate” EXIF tag being displayed as “Date Taken”.
  • Fixed the wrong “last modified” date being used for albums in the sitemap.
  • Fixed the files on disk being moved when rebuilding image thumbnails (it was placing all of the newly created images in the current monthly folder, rather than in the original folder).
  • Removed ability to upload images in album descriptions, as this presented a source of confusion for some users.
Downloads

  • Added ability to show custom fields in a new tab, below the description, or in the sidebar.
  • Fixed “Buy” button still showing on paid files which have had purchases disabled.
  • Fixed an issue where files could get incorrectly removed when changing a version number, or updating screenshots.
  • Fixed the average review rating counting reviews that are not visible.
  • Fixed support topics not being created after enabling the setting and editing a file.
  • Fixed screenshots with parenthesis in the filename not being shown while uploading a new file version.
  • Fixed a template error on certain PHP versions during submission if importing screenshots from a URL is enabled.
  • Fixed the tooltip shown when hovering over the number of purchases for a file (when Commerce integration is enabled) showing “downloads” rather than “purchases”.
Blog

  • Fixed clicking on a reaction for a blog entry sometimes opening an image lightbox.
  • Fixed long blog names breaking UI.
  • Fixed multiple icons (e.g. “pinned”, “hidden”, etc.) showing over multiple lines rather than next to the title when viewing a blog entry.
  • Fixed cover photos not expanding if clicking on the same line as the title.
Calendar

  • Fixed dates and times showing in the wrong timezone in cached areas/pages.
  • Fixed time summary formatting for some locales when creating events.
  • Fixed error on activity streams if the event associated with an RSVP has been deleted.
  • Fixed potential error when deleting iCalendar import feeds.
  • Fixed cover photos not expanding if clicking on the same line as the title.
REST & OAuth

  • New Endpoints:
    • Core: Added support for managing clubs.
    • Core: Added support for managing user warnings and fetching warn reasons.
    • Forums: Added support for creating and updating polls in topics and blog entries.
    • Calendar: Added support for managing Calendar venues.
    • Calendar: Added support for filtering Calendar events by date range
    • Calendar: Added support for sorting events by event start or end date.
  • Added a parameter when deleting a node via the REST API to determine what to do with child nodes (previously that would just become orphaned).
  • Changed OAuth Server behaviour to reject authorization or token requests for users who are banned or suspended.
  • Fixed OAuth refresh tokens being lost if an access token request omits it.
  • Fixed some endpoints not being available to requests authenticated with an OAuth access token granted by Client Credentials.
  • Fixed requests that attempt to unhide content items that are already visible not updating other details.
  • Fixed deleting reviews on Pages records using the REST API.
  • Fixed display names which have a “” in them being returned as null.
  • Fixed the documentation for the Commerce purchases endpoint missing a possible exception which can be thrown.
Installer / Upgrader

  • Improved performance of UTF-8 converter in some instances when upgrading from 3.x.
  • Changed the default MySQL collation to UTF8MB4 for new installations.
  • Changed the upgrade message about hiding the AdminCP link when upgrading from older versions to recommend using two factor authentication instead of providing instructions about how to re-enable it.
  • Fixed potential errors or inconsistencies after applying a patch if using disk caching for templates.
  • Fixed an error when trying to upgrade if templates or CSS files exist in the database without an associated theme.
  • Fixed bad conversion of Sparkpost settings when upgrading from 4.3.x.
  • Fixed bad conversion of refund data in Commerce when upgrading from certain versions.
  • Fixed an error when rebuilding legacy content (after a 3.x upgrade) when using PHP 7.2.
  • Fixed an error in the messenger after upgrading from certain versions.
  • Fixed soft-deleted content from older versions not being upgraded correctly.
  • Fixed members potentially have an incorrect validating status after upgrading from 3.x.
  • Fixed Gallery albums losing their sort orders may after upgrading from certain versions.
  • Fixed UTF-8 Converter (part of upgrading from 3.x) potentially losing connection while compiling table information.
  • Removed ability to access the AdminCP while an upgrade is in process to improve stability.
Converters

  • Improved conversion user experience and simplified approach to running a conversion.
  • Improved redirects for vBulletin 3/4 including attachments.php and printthread.php.
  • Improved performance of certain background tasks launched following a conversion.
  • Improved BBCode conversion when converting from MyBB.
  • Improved converting member titles from vBulletin.
  • Improved support for converting posts with links from vBulletin 5.
  • Improved Invision Community redirects to support multiple merged communities, now uses /ic-merge-{core_app_id}/*.
  • Improved support for [img:alignment] bbcode when converting from UBB.Threads.
  • Fixed an issue where incomplete accounts could be created during a conversion.
  • Fixed an issue where images uploaded to vBulletin5 “photo” posts do not convert.
  • Fixed an issue where legacy XenForo versions may not be detected correctly in some edge cases.
  • Fixed an issue where certain usernames may not convert properly from vBulletin, MyBB and XenForo.
  • Fixed an issue where converted MyBB posts with inline attachments may display the wrong attachment.
  • Fixed an issue where in certain circumstances Gallery albums/images may be converted to a category that was removed.
  • Fixed an issue where private messages may not be converted from vB3/4 in certain circumstances.
  • Fixed an issue where vBulletin archive links may not be redirected.
  • Fixed an issue where hidden posts from vBulletin (3.x/4.x) may not convert correctly.
  • Fixed an issue where topic reply counts were not converted.
  • Fixed an issue where vBulletin Blog Attachments may not convert correctly from vBulletin 3.x.
  • Fixed an issue where member history group information may not display correctly after conversion.
Changes affecting third-party developers and designers
Please note from “Core - Misc” section above: uninstalling an application will now delete those files from disk. Be careful when uninstalling your applications locally.

Backwards-incompatible changes that may affect third party applications / plugins:

  • Changed how share services, file storage engines, package types, payment gateways, license key generation methods, server types, converters, and widget types are loaded: instead of using a DirectoryIterator to look at what files are on disk, all of these are now defined in a method. To add a new one, you can (and will need to) extend the appropriate method, rather than having users upload a file to a particular location.
  • Changed \IPS\Node\Model::modPermission() to require a value for the $class argument.
  • Changed how invalid language string keys are handled (that is, if calling \IPS\Lang::addToStack()with a language string key that doesn’t exist). Now rather than returning the key as it was passed, it will return the value HTML escaped in an effort to prevent accidentally introducing XSS vulnerabilities.
  • Changed how table sorting works: If the column is specified in the content items $databaseColumnMap, the table name will be prefixed to avoid ambiguous column issues.
  • Moved \IPS\Content\Comment::checkProfanityFilters() to the \IPS\Content class, and changed it to work on both items and comments.
  • Removed deprecated constant \IPS\HTMLENTITIES.
  • Removed deprecated get__stripTagsTitle magic method for node models.
  • Removed deprecated \IPS\Lang::wordbreak method.
Enhancements / fixes for designers:

  • Added a data-pageID param to <body> tag (alongside data-pageApp, data-pageController, etc.) to allow for targeted CSS styling per-node/item.
  • Changed theme setting keys to only allow alphanumeric values to remove confusion of why they may not be parsed in themes.
Enhancements / fixes for developers:

  • Added \IPS\Request::referrer() method to more reliably and securely get the referrer for a request without duplicating code.
  • Added support for multi-table database deletes in \IPS\Db::delete().
  • Changed how applications extensions are loaded: a data/extensions.json file (generated in the developer center when an extension is added/removed) now stores the available extensions instead of using a DirectoryIterator to look at what files are on disk. This change is backwards compatible for end users if there is no extensions.json file, but will need to be used properly once it has been generated.
  • Changed maximum plugin name length to 128 characters (previously 32 characters).
  • Fixed the ability to make cross-domain AJAX by removing the X-Requested-With header in AJAX requests.
  • Fixed a missing try/catch when loading login handlers which meant 3rd party login handlers could completely break the login form and lock out the AdminCP to disable them.
Enhancements / fixes for translators:

  • Changed the version numbers on the support page to use a different language string (new string: acp_version_number_raw) than the AdminCPdashboard (acp_version_number).
  • Fixed days of the week always having an uppercase first letter (language strings _date_this_week_cand _date_this_week now receive the day number so you can display each however you like rather than receiving the name from the server).
  • Fixed non-translatable options for the “Javascript include location” theme setting.
Fixes that only affect developer mode or third party apps/plugins:

  • Changed \IPS\forums\SavedAction::runOn() to separate the permission check and the actual logic into separate methods for easier hooking.
  • Changed the database query log to skip over the core PHP class IteratorIterator when showing the function that ran a query.
  • Fixed resources sometimes duplicating when building applications for distribution.
  • Fixed multiple SEO titles not working in custom URLs.
  • Fixed errors in developer when member objects were compared.
  • Fixed an error saving payment settings when in developer mode.
  • Fixed an error saving Analytics code with developer mode enabled.
  • Fixed an error deleting Gallery categories from clubs when in developer mode.
  • Fixed error when a guest adds a product with tax to the cart when in developer mode.
  • Fixed an error viewing the referrals page in the Commerce client area when in developer mode and using PHP 7.2 or higher.
  • Fixed an error when parsing incoming emails for Commerce support requests when in developer mode.
  • Fixed broken Hosting Settings page in Commerce on PHP 7.2 when in developer mode.
  • Fixed an error that would occur sending emails when in developer mode if the email template parameters had changed but the updated templates had not been imported into the database yet.
Code-level fixes that may have been caused bugs in third party apps/plugins:

  • Fixed moderator control panel approval queue not working for any apps where the database table for nodes contains a column with the same name as is used for the “hidden” column in their database table for items.
  • Fixed \IPS\Math\Number constructor accepting a blank string (this will now throw an exception).
  • Fixed encoding of \IPS\Output::i()->jsVars for values containing quotes.
  • Fixed the core.global.core.datetime JS controller not returning the correct value for the day of the week.
  • Fixed \IPS\Content\Item::addMeta() not throwing the correct exception when passed an invalid value for $type.
  • Fixed \IPS\Content\Item::markRead() not honouring the $member argument.
  • Like
Reactions: electimon
Key Changes
Welcome to Invision Community 4.4.0!

This release brings numerous improvements and several new features. Please check out our blog to read about everything new.
Additional Information
BETA RELEASE
This is a BETA release. Please only upgrade if you are comfortable with testing beta software. Always ensure you take a back-up of your database and files before running the upgrade.
IMPORTANT UPGRADE NOTICE
Please note that not all third party applications and themes are yet compatible with Invision Community 4.4. If you utilize third party resources, including custom themes, please ensure they have been declared compatible by their respective authors or your site may be non-functional after upgrade.
Key Changes
This is a maintenance release to fix reported issues.
Additional Information
Core - Members & Accounts
  • Added ability to use bulk mail subscription status as a filter for group promotions.
  • Fixed profanity filters applying to account usernames during registration.
  • Fixed following a member not updating the follow button correctly.
  • Fixed filters when creating a bulk mail or downloading a member list not working in certain combinations.
  • Fixed inability to manually set a member's reputation count less than 0.
Core - Search & Activity Streams:
  • Improved performance of indexing content when using Elasticsearch.
  • Improved the phrasing of the description on search results page when a custom date range has been chosen to sound more natural.
  • Fixed some Elasticsearch queries not working on very high traffic sites.
  • Fixed an issue where content that had been restored after being deleted would not be reindexed correctly.
  • Fixed an issue with Elasticsearch where content that had been hidden or moved would not be reindexed correctly.
  • Fixed filtering by specific members when using Elasticsearch.
  • Fixed various issues with activity streams not behaving correctly.
Core - Posting & Post Content:
  • Improved message when embedded content is not available to indicate if the content has been deleted or the user doesn't have permission to see it.
  • Fixed some Emojis rendering incorrectly.
  • Fixed broken TED Talks embeds.
Core - Clubs:
  • Fixed pagination of the list of members in a club not working.
  • Fixed some moderator permissions not applying correctly within clubs.
  • Fixed paid clubs being able to be created with $0 fee.
  • Fixed granting permission to create specific types of clubs via secondary groups not working properly.
  • Fixed content rebuild task not running on custom fields for clubs.
Core - Sitemap
  • Fixed some items not included in the sitemap.
  • Fixed error generating the sitemap when entering zero for the number of items to include.
  • Fixed sitemap not generating on some PHP versions.
Core - Redis:
  • Added ability to use Redis as a data storage method if is also being used as the caching method.
  • Fixed online users older than 30 minutes showing when using Redis.
  • Fixed uncaught exception that may occur when using Redis and clearing caches.
Core - Misc
  • Added a warning to the AdminCP dashboard, and when editing the login handler, if Facebook login is enabled but site is not using https. Also changed the Facebook login setup process to not allow new setups if site is not using https.
  • Added an option to use a different Facebook application for social promotion (opposed to the Facebook application used for login) so that Facebook login is not affected while your Facebook app is under review.
  • Added logging any time the support tool has been run.
  • Improved session handling performance.
  • Improved performance of viewupdates task.
  • Improved performance of queue task.
  • Fixed announcements being shown before the start date.
  • Fixed error when deleting the node being viewed in AdminCP node trees.
  • Fixed copying some node settings in the AdminCP not working.
  • Fixed replacement tags not working in bulk mails within URLs.
  • Fixed lost image style attributes in bulk emails.
  • Fixed Acronym Expansion page in AdminCP not line breaking correctly for very long values, breaking the page layout.
  • Fixed profile field management checking wrong AdminCP restriction.
  • Fixed CSS and JavaScript files not being deleted when recompiled on upgrade or when running the support tool.
  • Fixed false warnings from the database checker when using MySQL 8 and in certain other edge cases.
  • Fixed error after changing cache or datastore settings in certain PHP configurations.
  • Fixed link to the setting for allowed characters in usernames (which shows when setting up certain login handlers) not highlighting the setting.
  • Fixed possible error when creating the default English language when running the support tool.
  • Fixed AdminCP dashboard warning about failed tasks showing for disabled tasks.
  • Fixed browsers potentially keeping a cache of outdated JavaScript files.
  • Fixed JSON-LD data for ratings in several apps.
  • Fixed some widgets not limiting results correctly which could cause performance issues.
  • Fixed a possible technical error message (rather than a graceful error screen) showing if a very low-level error (such as database server offline) occurs in certain circumstances.
  • Fixed a missing warning when the hooks.php file was not writable before application and plugin installations and upgrades.
  • Fixed an issue when using profile complete and forum specific themes.
  • Fixed uncaught exception if manually going to a specific URL to try to promote something which cannot be promoted.
  • Fixed an unnecessary redirect in the applications upgrade process.
  • Fixed some minor language string inconsistencies.
  • Removed logging of notices that a template was requested to be rebuilt while already rebuilding.
  • Check to ensure that https is used before allowing Facebook to be used as a log in handler.
  • Fixes a read/write separation issue with unhiding
Forums
  • Fixed moderator permissions for posts.
  • Fixed an issue where moving archived topics from one forum to another did not update the forum counters.
  • Fixed an issue where posting a hidden post causes the forum to indicate a post pending approval is present.
Commerce
  • Added an option when refunding a transaction which was paid by a PayPal Billing Agreement to also cancel the Billing Agreement.
  • Added support for AUD, CZK, DKK, HKD, ILS, MXN, NZD, NOK, PHP, PLN, RUB, SGD, SEK, SEK, CHF, and THB for PayPal card payments.
  • Fixed automatic recurring payments for subscriptions not re-subscribing members correctly.
  • Fixed subscription upgrades/downgrades not being available at all to plans which are set to only be payable by particular gateways, or whose base price is modified by the chosen renewal term.
  • Fixed missing language strings in member history when upgrading subscriptions.
  • Fixed missing tax on purchase reactivation.
  • Fixed not being able to remove product discounts.
  • Fixed incoming emails being saved as blank replies.
  • Fixed incoming emails from certain email address formats, including emails using new domain extensions.
  • Fixed the link to print an invoice that gets sent in the email not working for guests.
  • Fixed missing language strings in the email advising a user their support request will automatically be marked resolved.
  • Fixed invalid referral banner image URL shown to users.
  • Fixed broken referrer tab in AdminCP customer profile.
  • Fixed broken images when viewing a purchase of an advertisement in the AdminCP.
  • Fixed advertisement purchases created by generating an invoice in the AdminCP.
  • Fixed possible text overflow when viewing shipping order in AdminCP.
  • Fixed support requests not showing assigned staff member in preview.
Pages
  • Fixed the page BBCode and editor button which allows content to be split over multiple pages.
  • Fixed incorrect sorting of number database fields.
  • Fixed search permissions when changing the "User can see records posted by other users" setting for a database.
  • Fixed an error occurring when editing a comment that is synced with a topic that has been hidden.
  • Fixed numeric database fields which use more than 2 decimal places in the value.
  • Fixed an issue where using a custom field validator with a unique field would mean the unique check is skipped.
Gallery
  • Fixed broken redirect after deleting an album and moving images in it to a category.
  • Fixed broken promote form for images within an album.
  • Fixed missing watermark when a file was inserted via the "Insert other media" feature.
Downloads
  • Fixed screenshots that have been imported from a URL missing from embeds.
Blog
  • Fixed blog cover photo being used when sharing entries on social media even when the entry has its own feature photo.
  • Fixed broken Blog Embeds.
  • Fixed link to the last Blog Entry inside the Blog Embed.
Calendar
  • Fixed cover photo offset not copying correctly when copying events.
  • Fixed venue not saving from ical upload.
REST & OAuth
  • Fixed OAuth setups refreshing refresh tokens more often than they should.
  • Fixed OAuth setups not properly supporting implicit grants.
Converters
  • Added support for redirecting direct post links for Vanilla.
  • Improved performance of conversions.
  • Improved description of minimum version for vBulletin 3 conversions.
  • Fixed error with login after conversion.
  • Fixed extraneous breaks in content converted from vBulletin.
  • Fixed personal conversations from Vanilla.
  • Fixed Gallery albums being converted with no default sort option.
  • Fixed issue with converting Calendar Event attachments.
  • Fixed issue where some code box content may be broken after conversion from phpBB.
  • Fixed vBulletin 3 redirects no longer working if you converted prior to upgrading to 4.x.
Upgrader
  • Added UConverter support to the UTF-8 Converter for sites with mixed character sets.
  • Fixed an issue where announcement widgets may not get removed when upgrading to 4.3.
  • Fixed possible SQL error when upgrading Calendar from 3.x.
  • Fixed how sharedmedia BBCode gets converted to embeds for Gallery albums when upgrading from 3.x.
  • Fixed an issue where converting to UTF-8 prior to upgrade can throw an error in some situations.
  • Fixed Gallery sitemap showing incorrect date for images upgraded from 3.x.
Third-Party / Developer / Designer Mode
  • Fixed album embeds when in developer mode.
  • Fixed errors adjusting sitemap configuration preferences when using developer mode
  • Like
Reactions: gisfreak
Released 07/26/2018
Key Changes
Version 4.3.5 is a small maintenance update to fix issues reported since 4.3.4.
Additional Information
Core - Members & Accounts:
  • Language tweak to clarify the "Remove unvalidated members" setting.
  • Fixed filters based on joined, last post or last visit time, and if bulk mails are allowed in the AdminCP member list and member filters (for example for group promotion) not fetching correct results.
  • Fixed administrators receiving multiple "new device" emails when logging into the AdminCP if that device has not be used to log into the front-end.
  • Fixed broken images in signatures and custom fields in the AdminCP member profile.
  • Fixed registering through alternate login handlers (Facebook, Twitter, etc.) not logging that the new member accepted the terms and mailing list subscription.
  • Fixed log which shows in member history when a member is promoted by group promotion showing the wrong old group.
  • Fixed error with Wordpress login handler after access token expires.
  • Fixed issue where the "import members from csv" feature did not check if the ID/display name/email address is too large.
  • Fixed error in AdminCP search results for members which do not yet have a display name and/or email address.
  • Fixed how maximum attachment size per post and edit cutoff time is calculated when a user has multiple secondary groups.
  • Fixed some fields on the warning form not correctly indicating they are not available if the moderator does not have permission to change the punishment for the warning level the member will reach.
Core - Mass Member Management
  • Added Administrator Log when mass deleting/moving/unsubscribing members.
  • Improved performance off mass moving members by skipping over accounts already in the target group.
  • Removed the existing group from the form to move all members in one group to another.
Core - Search & Activity Streams:
  • Improved searching for phrases (when the search term is wrapped in quotes) when using Elasticsearch.
  • Fixed creating activity streams on front-end.
  • Fixed duplicate topics showing in some streams if using Elasticsearch and posts/comments have been split.
  • Fixed error being logged when accessing an invalid page number of paginated results when using Elasticsearch.
  • Fixed a typo in the Elasticsearch "Analyzer" setting description.
  • Improved performance of some activity streams when using MySQL.
Core - Staff Permissions & Logs
  • Fixed restricted moderators not being able to hide or unhide announcements.
  • Removed Warnings tab from ModCP if warning system is disabled.
Core - Social Promotion / Our Picks:
  • Fixed reputation information sometimes missing from replies to status updates and from topics on the "Our Picks" page.
  • Fixed promotion occurring at wrong time if scheduled to occur at midnight.
  • Fixed missing CSS if "Our Picks" is the community's home page causing missing images.
  • Changed "Promote" button to say "Re-promote" if the content has already been promoted.
Core - Posting:
  • Fixed posting links to images if "Allow remote images?" setting is disabled.
  • Fixed edit being lost if the edit triggers the URL or word filter.
  • Fixed issue where attachments may be rejected if URL filter is set to reject all URLs.
Core - UI:
  • Fixed zebra-striping on AdminCP tables for browsers other than Safari.
  • Fixed quick registration form not scrollable on mobile devices.
  • Fixed height of blocks in some grids.
  • Fixed missing Tumblr icon in email footer.
  • Fixed W3C validation error.
Core - Clubs:
  • Fixed possible error when editing a club.
  • Fixed price not showing correctly for paid clubs which do not have a renewal term.
  • Fixed error manually generating an invoice in the AdminCP for a paid club.
Core - Misc:
  • Updated CKEditor to 4.10.
  • Fixed moving files from one storage configuration to another not working properly for theme resources where a file is uploaded directly (email logo, watermark image in Gallery, etc.), reaction images, and social promotion images.
  • Fixed error when editing a site's social profile links.
  • Fixed URL input fields not handling the value correctly if a "?" is immediately after the domain without any path.
  • Fixed some tasks becoming locked when running tasks via cron.
  • Fixed guests not being able to view announcement if site requires users to log in.
  • Fixed disabled reaction types showing in the reputation summary on user's profiles.
  • Fixed error when saving some custom OAuth login methods.
  • Fixed error if an application is disabled with certain background tasks still queued.
  • Fixed it being possible to add a member back into a personal conversation after they've left by accessing the URL directly.
  • Changed the "next" link which shows on mobile on the last page of a paginated table which, although disabled, points to a page that doesn't exist which was reported to trigger an error on some SEO diagnostics tools.
  • Changed the online user list cutoff when using Redis to be consistent with when not using Redis (30 minutes).
  • Changed behaviour if Redis server is offline to use site without Redis rather than show error.
  • Changed database structure for new installs to allow for more member records.
  • Removed logging of server-end MySQL errors, which could cause further server issues from lots of simultaneous writes to the disk-level fallback log.
  • Removed a code comment which was reported to trigger a particular hosting provider's malware scanner.
Forums:
  • Added the ability for announcements to be set to show specifically on the main forum index.
Commerce - Subscriptions
  • Fixed reactivating a previously expired subscription not moving the member back into the correct group.
  • Fixed transferring a subscription from one member to another.
  • Fixed duplicate subscriptions being created if member generates multiple orders for Subscriptions before paying and then pays more than once.
  • Fixed error when adding a subscription for a member manually in the AdminCP if the subscription plan is taxable.
  • Fixed error when a subscription is purchased if the subscription changes secondary groups and site is running on PHP 7.2 or higher.
  • Fixed secondary groups not being removed when a subscription expires.
  • Fixed broken record showing in the list of subscriptions if a member with a subscription is deleted.
  • Fixed handling of subscriptions when merging two members.
  • Fixed cover image when copying a subscription plan.
Commerce - Support
  • Fixed incoming emails not being received if the email was CC'd to the support system rather than sent directly.
  • Fixed merging two accounts not reassigning ratings/feedback on support request replies.
Commerce - Misc
  • Improved UI for refunding/crediting transactions and added ability for a transaction which has been credited for that to be reversed and the transaction refunded.
  • Improved the task to capture payments which have been authorised but not yet captured for better performance and error handling.
  • Fixed the "total amount spent" value for a customer being incorrect if the customer has purchased something with account credit.
  • Fixed purchase grouped at checkout not being retaining their grouping.
  • Fixed entering a coupon a code may redirect user back to the first step of the checkout process.
  • Fixed history log not being saved when a stored card is deleted.
  • Fixed error caused by history logs related to gift vouchers created on 3.x.
  • Fixed error caused by history logs for an alternate contact which has been deleted.
  • Fixed error when submitting a review for a product from an IPv6 address.
  • Fixed searching for coupons in the AdminCP not returning results.
  • Removed rating data from jsonLD if the product has no ratings which Google Webmaster tools reported as an error.
Pages
  • Improved UI when downloading templates.
  • Fixed error on "create article" page if the database is on the community's home page.
  • Fixed error creating records in the AdminCP on databases which are set to sync records with forum topics.
  • Fixed attachments to editor fields in databases not being saved correctly.
Gallery
  • Fixed error when editing a video in Gallery which does not have a thumbnail uploaded.
  • Fixed moderators not being able to view private albums.
  • Fixed albums created on certain older versions which have no default sort order set.
  • Fixed URLs for video thumbnails in the XML sitemap.
  • Increased maximum size of image descriptions to prevent value being cut off.
Downloads
  • Fixed possible duplicate notifications for Downloads files.
Blog
  • Fixed error viewing the blog comments a member has made from their profile.
  • Fixed possible duplicate notifications for Blog entries.
  • Removed name of blog from the header of each entry when viewing a specific blog.
Calendar
  • Fixed issue where recurring events may show in wrong timezone.
  • Fixed error when editing an event to remove the end time.
REST & OAuth
  • Fixed error when using REST API to follow something.
  • Fixed error when fetching Pages reviews in REST API.
  • Fixed "totalResults" value in paginated REST API responses being sent as a string rather than an integer.
  • Fixed refresh tokens not being used.
  • Fixed files not being deleted from storage when deleting Downloads Files through REST API.
  • Changed the error code when the OAuth authorize endpoint is accessed without a client ID to level 2 rather than level 3 to prevent unnecessary notifications.
Converters
  • Added support for redirecting a previously unsupported friendly URL style from SMF (index.php/topic,1000.0.html).
  • Added support for converting links to direct attachment locations from phpBB.
  • Fixed duplicate tags being created if Downloads files are reconverted.
  • Fixed error when converting content from phpBB 3.2.
  • Fixed converting some phpBB gallery avatars.
  • Fixed potential errors when merging content into an existing site.
  • Changed the UI of the message explaining permissions must be set after a conversion to be more noticeable.
  • Added information on Converters to usage data report if enabled.
Upgrader
  • Fixed some profile photos being lost when upgrading through 4.0 or 4.2.
  • Fixed error when upgrading from 3.x with MySQL strict mode enabled.
  • Fixed error when upgrading from 3.x with Gallery installed.
Third-Party / Developer / Designer Mode
  • Added an indication in the AdminCP that the community is running in developer or designer mode.
  • Added an extra parameter to \IPS\Db::bitwiseWhere() which allows it to be used if the database table uses a column prefix.
  • Fixed using multi-selects within Stack form fields.
  • Fixed field validation error messages in Matrixes showing the language key rather than the actual error.
  • Fixed positioning of announcements on some third party themes.
  • Fixed svg files being used as theme resources potentially not being saved correctly.
  • Fixed AdminCP tables advanced search on radio fields.
  • Fixed an undefined index notice within the developer center for third party applications.
  • Fixed error when casting an \IPS\Helpers\Form\FormAbstract element to a string.
  • Fixed undefined constant error in developer-mode-only code which isn't used internally but may be used by some third party developers.
  • Fixed error when adding an item to cart in Commerce when using PHP 7 and developer mode.
  • Fixed several incorrect phpDoc comments
  • Like
Reactions: zaba and xuromi
Key Changes

  • Added a filter to view members that have opt-in for bulk mail in the ACP, and an option to opt-out those members
  • Bug fixes
  • Like
Reactions: drill7
Key Changes
  • New features for GDPR compliance:
    • New feature for administrators to download an XML file of all personal information held.
    • New setting to automatically prune IP address records.
    • New option when deleting a member to anonymize content submitted by them.
    • New setting to automatically add links to privacy policies of integrated third party services such as Google Analytics or Facebook Pixel to your privacy policy if they are enabled.
  • Fixes an issue where Calendar events submitted in different timezones to the user may show at the wrong time.
  • Other minor bug fixes and improvements.
Learn more about GDPR compliance features in this release
  • Like
Reactions: Waqas Dar